@charset "utf-8";

#top .page-header .in {
	position: relative;
	margin-bottom: 100rem;
	background: url(/base/pc/store/special/newlife/2026/img/top/mv-bg-pc.png) center no-repeat;
	background-size: 100% 100%;
	background-position: 0 -200rem;
}
#top .page-header .title {
	margin: 0 auto;
	padding-top: 167rem;
	max-width: 1000rem;
	width: 90%;
}
#top .page-header .lead {
	font-size: 20rem;
	line-height: 2.1;
	padding-bottom: 100rem;
	text-align: center;
}
#top .bg-box {
	position: relative;
}
#top .bg-box::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(/base/pc/store/special/newlife/2026/img/top/content-bg-pc.png);
	background-size: cover;
	pointer-events: none;
}
#top .categories {
	padding-top: 91rem;
	padding-bottom: 105rem;
	position: relative;
	z-index: 1;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10rem;
}
#top .categories li {
	width: calc(50% - 5rem);
	margin-bottom: 3rem;
	box-sizing: border-box;
	background-color: rgba(234,99,160,.3);
}
#top .categories li.item03 .images,
#top .categories li.item05 .images {
		order: 1;
}
#top .categories li.item03 .texts,
#top .categories li.item05 .texts {
		order: 0;
}
#top .categories .en {
	font-weight: 900;
	font-size: 35rem;
	line-height: 1.2;
	letter-spacing: .1em;
}
#top .categories .ja {
	padding: 48rem 0 40rem;
	font-size: 18rem;
	line-height: 1.3;
	letter-spacing: .1em;
}
@media (max-width: 1100px) {
#top .categories .ja {
	font-size: 15rem;
	padding: 22rem 0 20rem;
}
}
#top .categories .item01 {
	justify-content: center;
	display: flex;
	align-items: center;
	font-size: 35rem;
}
#top .categories a {
	display: flex;
	justify-content: space-between;
	text-align: center;
	
	
}
#top .categories a .images {
		width: 50%;
	}

#top .categories a .texts {
		padding: 0 10rem;
		width: 50%;
		display: flex;
		box-sizing: border-box;
		align-items: center;
		justify-content: center;
	}
#top .button {
	width: 135rem;
	padding: 10rem  20rem 10rem 10rem;
	box-sizing: border-box;
	margin: 0 auto;
	background-color: #fff;
	text-align: center;
	font-size: 20rem;
	position: relative;
}
#top .button::after {
	content: "";
	position: absolute;
	display: block;
	top: 50%;
	right: 14rem;
	width: 0;
	height: 0;
	transform: translateY(-45%);
	border-style: solid;
	border-top: 9rem solid transparent;
	border-bottom: 9rem solid transparent;
	border-left: 11rem solid #261815;
	border-right: 0;
}
#top .campaigns {
	position: relative;
	z-index: 1;
	padding-bottom: 110rem;
}

#top .campaigns .title {
	text-align: center;
	font-weight: 500;
	font-size: 20rem;
	padding-bottom: 35rem;
}
#top .campaigns .item a {
	margin-bottom: 10rem;
	display: flex;
	justify-content: space-between;
	background-color: rgba(128,39,48,.3);
}
#top .campaigns .item a .images {
	width: 50%;
}
#top .campaigns .item a .texts {
	width: 50%;
	display: flex;
	align-items: center;
	justify-content: center;			
	width: 50%;
	box-sizing: border-box;
	padding: 0 30rem;
}
#top .campaigns .item a .texts .in {
	display: flex;
	align-items: center;
	text-align: center;
	width: 100%;
}
#top .campaigns .item a .texts .txt {
	width: calc(100% - 100rem);
	justify-self: left;
}
#top .campaigns .item a .texts .button  {
	width: 100rem;
	justify-self: right;
}
#top .campaigns .item a .texts .en {
	font-size: 30rem;
	line-height: 1.2;
	padding-bottom: 28rem;
}
#top .campaigns .item a .texts .ja {
	font-size: 20rem;
	line-height: 1.3;
}
#top .info {
	padding-top: 78rem;
}
#top .info .online-stores {
	padding-bottom: 80rem;
}
#top .info .online-stores .header {
	text-align: center;
	padding-bottom: 40rem;
}
#top .info .online-stores .title {
	font-size: 30rem;
	line-height: 1.2;
	padding-bottom: 20rem;
}
#top .info .online-stores .lead {
	font-size: 20rem;
	line-height: 1.3;
}
#top .info .online-stores li {
	margin: 0 auto 20rem;
	max-width: 600rem;
}
#top .info .online-stores .list01 img {
	width: 225rem;
}
#top .info .online-stores .list02 img {
	width: 300rem;
}
#top .info .online-stores .list03 img {
	width: 226rem;
}
#top .info .online-stores .list03 a {
	padding-top: 5rem;
	padding-bottom: 5rem;
	border-radius: 80rem;
}
#top .info .online-stores .list01 a {
	padding-top: 8rem;
	padding-bottom: 8rem;
}
#top .info .shops {
	padding: 95rem 0 100rem;
	background-color: #fef1f0;
}
#top .info .shops .title {
	text-align: center;
	font-size: 30rem;
	line-height: 1.4;
	padding-bottom: 80rem;
}
#top .info .shops ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#top .info .shops li {
	width: 32.5%;
	margin-bottom: 14rem;
}
#top .info .shops li a {
	font-family: sans-serif;
	text-align: left;
	font-size: 15rem;
	font-weight: 700;
}
#top .info .shops li a::after {
	border-top: 7rem solid transparent;
	border-bottom: 7rem solid transparent;
	border-left: 9rem solid #ea63a0;
}


@media (max-width: 768px) {

#top .page-header .in {
	margin-bottom: 65rem;
	background-image: url(/base/pc/store/special/newlife/2026/img/top/mv-bg-sp.png);
	background-position: 0 -300rem;
}
#top .page-header .title {
	padding-top: 111rem;
}
#top .page-header .lead {
	font-size: 23rem;
	line-height: 1.8;
	padding-bottom: 76rem;
}
#top .bg-box {
	position: relative;
}
#top .bg-box::after {
	background-image: url(/base/pc/store/special/newlife/2026/img/top/content-bg-sp.png);
}
#top .categories {
	padding-top: 75rem;
	padding-bottom: 128rem;
	display: block;
}
#top .categories li {
	width: auto;
	margin-bottom: 10rem;
}
#top .categories li.item01 {
	padding: 55rem 0;
}
#top .categories li.item03 .images,
#top .categories li.item05 .images {
		order: 0;
}
#top .categories li.item03 .texts,
#top .categories li.item05 .texts {
		order: 1;
}
#top .categories .en {
	font-weight: 900;
	font-size: 32rem;
	line-height: 1.2;
	letter-spacing: .1em;
}
#top .categories .ja {
	padding: 19rem 0 25rem;
	font-size: 19rem;
	line-height: 1.3;
	letter-spacing: .1em;
}

#top .categories a .texts {
	padding: 0 10rem;
	width: 50%;
}
#top .button {
	width: 155rem;
	padding: 6rem  17rem 6rem 7rem;
	font-size: 23rem;
}

#top .campaigns {
	text-align: center;
}
#top .campaigns .title {
	font-size: 23rem;
	line-height: 1.8;
	padding-bottom: 22rem;
}
#top .campaigns .item a {
	margin-bottom: 10rem;
}
#top .campaigns .item a .images {
	width: 50%;
}
#top .campaigns .item a .texts .in {
	display: block;
}
#top .campaigns .item a .texts .en {
	font-size: 30rem;
	line-height: 1.2;
	padding-bottom: 28rem;
}
#top .campaigns .item a .texts .ja {
	font-size: 20rem;
	line-height: 1.3;
	padding-bottom: 18rem;
}
#top .campaigns .item a .texts {		
	width: 50%;
	padding: 0 0rem;
}
#top .campaigns .item a .texts .in {
	display: block;
	width: 100%;
}
#top .campaigns .item a .texts .txt {
	width: auto;
	justify-self: unset;
}
#top .campaigns .item a .texts .button  {
	width: 120rem;
	justify-self: unset;
}
#top .info {
	padding-top: 113rem;
}
#top .info .online-stores {
	padding-bottom: 130rem;
}
#top .info .online-stores .header {
	padding-bottom: 77rem;
}
#top .info .online-stores .title {
	font-size: 35rem;
	line-height: 1.2;
	padding-bottom: 40rem;
}
#top .info .online-stores .lead {
	font-size: 26rem;
	line-height: 1.3;
}
#top .info .online-stores li {
	margin: 0 auto 20rem;
}
#top .info .shops {
	padding: 130rem 0 130rem;
}
#top .info .shops .title {
	font-size: 35rem;
	line-height: 1.4;
	padding-bottom: 96rem;
}
#top .info .shops ul {
	display: block;
}
#top .info .shops li {
	width: auto;
	margin-bottom: 14rem;
}
#top .info .shops li a {
	font-family: sans-serif;
	font-size: 30rem;
}
#top .info .shops li a::after {
	border-top: 9rem solid transparent;
	border-bottom: 9rem solid transparent;
	border-left: 11rem solid #ea63a0;
}
}

.common-price-box .mini {
	font-size: 75%;
}
.common-price-box .tag {
	display: block;
	width: 70rem;
	text-align: center;
	padding: 0rem 2rem;
	border: 1px solid #261815;
	list-style: 1;
	box-sizing: border-box;
	font-size: 13rem;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-weight: 900;
	margin-top: 10rem;
}
.common-price-box .tag.inline {
	display: inline-block;
	margin-left: 15rem;
}
.common-price-box .flavor {
	font-size: 18rem;
	line-height: 1.8;
	padding-bottom: 11rem;
	font-weight: 500;
	margin-top: 0;
}
.common-price-box .sell-at,
.common-price-box .price,
.common-price-box .detail,
.common-price-box .name {
  font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 15rem;
	line-height: 1.8;
}
@media (max-width: 768px) {
	.common-price-box .mini {
		font-size: 80%;
	}
	.common-price-box .tag {
		width: 110rem;
		padding: 0rem 2rem;
		font-size: 18rem;
	}
	.common-price-box .tag.inline {
		margin-left: 15rem;
	}
	.common-price-box .flavor {
		font-size: 19rem;
		padding-bottom: 11rem;
		line-height: 1.35;
	}
	.common-price-box .sell-at,
	.common-price-box .price,
	.common-price-box .detail,
	.common-price-box .name {
		font-size: 18rem;
		line-height: 1.35;
	}
}