@charset "utf-8";

/* ---------------------------------------------------------------
brandページ汎用
--------------------------------------------------------------- */
#static .brand-fc {
	color: #000;
}
#static .brand-fc-em {
	color: #f00;
}
#static .brand-fs-20 {
	font-size: 20px;
}
#static .brand-rule-txt {
	padding-left: 1em;
	text-indent: -1em;
}
#static .brand-btn-wideuse {
	display: inline-block;
	width: 100%;
	max-width: 480px;
	padding: 16px 0 13px;
	background: #000;
	color: #fff;
	font-size: 14px;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
}
#static .brand-btn-wideuse.is-inactive {
	background: rgba(0,0,0,.2);
	cursor: default;
	pointer-events: none;
}
#static .brand-ico-arw {
	display: block;
	background: url(/user_data/packages/default/brand/21256/images/arrow_white.svg) no-repeat calc(100% - 22px) calc(50% - 1px);
	background-size: 9px 9px;
}
#static .brand-ico-blank {
	display: inline-block;
	position: relative;
	padding-right: 24px;
	background-image: none;
}
#static .brand-ico-blank::before,
#static .brand-ico-blank::after {
	display: block;
	position: absolute;
	top: 50%;
	width: 12px;
	height: 12px;
	border: 1px solid #fff;
	box-sizing: border-box;
	transform: translateY(-50%);
	content: '';
}
#static .brand-ico-blank::before {
	right: 3px;
	margin-top: -2px;
}
#static .brand-ico-blank::after {
	right: 0;
	margin-top: 1px;
}
#static .brand-bd-bottom {
	border-bottom: 1px solid #e6e6e6;
}
#static .brand-img-lozad {
	background: url(/images/common/loading.gif) no-repeat center center;
	background-size: 25px 25px;
}

/* ---------------------------------------------------------------
TOPページ専用
--------------------------------------------------------------- */
#static .top-modal-trigger {
	border: none;
	background: none;
	color: #000;
	line-height: 1.6;
	text-decoration: underline;
	outline: none;
	cursor: pointer;
	appearance: none;
}
#static .top-modal-trigger:hover {
	text-decoration: none;
}
#static .top-modal-layout {
	display: none;
}
#static .top-modalpanel {
	position: fixed;
	top: 50%;
	left: 50%;
	z-index: 11;
	width: 840px;
	height: calc(90% - 30px);
	max-height: 634px;
	background: #fff;
	transform: translate(-50%, calc(-50% + 10px));
}
#static .top-modalpanel-inner {
	overflow: auto;
	height: 100%;
}
#static .top-modalpanel-contents {
	padding: 50px 0 80px;
	background: #fff;
}
#static .top-modalpanel-inside {
	width: calc(100% - 160px);
	margin: 0 auto;
}
#static .top-modal-overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .6);
}
#static .top-modalpanel-close {
	display: block;
	position: absolute;
	top: -30px;
	right: 0;
	width: 20px;
	height: 20px;
	cursor: pointer;
}
#static .top-modalpanel-close span {
	display: block;
	overflow: hidden;
	position: relative;
	text-indent: 100%;
	white-space: nowrap;
}
#static .top-modalpanel-close span::before,
#static .top-modalpanel-close span::after {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 28px;
	height: 1px;
	background: #fff;
	transform: translate(-50%, -50%) rotate(45deg);
	content: '';
}
#static .top-modalpanel-close span::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}
#static .top-benefits-lyt {
	display: flex;
	align-items: center;
}
#static .top-benefits-lyt > [class*='top-benefits-'] {
	position: relative;
	width: calc(100% / 3);
}
#static .top-benefits-lyt > [class*='top-benefits-']::before {
	display: block;
	width: 80px;
	height: 75px;
	margin: 0 auto 22px;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	content: '';
}
#static .top-benefits-point::before {
	background-image: url(/user_data/packages/default/brand/21256/images/top_modal_ico_point.png);
}
#static .top-benefits-campaign::before {
	background-image: url(/user_data/packages/default/brand/21256/images/top_modal_ico_campaign.png);
}
#static .top-benefits-exchange::before {
	background-image: url(/user_data/packages/default/brand/21256/images/top_modal_ico_exchange.png);
}
#static .top-benefits-lyt > [class*='top-benefits-']:not(:first-of-type)::after {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 100%;
	background: #e6e6e6;
	content: '';
}
