@charset "utf-8";
/*-----------
フロントページ専用
-----------*/
#container {
	
	@media (width <= 999px) {
		padding:15px 15px 50px 15px;
	}
}

/*-----------
共通
-----------*/
.indexBox {
	margin-bottom: 50px;
}
:is(
  .indexCategory,
  .indexRanking,
  .indexMovie,
  .indexBarauri,
  .indexNewItems,
  .indexColumn,
  .indexReview
) h2 {
	font-weight: 700;
	font-size: 3.0rem;
	position: relative;
	border-bottom: 2px solid #ccc;
	padding: 0 0 5px 50px;
	margin-bottom: 25px;
	
	@media (width <= 999px) {
		font-size: 2.4rem;
		padding: 0 0 5px 40px;
		line-height: 1.3;
	}
	
	&::before {
		font-family: var(--fa);
		font-weight: 900;
		color: var(--color-main);
		font-size: 3.6rem;
		position: absolute;
		top: -10px;
		left: 0;
		
		@media (width <= 999px) {
			font-size:2.6rem;
			top: -4px;
		}
	}
}
.indexCategory h2::before {content: "\f290";}
.indexRanking h2::before {content: "\f091";}
.indexMovie h2::before {content: "\f03d";}
.indexBarauri h2::before {content: "\f3a5";}
.indexNewItems h2::before {content: "\f0f3";}
.indexColumn h2::before {content: "\f5da";}
.indexReview h2::before {content: "\f4ad";}

#main .balloon-midashiset {	
	display: grid;
	grid-template-columns: 1fr;

	h2 {
		order: 2;
	}
	p {
		order: 1;
		background: var(--color-main);
		color: #fff;
		font-weight: 700;
		width: max-content;
		justify-self: start;
		padding: 5px 10px 3px;
		border-radius: 5px;
		position: relative;
		
		@media (width <= 767px) {
			font-size: 1.5rem;
		}
		
		&::before {
			content: "";
			width:0;
			height:0;
			border-style:solid;
			border-width: 15px 10px 0 10px;
			border-color: var(--color-main) transparent transparent transparent;
			position: absolute;
			bottom: -15px;
			left: 25px;
		}
	}
}
/*-----------
メイン画像＋横の二つボタン
-----------*/
#main .mainimageWrapper {
	display: grid;
	grid-template-columns: 75% 1fr;
	grid-gap: 0 25px;
	margin-bottom: 25px;
	
	@media (width <= 999px) {
		display: block;
	}
	
	& .mainimage {
		@media (width <= 999px) {
			margin-bottom:10px;
		}
		& img {
			display: block;
			border-radius: 10px;
		}
	}
	& .indexBtnLink {
		display: grid;
		grid-template-rows: repeat(2, 1fr);
		grid-gap: 25px 0;
		
		@media (width <= 999px) {
			grid-template-rows: initial;
			grid-template-columns: repeat(2, 1fr);
			grid-gap: 0 10px;
		}
		
		& li {
			& a {
                display: flex;
                align-items: center;
                justify-content: center;
				border-radius: 10px;
				box-shadow: 7px 7px 0 0 rgba(204,204,204,0.2);
				text-decoration: none;
				color: #fff;
				text-align: center;
				padding: 10px;
				font-weight: 700;
				font-size: 2.0rem;
				line-height: 1.3;
				height: 100%;
				
				@media (width <= 999px) {
					font-size: 1.6rem;
					height: auto;
					line-height: 1.5;
				}
				
				& .indexBtnLink-icon {
					display: flex;
					align-items: center;
					justify-content: center;
					width: 90px;
					height: 90px;
					border-radius: 50%;
					background: #fff;
					margin: 0 auto 10px;
					
					@media (width <= 999px) {
						width: 80px;
						height: 80px;
						margin: 0 auto 5px;
					}
					
					& img {
						display: block;
						width: 40px;
					}
				}
				& .indexBtnLink-txt {
					margin-bottom: 0;
					font-size: 3.0rem;
					
					@media (width <= 999px) {
						font-size: 1.8rem;
					}
				}
				& .indexBtnLink-more {
					font-size: 1.2rem;
					margin-bottom: 0;
					display: inline-block;
					background: var(--color-accent-light);
					color: var(--color-accent-deep);
					width: 100px;
					border-radius: 30px;
					padding: 5px;
				}
			}
		}
		& li.indexBtnLink-buy {
			& a {
				background: var(--color-main);
				&:hover {
					background: var(--color-main-deep);
				}
				
				& .indexBtnLink-icon {
					& img {
						width: 45px;
					}
				}
			}
		}
		& li.indexBtnLink-LINE {
			& a {
				background: #06c755;
				&:hover {
					background: #009b1c;
				}
			}
		}
	}
}
.index-shipping{
	display:flex;
	background-color:var(--color-sub-light);
	font-weight:700;
	border-radius: 10px;
	box-shadow: 7px 7px 0 0 rgba(204,204,204,0.2);
	text-align: center;
	justify-content: center;
	align-items: center;
	margin-bottom:2em;
	gap:20px;
	padding:1em 1em 0.5em;
	color:#333;
	@media (width <= 999px) {
		width:100%!important;
	}
	& > div{
		&:nth-child(2){
			& .free{
				display:inline-block;
				font-size:1.5em;
				margin:0 0.5em;
				color:#333;
			}
		}
		&:nth-child(1){
			width:50px;
			& img{
				display:block;
			}		
		}

	}				
}

/*-----------
カテゴリー一覧 / indexCategory
-----------*/


/*-----------
本日の目玉！ / indexFeaturedItem
-----------*/
#main .indexFeaturedItemWrapper {
	margin-bottom: 50px;
	margin-top:100px;
	padding: 0 60px;
	position: relative;
	
	@media (width <= 999px) {
		padding: 0 25px;
		margin-top:60px;
	}
	
	@media (width <= 767px) {
		padding: 0 15px;
	}
	
	&::after {
		content: "";
		display: block;
		width: 100%;
		height: 80%;
		background: url("../images/contents/index/indexFeaturedItemWrapper-bg.webp") repeat center center var(--color-sub-thin);
		border-radius: 10px;
		overflow: hidden;
		position: absolute;
		top: calc(50% -  40%);
		left: 0;
		z-index: -1;
	}
	& .indexFeaturedItem-img_point {
        position: absolute;
        top: -60px;
        /*left: -80px;*/
		left:calc(50% - 90px - (3.6rem * 5));
		z-index:2;

        @media (width <= 999px) {
            width:150px;
            top: -30px;
            /*left: -40px;*/
			left:calc(50% - 90px - (2.0rem * 7));
        }

        @media (width <= 767px) {
            width:100px;
            top: -30px;
            /*left: -40px;*/
			left:calc(50% - 90px - (1.6rem * 5));
        }
    }
	& .indexFeaturedItem {
		border: 2px solid var(--color-main);
		border-radius: 10px;
		background: url("../images/contents/index/indexFeaturedItem-bg.webp") no-repeat bottom right var(--color-accent-thin);
		background-size: calc(50% - 25px);
		
		@media (width <= 767px) {
			background: url("../images/contents/index/indexFeaturedItem-bg.webp") no-repeat bottom center var(--color-accent-thin);
			background-size: 100%;
		}
		
		& .indexFeaturedItem-midashiset {
			display: grid;
			overflow: hidden;
			position: relative;
			
			&::before, &::after {
				content: "";
				display: block;
				width: 85px;
				height: 70px;
				background: url("../images/contents/index/indexFeaturedItem-midashiset-point.webp") no-repeat;
				position: absolute;
				top: 0;
				
				@media (width <= 767px) {
					width: 40px;
					height: 33px;
					background-size: 100%;
				}
			}
			
			&::before {
				left: 0;
			}
			
			&::after {
				right: 0;
				transform: scaleX(-1);
			}
			
			/*大見出し*/
			& h2 {
				order: 2;
				background: var(--color-main);
				font-weight: 700;
				font-size: 3.6rem;
				text-align: center;
				color: #fff;
				display: flex;
				align-items: center;
				justify-content: center;
				padding: 10px 15px 0 15px;
				line-height: 1.5;
				
				@media (width <= 999px) {
					font-size: 2.0rem;
					padding: 15px;
				}
				
				@media (width <= 767px) {
					padding: 15px 10px;
				}
			}
			& p {
				order: 1;
				background-size: auto auto;
				background-color: rgba(245, 107, 102, 1);
				background-image: repeating-linear-gradient(90deg, transparent, transparent 10px, rgba(255, 255, 255, 0.06) 10px, rgba(255, 255, 255, 0.06) 20px );
				display: flex;
				align-items: center;
				justify-content: center;
				color: #fff;
				font-size: 2.0rem;
				font-weight: 700;
				min-height: 50px;
				margin-bottom: 0;

				@media (width <= 767px) {
					font-size: 1.6rem;
					min-height: 40px;
				}

				&::before {
					content: "＼" "\00a0";
				}
				&::after {
					content: "\00a0" "／";
				}
			}
		}
		
		& .itemList{
			grid-template-columns: repeat(3, 1fr);
			padding:25px;
			margin-bottom:30px;
			@media (width <= 999px) {
				grid-template-columns: repeat(2, 1fr);
				@media (width <= 767px) {
					grid-template-columns: repeat(1, 1fr);
				}
			}
		}
		
		& [class^="buttonLink"]{
			width:calc(100% - 50px);
			margin: 0 auto 100px;
			@media (width <= 999px) {
				margin: 0 auto 80px;
				@media (width <= 767px) {
					margin: 0 auto 60px;
				}
			}
		}
		
		/*目玉商品*/
		/*& .indexFeaturedItem-item {
			display: grid;
			grid-template-columns: repeat(2, 1fr);
			grid-gap: 0 25px;
			padding: 50px;
			
			@media (width <= 999px) {
				grid-template-columns: repeat(1, 1fr);
			}
			
			@media (width <= 999px) {
				padding: 15px 15px 40px 15px;
			}
			
			& .indexFeaturedItem-itemInfo {
				order: 2;
				display:flex;
				flex-direction: column;
				justify-content: center;
				@media (width <= 999px) {
					justify-content: flex-start;
				}
				& h3 {
					font-weight: 700;
					font-size: 2.4rem;
					
					@media (width <= 767px) {
						font-size: 1.8rem;
						margin-bottom:10px;
					}
				}
				& ul {
					font-size: 0;
					margin-bottom: 25px;
					
					& li {
						background: var(--color-sub);
						color: #fff;
						font-weight: 700;
						font-size: 1.3rem;
						display: inline-block;
						margin-right: 5px;
						padding: 5px 10px;
						
						&::before {
							font-family: var(--fa);
							font-weight: 900;
							content: "\f00c";
							margin-right: 5px;
						}
					}
				}
				& .indexFeaturedItem-price {
					font-size: 4.0rem;
					font-weight: 700;
					color: var(--color-main-deep);
					line-height: 1;
					padding: 10px 0;
					margin:25px 0;
					@media (width <= 767px) {
						font-size: 3.0rem;
						padding: 5px 0;
						margin-bottom:15px;
					}
					
					& span {
						font-weight: 400;
						font-size: 1.6rem;
						color: #000;
						vertical-align: 0.25em;
						display: inline-block;
						padding-left: 5px;
						
						@media (width <= 767px) {
							font-size: 1.4rem;
						}
					}
				}
				& .indexFeaturedItem-priceWrap {
					margin:25px 0;
					& .indexFeaturedItem-priceSale{
						display:flex;
						gap:0 1em;
						align-items: center;
						@media (width <= 767px) {
							flex-direction: column;
							gap:0em 0;
							align-items: flex-start;
						}
						& .sale-discount-rate{
							font-size:2.0rem;
							color:#000;
						}
						& .indexFeaturedItem-price{
							margin:0;
						}
					}
					& .original-price{
						font-size:1.3rem;
						margin-bottom:0;
						& span.del{
							display:inline-block;
							text-decoration: line-through;
							text-decoration-thickness: 1px; 
						}
					}					
				}
				& [class^="buttonLink"]{
					width:100%;
				}
			}
			& .indexFeaturedItem-img {
				order: 1;
				position: relative;			
				
				@media (width <= 999px) {
					margin-bottom: 15px;
				}
				
				& img {
					display: block;
				}
			}
		}
		& .soldout{
			position: relative;
			display: flex;
			flex-direction: column;
			justify-content: center;
			align-items: center;
			& .soldout-txt{
			    position: absolute;
                font-size: 2em;
                font-weight: 700;
                background-color: #BE1E03;
                color: #fff;
                padding: 0.2em 1em;
                z-index: 2;
                transform: rotate(-10deg);
				@media (width <= 767px) {
					 font-size: 2em;
				}
			}
			& .indexFeaturedItem-item{
				&::after{
					content:"";
					position:absolute;
					width:100%;
					height:100%;
					background-color: rgba(255, 255, 255, 0.9);
					top:0;
					left:0;
					z-index:1;
				}
				& .indexFeaturedItem-priceWrap{
					display:none;
				}
				& .indexFeaturedItem-price{
					display:none;
				}
				& [class^="buttonLink"]{
					display:none;
				}
				& .indexFeaturedItem-img_point{
					display:none;
				}
			}			
		}*/
	}
}

/*-----------
人気ランキング / indexRanking
-----------*/


/*-----------
NEWS / indexNews
-----------*/
.indexNews {
	background:var(--color-accent-thin);
	border-radius: 10px;
	display: grid;
	grid-gap: 0 25px;
	grid-template-columns: 130px 1fr;
	align-items: center;
	overflow: hidden;
	
	@media (width <= 767px) {
		grid-template-columns: 1fr;
	}
	
	h2 {
		text-align: center;
		font-weight: 700;
		font-size: 2.0rem;
		color: var(--color-accent-deep);
		background: var(--color-accent);
		height: 100%;
		display: flex;
		align-items: center;
		justify-content: center;		
		
		@media (width <= 767px) {
			font-size: 1.8rem;
			display: block;
			text-align: center;
			padding:7px 5px 5px 5px;
		}
		
		& span {
			&::before {
				font-family: var(--fa);
				font-weight: 900;
				content: "\f1ea";
				display: flex;
				width: 100%;
				align-items: center;
				justify-content: center;
				line-height: 1;
				font-size: 3.0rem;
				
				@media (width <= 767px) {
					display: inline-block;
					width:auto;
					font-size: 1.9rem;
					margin-right:5px;
				}
			}
		}
	}
	
	ul {
		margin-bottom: 0;
		padding: 25px 25px 25px 0;
		@media (width <= 767px) {
			padding: 15px;
		}
	}
}





