@charset "utf-8";
/*--------------------------------------------
  shoptop.css
  ショップトップの共通CSS
--------------------------------------------*/

/* トップページのコンテナ調整 */
@media only screen and (max-width: 768px) {
  #Shop .rankGroup .container,
  #Shop .reviewGroup .container{
  	padding: 0 5.33%;
  }
}
/*--------------------------------------------
  トップスライダー/FlexSlider調整
--------------------------------------------*/
/* スライド用コンテナ */
.topSlidesGroup{
	text-align: center;
}
.topSlidesGroup .topSlides::after,
.topSlidesGroup .topSlides::before{
	content: "";
	display: block;
	clear: both;
}
.topSliderContainer{
	background-color: #f3f9fc;
}
.topSliderControlGroup.container{
 margin-top: 26px;
 margin-bottom: 43px;
}
.topSliderPager{
	position: relative;
	line-height: 0;
}
@media only screen and (max-width: 768px) {
 .topSliderControlGroup.container{
 	/*display: none;*/
 }
}


/* FlexSlider用設定 */
/* フェード表示用調整 : animation: "fade" の場合のみ必要 */
.flex-control-nav{
	position: relative;
	bottom: auto;
}

/* ページャー */
.flex-control-paging li a{
	width: 10px;
	height: 10px;
 background: #e3dfda!important;
 box-shadow: none;
}
.flex-control-paging li a.flex-active{
		background: #939291!important;
}

/* 左右の矢印非表示 */
.flex-direction-nav{
	display: none;
}

/*--------------------------------------------
  FlexSlider スライド表示用追加設定
--------------------------------------------*/
/* ページャー */
/*
.flex-control-nav{
 position: relative;
	display: inline-block;
 top: 0;
 bottom: 0;
 left: 0;
 right: 0;
 margin: auto;
}
.flex-direction-nav{
	display: none;
}
*/

/* 左右の矢印 */
/*
.flex-direction-nav li{
	display: inline-block;
}
.flex-direction-nav a{
	position: relative;
	opacity: 1;
	top: initial;
	width: initial;
	height: initial;
	text-indent: initial;
	background: none;
}
.flex-direction-nav .flex-prev{
	position: absolute;
	left: 24px;
	top: 50%;
	margin-top: -4px;
	width: 9px;
	height: 9px;
	border-top: 1px solid #565555;
	border-left: 1px solid #565555;
	transform: rotate(-45deg);
}
.flex-direction-nav .flex-next{
	position: absolute;
	background-position: unset;
	top: 50%;
	margin-top: -4px;
	right: 24px;
	width: 9px;
	height: 9px;
	border-top: 1px solid #565555;
	border-right: 1px solid #565555;
	transform: rotate(45deg);
}
*/



/*--------------------------------------------
  バナー群
--------------------------------------------*/
.topBnrGroup{
	margin: 26px 0 52px;
}

/*--------------------------------------------
  バナー群 内のコンテンツ : 中バナー群
--------------------------------------------*/
/* コンテナ */
.topMidBnrGroup{
	display: flex;
	flex-wrap: wrap;
	justify-content:space-between;
}

/* 各バナーを包括する要素(主にliタグ) */
.topMidBnrListWrap{
	display: inline-block;
	width: 32%;
}

/* 2カラム */
.topMidBnrListWrap2{
	display: inline-block;
	width: 48.5%;
}

.topMidBnrLink{
	display: block;
}

.topMidBnrImg{
	width: 100%;
	margin-bottom: 16px;
}

/* 百貨店バナー等 複数の画像で1バナーとする場合 */
.topMidBnrMultiImgsWrap{
	margin-bottom: 16px;
	display: block;
}
.topMidBnrMultiImgsWrap .topMidBnrImg{
	margin-bottom: 0;
}
.topMidBnrMultiImgsWrap .topMidBnrImg.full{
 width: 100%;
}
.topMidBnrMultiImgsWrap .topMidBnrImg.half{
 width: 50%;
 display: inline-block;
 float: left
}
.topMidBnrMultiImgsWrap .topMidBnrImg.half::before,
.topMidBnrMultiImgsWrap .topMidBnrImg.half::after{
	content: "";
	display: table;
	clear: both;
}

.topMidBnrMultiImgsWrap.bannerTablet{
	display: none;
}
@media only screen and (width: 768px){
	.topMidBnrMultiImgsWrap.bannerTablet{
	display: block;
}
}
.topMidBnrMultiImgsWrap.bannerSP{
	display: none;
}
@media only screen and (max-width: 767px){
	.topMidBnrMultiImgsWrap.bannerSP{
		display: block;
	}
}

@media only screen and (max-width: 768px) {
.topMidBnrListWrap{
 	width: 48.5%;
 }

 .topMidBnrListWrap2{
 	width: 100%;
 	margin-top: 1em;
 }

 .topMidBnrMultiImgsWrap.elemVisible-SP{
 	display: block;
 }
}
@media only screen and (max-width: 480px){
	.topMidBnrListWrap{
		width: 100%;
	}
}

/*--------------------------------------------
  バナー群 内のコンテンツ : 全幅バナー群
--------------------------------------------*/
.topFullBnrGroup{
	margin-top: 0;
}
.topFullBnrListWrap{
	width: 100%;
}
.topFullBnrLink{
	display: block;
}
.topFullBnrImg{
	width: 100%;
}

/*--------------------------------------------
  ランキング
--------------------------------------------*/
.rankGroup {
	padding: 52px 0 15px;
	background-color: #f6f3ed;
}
.rankGroup .rankTitle{
	font-size: 1.875rem;
	line-height: 1;
	text-align: center;
	margin-bottom: 48px;
}
.rankGroup .rankGoods{
	width: 168px;
	margin-bottom: 32px;
	transition: all 0.8s;
	text-align: center;
}
.rankGroup .rankGoodsImgWrap{
	position: relative;
	width: 168px;
	margin: 0 auto;
}
.rankGroup .rankGoodsImgWrap a:hover{
	opacity: 0.8;
}
.rankGroup .rankGoodsIcon{
	position: absolute;
	width: 31px;
	height: 25px;
	top: 2px;
	left: 5px;
}
.rankGroup .rankGoodsImg{
	margin-bottom: 18px;
	text-align: center;
}
.rankGroup .rankGoodsName{
	font-size: 0.875rem;
	line-height: 1.57;
	text-align: center;
}
.rankGroup a.rankGoodsName:hover{
	opacity: 0.8;
	text-decoration: underline;
}

@media only screen and (max-width: 768px) {
		#Shop .rankGroup .container{
			padding-left: 0;
			padding-right: 0;
		}
  .rankGroup{
  	padding: 27px 2.13% 22px;
  }
  .rankGroup .rankTitle{
  	font-size: 1.5625rem;
  	margin-bottom: 31px;
  }
  .rankGroup .rankGoods{
  	margin-bottom: 24px;
  }
  .rankGroup .rankGoodsIcon{
  	width: 27px;
  	height: 23px;
  	left: 2;
  }
  .rankGroup .rankGoods{
  	width: 50%;
  	padding: 0 10px;
  	/*margin-right: 2.99%;*/
  }
  .rankGroup .rankGoodsImg{
  	margin-bottom: 13px;
  }
  .rankGroup .rankGoodsNameWrap{
  	text-align: center;
  	line-height: 1;
  }
  .rankGroup .rankGoodsName{
  	font-size: 0.75rem;
  	line-height: 1.33;
  }
  .rankGroup a.rankGoodsName{
  	text-decoration: underline;
  }
}
@media only screen and (max-width: 641px) {
  .rankGroup .rankGoodsImgWrap {
  	width: 100%;
  }
}

/*--------------------------------------------
  レビュー
--------------------------------------------*/
.reviewGroup{
	padding: 50px 0 64px;
}
.reviewGroup .reviewTitle{
	font-size: 1.875rem;
	line-height: 1;
	text-align: center;
	margin-bottom: 48px;
}
.reviewGroup .reviewGoods{
	width: 31.7%;
}
.reviewGroup .reviewGoodsImgWrap{
	float: left;
}
.reviewGroup .reviewGoodsImg{
	width: 130px;
	transition: all 0.8s;
}
.reviewGroup .reviewGoodsNameWrap,
.reviewGroup .reviewStarsWrap,
.reviewGroup .reviewExerptWrap,
.reviewGroup .reviewReadMoreWrap{
	width: 173px;
	float: right;
}
.reviewGroup .reviewReadMoreWrap{
		text-align: right;
}
.reviewGroup .reviewReadMore{
	transition: all 0.8s;
}
.reviewGroup .reviewGoodsName,
.reviewGroup .reviewExerpt,
.reviewGroup .reviewReadMore{
	font-size: 0.875rem;
	line-height: 1.57;
}
.reviewGroup .reviewStar{
	width: 16px;
	margin-right: 1px;
}
.reviewGroup .reviewGoodsNameWrap{
	margin-bottom: 16px;
}
.reviewGroup .reviewStarsWrap{
	line-height: 1;
	margin-bottom: 21px;
}
.reviewGroup .reviewExerptWrap{
	margin-bottom: 24px;
}
.reviewGroup .reviewExerpt{
	height: 4em;
}

@media only screen and (max-width: 768px) {
		.reviewGroup{
			padding:30px 0 32px;
		}
  .reviewGroup .reviewTitle{
  	font-size: 1.5625rem;
  	margin-bottom: 31px;
  }
	 .reviewGroup .reviewGoods{
	 	width: 100%;
	 	padding: 5px 2.93% 16px;
			border: 1px solid #e9e5d9;
	 }
		.reviewGroup .reviewGoodsImgWrap{
			width: 30.74%;
			padding: 5px;
		}
		.reviewGroup .reviewGoodsNameWrap{
			width: 57.93%;
			padding-top: 15px;
			padding-left: 15px;
			margin-bottom: 8px;
		}
		.reviewGroup .reviewStarsWrap{
			width: 57.93%;
			padding-left: 15px;
		}
		.reviewGroup .reviewExerptWrap{
			width: 100%;
		}
		.reviewGroup .reviewExerpt{
			height: auto;
		}
		.reviewGroup .reviewReadMore{

		}
	.reviewGroup .reviewGoodsImgWrap,
	.reviewGroup .reviewGoodsNameWrap,
	.reviewGroup .reviewStarsWrap,
	.reviewGroup .reviewExerptWrap{
		float: left;
	}
	.reviewGroup .reviewReadMoreWrap{
		float: right;
	}
#Shop .reviewGroup .container{
	padding-left: 0;
	padding-right: 0;
	}
}

/*--------------------------------------------
  お知らせ
--------------------------------------------*/
.newsGroup{
	padding: 52px 0 52px;
/*	margin-bottom: 123px*/
}
.newsGroup .newsInfo{
	margin-bottom: 42px;
}
.newsGroup .newsInfo:last-of-type{
	margin-bottom: 0;
}
.newsGroup .newsTitle{
	font-size: 1.875rem;
	line-height: 1;
	text-align: center;
	margin-bottom: 55px;
}
.newsGroup .newsDateWrap{
	width: 20%;
	font-size: 0.875rem;
}
.newsGroup .newsSummaryGroup{
	width: 80%;
}
.newsGroup .newsHeadlineWrap{
	display: flex;
	margin-bottom: 17px;
}
.newsGroup .oldNewsListLink .newsHeadlineWrap{
	display: block;
}
.newsGroup .newsHeadlineIcon {
	flex-grow: 0;
	flex-shrink: 0;
	width: 62px;
	margin-right: 11px;
}
.newsGroup .newsHeadlineIcon img{
	vertical-align: middle;
}
.newsGroup .newsHeadline{
	vertical-align: middle;
}
.newsGroup .newsHeadline a{
	color: #644c1f;
	font-size: 0.875rem;
	font-weight: 500;
	transition: all 0.8s;
}
.newsGroup .newsHeadline a:hover{
	opacity: 0.8;
}
.newsGroup .newsTextWrap{
	font-size: 0.875rem;
	line-height: 1.57;
}

.oldNewsListLink .newsHeadlineWrap {
	text-align: right;
}

@media only screen and (max-width: 768px) {
		.newsGroup{
			padding: 28px 0 0;
			margin-bottom: 0;
		}
		.newsGroup .newsTitle{
			font-size: 1.5625rem;
			margin-bottom: 28px;
		}
		.newsGroup .newsInfo{
			flex-direction: column;
			margin-bottom: 0;
			border-top: 1px solid #e9e5d9;
			padding:17px 0;

		}
		.newsGroup .newsInfo:last-type-of{
			border-bottom: 1px solid #e9e5d9;
		}
		.newsGroup .newsDateWrap{
			width: 100%;
			line-height: 1;
			margin-bottom: 12px;
		}
		.newsGroup .newsSummaryGroup{
			width: 100%;
		}
		.newsGroup .newsHeadlineWrap{
			margin-bottom: 0;
			position: relative;
		}
		.newsGroup .newsHeadlineWrap .opener{
			position: absolute;
			width: 9px;
			height: 9px;
			border-right: 2px solid #644c1f;
			border-bottom: 2px solid #644c1f;
			top: 50%;
			right: 10px;
			margin-top: -4px;
			transform: rotate(45deg);
			cursor: pointer;
		}
		.newsGroup .newsHeadline{
			display: block;
			width: 67%;
		}
		.newsGroup .newsHeadline a{
			font-weight: 400;
		}
		.newsGroup .newsHeadlineIcon img{
			margin-right: 0;
		}
		.newsGroup .newsHeadlineIcon{
			display: block;
			width: 20%;
		}
		.newsGroup .newsTextWrap{
			display: none;
			width: 100%;
			padding: 20px 20px 20px 0;
		}
}