.componentPricing {width: 100%;}

.componentPricing .billing_toggle {
	display: flex; gap: 5px; width: calc(100% - 2rem); height: 50px; margin: 0 auto 3rem; padding: 5px;
	border-radius: 25px; background-color: #fff; box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .2);
}
.componentPricing .billing_toggle div {
	width: 50%; border-radius: 20px; text-align: center; line-height: 40px; font-size: 20px; cursor: pointer;
}
.componentPricing .billing_toggle div:hover {background-color: var(--green-lightest);}
.componentPricing .billing_toggle div.annual {display: flex; gap: 1rem; justify-content: center; align-items: center;}
.componentPricing .billing_toggle div.annual small {color: var(--green-dark);}
.componentPricing .billing_toggle div.active {background-color: var(--green-main); color: #fff;}
.componentPricing .billing_toggle div.active small {color: #fff;}
.componentPricing .billing_toggle div.active span {font-weight: bold;}

.componentPricing .products {width: calc(100% - 4rem);}
.componentPricing .products:not(.slick-initialized) .product + .product {display: none;}
.componentPricing .product {
	display: flex !important; flex-direction: column; gap: 1rem;
	width: 100%; margin: .5rem 1rem 2rem; padding: 0; box-shadow: 0 2px 4px 0 rgba(0,0,0,.2);
}
.componentPricing .product:hover {outline: 2px solid #9747ff;}
.componentPricing .product .header {
	display: flex; flex-direction: column; align-items: center;
	position: relative; width: 300px; height: 178px; margin: 0 auto;
	background: linear-gradient(to bottom, #cdaaff 0%, #a66aff 100%);
	mask: url('../../image/component/pricing_header.svg') no-repeat center/contain;
}
.componentPricing .product .header .sticker {
	display: flex; align-items: center; justify-content: center; gap: 10px;
	position: absolute; top: 0; left: 50%; width: 200px; height: 42px;
	margin-left: -100px; background-color: white; font-weight: bold;
	border-radius: 0 0 20px 20px; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}
.componentPricing .product .header .sticker span {}
.componentPricing .product .header h5 {
	margin: 45px 0 5px; text-align: center; font-size: 1.5rem; font-weight: bold; color: white;
}
.componentPricing .product .header .icon {
	width: 80px; height: 80px;
	background-position: center; background-repeat: no-repeat;
}

.componentPricing .prices {
	width: 80%; margin: 0 auto; padding-bottom: 1rem; text-align: center; border-bottom: 1px solid #d4e4ef;
}
.componentPricing .price {
	display: flex; justify-content: center; align-items: baseline; padding-right: 80px; line-height: 1;
}
.componentPricing .price-membership {margin-top: 1rem; padding-top: 1rem; border-top: 1px solid #d4e4ef;}
.componentPricing .price span:first-child {font-size: 4rem;}
.componentPricing .price span.symbol {font-size: 1.3rem; color: #555;}
.componentPricing .price span.period {margin-right: 1rem; font-size: 1.5rem; color: var(--green-main);}

.componentPricing .button.member-login {margin: .5rem auto; background-color: var(--blue-main); color: white;}

.componentPricing .features {margin-bottom: 1rem;}
.componentPricing .features div {display: flex; gap: 1rem; align-items: center; justify-content: center; padding-left: 46px;}
.componentPricing .features i {
	width: 30px; height: 40px; line-height: 40px; text-align: center; font-size: 21px; color: #40af34;
}

.componentPricing .button.purchase {width: fit-content; margin: auto auto -25px; padding: 0 2rem; z-index: 1;}

@media screen and (min-width: 40em) {
	.componentPricing .billing_toggle {width: 600px;}

	.componentPricing .products {display: flex; justify-content: space-between; gap: 1rem; width: 100%;}
	.componentPricing .product {margin: 0;}
	.componentPricing .product .header {width: 320px; height: 190px;}
}
