@charset "UTF-8"; 

/* ----------------------------------
 キャンペーン・イベント 一覧
---------------------------------- */
#contents_campaign_tab { width: 100%; padding: 0 15px 25px; margin: 0; box-sizing: border-box;}
#contents_campaign_tab .c-cms-tag--btn { padding: 0; border-radius: 0; background: none !important;}
#contents_campaign_tab .c-cms-tag--btn a { 
	width: 100%;
	height: 100%;
	padding: 3px 15px;
	border-radius: 18px;
	color: var(--site-color-green);
	text-decoration: none;
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--site-color-gray06);
}
#contents_campaign_tab .c-cms-tag--btn.active a { color: #FFF; background: var(--site-color-green);}

#contents_campaign .nodata-text { margin: 40px 0; font-size: 16px; text-align: center;}

.campaign-container { width: 100%; padding: 0 15px 25px; margin: 0; box-sizing: border-box;}
.campaign-container .campaign-list { display: flex; flex-wrap: wrap; gap: 30px 15px;}
.campaign-container .campaign-box { width: calc((100% - 15px * 1)/2); margin: 0;}
.campaign-container .campaign-box a,
.campaign-container .campaign-box .nolink { width: 100%; text-decoration: none; display: flex; flex-direction: column; transition: var(--site-transition);}
.campaign-container .campaign-box a:hover { text-decoration: none; opacity: var(--site-opacity);}
.campaign-container .campaign-box .image { width: 100%; padding: 100% 0 0; margin: 0 0 10px; position: relative;}
.campaign-container .campaign-box .image figure {
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
	border: var(--site-border-solid);
	border-radius: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	overflow: hidden;
}
.campaign-container .campaign-box .image figure img { max-width: 100%; max-height: 100%; vertical-align: top; transition: var(--site-transition);}
.campaign-container .campaign-box a:hover .image figure img { transform: scale(1.1,1.1);}
.campaign-container .campaign-box .block-icon:has(span) { margin-bottom: 10px;}
.campaign-container .campaign-box .date { margin: 0 0 10px; font-size: 12px; font-weight: 700; text-align: left; color: var(--site-color-gray01);}
.campaign-container .campaign-box .name {
	height: calc(2em * 1.8);
	font-size: 15px;
	font-weight: 700;
	text-align: left;
	line-height: 1.8;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

@media screen and (min-width: 769px) {
	#contents_campaign_tab { max-width: 1720px; padding: 0 50px 40px; margin: 0 auto;}
	
	#contents_campaign_pickup { padding: 50px;}
	#contents_campaign_pickup .campaign-container { max-width: 1200px; padding: 30px 50px; margin: 0 auto; border-radius: 10px; background: #FFF;}
	#contents_campaign_pickup .campaign-container .campaign-list { gap: 20px;}
	
	.campaign-container { max-width: 1720px; padding: 0 50px 40px; margin: 0 auto;}
	.campaign-container .campaign-list { display: flex; flex-wrap: wrap; gap: 40px 20px;}
	.campaign-container .campaign-box { width: calc((100% - 20px * 2)/3); margin: 0;}
	.campaign-container .campaign-box .image { margin: 0 0 15px;}
	.campaign-container .campaign-box .date { font-size: 16px;}
	.campaign-container .campaign-box .name { font-size: 16px;}
}
@media screen and (min-width: 1199px) {
	.campaign-container .campaign-box { width: calc((100% - 20px * 3)/4); margin: 0;}
}
