@charset "utf-8";
/* 返礼品の共通スタイル */

.ttl, .price { font-weight: bold; }
.item-list_wrap.col-4 > .col { 
	width: calc(25% - 15px);
	margin-top: 1rem;
}
.item-img {
	position: relative;
    height: 0;
    background-color: #F8F8F6;
    padding-bottom: 61.713%;
}
.item-img img {
	width: auto;
    height: auto;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
    display: block;
}
.img_wrap .number {
	background: rgba(0,0,0,.7);
    padding: 8px 10px;
    position: absolute;
    color: #fff;
    line-height: 1.4rem;
    bottom: 0;
    right: 0;
	letter-spacing: 0;
	margin: 0;
}
.item a { 
	color: inherit;
	/*font-weight: 500;*/
}
.item-ttl {
	letter-spacing: 0;
    /*margin: 1rem 0 0.5rem;*/
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 500;
	text-align: left;
}
.item .price {
	text-align: right;
	font-weight: bold;
	display: block;
	font-size: 18px;
	font-size: 1.8rem;
}
.item .btn_wrap.col-1 {
	width: auto;
	margin: 2rem 5px 0 5px;
}
.intro_wrap .set {
	background: #F8F8F6;
    padding: 1rem;
}
.intro_wrap .set p:first-child {
	border-bottom: 1px dotted #d9d9d9;
    margin-bottom: 1rem;
}
.message .btn_wrap.col-2 { margin: 3rem auto 0; }
#rank_wrap .item-list_wrap li { position: relative; }
#rank_wrap .item-list_wrap li::before {
	font-family: "Font Awesome 5 Pro";
	content: "\f0a3";
	-webkit-font-smoothing: antialiased;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	line-height: 1;
	font-weight: bold;
	font-size: 56px;
    font-size: 5.6rem;
    position: absolute;
    top: 1rem;
    left: 1rem;
	z-index: 5;	
}
#rank_wrap .item-list_wrap li::after {
	display: inline-block;
    font-size: 34px;
    font-size: 3.4rem;
    font-weight: bold;
    position: absolute;
    top: 2.1rem;
    left: 2.9rem;
    z-index: 6;
	font-family: 'Times New Roman';
    line-height: 1;
}
#rank_wrap .item-list_wrap li:first-of-type::before {
	color: #F4D147;
	background: -webkit-linear-gradient(-45deg,#F4CF41 20%,#F7EA85 50%,#DC8A12 80%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
#rank_wrap .item-list_wrap li:first-of-type::after {
	content: "1";
    color: #9C5F3D;    
}
#rank_wrap .item-list_wrap li:nth-of-type(2)::before {
	color: #F4D147;
	background: -webkit-linear-gradient(-45deg,#C6C4C5 20%,#F1EFF0 50%,#BFBDBD 80%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
#rank_wrap .item-list_wrap li:nth-of-type(2)::after {
	content: "2";
    color: #716C6F;    
}
#rank_wrap .item-list_wrap li:nth-of-type(3)::before {
	color: #F4D147;
	background: -webkit-linear-gradient(-45deg,#8C513C 20%,#E4AE90 50%,#734234 80%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
#rank_wrap .item-list_wrap li:nth-of-type(3)::after {
	content: "3";
    color: #612D17;    
}

/* 配送方法 */
.type {
    padding: 0.2rem 1rem;
    width: 4em;
    box-sizing: content-box;
    text-align: center;
    letter-spacing: 0.1rem;
    font-weight: bold;
    color: #fff;
	display: inline-block;
	font-size: 14px;
	font-size: 1.4rem;
}

/* 数量選択 */
.kosuu li { vertical-align: middle; }
.kosuu li:first-of-type {
	padding-right: 20px;
    box-sizing: content-box;
    width: 2em;
}

/* 種類 */
/*.sold .item-img,
.end .item-img { position: relative; }
.sold .item-img:after,
.end .item-img:after {
	content: "";
	display: inline-block;
	position: absolute;
	background: #000;
	background: rgba(0,0,0,.7);
	width: 100%;
	height: 100%;
	text-align: center;
	color: #fff;
	top: 0;
    left: 0;
    right: 0;
    bottom: 0;
	border-radius: 5px;	
}
.sold .item-img:before { 
	content: "売り切れ";
    background: #BF1919;
    padding: 0.5rem 1rem;
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 1;
    color: #fff;
    min-width: 108px;
	font-size: 18px;
	font-size: 1.8rem;
}
.end .item-img:before { 
	content: "受付終了";
    background: #BF1919;
    padding: 0.5rem 1rem;
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 1;
    color: #fff;
    min-width: 108px;	
	font-size: 18px;
	font-size: 1.8rem;
}
.yet .item-img:before { 
	content: "受付前";
    background: #65C7EB;
    padding: 0.5rem 1rem;
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 1;
    color: #fff;
    min-width: 108px;
	font-size: 18px;
	font-size: 1.8rem;
}
.limi-period:after {
	content: "";
	display: inline-block;
	background: url(../img/common/label-period.png) no-repeat;
	background-size: contain;
	width: 74.5px;
    padding-bottom: 74.5px;
	position: absolute;
	top: 5px;
	right: 10px;
}
.limi-stock:after {
	content: "";
	display: inline-block;
	background: url(../img/common/label-stock.png) no-repeat;
	background-size: contain;
	width: 74.5px;
    padding-bottom: 74.5px;
	position: absolute;
	top: 5px;
	right: 10px;
}*/
.cannot.btn {
	opacity: 0.3 !important;
	filter: alpha(opacity=30) !important;
	-ms-filter: “alpha( opacity=30 )”!important;
	cursor: default !important;
	box-shadow: none;
	display: none;
}
.cannot.btn:hover a {
	opacity: 1 !important;
	filter: alpha(opacity=100) !important;
	-ms-filter: “alpha( opacity=100 )”!important;
	cursor: default !important;
}
.yet .btn-can,
.sold .btn-can,
.end .btn-can,
.limitime .btn-cannot,
.btn-cannot {
	/* display: none; */
}
.yet .btn-cannot,
.sold .btn-cannot,
.end .btn-cannot {
	display: block;
}

/* 寄附受付状況 */
/* .status > li { display: none; } */
.status li {
    float: left;
    font-weight: bold;
	padding: 2px 6px;
	text-align: center !important;
}
.status .code { 
	margin-left: 0;
	display: inline-block;
}
.status .status-sold, .status .status-end {
    min-width: 102px;
	color: #fff;
}
.status .type-limi, .status .type-limitime {
    min-width: 102px;
}
.status .type-time ul {
    vertical-align: middle !important;
}
.status .type-time ul li { 
	text-align: center; 
	vertical-align: middle;
}
.status .type-time { padding: 1px 0; }
.status .type-time ul li { 
	margin: 0;
}
.status .type-time ul li:first-of-type {
    min-width: 102px;
	padding: 1px 0;
    margin: 0;
}
.status .type-time ul li:last-of-type {
    background: #fff;
	padding: 1px 6px;
}
.sold .status .status-sold { display: inline-block; }
.end .status .status-end { display: inline-block; }
.limi .status .type-limi { display: inline-block; }
.limitime .status .type-limitime { display: inline-block; }
/*.limitime .status .type-time { display: block; }*/
.item-list_wrap .item { position: relative; }
.item-list_wrap .item a:after,
.recommended .item .img-block:after {
	position: absolute;		
	min-width: 86px;
	display: inline-block;
	font-size: 14px;
	font-size: 1.4rem;
	text-align: center;
	font-weight: bold;
	line-height: 2;
	z-index: 3;
}
.item-list_wrap .item.limi a:after,
.recommended .item.limi .img-block:after { 
	content: "数量限定";
	top: 1.5rem;
	right: 1.5rem;
}
.item-list_wrap .item.limitime a:after,
.recommended .item.limitime .img-block:after { 
	content: "期間限定";
	top: 1.5rem;
	right: 1.5rem;	
}
.item-list_wrap .item.sold .item-img:before,
.item-list_wrap .item.yet .item-img:before,
.item-list_wrap .item.end .item-img:before,
.recommended .item.sold .item-img:before,
.recommended .item.yet .item-img:before,
.recommended .item.end .item-img:before {
	content: "";
	display: block;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background: rgba(0,0,0,.6);
	position: absolute;
	z-index: 1;
}
.item-list_wrap .item .item-img:after,
.recommended .item .item-img:after {
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
	z-index: 2;
	font-size: 17px;
	font-size: 1.7rem;
	letter-spacing: 0.1rem;
	position: absolute;
	font-weight: bold;
}
.item-list_wrap .item.sold .item-img:after,
.recommended .item.sold .item-img:after {
	content: "売り切れ";
}
.item-list_wrap .item.yet .item-img:after,
.recommended .item.yet .item-img:after {
	content: "受付前";
}
.item-list_wrap .item.end .item-img:after,
.recommended .item.end .item-img:after {
	content: "受付終了";
}
.recommended .item.limi .img-block,
.recommended .item.limitime .img-block {
	position: relative;
}

/*=========================================
		ランキング
=========================================*/
#rank_wrap #tabmenu_wrap {
	border-top: 1px solid;
    border-bottom: 1px solid;
	border-spacing: 10px 0;
	margin: 2rem 0 0;
	padding: 2rem 0;
}
#rank_wrap #tabmenu_wrap li { 
	min-width: 60px;
	text-align: center;
	line-height: 1.2;
}
#rank_wrap #tabmenu_wrap li a { 
	background: #fff;
	padding: 0.5rem 1rem;
}
#rank_wrap .col-3 > .col {
	width: calc(33.333% - 14px);
	margin-left: 20px;
}
#rank_wrap .col-3 > .col:first-of-type { margin-left: 0; }
#rank_wrap li.col { margin-top: 2rem; }
li.item { 
	background: #fff;
	padding: 1rem;
}

@media screen and (min-width: 1000px) {
	.add_wrap label { 
		line-height: 3.6rem;
		padding-right: 6rem;
	}
	
	/*=========================================
			ランキング
	=========================================*/
	.rank-period {
		position: absolute;
		right: 0;
		bottom: 0;
	}
}

@media screen and (max-width: 999px) {
	.item .btn_wrap.col-1 { margin: 2rem auto 0; }	
	
	/* 数量選択、かごに追加 */
	.add_wrap .note { width: 100%; }	
	
	/* 種類 */
	.sold .item-img:before,
	.end .item-img:before,
	.yet .item-img:before {
		font-size: 16px;
		font-size: 1.6rem;
		min-width: 4em;
	}
	.limi-period:after,
	.limi-stock:after { right: 5px; }
	
	/*=========================================
			ランキング
	=========================================*/
	#rank_wrap #tabmenu_wrap { display: block; }
	#rank_wrap #tabmenu_wrap li {
		display: inline-block;
		float: left;
		margin: 0.5rem; 
	}
}

@media screen and (min-width: 481px) {
	/*=========================================
			ランキング
	=========================================*/
	#rank_wrap #tabmenu_wrap > p {
		display: inline-block;
		float: left;
	}	
}
@media screen and (max-width: 480px) {
	.message { padding: 5rem 3rem; }
	.item-list_wrap .item-ttl { margin: 0.5rem 0; }
	.item-list_wrap.col-4 > .col { margin-bottom: 0; }	
}

/*=========================================
		cssハック
=========================================*/
/* IE9〜11 */
@media screen and (min-width: 0\0) and (min-resolution: +72dpi) {
	.item .price { 
		display: inline-block;
		line-height: 1.8rem;
	}
	.item .price span { line-height: 1.6rem; }
	.save span {
		line-height: 1;
		padding: 11px 0 0;
		margin-top: 0;
	}
	li.item .img_wrap:before {
		line-height: 1;
		padding: 1.5rem 1rem 0.5rem;
	}
}
/* Edge12〜14 */
@supports (-ms-ime-align: auto) and (not (-webkit-text-stroke: initial)) {
	.item .price { 
		display: inline-block;
		line-height: 1.8rem;
	}
	.item .price span { line-height: 1.6rem; }
	.save span {
		line-height: 1;
		padding: 11px 0 0;
		margin-top: 0;
	}
	li.item .img_wrap:before {
		line-height: 1;
		padding: 1.5rem 1rem 0.5rem;
	}
}