@charset "utf-8";

#main_ .cart.sold, 
#main_ .cart.non {pointer-events:none;}

#main_ img {
	display: block;
	width: 100%;
	height: auto;
}
#main_ p {
	margin: 0;
}

#main_ a {
	text-decoration: none;
}

/*
-------------------------
common
-------------------------
*/

.c-text--image {
	text-indent: 110%;
  white-space: nowrap;
  overflow: hidden;
	height: 0;
}

.c-note {
	font-size: 2.8125vw;
	line-height: 2.22;
}

.c-btn {
	
}

.c-btn--link {
	cursor: pointer;
	position: relative;
}

.c-btn--link.arrow-bottom::before {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 6px 0 6px;
	border-color: #fff transparent transparent transparent;
	position: absolute;
	top: 50%;
	right: 4vw;
	transform: translateY(-50%);
}

.c-btn--link.arrow-right::before {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 0 6px 10px;
	border-color: transparent transparent transparent #fff;
	position: absolute;
	top: 50%;
	right: 4vw;
	transform: translateY(-50%);
}

.c-btn--link.arrow-right01::before {
	content: '';
	border-top: 2px solid #fff;
	border-left: 2px solid #fff;
	width: 2.5333vw;
	height: 2.5333vw;
	position: absolute;
	top: 50%;
	right: 4vw;
	transform: translateY(-50%) rotate(135deg);
}


/*
-------------------------
header
-------------------------
*/

#main_ > header {
	width: 100%;
	background-color: #ebebeb;
}

#main_ > header h1 {
	font-size: 3.4375vw;
	font-weight: bold;
	padding: 3.125vw 4.6875vw 4.6875vw;
	background: #fff;

}

#main_ > header .logo {
	width: 100%;
	padding: 4.4vw 0;
	background: #fff;
	border-top: 1px solid #e6e6e6;
}

#main_ > header .logo--image {
	width: 32.93333vw;
	margin: 0 auto;
}

#main_ > header .main_image {
	background: #ebebeb;
}

#main_ > header .header--note {
	padding: 0 5.3333vw;
	margin-top: 2.93333vw;
}


/*
-------------------------
campaign
-------------------------
*/

#main_ .campaign {
	background: #ebebeb;
}

#main_ .campaign--inner {
	padding: 7.3333vw 5.3333vw 7.06666vw;
}

#main_ .campaign--contents {
	background-color: #fff;
	padding: 0 0 5.3333vw;
}

#main_ .campaign--ttl {
	background: url(../img/line_ttl01.png) center/ cover no-repeat;
	width: 100%;
	height: 8vw;
	margin: 0 auto;
}

#main_ .campaign--copy {
	background: url(../img/line_copy.png) center/ cover no-repeat;
	width: 80.13333vw;
	height: 18.93333vw;
	margin: 5.86666vw auto 0;
}

#main_ .campaign--item-image {
	width: 24.8vw;
	margin: 5.3333vw auto 0;
}

#main_ .campaign--date {
	background: url(../img/line_date.png) center/ cover no-repeat;
	width: 76vw;
	height: 8.2666vw;
	margin: 4vw auto 0;
}

#main_ .campaign__btn {
	margin: 5.3333vw auto 0;
	width: 66.666vw;
}

#main_ .buy-btn {
	margin: 6.4vw auto 0;
	width: 66.666vw;
}

#main_ .campaign__btn--link,
#main_ .buy-btn--link {
	display: block;
	background: #5390df;
	font-size: 4.53333vw;
	color: #fff;
	width: 100%;
	text-align: center;
	line-height: 1;
	padding: 4.5333vw 0;
}


/*
-------------------------
points
-------------------------
*/

#main_ .points {
	position: relative;
}

#main_ .points--inner {
	padding: 13.6vw 5.3333vw 0;
}

#main_ .points--ttl {
	background: url(../img/point_ttl.png) center/ cover no-repeat;
	width: 100%;
	height: 16.8vw;
	margin: 0 auto;
}

#main_ .points--list {
	display: flex;
	flex-direction: column;
}

#main_ .points__item {
	margin-top: 8vw;
	width: 100%;
}

#main_ .points__item:nth-child(1) {
	background: url(../img/point_item01.png) center/ cover no-repeat;
	height: 27.666vw;
}

#main_ .points__item:nth-child(2) {
	background: url(../img/point_item02.png) center/ cover no-repeat;
	height: 31.3333vw;
}

#main_ .points__item:nth-child(3) {
	background: url(../img/point_item03.png) center/ cover no-repeat;
	height: 28.1333vw;
}

#main_ .points__item:nth-child(4) {
	background: url(../img/point_item04.png) center/ cover no-repeat;
	height: 27.2vw;
}


/*
-------------------------
weare
-------------------------
*/

#main_ .weare {
	padding: 16vw 5.3333vw;
}


/*
-------------------------
present
-------------------------
*/


#main_ .present {
	position: relative;
}

#main_ .present--ttl {
	background: url(../img/line_ttl02.png) center/ cover no-repeat;
	width: 100%;
	height: 10.666vw;
	margin: 0 auto;
}

#main_ .present--contents {
	padding: 8vw 5.3333vw 0;
}

#main_ .present--box {
	background: url(../img/flame.png) center/ cover no-repeat;
	width: 100%;
	height: 73.06666vw;
	margin: 0 auto;
	position: relative;
}

#main_ .present--box--ttl {
	background: url(../img/line_copy.png) center/ cover no-repeat;
	width: 80.13333vw;
	height: 18.93333vw;
	margin: 0 auto;
	position: absolute;
	top: 9.33333vw;
	left: 50%;
	transform: translateX(-50%);
}

#main_ .present--item-image {
	width: 24.8vw;
	position: absolute;
	bottom: 4vw;
	left: 50%;
	transform: translateX(-50%);
}

#main_ .present__terms {
	margin-top: 8vw;
	text-align: center;
	padding-bottom: 1.3333vw;
	border-bottom: 1px solid #000;
}

#main_ .present__terms--ttl {
	font-size: 5.33333vw;
	display: flex;
  align-items: center;
}

#main_ .present__terms--ttl::before,
#main_ .present__terms--ttl::after {
	content: "";
	height: 1px;
	flex-grow: 1;
	background-color: #000;
}

#main_ .present__terms--ttl::before {
	margin-right: 1rem;
}

#main_ .present__terms--ttl::after {
	margin-left: 1rem;
}

#main_ .present__terms--detail {
	margin-top: 8vw;
}

#main_ .present__terms--dt {
	font-size: 3.7333vw;
	font-weight: bold;
}

#main_ .present__terms--dt:nth-child(n+2) {
	margin-top: 6.6666vw;
}

#main_ .present__terms--dd {
	font-size: 3.2vw;
	margin-top: 4vw;
	padding-bottom: 6.6666vw;
	position: relative;
}

#main_ .present__terms--dd::after {
	content: '';
	width: 8vw;
	height: 1px;
	background-color: #cccccc;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}

#main_ .present__terms--dd:last-child::after {
	display: none;
}

#main_ .present__terms--dd .present__terms--applyLink{
	color: #c8102e;
	text-decoration: underline;
	display: inline-block;
}

#main_ .present__apply {
	margin-top: 10.666vw;
	
}

#main_ .present__apply--detail {
	padding: 0 5.3333vw;
}

#main_ .present__apply--dt {
	background-color: #eeeeee;
	text-align: center;
	padding: 2.9333vw 0;
	position: relative;
}

#main_ .present__apply--dt::before,
#main_ .present__apply--dt::after {
	content: '';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background-color: #000;
}

#main_ .present__apply--dt::before {
	width: 4vw;
	height: 1px;
	right: 17px;
}

#main_ .present__apply--dt::after {
	width: 1px;
	height: 4vw;
	right: 24px;
}

#main_ .present__apply--dt.is-active::after {
	display: none;
}

#main_ .present__apply--ttl {
	font-size: 4.5333vw;
}

#main_ .present__apply--dd {
	border: 2px solid #eee;
	padding: 4vw;
	display: none;
}

#main_ .present__apply--item {
	font-size: 2.9333vw;
	line-height: 1.45;
	color: #666666;
}

#main_ .present__apply--item + .present__apply--item {
	margin-top: 4.26666vw;
}


#main_ .present__checkbox {
	margin-top: 4vw;
	padding: 0 5.3333vw;
	text-align: center;
}

#main_ .present__checkbox input[type=checkbox] {
	width: calc(22 / 750 * 100vw);
    height: calc(22 / 750 * 100vw);
    border-radius: calc(5 / 750 * 100vw);
}

#main_ .present__checkbox label {
	color: #c8102e;
  text-decoration: underline;
	font-size: calc(28 / 750 * 100vw);
}

#main_ .present__submit {
	margin: 5.333vw auto 0;
	padding: 0 5.3333vw;
}

#main_ .present__submit--link {
	display: block;
	background: #999;
	font-size: 4.53333vw;
	color: #fff;
	width: 100%;
	text-align: center;
	line-height: 1;
	padding: 1.866666vw 0 2.13333vw;;
	pointer-events: none;
}

#main_ .present__submit--link.is-current {
	background: #5390df;
	pointer-events: auto;
}

#main_ .present__submit--link span {
	font-size: 3.2vw;
	line-height: 1.41666;
}

#main_ .present__line {
	text-align: center;
	margin-top: 8.666vw;
	padding: 0 5.3333vw;
}

#main_ .present__line--copy {
	font-size: 3.46666vw;
}

#main_ .present__line--btn--link{
	display: block;
	font-size: 3.7333vw;
	color: #fff;
	background-color: #000;
	width: 100%;
	margin: 4.4vw auto 0;
	padding: 3.6vw 0;
}
































