/* A Modern CSS Reset */

*,
*::before,
*::after {
	box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
	margin: 0;
}

ul[role=list],
ol[role=list] {
	list-style: none;
}

html:focus-within {
	scroll-behavior: smooth;
}

body {
	line-height: 1.5;
	min-height: 100vh;
	text-rendering: optimizeSpeed;
}

a:not([class]) {
	-webkit-text-decoration-skip: ink;
	text-decoration-skip-ink: auto;
}

img,
picture {
	display: block;
	max-width: 100%;
}

input,
button,
textarea,
select {
	font: inherit;
}

html,
body {
	overflow-x: clip;
}

.is-scroll-locked {
	overflow: hidden;
}

body.is-scroll-locked {
	left: 0;
	overscroll-behavior: none;
	position: fixed;
	right: 0;
}

html {
	scroll-behavior: smooth;
}

a {
	-webkit-text-decoration: none;
	color: inherit;
	text-decoration: none;
}

body {
	color: #222222;
	font-family: "IBM Plex Sans JP", sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
}

ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.l-header {
	align-items: center;
	display: flex;
	justify-content: flex-end;
	left: 0;
	padding: 24px 32px;
	pointer-events: none;
	position: fixed;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 200;
}

.l-header > * {
	pointer-events: auto;
}

.l-desktop__container {
	background: #EC3940;
	bottom: 0;
	height: 100vh;
	left: 0;
	opacity: 0;
	overflow-y: auto;
	padding: 92px 24px 48px;
	position: fixed;
	right: 0;
	top: 0;
	transition: opacity 0.4s ease, visibility 0.5s ease;
	visibility: hidden;
	z-index: 100;
}

.l-desktop__container.is-open {
	opacity: 1;
	visibility: visible;
}

.l-desktop__logo {
	display: block;
	height: 200px;
	width: 200px;
}

.l-desktop__logo img {
	-o-object-fit: contain;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.l-desktop-nav {
	background: #FFFFFF;
	border-radius: 24px;
	display: flex;
	gap: max(16px, min(7vmax, 80px));
	justify-content: center;
	padding: 164px 24px;
}

.l-desktop-nav__lists {
	display: contents;
}

.l-desktop-nav__list {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.l-desktop-nav__item {
	background: #222222;
	border-radius: 8px;
	color: #FFFFFF;
	font-family: "Figtree", sans-serif;
	font-size: 24px;
	font-weight: 700;
	padding: 6px 12px;
	width: -moz-fit-content;
	width: fit-content;
}

.l-desktop__sns {
	justify-content: center;
	padding-top: 48px;
}

.l-desktop__company {
	color: #FFFFFF;
	display: block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	line-height: 1.5;
	padding-top: 16px;
	text-align: center;
}

.l-sticky-nav {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 48px;
	opacity: 0;
	pointer-events: none;
	position: fixed;
	right: 32px;
	transition: opacity 0.4s ease, visibility 0.4s ease;
	visibility: hidden;
	width: 60px;
	z-index: 200;
}

.l-sticky-nav.is-visible {
	opacity: 1;
	visibility: visible;
}

body:has(.l-desktop__container.is-open) .l-sticky-nav {
	display: none;
}

.l-sticky-nav > * {
	pointer-events: auto;
}

.l-sticky-nav__actions {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.l-sticky-nav__shops {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.l-sticky-nav__shop-new {
	background: #222222;
	border: 0.5px solid #FFFFFF;
	border-radius: 9999px;
	box-shadow: 2px 3px 0px 0px rgb(255, 255, 255);
	flex-shrink: 0;
	height: 60px;
	position: relative;
	width: 60px;
}

.l-footer {
	background: #EC3940;
	padding: 20px;
	padding-bottom: 70px;
}

.l-footer__body {
	background: #FFFFFF;
	border-radius: 24px;
}

.l-footer__inner {
	display: flex;
	justify-content: space-between;
	padding: 184px 80px 60px;
}

.l-footer__company {
	color: #EC3940;
	font-size: 12px;
	font-weight: 700;
	margin-bottom: 16px;
}

.l-footer__nav {
	color: #515151;
	display: flex;
	font-size: 13px;
	gap: 48px;
	line-height: 1.1;
}

.l-footer__nav--en {
	color: #222222;
	font-family: "Figtree", sans-serif;
	font-size: 18px;
	font-weight: 700;
}

.l-footer__nav-item {
	margin-bottom: 12px;
}

.l-footer__nav-item--pp {
	margin-top: 40px;
}

.l-footer__nav-link {
	display: inline-flex;
	flex-direction: column;
	gap: 2px;
}

.l-footer__logos {
	bottom: -70px;
	margin: 0 calc(50% - 50vw);
	position: relative;
	width: 100vw;
}

.p-fv-scatter {
	overflow: clip;
}

.p-hero {
	align-items: center;
	display: flex;
	height: 100vh;
	justify-content: center;
	padding: 80px 20px 0;
	position: relative;
	width: 100%;
}

.p-hero__products,
.p-hero__today-wrap,
.p-hero__click-btn-wrap,
.p-hero__popup {
	opacity: 0;
	visibility: hidden;
}

.p-hero__main {
	align-items: center;
	display: flex;
	flex-shrink: 0;
	justify-content: center;
	position: relative;
	z-index: 20;
}

.p-hero__main.is-popup-open {
	z-index: 300;
}

.p-hero__visual {
	align-items: center;
	display: flex;
	justify-content: center;
	position: relative;
}

.p-hero__logo {
	-o-object-fit: contain;
	cursor: pointer;
	height: 600px;
	object-fit: contain;
	position: relative;
	width: 600px;
	z-index: 25;
}

.p-hero__logo img {
	-o-object-fit: contain;
	display: block;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.p-hero__deco-sticker {
	bottom: 50px;
	height: 104px;
	pointer-events: none;
	position: absolute;
	right: 30px;
	width: 180px;
	z-index: 2;
}

.p-hero__deco-sticker img {
	-o-object-fit: contain;
	display: block;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.p-hero__popup {
	align-items: center;
	background: #ED1C24;
	border-radius: 24px;
	display: flex;
	filter: drop-shadow(4px 6px 0 #333);
	justify-content: center;
	left: -180px;
	min-height: 100px;
	min-width: 300px;
	padding: 24px 32px;
	pointer-events: none;
	position: absolute;
	rotate: -20deg;
	top: -80px;
	transform-origin: 90% 90%;
	width: -moz-max-content;
	width: max-content;
	z-index: 30;
}

.p-hero__popup::after {
	border-left: 14px solid transparent;
	border-right: 14px solid transparent;
	border-top: 24px solid #ED1C24;
	content: "";
	height: 0;
	left: 50%;
	position: absolute;
	top: 100%;
	transform: translateX(-50%);
	width: 0;
}

.p-hero__popup-text {
	color: #FFFFFF;
	font-family: "IBM Plex Sans JP", sans-serif;
	font-size: 32px;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	white-space: nowrap;
}

.p-hero__click-btn-wrap {
	position: absolute;
	right: -100px;
	top: -10px;
	z-index: 30;
}

.p-hero__click-btn-wrap.is-popup-open {
	z-index: 300;
}

.p-hero__click-popup {
	align-items: center;
	background: url(../images/top/deco_bubble-red.png) no-repeat center/contain;
	bottom: 0px;
	display: flex;
	height: 290px;
	justify-content: center;
	padding: 30px;
	pointer-events: none;
	position: absolute;
	right: 100px;
	width: 335px;
	z-index: 1;
}

.p-hero__click-popup-text {
	color: #FFFFFF;
	font-family: "IBM Plex Sans JP", sans-serif;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}

.p-hero__click-btn {
	-webkit-text-decoration: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	align-items: center;
	appearance: none;
	background: url(../images/common/deco_heart.webp) no-repeat center/contain;
	border: none;
	color: inherit;
	cursor: pointer;
	display: flex;
	height: 85px;
	justify-content: center;
	padding: 0;
	text-decoration: none;
	transform: rotate(20deg);
	width: 96px;
}

.p-hero__click-label {
	color: #FFFFFF;
	font-family: "Figtree", sans-serif;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.06em;
	pointer-events: none;
	text-transform: uppercase;
}

.p-hero__today {
	align-items: center;
	background: url(../images/top/button_jagged-circle.webp) no-repeat center/contain;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	height: 236px;
	justify-content: center;
	position: relative;
	width: 288px;
}

.p-hero__today-wrap {
	bottom: -60px;
	left: -250px;
	position: absolute;
	z-index: 10;
}

.p-hero__today-popup {
	--today-popup-w: 640px;
	background: url(../images/top/bg_jagged-sticker.svg) no-repeat center/contain;
	cursor: pointer;
	height: calc(640px * 0.7625);
	height: calc(var(--today-popup-w) * 0.7625);
	left: 50%;
	opacity: 0;
	pointer-events: none;
	position: fixed;
	top: 50%;
	transform: translate(-50%, -50%) scale(0.8);
	visibility: hidden;
	width: 640px;
	width: var(--today-popup-w);
	z-index: 300;
}

.p-hero__today-popup.is-open {
	pointer-events: auto;
}

.p-hero__today-popup-content {
	align-items: flex-end;
	display: flex;
	gap: calc(var(--today-popup-w) * 0.025);
	justify-content: center;
	padding-top: calc(var(--today-popup-w) * 0.19375);
}

.p-hero__today-popup-main {
	align-self: stretch;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.p-hero__today-popup-title {
	margin: 0;
}

.p-hero__today-popup-img img {
	-o-object-fit: contain;
	height: calc(var(--today-popup-w) * 0.375);
	object-fit: contain;
	width: calc(var(--today-popup-w) * 0.375);
}

.p-hero__today-popup-text {
	color: #ED1C24;
	font-family: "IBM Plex Sans JP", sans-serif;
	font-size: calc(var(--today-popup-w) * 0.03125);
	font-weight: 700;
	line-height: 1.5;
}

.p-hero__today-popup-text--en {
	font-family: "Agbalumo", cursive;
	font-size: calc(var(--today-popup-w) * 0.0625);
	text-transform: uppercase;
}

.p-hero__today-popup-btn {
	align-items: center;
	background: url(../images/top/button_check-it-out.svg) no-repeat center/contain;
	display: flex;
	height: calc(var(--today-popup-w) * 0.11825);
	justify-content: center;
	left: calc(var(--today-popup-w) * 0.504328125);
	position: absolute;
	top: calc(var(--today-popup-w) * 0.561015625);
	transform: rotate(-4.92deg);
	transition: transform 0.4s ease;
	width: calc(var(--today-popup-w) * 0.40625);
}

.p-hero__today-popup-btn:hover {
	transform: rotate(-4.92deg) scale(1.06);
}

.p-hero__today-popup-btn-text {
	color: #ED1C24;
	font-family: "Figtree", sans-serif;
	font-size: calc(var(--today-popup-w) * 0.044828125);
	font-style: italic;
	font-weight: 800;
	line-height: 1;
	margin-bottom: calc(var(--today-popup-w) * 0.0140625);
	text-transform: uppercase;
	transform: rotate(1.92deg);
	white-space: nowrap;
}

.p-hero__today-share {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: calc(var(--today-popup-w) * 0.00625);
}

.p-hero__today-share-lead {
	color: #222222;
	font-family: "IBM Plex Sans JP", sans-serif;
	font-size: calc(var(--today-popup-w) * 0.021875);
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1.3;
	margin: 0;
	text-align: center;
	white-space: nowrap;
}

.p-hero__today-share-list {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: calc(var(--today-popup-w) * 0.0125) calc(var(--today-popup-w) * 0.00625);
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

.p-hero__today-share-item {
	align-items: center;
	display: flex;
	height: calc(var(--today-popup-w) * 0.06671875);
	justify-content: center;
	width: calc(var(--today-popup-w) * 0.06671875);
}

.p-hero__today-share-btn {
	align-items: center;
	background: none;
	border: none;
	cursor: pointer;
	display: flex;
	justify-content: center;
	padding: 0;
	position: relative;
	width: calc(var(--today-popup-w) * 0.05625);
}

.p-hero__today-share-btn--x,
.p-hero__today-share-btn--facebook {
	transform: rotate(-12deg);
}

.p-hero__today-share-btn--instagram,
.p-hero__today-share-btn--line {
	transform: rotate(12deg);
}

.p-hero__today-share-heart {
	display: block;
	height: auto;
	width: 100%;
}

.p-hero__today-share-icon {
	height: auto;
	left: 50%;
	position: absolute;
	top: 45%;
	transform: translate(-50%, -50%);
	width: 36%;
}

.p-hero__today-share-btn--facebook .p-hero__today-share-icon {
	width: 20%;
}

.p-hero__today-share-tags {
	align-items: center;
	background: #FFFFFF;
	border: 1px solid #ED1C24;
	border-radius: 8px;
	display: flex;
	gap: calc(var(--today-popup-w) * 0.0125);
	justify-content: center;
	padding: calc(var(--today-popup-w) * 0.0125);
}

.p-hero__today-share-tag-list {
	align-items: center;
	color: #ED1C24;
	display: flex;
	font-size: calc(var(--today-popup-w) * 0.021875);
	line-height: 1;
	margin: 0;
	white-space: nowrap;
}

.p-hero__today-share-tag {
	align-items: center;
	display: inline-flex;
	gap: calc(var(--today-popup-w) * 0.00625);
	padding: calc(var(--today-popup-w) * 0.00625) calc(var(--today-popup-w) * 0.0125);
}

.p-hero__today-share-tag-hash {
	font-family: "Figtree", sans-serif;
	font-weight: 700;
}

.p-hero__today-share-tag-label {
	font-family: "IBM Plex Sans JP", sans-serif;
	font-weight: 700;
}

.p-hero__today-share-copy {
	align-items: center;
	background: none;
	border: none;
	cursor: pointer;
	display: flex;
	flex-shrink: 0;
	height: calc(var(--today-popup-w) * 0.03125);
	justify-content: center;
	padding: 0;
	position: relative;
	width: calc(var(--today-popup-w) * 0.03125);
}

.p-hero__today-share-copy img {
	display: block;
	height: auto;
	width: 100%;
}

.p-hero__today-share-copied {
	background: #222222;
	border-radius: 4px;
	color: #FFFFFF;
	font-family: "IBM Plex Sans JP", sans-serif;
	font-size: 11px;
	font-weight: 700;
	left: 50%;
	opacity: 0;
	padding: 2px 8px;
	position: absolute;
	top: -28px;
	transform: translateX(-50%);
	transition: opacity 0.2s ease;
	white-space: nowrap;
}

.p-hero__today-share-copied:empty {
	display: none;
}

.p-hero__today-share-copied.is-visible {
	opacity: 1;
}

.p-hero__today-text {
	color: #FFFFFF;
	font-family: "Agbalumo", cursive;
	font-size: 40px;
	font-weight: 400;
	line-height: 1;
}

.p-hero__today-text--large {
	font-size: 72px;
}

.p-hero__products {
	bottom: 0;
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 0;
}

.p-hero__product {
	-o-object-fit: contain;
	display: block;
	height: 400px;
	left: 50%;
	margin: -200px 0 0 -200px;
	max-width: none;
	object-fit: contain;
	position: absolute;
	top: 50%;
	width: 400px;
}

.p-links {
	align-items: center;
	display: flex;
	gap: 64px;
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
	padding: 80px 0;
	position: relative;
	width: 60%;
	z-index: 100;
}

.p-links__about {
	align-items: center;
	background: url(../images/top/button_circle.webp) no-repeat center/contain;
	display: inline-flex;
	flex-direction: column;
	flex-shrink: 0;
	height: 216px;
	justify-content: center;
	padding-top: 24px;
	width: 312px;
}

.p-links__about-title {
	align-items: center;
	color: #222222;
	display: flex;
	flex-direction: column;
	font-family: "Shrikhand", cursive;
	font-size: 32px;
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: 1;
}

.p-links__about-title--ja {
	font-family: "IBM Plex Sans JP", sans-serif;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1.5;
}

.p-links__shop {
	-webkit-text-decoration: none;
	align-items: center;
	background: url(../images/top/button_online-shop.webp) no-repeat center/contain;
	display: flex;
	flex-direction: column;
	flex-shrink: 0;
	gap: 8px;
	height: 216px;
	justify-content: center;
	padding-top: 24px;
	text-decoration: none;
	width: 280px;
}

.p-links__shop-title {
	align-items: center;
	color: #018008;
	display: flex;
	flex-direction: column;
	font-family: "Figtree", sans-serif;
	font-size: 32px;
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1;
	margin-left: -14px;
	text-align: center;
}

.p-links__shop-title--ja {
	font-family: "IBM Plex Sans JP", sans-serif;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1.5;
}

.p-event {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 40px;
	overflow: hidden;
	padding: 160px 0 120px;
	position: relative;
}

.p-event__bg-text {
	left: 27px;
	position: absolute;
	top: 41px;
	width: 1488px;
	z-index: 0;
}

.p-event__container {
	align-items: end;
	display: flex;
	padding-top: 30px;
	width: 100%;
}

.p-event__link-button {
	align-items: end;
	display: flex;
	flex: 0 0 408px;
	justify-content: center;
}

.p-event__link {
	-webkit-text-decoration: none;
	flex-shrink: 0;
	height: 175px;
	position: relative;
	text-decoration: none;
	width: 175px;
}

.p-event__link-img {
	height: 132px;
	left: 21px;
	position: absolute;
	top: 18px;
	width: 132px;
}

.p-event__link-curve {
	display: block;
	height: 100%;
	overflow: visible;
	width: 100%;
}

.p-event__link-curve-wrap {
	height: 175px;
	left: 50%;
	pointer-events: none;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 175px;
}

.p-event__card-list {
	align-items: center;
	display: flex;
	flex: 1;
	justify-content: flex-end;
	margin: 20px;
	padding: 0;
}

.p-event__card-item {
	align-items: center;
	display: flex;
	flex-shrink: 0;
	justify-content: center;
}

.p-event__card-item:hover .p-event__card-wrap {
	box-shadow: none;
}

.p-event__card-item:hover .c-card__tag {
	background: #ED1C24;
}

.p-event__card-wrap {
	background: #FFFFFF;
	border: 1px solid #ED1C24;
	border-radius: 24px;
	box-shadow: 6px 8px 0px 0px rgb(237, 28, 36);
	flex-shrink: 0;
	transform: rotate(6deg);
	transition: box-shadow 0.2s ease;
}

.p-event .c-card {
	height: 400px;
	width: 352px;
}

.p-event .c-card__link {
	display: flex;
	flex-direction: column;
	gap: 24px;
	height: 400px;
	padding: 16px;
}

.p-event .c-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 16px;
	padding: 0 8px;
}

.p-event .c-card__thumbnail-img {
	-o-object-fit: contain;
	aspect-ratio: 300/225;
	border-radius: 8px;
	height: auto;
	object-fit: contain;
}

.p-event .c-card__title {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	color: #222222;
	display: -webkit-box;
	font-size: 20px;
	font-weight: 500;
	height: calc(20px * 1.5 * 2);
	line-height: 1.5;
	overflow: hidden;
}

.p-event .c-card__meta {
	align-items: center;
	display: flex;
	gap: 16px;
	justify-content: space-between;
}

.p-event .c-card__tag {
	background: #222222;
	border-radius: 9999px;
	color: #FFFFFF;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	padding: 11px 9px;
	transition: background 0.2s ease;
}

.p-event .c-card__date {
	font-family: "Figtree", sans-serif;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
}

.p-event .c-marquee__item img {
	-o-object-fit: contain;
	height: 110px;
	object-fit: contain;
	width: 110px;
}

.p-series {
	background: #EC3940;
	display: flex;
	flex-direction: column;
	gap: 8px;
	overflow: clip;
	padding: 0 20px;
}

.p-series__marquee {
	margin: 0 calc(50% - 50vw);
	overflow: hidden;
	padding: 16px 0 8px;
	width: 100vw;
}

.p-series__marquee-track {
	display: flex;
	width: -moz-max-content;
	width: max-content;
	will-change: transform;
}

.p-series__marquee-track.u-marquee-left,
.p-series__marquee-track.u-marquee-right {
	animation-duration: 80s;
}

.p-series__marquee-text {
	align-items: center;
	color: #FFFFFF;
	display: inline-flex;
	font-family: "Figtree", sans-serif;
	font-size: 16px;
	font-style: italic;
	font-weight: 900;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

.p-series__marquee-text::after {
	background: url(../images/common/deco_heart-xs.webp) no-repeat center/contain;
	content: "";
	display: inline-flex;
	flex-shrink: 0;
	height: 22px;
	margin-left: 12px;
	margin-right: 12px;
	width: 25px;
}

.p-series__marquee-text.is-hard-quiz::after {
	display: none;
}

.p-series__bg-row {
	align-items: center;
	display: flex;
	gap: 48px;
	opacity: 0.2;
	overflow: hidden;
	position: absolute;
	width: -moz-max-content;
	width: max-content;
}

.p-series__bg-row.u-marquee-left,
.p-series__bg-row.u-marquee-right {
	animation-duration: 80s;
}

.p-series__bg-row--bottom {
	bottom: 20px;
}

.p-series__bg-row img {
	flex-shrink: 0;
	height: 50px;
	width: auto;
}

.p-series__bg-btn {
	align-items: center;
	display: flex;
	flex-shrink: 0;
	justify-content: center;
}

.p-series__bg-btn img {
	display: block;
	height: 80px;
	width: 80px;
}

.p-series__sticky-wrap {
	height: calc(100vh + 2400px);
}

.p-series__main {
	background: #EC3940;
	display: flex;
	flex-direction: column;
	height: 100vh;
	position: sticky;
	top: 0;
}

.p-series__content {
	align-items: center;
	display: flex;
	flex: 1;
	gap: 96px;
	height: 100%;
	justify-content: center;
	padding: 70px 96px;
}

.p-series__content-wrap {
	background: #FFFFFF;
	border-radius: 24px;
	height: 100%;
	padding-bottom: 10px;
	padding-top: 10px;
	position: relative;
}

.p-series__left {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.p-series__title {
	font-size: 36px;
	font-weight: 700;
}

.p-series__card {
	background: #FFFFFF;
	border: 8px solid #ED1C24;
	border-radius: 24px;
	cursor: pointer;
	height: 340px;
	left: 50%;
	overflow: hidden;
	position: absolute;
	top: 50%;
	width: 340px;
}

.p-series__card img {
	-o-object-fit: cover;
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.p-series__card {
	transition: transform 0.4s ease;
}

.p-series__card--1 {
	transform: translate(-50%, -50%) rotate(5deg);
}

.p-series__card--2 {
	transform: translate(-50%, -50%) rotate(8deg);
}

.p-series__card--3 {
	transform: translate(-50%, -50%) rotate(11deg);
}

.p-series__card.is-active {
	animation: p-series-card-enter 1s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
	transition: none;
	z-index: 10;
}

.p-series__card.is-active.is-settled {
	animation: none;
	transform: translate(-50%, -50%) scale(1.04);
}

.p-series__card.is-active.is-settled:hover {
	animation: p-series-card-sway 0.9s ease-in-out infinite;
}

.p-series__card-area {
	display: flex;
	gap: 28px;
}

.p-series__card-deco {
	-o-object-fit: contain;
	align-self: flex-end;
	flex-shrink: 0;
	height: 120px;
	object-fit: contain;
	transform: rotate(15deg);
	width: 120px;
}

.p-series__card-deco--2 {
	align-self: flex-start;
	transform: rotate(-15deg);
}

.p-series__stack {
	flex-shrink: 0;
	height: 384px;
	position: relative;
	width: 384px;
}

.p-series__list {
	display: flex;
	flex-direction: column;
	flex-shrink: 0;
	gap: 4px;
	list-style: none;
	margin: 0;
	padding: 0;
	width: 220px;
}

.p-series__list-item {
	align-items: center;
	cursor: pointer;
	display: flex;
	min-height: 30px;
	padding: 0 4px;
}

.p-series__list-item--active {
	background: #FFEEEE;
	border-radius: 4px;
}

.p-series__list-num {
	color: #A1A1A1;
	flex-shrink: 0;
	font-family: "IBM Plex Sans JP", sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
	width: 40px;
}

.p-series__list-name {
	color: #A1A1A1;
	font-family: "IBM Plex Sans JP", sans-serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
	white-space: nowrap;
}

.p-series__list-item--active .p-series__list-num {
	color: #ED1C24;
	font-size: 18px;
}

.p-series__list-item--active .p-series__list-name {
	color: #ED1C24;
	font-size: 20px;
}

.p-series__btn {
	align-items: center;
	background: #FFFFFF;
	border-radius: 9999px;
	bottom: 40px;
	display: flex;
	height: 174px;
	justify-content: center;
	margin: 20px;
	position: absolute;
	right: 0;
	width: 174px;
}

.p-series__btn-curve text {
	fill: #ED1C24;
}

.p-series__btn img {
	display: block;
}

.p-series__btn-curve {
	display: block;
	height: 100%;
	overflow: visible;
	width: 100%;
}

.p-series__btn-curve-wrap {
	height: 174px;
	left: 50%;
	pointer-events: none;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 174px;
}

.p-birthday {
	overflow: hidden;
	position: relative;
	width: 100%;
}

.p-birthday::after {
	aspect-ratio: 1;
	background-image: url(../images/top/bg_heart-lg.webp);
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	left: -20%;
	pointer-events: none;
	position: absolute;
	top: 10%;
	width: 70%;
	z-index: -1;
}

.p-birthday__container {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 40px;
	justify-content: center;
	padding-top: 163px;
}

.p-birthday__sub-title {
	display: none;
}

.p-birthday__bg-btn {
	bottom: 18%;
	left: 5%;
}

.p-birthday__bg-deco {
	position: absolute;
}

.p-birthday__bg-deco--1 {
	left: 30%;
	top: 10px;
}

.p-birthday__bg-deco--2 {
	left: 10%;
	top: 20%;
}

.p-birthday__bg-deco--3 {
	right: 10%;
	top: 15%;
}

.p-birthday__bg-deco--4 {
	right: 10%;
	top: 45%;
}

.p-birthday__bg-deco--5 {
	bottom: 15%;
	right: 25%;
}

.p-birthday__btn {
	align-items: center;
	background-image: url(../images/top/button_jugged-circle-white.png);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	color: #ED1C24;
	display: flex;
	font-size: 16px;
	font-weight: 700;
	height: 132px;
	justify-content: center;
	letter-spacing: 0.08em;
	line-height: 1.5;
	transform: rotate(-4deg);
	transition: transform 0.4s ease;
	width: 132px;
}

.p-birthday__btn:hover {
	transform: rotate(-4deg) scale(1.1);
}

.p-birthday__btn-curve {
	display: block;
	height: 100%;
	overflow: visible;
	width: 100%;
}

.p-birthday__btn-curve-wrap {
	height: 160px;
	left: 50%;
	pointer-events: none;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 160px;
}

.p-birthday__btn-wrap {
	align-items: center;
	display: inline-flex;
	justify-content: center;
}

.p-birthday__bg-slide {
	margin-top: 110px;
}

.p-birthday__bg-slide .c-marquee__item img {
	-o-object-fit: contain;
	height: 110px;
	object-fit: contain;
	width: 110px;
}

.p-birthday__bg-slide .c-marquee__item.u-hover-btn--scale {
	align-items: center;
	display: flex;
	height: 110px;
	justify-content: center;
	width: 110px;
}

.p-birthday__bg-slide .c-marquee__item.u-hover-btn--scale img {
	height: 100px;
	width: 100px;
}

.p-what {
	position: relative;
	width: 100%;
}

.p-what::before {
	aspect-ratio: 1;
	background-image: url(../images/top/bg_heart-lg.webp);
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	max-width: 890px;
	min-width: 445px;
	pointer-events: none;
	position: absolute;
	right: max(-30%, -267px);
	top: 0;
	width: 70%;
	z-index: -1;
}

.p-what::after {
	aspect-ratio: 1;
	background-image: url(../images/top/bg_heart-lg.webp);
	background-repeat: no-repeat;
	background-size: contain;
	bottom: max(-50%, -393px);
	content: "";
	left: max(-314px, min(-24%, -195px));
	max-width: 785px;
	min-width: 488px;
	pointer-events: none;
	position: absolute;
	width: 60%;
	z-index: -1;
}

.p-what__container {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 40px;
	justify-content: center;
	padding-top: 163px;
	position: relative;
	z-index: 1;
}

.p-what__feature {
	display: flex;
	gap: 88px;
	justify-content: center;
}

.p-what__feature--reverse {
	flex-direction: row-reverse;
}

.p-what__feature.is-media-in .p-what__feature-media {
	animation: p-what-media-pop-in 2s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

.p-what__feature.is-content-in .p-what__feature-media::after {
	animation: p-what-pop-in 2s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

.p-what__feature.is-content-in .p-what__feature-content {
	animation: p-what-pop-in 2s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

.p-what__feature-media {
	height: 368px;
	opacity: 0;
	position: relative;
	scale: 0.4;
	width: 368px;
}

.p-what__feature-media img {
	-o-object-fit: contain;
	display: block;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.p-what__feature-media::after {
	background: url(../images/top/deco_chick.png) no-repeat center/contain;
	background: var(--p-what-deco-img, url(../images/top/deco_chick.png)) no-repeat center/contain;
	bottom: -10px;
	content: "";
	height: 200px;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	right: -80px;
	rotate: 10deg;
	scale: 0.4;
	width: 200px;
}

.p-what__feature-media--reverse::after {
	left: -80px;
	right: auto;
	rotate: -10deg;
}

.p-what__feature-content {
	align-items: center;
	background-image: url(../images/top/deco_bubble-to-right.webp);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	display: flex;
	justify-content: center;
	opacity: 0;
	scale: 0.6;
	translate: 0 -66px;
	width: 380px;
}

.p-what__feature-content-wrap {
	align-items: center;
	display: flex;
	justify-content: center;
	transform: rotate(-6deg);
}

.p-what__feature-content--reverse {
	background-image: url(../images/top/deco_bubble-to-left.webp);
}

.p-what__feature-text {
	color: #ED1C24;
	font-size: 32px;
	font-weight: 700;
	line-height: 1.3;
	margin-left: 74px;
}

.p-what__bg-btn {
	position: absolute;
	right: 0;
}

.p-what__bg-heart {
	display: flex;
	pointer-events: auto;
}

.p-sns {
	margin-top: 260px;
}

.p-sns .c-marquee-tape__text::after {
	background-image: url(../images/common/deco_heart-xs.webp);
	height: 20px;
	width: 23px;
}

.p-sns .c-hard-quiz-trigger--tape {
	height: 20px;
	width: 23px;
}

.p-sns .c-marquee-tape__bar {
	left: -40px;
	width: calc(100% + 80px);
}

.p-sns .c-marquee-tape__bar:nth-child(1) {
	background: #222222;
	top: 0;
	transform: rotate(4deg);
}

.p-sns .c-marquee-tape__bar:nth-child(2) {
	background: #ED1C24;
	top: 30px;
	transform: rotate(-4deg);
}

.p-sns__container {
	position: relative;
}

.p-sns__short-wrap {
	display: flex;
	justify-content: center;
	margin: 180px auto -30px;
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
}

.p-sns__short-link {
	height: 480px;
	width: 242px;
}

.p-sns__short-link a {
	display: block;
	height: 100%;
	width: 100%;
}

.p-sns__short-link img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.p-sns__short-link--1 {
	transform: rotate(-12deg) translateY(30px);
	z-index: 0;
}

.p-sns__short-link--2 {
	z-index: 1;
}

.p-sns__short-link--3 {
	transform: rotate(12deg) translateY(30px);
	z-index: 2;
}

.p-sns__btn {
	height: 120px;
	position: absolute;
	right: -140px;
	top: 50px;
	transition: transform 0.4s ease;
	width: 120px;
	z-index: 3;
}

.p-sns__btn:hover {
	transform: scale(1.1);
}

.p-sns__btn-curve {
	display: block;
	height: 100%;
	overflow: visible;
	width: 100%;
}

.p-sns__btn-curve-wrap {
	height: 150px;
	left: 50%;
	pointer-events: none;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 150px;
}

.p-sns__sns-item {
	align-items: center;
	background-image: url(../images/common/icon_heart-black.webp);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	display: flex;
	height: 135px;
	justify-content: center;
	position: absolute;
	transition: all 0.2s ease;
	width: 135px;
	z-index: 3;
}

.p-sns__sns-item:hover {
	background-image: url(../images/top/button_heart-gradient.webp);
}

.p-sns__sns-item--x {
	bottom: 100px;
	right: -150px;
	transform: rotate(-13deg);
}

.p-sns__sns-item--ig {
	bottom: 0px;
	right: -100px;
	transform: rotate(11deg);
}

.p-sns__sns-item--tiktok {
	bottom: -80px;
	left: -60px;
	transform: rotate(-13deg);
}

.p-sns__sns-item--tiktok img {
	transform: rotate(13deg);
}

.p-sns__deco {
	vertical-align: bottom;
}

.p-sns__deco img {
	width: 100%;
}

.p-cta {
	background: #EC3940;
}

.p-cta__inner {
	align-items: center;
	display: flex;
	gap: clamp(70px, 100vw - 954px, 160px);
	justify-content: center;
	padding-bottom: 48px;
}

.p-cta__item {
	-webkit-text-decoration: none;
	align-items: center;
	color: inherit;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	gap: 8px;
	justify-content: center;
	padding-bottom: 48px;
	padding-top: 48px;
	text-decoration: none;
	transition: transform 0.4s ease;
}

.p-cta__item .p-cta__heading img {
	transition: transform 0.4s ease;
}

.p-cta__item .c-btn-circle--navy {
	transition: box-shadow 0.2s ease;
}

.p-cta__item:hover {
	transform: scale(1.1);
}

.p-cta__item:hover .p-cta__heading img {
	transform: scale(1.1);
}

.p-cta__item:hover .c-btn-circle--navy {
	box-shadow: none;
}

.p-cta__heading {
	align-items: center;
	color: #FFFFFF;
	display: inline-flex;
	font-size: 48px;
	font-style: italic;
	line-height: 1.5;
}

.c-btn-menu {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: #FFFFFF;
	border: none;
	border-radius: 9999px;
	box-shadow: 2px 4px 0px 0px rgb(237, 28, 36);
	cursor: pointer;
	height: 60px;
	width: 60px;
}

.c-btn-menu__label {
	border-bottom: 2px solid #222222;
	border-top: 2px solid #222222;
	color: #222222;
	font-family: "Figtree", sans-serif;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.1;
	padding-bottom: 8px;
	padding-top: 8px;
	text-transform: uppercase;
}

.c-btn-circle {
	align-items: center;
	border-radius: 9999px;
	display: flex;
	justify-content: center;
}

.c-btn-circle--navy {
	background: #FFFFFF;
	box-shadow: 2px 3px 0px 0px rgb(25, 21, 74);
}

.c-btn-circle--xs {
	height: 30px;
	width: 30px;
}

.c-btn-circle--sm {
	height: 60px;
	width: 60px;
}

.c-btn-circle img {
	-o-object-fit: contain;
	display: block;
	object-fit: contain;
}

.c-sns-list {
	display: flex;
	gap: 8px;
}

.c-sns-list--col {
	flex-direction: column;
}

.c-sns-btn {
	-webkit-text-decoration: none;
	align-items: center;
	background: #ED1C24;
	border-radius: 9999px;
	box-shadow: 2px 1px 0px 0px rgb(23, 23, 23);
	display: flex;
	flex-shrink: 0;
	height: 40px;
	justify-content: center;
	overflow: hidden;
	text-decoration: none;
	width: 40px;
}

.c-shop-btn {
	align-items: center;
	background: #FFFFFF;
	border: 0.5px solid #ED1C24;
	border-radius: 9999px;
	display: flex;
	flex-shrink: 0;
	justify-content: center;
	position: relative;
}

.c-shop-btn--sm {
	box-shadow: 2px 3px 0px 0px #EC3940;
	height: 60px;
	width: 60px;
}

.c-shop-btn--lg {
	box-shadow: 6px 8px 0px 0px rgb(237, 28, 36);
	height: 120px;
	width: 120px;
}

.c-btn-curve-text {
	bottom: 0;
	height: 100%;
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
}

.c-shop-cta {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.c-shop-cta__text {
	color: #ED1C24;
	font-size: 16px;
	font-weight: 700;
}

.c-section-title {
	-webkit-text-stroke: 16px #FFFFFF;
	color: #ED1C24;
	font-family: "Shrikhand", cursive;
	font-size: 72px;
	font-style: italic;
	line-height: 1.5;
	paint-order: stroke;
}

.c-icon-close {
	display: block;
	height: 16px;
	position: relative;
	width: 16px;
}

.c-icon-close span {
	background: #222222;
	border-radius: 9999px;
	display: block;
	height: 2px;
	left: 0;
	position: absolute;
	top: 50%;
	transition: background 0.2s ease;
	width: 100%;
}

.c-icon-close span:first-child {
	transform: translateY(-50%) rotate(45deg);
}

.c-icon-close span:last-child {
	transform: translateY(-50%) rotate(-45deg);
}

.c-quiz__close:hover .c-icon-close span {
	background: #FFFFFF;
}

.c-quiz-overlay {
	background: rgba(128, 128, 128, 0.5);
	bottom: 0;
	left: 0;
	opacity: 0;
	pointer-events: none;
	position: fixed;
	right: 0;
	top: 0;
	transition: opacity 0.3s ease;
	z-index: 100;
}

.c-quiz-overlay.is-open {
	opacity: 1;
	pointer-events: auto;
}

.c-quiz {
	align-items: center;
	background: url(../images/top/bg_heart-scatter.png) no-repeat center/cover;
	background-color: #EC3940;
	border-radius: 28px;
	display: flex;
	flex-direction: column;
	height: auto;
	justify-content: center;
	left: 50%;
	opacity: 0;
	pointer-events: none;
	position: fixed;
	top: 50%;
	transform: translate(-50%, -50%) scale(0.96);
	transition: opacity 0.3s ease, transform 0.3s ease;
	width: 760px;
	z-index: 300;
}

.c-quiz--special-quiz {
	background: url(../images/top/bg_jagged-gradient.webp) no-repeat center/contain;
	height: 640px;
	width: 860px;
}

.c-quiz--special-quiz .c-quiz__answer-text--result {
	color: #222222;
}

.c-quiz--coupon {
	background: url(../images/top/bg_heart-gradient.png) no-repeat center/contain;
	height: 691px;
	width: 775px;
}

.c-quiz.is-open {
	opacity: 1;
	pointer-events: auto;
	transform: translate(-50%, -50%) scale(1);
}

.c-quiz__close {
	border: none;
	border-radius: 9999px;
	cursor: pointer;
	padding: 12px;
	position: absolute;
	right: 16px;
	top: 16px;
}

.c-quiz__close:hover {
	background: #222222;
}

.c-quiz__close--special-quiz,
.c-quiz__close--coupon {
	right: 120px;
	top: 50px;
}

.c-quiz__content {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 24px;
	min-height: 200px;
	padding: 60px 40px 40px;
}

.c-quiz__content.is-hidden {
	display: none;
}

.c-quiz__title {
	align-items: center;
	background: #222222;
	border-radius: 9999px;
	color: #FFFFFF;
	display: inline-flex;
	font-family: "Figtree", sans-serif;
	font-size: 14px;
	font-style: italic;
	font-weight: 700;
	gap: 8px;
	justify-content: center;
	letter-spacing: 0.08em;
	padding: 6px 16px;
	width: -moz-fit-content;
	width: fit-content;
}

.c-quiz__title::before {
	background-image: url(../images/common/deco_heart.webp);
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 18px;
	width: 18px;
}

.c-quiz__question {
	color: #FFFFFF;
	font-family: "Shrikhand", cursive;
	font-size: 46px;
	font-weight: 400;
}

.c-quiz__question-text {
	background: #FFFFFF;
	border-radius: 4px;
	font-size: 20px;
	font-weight: 700;
	padding: 4px 16px;
	text-align: center;
	width: 100%;
}

.c-quiz__question-text--special-quiz {
	width: -moz-fit-content;
	width: fit-content;
}

.c-quiz__question-text--highlight {
	color: #ED1C24;
}

.c-quiz__answers-wrap {
	display: flex;
	gap: 16px;
	justify-content: space-between;
	width: 100%;
}

.c-quiz__answer {
	-webkit-appearance: none;
	-moz-appearance: none;
	align-items: center;
	appearance: none;
	background: #FFFFFF;
	border-radius: 9999px;
	box-shadow: 4px 7px 0px 0px rgb(25, 21, 74);
	color: #222222;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	gap: 16px;
	height: 180px;
	justify-content: center;
	text-align: center;
	transition: background 0.4s ease, box-shadow 0.4s ease;
	width: 180px;
}

.c-quiz__answer:hover {
	background: linear-gradient(136deg, rgb(137, 237, 253) 0%, rgb(194, 209, 255) 15%, rgb(245, 175, 248) 37%, rgb(255, 198, 167) 78%, rgb(255, 214, 82) 100%);
	box-shadow: none;
}

.c-quiz__answer:hover .c-quiz__answer-icon {
	background: #FFFFFF;
	color: #ED1C24;
}

.c-quiz__answer:hover .c-quiz__answer-text {
	color: #FFFFFF;
}

.c-quiz__answer-icon {
	align-items: center;
	background: #ED1C24;
	border-radius: 9999px;
	color: #FFFFFF;
	display: flex;
	font-family: "Figtree", sans-serif;
	font-size: 20px;
	font-weight: 700;
	height: 38px;
	justify-content: center;
	width: 38px;
}

.c-quiz__answer-text {
	font-size: 18px;
	font-weight: 700;
	text-align: center;
}

.c-quiz__answer-text--result {
	color: #FFFFFF;
}

.c-quiz__message {
	color: #FFFFFF;
	font-size: 16px;
	font-weight: 700;
}

.c-quiz__message--incorrect {
	color: #222222;
}

.c-quiz__message--special-quiz {
	align-items: center;
	background: url(../images/top/icon_arrow-lg.webp) no-repeat center/cover;
	cursor: pointer;
	display: inline-flex;
	height: 100px;
	justify-content: center;
	position: relative;
	width: 206px;
}

.c-quiz__message--special-quiz::after {
	background: url(../images/top/icon_arrow-lg-gradient.png) no-repeat center/cover;
	bottom: 0;
	content: "";
	left: 0;
	opacity: 0;
	position: absolute;
	right: 0;
	top: 0;
	transition: opacity 0.3s ease;
}

.c-quiz__message--special-quiz:hover::after {
	opacity: 1;
}

.c-quiz__message--special-quiz span {
	display: block;
	position: relative;
	transform: rotate(-6deg);
	z-index: 1;
}

.c-quiz--special-quiz .c-quiz__message:not(.c-quiz__message--special-quiz) {
	color: #222222;
}

.c-quiz__result-title {
	color: #FFFFFF;
	font-size: 20px;
	font-weight: 700;
}

.c-quiz__result-title--special-quiz {
	color: #ED1C24;
}

.c-quiz__result-label {
	color: #FFFFFF;
	font-size: 20px;
	font-weight: 700;
}

.c-quiz__result-answer {
	align-items: center;
	display: flex;
	gap: 8px;
	justify-content: center;
}

.c-coupon-popup__content {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 24px;
	justify-content: center;
	position: relative;
}

.c-coupon-popup__title {
	position: relative;
}

.c-coupon-popup__title::after {
	background: url(../images/top/deco_chick.png) no-repeat center/contain;
	content: "";
	height: 110px;
	left: 100px;
	position: absolute;
	top: -60px;
	transform: rotate(-10deg);
	width: 110px;
	z-index: -1;
}

.c-coupon-popup__body {
	align-items: center;
	background: #FFFFFF;
	border: 1px solid #ED1C24;
	border-radius: 20px;
	box-shadow: 4px 6px 0px 0px rgb(236, 57, 64);
	display: flex;
	flex-direction: column;
	gap: 8px;
	justify-content: center;
	padding: 16px 24px 0;
	position: relative;
	width: 240px;
}

.c-coupon-popup__deco {
	position: absolute;
}

.c-coupon-popup__deco--1 {
	left: -60px;
	top: 60px;
	transform: rotate(-10deg);
}

.c-coupon-popup__deco--2 {
	left: -120px;
	top: 140px;
	transform: rotate(-20deg);
}

.c-coupon-popup__deco--3 {
	right: -60px;
	top: 0;
	transform: rotate(20deg);
}

.c-coupon-popup__deco--4 {
	bottom: 0;
	right: -20px;
	transform: rotate(10deg);
	z-index: 1;
}

.c-coupon-popup__heading {
	color: #ED1C24;
	font-size: 17px;
	letter-spacing: 1.2em;
	margin-right: -20px;
}

.c-coupon-popup__text {
	font-weight: 700;
}

.c-coupon-popup__text--strong {
	font-family: "Figtree", sans-serif;
	font-size: 42px;
	font-style: italic;
	letter-spacing: 0;
	line-height: 1.5em;
}

.c-coupon-popup__text--strong span {
	font-size: 70px;
}

.c-coupon-popup__code-wrap {
	background: #FFFFFF;
	border: 1px dashed #ED1C24;
	border-radius: 20px;
	padding-bottom: 8px;
	padding-top: 8px;
	text-align: center;
	width: 240px;
}

.c-coupon-popup__code-label {
	font-family: "Figtree", sans-serif;
	font-size: 12px;
	font-weight: 700;
	margin-bottom: 4px;
}

.c-coupon-popup__code {
	color: #ED1C24;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.2em;
}

.c-coupon-popup__code-note {
	color: #222222;
	display: block;
	font-size: 11px;
	line-height: 1.4;
	margin-top: 4px;
}

.c-coupon-popup__cta-wrap {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.c-coupon-popup__cta-text {
	font-size: 16px;
	font-weight: 700;
}

.c-coupon-popup__logo {
	display: none;
	height: 40px;
	pointer-events: none;
	position: absolute;
	width: 40px;
}

.c-coupon-popup__logo--1 {
	left: 10px;
	top: -40px;
}

.c-coupon-popup__logo--2 {
	right: 20px;
	top: -30px;
}

.c-coupon-popup__logo--3 {
	left: 30px;
	top: 130px;
	z-index: -3;
}

.c-coupon-popup__logo--4 {
	right: 35px;
	top: 310px;
	z-index: -3;
}

.c-coupon-popup__logo--5 {
	bottom: 120px;
	left: 70px;
}

.c-coupon-popup__close-text {
	color: #222222;
	cursor: pointer;
	display: none;
	font-weight: 700;
	padding-top: 72px;
	text-align: center;
	width: 100%;
}

.c-marquee {
	align-items: center;
	display: flex;
	flex-direction: row;
	gap: 48px;
}

.c-marquee__item {
	flex-shrink: 0;
	overflow: hidden;
}

.c-marquee__item img {
	-o-object-fit: contain;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.c-marquee__item:has(.u-img-glow) {
	overflow: visible;
}

.c-marquee__item:nth-child(9n+1) img {
	transform: rotate(-8deg);
}

.c-marquee__item:nth-child(9n+2) img {
	transform: rotate(12deg);
}

.c-marquee__item:nth-child(9n+3) img {
	transform: rotate(-5deg);
}

.c-marquee__item:nth-child(9n+4) img {
	transform: rotate(15deg);
}

.c-marquee__item:nth-child(9n+5) img {
	transform: rotate(-12deg);
}

.c-marquee__item:nth-child(9n+6) img {
	transform: rotate(3deg);
}

.c-marquee__item:nth-child(9n+7) img {
	transform: rotate(-15deg);
}

.c-marquee__item:nth-child(9n+8) img {
	transform: rotate(8deg);
}

.c-marquee__item:nth-child(9n+9) img {
	transform: rotate(-3deg);
}

.c-text-marquee {
	display: flex;
	flex-direction: column;
	pointer-events: none;
}

.c-text-marquee__row {
	align-items: center;
	display: flex;
	width: -moz-max-content;
	width: max-content;
}

.c-text-marquee__row:nth-of-type(3) {
	animation-delay: -20s;
}

.c-text-marquee__unit {
	align-items: center;
	display: flex;
	gap: 24px;
	padding-right: 24px;
}

.c-text-marquee__item {
	color: #ED1C24;
	font-family: "Shrikhand", cursive;
	font-size: 84px;
	font-weight: 400;
	line-height: 1.45;
	text-transform: uppercase;
	white-space: nowrap;
}

.c-text-marquee__heart {
	display: flex;
	flex-shrink: 0;
	height: 100px;
	pointer-events: auto;
	width: 100px;
}

.c-marquee-tape__wrap {
	height: 60px;
	position: relative;
}

.c-marquee-tape__bar {
	align-items: center;
	display: flex;
	overflow-y: visible;
	position: absolute;
	width: 100%;
}

.c-marquee-tape__inner {
	align-items: center;
	display: flex;
	flex-shrink: 0;
	width: -moz-max-content;
	width: max-content;
}

.c-marquee-tape__text {
	align-items: center;
	color: #FFFFFF;
	display: inline-flex;
	font-size: 32px;
	font-weight: 800;
	gap: 8px;
	letter-spacing: 0.1em;
	padding: 20px;
}

.c-marquee-tape__text::after {
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: inline-flex;
}

.c-marquee-tape__text.is-hard-quiz::after {
	display: none;
}

.c-skip-link {
	background: #222222;
	border-radius: 0 0 8px 0;
	color: #FFFFFF;
	font-size: 14px;
	font-weight: 700;
	left: 0;
	padding: 12px 24px;
	position: absolute;
	top: 0;
	transform: translateY(-200%);
	z-index: 300;
}

.c-skip-link:focus {
	transform: translateY(0);
}

.c-hard-quiz-trigger {
	-webkit-appearance: none;
	-moz-appearance: none;
	align-self: center;
	appearance: none;
	background: none;
	border: 0;
	cursor: pointer;
	flex-shrink: 0;
	line-height: 0;
	padding: 0;
	pointer-events: auto;
	position: relative;
	transition: scale 0.3s ease;
	z-index: 1;
}

.c-hard-quiz-trigger:hover {
	scale: 1.1;
}

.c-hard-quiz-trigger__icon {
	display: block;
	height: 100%;
	width: 100%;
}

.c-hard-quiz-trigger--series {
	height: 22px;
	margin-left: 12px;
	margin-right: 12px;
	width: 25px;
}

.c-hard-quiz-trigger--series .c-hard-quiz-trigger__icon {
	height: 25px;
	left: 50%;
	position: absolute;
	top: 50%;
	translate: -50% -50%;
	width: 25px;
}

.c-hard-quiz-trigger--tape .c-hard-quiz-trigger__icon {
	height: 36px;
	left: 50%;
	position: absolute;
	top: 50%;
	translate: -50% -50%;
	width: 36px;
}

.wpcf7-form .p-contact-form__recaptcha {
	color: #888;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.7;
	margin-top: 12px;
	text-align: center;
}

.wpcf7-form .p-contact-form__recaptcha a {
	-webkit-text-decoration: underline;
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.grecaptcha-badge {
	visibility: hidden !important;
}

.p-birthday__hint {
	align-self: center;
	background: #FFFFFF;
	border: 2px solid #ED1C24;
	border-radius: 9999px;
	box-shadow: 6px 8px 0px 0px rgb(237, 28, 36);
	color: #ED1C24;
	display: none;
	font-family: "IBM Plex Sans JP", sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	margin: 0 auto 20px;
	max-width: 90%;
	padding: 12px 44px 12px 24px;
	position: relative;
	text-align: center;
	z-index: 30;
}

.p-birthday__hint.is-visible {
	animation: p-birthday-hint-bob 1.6s ease-in-out infinite;
	display: inline-block;
}

.p-birthday__hint::after {
	border-left: 9px solid transparent;
	border-right: 9px solid transparent;
	border-top: 11px solid #ED1C24;
	bottom: -11px;
	content: "";
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
}

.p-birthday__hint-close {
	background: none;
	border: none;
	color: #ED1C24;
	cursor: pointer;
	font-size: 18px;
	height: 20px;
	line-height: 1;
	padding: 0;
	position: absolute;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
}

.p-birthday__calendar {
	background: #FFFFFF;
	border: 1px solid #EC3940;
	border-radius: 24px;
	box-sizing: border-box;
	max-width: 700px;
	padding: 16px;
	width: 100%;
}

.p-birthday__calendar-inner {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.p-birthday__calendar-panel {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.p-birthday__calendar-panel[hidden] {
	display: none;
}

.p-birthday__calendar-header {
	align-items: center;
	display: flex;
	gap: 12px;
	justify-content: space-between;
	padding: 18px 28px;
}

.p-birthday__calendar-month {
	align-items: flex-end;
	color: #ED1C24;
	display: flex;
	flex-shrink: 0;
	font-family: "IBM Plex Sans JP", sans-serif;
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
	padding-bottom: 6px;
}

.p-birthday__calendar-month-num {
	color: #ED1C24;
	font-family: "Figtree", sans-serif;
	font-size: 80px;
	font-style: italic;
	font-weight: 700;
	letter-spacing: -0.04em;
	line-height: 1;
}

.p-birthday__calendar-heading {
	font-family: "IBM Plex Sans JP", sans-serif;
	font-size: 24px;
	font-weight: 700;
	text-align: center;
}

.p-birthday__calendar-icon {
	flex-shrink: 0;
	height: 60px;
	width: 60px;
}

.p-birthday__calendar-grid {
	display: grid;
	grid-auto-rows: minmax(60px, 120px);
	grid-template-columns: repeat(7, 1fr);
}

.p-birthday__calendar-cell {
	display: flex;
	flex-direction: column;
	max-height: 120px;
	min-height: 60px;
	min-width: 0;
	position: relative;
}

.p-birthday__calendar-cell {
	background: #F7F7F7;
	border-bottom: 1px solid #EC3940;
	border-right: 1px solid #EC3940;
	color: #ED1C24;
	font-family: "Figtree", sans-serif;
	font-size: 16px;
	font-style: italic;
	font-weight: 700;
	line-height: 1;
	padding: 12px 8px 0;
}

.p-birthday__calendar-cell:nth-child(7n) {
	border-right: none;
}

.p-birthday__calendar-cell:nth-last-child(-n+7) {
	border-bottom: none;
}

.p-birthday__calendar-cell:nth-child(1) {
	border-radius: 8px 0 0 0;
}

.p-birthday__calendar-cell:nth-child(7) {
	border-radius: 0 8px 0 0;
}

.p-birthday__calendar-cell:nth-last-child(7) {
	border-radius: 0 0 0 8px;
}

.p-birthday__calendar-cell:last-child {
	border-radius: 0 0 8px 0;
}

.p-birthday__calendar-cell--has-item {
	cursor: pointer;
	gap: 6px;
}

.p-birthday__calendar-cell--today {
	background: linear-gradient(136deg, rgb(137, 237, 253) 0%, rgb(194, 209, 255) 15%, rgb(245, 175, 248) 37%, rgb(255, 198, 167) 78%, rgb(255, 214, 82) 100%);
}

.p-birthday__calendar-cell--next-month span {
	color: #ECECEC;
}

.p-birthday__calendar-item {
	background: #FFFFFF;
	border: 1px solid #ED1C24;
	border-radius: 9999px;
	padding: 2px;
	width: -moz-fit-content;
	width: fit-content;
}

.p-birthday__calendar-item img {
	-o-object-fit: contain;
	border-radius: 50%;
	height: 32px;
	object-fit: contain;
	width: 32px;
}

.p-birthday__calendar-item-wrap {
	display: flex;
	gap: 4px;
}

.p-birthday__calendar-more {
	display: flex;
	gap: 3px;
	justify-content: flex-end;
}

.p-birthday__calendar-more span {
	background: #515151;
	border-radius: 9999px;
	height: 6px;
	width: 6px;
}

.p-birthday__calendar-nav {
	align-items: center;
	display: flex;
	justify-content: space-between;
	padding: 16px 20px;
}

.p-birthday__calendar-nav-btn {
	-webkit-appearance: none;
	-moz-appearance: none;
	align-items: center;
	appearance: none;
	background: none;
	border: none;
	border-radius: 9999px;
	color: #222222;
	cursor: pointer;
	display: flex;
	font-family: "IBM Plex Sans JP", sans-serif;
	font-weight: 700;
	gap: 12px;
}

.p-birthday__detail {
	display: flex;
	flex-direction: column;
	gap: 24px;
	height: auto;
	left: 50%;
	max-height: 90vh;
	opacity: 0;
	padding: 24px;
	pointer-events: none;
	position: fixed;
	top: 50%;
	transform: translate(-50%, -50%);
	transition: opacity 0.2s ease;
	width: 480px;
	z-index: 101;
}

.p-birthday__detail::before {
	background-color: #FFFFFF;
	border-radius: 8px;
	bottom: 0;
	box-shadow: 4px 7px 0px 0px rgb(25, 21, 74);
	content: "";
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	z-index: -1;
}

.p-birthday__calendar-cell--has-item.is-open .p-birthday__detail {
	opacity: 1;
	pointer-events: auto;
}

.p-birthday__detail-date {
	color: #ED1C24;
	font-family: "Figtree", sans-serif;
	font-size: 32px;
	font-style: italic;
	font-weight: 700;
}

.p-birthday__detail-list {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 16px;
	min-height: 0;
	min-width: 0;
	overflow-x: hidden;
	overflow-y: scroll;
	overscroll-behavior: contain;
	padding-bottom: 24px;
	padding-right: 8px;
	scrollbar-color: #ED1C24 #EC3940;
	scrollbar-width: thin;
}

.p-birthday__detail-list::-webkit-scrollbar {
	width: 8px;
}

.p-birthday__detail-list::-webkit-scrollbar-track {
	background: #EC3940;
	border-radius: 9999px;
}

.p-birthday__detail-list::-webkit-scrollbar-thumb {
	background: #ED1C24;
	border-radius: 9999px;
}

.p-birthday__detail-item {
	grid-gap: 16px;
	align-items: center;
	display: grid;
	flex-shrink: 0;
	gap: 16px;
	grid-template-columns: 1fr 80px 30px;
	transition: all 0.4s ease;
}

.p-birthday__detail-item:hover .p-birthday__detail-link {
	transform: scale(1.5);
}

.p-birthday__detail-info {
	min-width: 0;
}

.p-birthday__detail-img {
	height: 80px;
	width: 80px;
}

.p-birthday__detail-img img {
	-o-object-fit: contain;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.p-birthday__detail-name {
	color: #ED1C24;
	display: block;
	font-style: normal;
	letter-spacing: 0.08em;
	line-height: 1.5;
	white-space: nowrap;
}

.p-birthday__detail-name--en {
	font-family: "Agbalumo", cursive;
	font-size: 24px;
}

.p-birthday__detail-name--ja {
	font-size: 12px;
}

.p-birthday__detail-link {
	justify-self: center;
	transition: all 0.4s ease;
}

.p-birthday__detail-close-text {
	bottom: 12px;
	color: #222222;
	cursor: pointer;
	display: block;
	font-family: "IBM Plex Sans JP", sans-serif;
	font-size: 11px;
	font-style: normal;
	left: 0;
	position: absolute;
	right: 0;
	text-align: center;
}

.u-marquee-left {
	animation: u-marquee-left 40s linear infinite;
	will-change: transform;
}

.u-marquee-right {
	animation: u-marquee-right 40s linear infinite;
	will-change: transform;
}

.u-center {
	align-items: center;
	display: flex;
	justify-content: center;
}

.u-sp-only {
	display: none !important;
}

.u-img-glow {
	animation: u-gradient-wave 2s infinite alternate ease-in-out;
}

.u-rotate-cw {
	animation: u-rotate-cw 20s linear infinite;
	transform-origin: center;
}

.u-hover-btn--scale {
	transition: transform 0.4s ease;
}

.u-hover-btn--scale:hover {
	transform: scale(1.1);
}

.u-hover-btn--gradient {
	transition: background 0.4s ease;
}

.u-hover-btn--gradient:hover {
	background: linear-gradient(136deg, rgb(137, 237, 253) 0%, rgb(194, 209, 255) 15%, rgb(245, 175, 248) 37%, rgb(255, 198, 167) 78%, rgb(255, 214, 82) 100%);
}

.js-quiz-trigger {
	cursor: pointer;
}

.u-hover-btn--gradient-text {
	transition: -webkit-text-fill-color 0.2s ease;
}

.u-hover-btn--gradient-text:hover {
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background: linear-gradient(136deg, rgb(137, 237, 253) 0%, rgb(194, 209, 255) 15%, rgb(245, 175, 248) 37%, rgb(255, 198, 167) 78%, rgb(255, 214, 82) 100%);
	background-clip: text;
}

.u-hover-btn--no-shadow {
	transition: box-shadow 0.2s ease;
}

.u-hover-btn--no-shadow:hover {
	box-shadow: none;
}

.u-hover-btn--bold {
	transition: font-weight 0.2s ease;
}

.u-hover-btn--bold:hover {
	font-weight: 700;
}

.u-br__sp {
	display: none;
}

@media (prefers-reduced-motion: reduce) {

html:focus-within {
	scroll-behavior: auto;
}

*,
*::before,
*::after {
	animation-duration: 0.01ms !important;
	animation-iteration-count: 1 !important;
	scroll-behavior: auto !important;
	transition-duration: 0.01ms !important;
}

.p-birthday__hint.is-visible {
	animation: none;
}

}

@media (max-width: 1023px) {

.l-desktop-nav {
	align-items: center;
	flex-direction: column;
	padding: 32px 16px;
}

.l-desktop-nav__lists {
	display: flex;
	gap: 24px;
}

.l-footer__inner {
	align-items: center;
	flex-direction: column;
	gap: 48px;
	padding: 64px 16px;
}

.l-footer__top {
	order: 3;
}

.l-footer__nav {
	order: 1;
}

.l-footer__cta-btn {
	order: 2;
}

.p-hero__popup {
	left: -100px;
	min-height: 72px;
	min-width: 240px;
	padding: 12px 24px;
	top: -125px;
}

.p-hero__popup::after {
	border-left-width: 11px;
	border-right-width: 11px;
	border-top-width: 20px;
}

.p-hero__popup-text {
	font-size: 24px;
}

.p-hero__today {
	height: 115px;
	transform: rotate(-10deg);
	width: 140px;
}

.p-hero__today-wrap {
	bottom: -70px;
	left: -50px;
}

.p-hero__today-popup {
	--today-popup-w: 512px;
}

.p-hero__today-text {
	font-size: 19px;
}

.p-hero__today-text--large {
	font-size: 35px;
}

.p-hero__product {
	height: 200px;
	margin: -100px 0 0 -100px;
	width: 200px;
}

.p-event__container {
	align-items: start;
	flex-direction: column-reverse;
	gap: 24px;
	padding-top: 60px;
}

.p-event__link-button {
	align-self: center;
	flex: 0;
}

.p-event__card-list {
	justify-content: flex-start;
}

.p-series__marquee {
	padding: 20px 0 40px;
}

.p-series__marquee--bottom {
	bottom: 10px;
	left: -20px;
	padding: 0;
	position: absolute;
	right: -20px;
}

.p-series__bg-row {
	gap: 42px;
}

.p-series__bg-row img {
	height: 40px;
}

.p-series__bg-btn img {
	height: auto;
}

.p-series__main {
	height: 100svh;
	position: sticky;
}

.p-series__content {
	gap: 0;
	padding: 0 20px;
}

.p-series__content-wrap {
	flex: 0 0 auto;
	height: clamp(470px, 100svh - 244px, 600px);
	margin-bottom: 160px;
	overflow: hidden;
	padding-bottom: 22px;
	padding-top: 22px;
}

.p-series__left {
	gap: 64px;
	height: 100%;
	justify-content: center;
	transform: scale(0.8);
	width: 100%;
}

.p-series__title {
	font-size: max(26px, min(8vw, 36px));
	line-height: 1.1;
	text-align: center;
}

.p-series__card {
	border-radius: 12px;
	border-width: 7px;
	height: min(56vw, 260px);
	width: min(56vw, 260px);
}

.p-series__card-area {
	display: block;
	height: max(320px, min(44svh, 330px));
	position: relative;
	width: 100%;
}

.p-series__card-deco {
	height: max(64px, min(20vw, 92px));
	left: 18%;
	position: absolute;
	top: -52px;
	transform: rotate(-15deg);
	width: max(64px, min(20vw, 92px));
	z-index: 20;
}

.p-series__card-deco--2 {
	left: auto;
	left: initial;
	position: absolute;
	right: 18%;
	top: -52px;
	transform: rotate(15deg);
}

.p-series__stack {
	height: 100%;
	width: 100%;
}

.p-series__list {
	display: none;
	pointer-events: none;
}

.p-series__btn-curve text {
	fill: #FFFFFF;
}

.p-series__btn {
	background: transparent;
	bottom: 44px;
	box-shadow: none;
	height: 100px;
	left: 50%;
	margin: 0;
	position: absolute;
	right: auto;
	transform: translateX(-50%);
	width: 100px;
	z-index: 20;
}

.p-series__btn:hover {
	transform: translateX(-50%) scale(1.1) !important;
}

.p-series__btn img {
	height: 72px;
	width: 72px;
}

.p-series__btn-curve {
	display: block;
	height: 100%;
	overflow: visible;
	width: 100%;
}

.p-series__btn-curve-wrap {
	height: 100px;
	left: 50%;
	pointer-events: none;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100px;
}

.p-birthday__title {
	line-height: 1.1 !important;
}

.p-birthday__sub-title {
	display: block;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-align: center;
}

.p-birthday__bg-btn {
	bottom: 330px;
	left: 0;
}

.p-birthday__bg-deco--1 {
	left: -10px;
}

.p-birthday__bg-deco--2 {
	left: auto;
	left: initial;
	right: -10px;
	top: 50px;
}

.p-birthday__bg-deco--3 {
	display: none;
}

.p-birthday__bg-deco--5 {
	bottom: 333px;
	right: 0;
}

.p-what::after {
	bottom: 0%;
}

.p-what__container {
	padding-top: 48px;
}

.p-what__feature {
	flex-direction: column-reverse;
	gap: 0;
}

.p-what__feature--reverse {
	flex-direction: column-reverse;
}

.p-what__feature-media::after {
	height: 160px;
	right: -30px;
	width: 160px;
}

.p-what__feature-media--reverse::after {
	left: -20px;
}

.p-what__feature-content {
	aspect-ratio: 380/280;
	translate: 0 0;
	width: 100%;
}

.p-what__feature-content-wrap {
	padding-left: 40px;
}

.p-what__feature-text {
	margin-left: 0;
}

.p-sns__short-wrap {
	margin: 180px auto 90px;
}

.p-sns__short-link {
	height: 270px;
	width: 136px;
}

.p-sns__btn {
	right: 100px;
	top: -80px;
}

.p-sns__sns-item {
	height: 100px;
	width: 100px;
}

.p-sns__sns-item--x {
	bottom: -100px;
	left: 160px;
	right: auto;
	transform: translate(calc(-50% + 145px), 50%) rotate(-11deg);
}

.p-sns__sns-item--ig {
	bottom: -100px;
	left: 50%;
	right: auto;
	transform: translate(-50%, 50%) rotate(11deg);
}

.p-sns__sns-item--tiktok {
	bottom: -100px;
	left: 245px;
	transform: translate(calc(-50% - 145px), 50%) rotate(-11deg);
}

.p-cta {
	padding-top: 50px;
}

.p-cta__inner {
	flex-direction: column;
	gap: 0px;
	padding-bottom: 48px;
	padding-top: 48px;
}

.p-cta__item {
	padding-bottom: 24px;
	padding-top: 24px;
}

.p-cta__heading {
	font-size: 32px;
}

.p-birthday__calendar-item img {
	height: 20px;
	width: 20px;
}

.p-birthday__calendar-item-wrap {
	flex-direction: column;
}

.p-birthday__detail {
	height: 300px;
	width: 370px;
}

}

@media (max-width: 767px) {

body:has(.l-desktop__container.is-open) .l-header {
	left: 20px;
	right: 20px;
	top: 20px;
	width: auto;
}

.l-desktop__container {
	padding: 96px 20px 0px;
}

.l-desktop__logo {
	height: 80px;
	margin: 0 auto;
	width: 80px;
}

.l-desktop__shop-btn.c-shop-btn--lg {
	box-shadow: 2px 4px 0px 0px rgb(237, 28, 36);
	height: 60px;
	width: 60px;
}

.l-desktop__shop-btn.c-shop-btn--lg img {
	height: 25px;
	width: 25px;
}

.l-desktop-nav {
	gap: 16px;
	padding: 24px 16px;
}

.l-desktop-nav__item {
	font-size: 20px;
	padding-bottom: 2px;
	padding-top: 2px;
}

.l-desktop__sns {
	padding-top: 16px;
}

.l-sticky-nav {
	display: none;
}

.l-footer__logos {
	bottom: -40px;
}

.p-hero {
	padding-top: 40px;
}

.p-hero__logo {
	height: 200px;
	width: 200px;
}

.p-hero__deco-sticker {
	bottom: -9px;
	height: 46px;
	right: -11px;
	width: 80px;
}

.p-hero__popup {
	border-radius: 12px;
	left: -41px;
	min-height: 60px;
	min-width: 160px;
	padding: 6px 10px;
	top: -84px;
}

.p-hero__popup::after {
	border-left-width: 8px;
	border-right-width: 8px;
	border-top-width: 14px;
}

.p-hero__popup {
	rotate: -9deg;
}

.p-hero__popup-text {
	font-size: 16px;
}

.p-hero__click-btn-wrap {
	bottom: -202px;
	right: -9px;
	top: auto;
	top: initial;
}

.p-hero__click-popup {
	bottom: 50px;
	height: 200px;
	padding: 10px;
	right: 80px;
	width: 200px;
}

.p-hero__click-popup-text {
	font-size: 14px;
	padding: 10px;
}

.p-hero__today-wrap {
	bottom: -125px;
	left: -41px;
}

.p-hero__today-popup {
	--today-popup-w: calc(100vw - 40px);
}

.p-links {
	gap: 19px;
}

.p-links__about {
	height: 108px;
	width: 158px;
}

.p-links__about-title {
	font-size: 16px;
}

.p-links__about-title--ja {
	font-size: 10px;
}

.p-links__shop {
	height: 108px;
	width: 158px;
}

.p-links__shop-title {
	font-size: 16px;
}

.p-links__shop-title--ja {
	font-size: 10px;
}

.p-series__bg-row.u-marquee-left {
	display: none;
}

.c-btn-menu[aria-expanded=true] {
	background: none;
}

.c-btn-menu[aria-expanded=true] .c-btn-menu__label {
	border-bottom-color: #FFFFFF;
	border-top-color: #FFFFFF;
	color: #FFFFFF;
}

.c-btn-menu.u-center {
	border-radius: 0 0 0 12px;
	box-shadow: none;
	flex-direction: column;
	height: 56px;
	overflow: hidden;
	position: absolute;
	right: 0;
	top: 0;
	width: 56px;
}

.c-btn-menu.u-center .c-btn-menu__label {
	align-items: center;
	display: inline-flex;
	font-size: 14px;
	font-style: italic;
	justify-content: center;
	line-height: 8px;
	text-align: center;
	white-space: nowrap;
}

.c-section-title {
	font-size: 48px;
}

.c-quiz {
	width: 340px;
}

.c-quiz--special-quiz {
	background: linear-gradient(90deg, rgb(137, 237, 253) 0%, rgb(194, 209, 255) 15%, rgb(245, 175, 248) 37%, rgb(255, 198, 167) 78%, rgb(255, 214, 82) 100%);
	height: auto;
	overflow: hidden;
	width: 340px;
}

.c-quiz--special-quiz::before {
	background: url(../images/top/bg_heart-scatter.png) no-repeat center/cover;
	bottom: 0;
	content: "";
	left: 0;
	opacity: 0.1;
	position: absolute;
	right: 0;
	top: 0;
	z-index: -1;
}

.c-quiz--coupon {
	background: linear-gradient(90deg, rgb(137, 237, 253) 0%, rgb(194, 209, 255) 15%, rgb(245, 175, 248) 37%, rgb(255, 198, 167) 78%, rgb(255, 214, 82) 100%);
	height: auto;
	padding-top: 250px;
	width: 375px;
}

.c-quiz--coupon::before {
	background: url(../images/top/bg_heart-scatter.png) no-repeat center/cover;
	border-radius: inherit;
	bottom: 0;
	content: "";
	left: 0;
	opacity: 0.1;
	position: absolute;
	right: 0;
	top: 0;
	z-index: -4;
}

.c-quiz--coupon::after {
	background: url(../images/common/main_logo.webp) no-repeat center/cover;
	content: "";
	height: 310px;
	position: absolute;
	top: 40px;
	width: 347px;
	z-index: -3;
}

.c-quiz__close--special-quiz,
.c-quiz__close--coupon {
	right: 16px;
	top: 20px;
}

.c-quiz__content {
	padding: 48px 16px;
}

.c-quiz__question--special {
	font-size: 32px;
}

.c-quiz__question-text {
	font-size: 18px;
	letter-spacing: -0.04em;
	padding: 4px 8px;
}

.c-quiz__answers-wrap {
	flex-wrap: wrap;
	justify-content: center;
}

.c-quiz__answer {
	gap: 8px;
	height: 140px;
	width: 140px;
}

.c-quiz__answer-icon {
	font-size: 18px;
}

.c-quiz__answer-icon--result {
	font-size: 20px;
}

.c-quiz__answer-text {
	font-size: 14px;
}

.c-quiz__answer-text--result {
	font-size: 18px;
}

.c-coupon-popup__content {
	padding-bottom: 48px;
}

.c-coupon-popup__deco--2 {
	left: -50px;
	top: 130px;
	z-index: -1;
}

.c-coupon-popup__deco--3 {
	z-index: -1;
}

.c-coupon-popup__logo {
	display: block;
}

.c-coupon-popup__close {
	display: none;
}

.c-coupon-popup__close-text {
	display: block;
}

.c-text-marquee__item {
	font-size: 56px;
}

.p-birthday__calendar-header {
	padding: 18px 20px;
}

.p-birthday__calendar-month {
	font-size: 10px;
	padding: 0;
}

.p-birthday__calendar-month-num {
	font-size: 24px;
}

.p-birthday__calendar-heading {
	font-size: 16px;
}

.p-birthday__calendar-icon {
	height: 30px;
	width: 30px;
}

.p-birthday__calendar-icon img {
	height: auto;
}

.p-birthday__calendar-grid {
	grid-auto-rows: 80px;
}

.p-birthday__calendar-cell {
	height: 80px;
}

.p-birthday__detail-name--ja {
	font-size: 10px;
}

.u-pc-only {
	display: none !important;
}

.u-sp-only {
	display: block !important;
}

.u-br__sp {
	display: inline;
}

}

@keyframes p-series-card-sway {

0%,100% {
	transform: translate(-50%, -50%) rotate(-4deg) scale(1.04);
}

50% {
	transform: translate(-50%, -50%) rotate(4deg) scale(1.04);
}

}

@keyframes p-series-card-enter {

from {
	opacity: 0;
	transform: translate(-50%, calc(-50% + 80px)) scale(0.9);
}

to {
	opacity: 1;
	transform: translate(-50%, -50%) scale(1.04);
}

}

@keyframes p-what-pop-in {

0% {
	opacity: 0;
	scale: 0.4;
}

60% {
	opacity: 1;
	scale: 1.08;
}

100% {
	opacity: 1;
	scale: 1;
}

}

@keyframes p-what-media-pop-in {

0% {
	opacity: 0;
	scale: 0.4;
	translate: 0 80px;
}

60% {
	opacity: 1;
	scale: 1.08;
	translate: 0 -10px;
}

100% {
	opacity: 1;
	scale: 1;
	translate: 0 0;
}

}

@keyframes p-birthday-hint-bob {

0%,100% {
	transform: translateY(0);
}

50% {
	transform: translateY(-5px);
}

}

@keyframes u-marquee-left {

from {
	transform: translateX(0);
}

to {
	transform: translateX(-50%);
	transform: translateX(var(--marquee-shift, -50%));
}

}

@keyframes u-marquee-right {

from {
	transform: translateX(-50%);
	transform: translateX(var(--marquee-shift, -50%));
}

to {
	transform: translateX(0);
}

}

@keyframes u-gradient-wave {

0% {
	filter: drop-shadow(0 0 3px rgba(245, 175, 248, 0.4));
}

50% {
	filter: drop-shadow(0 0 10px rgba(245, 175, 248, 0.9)) drop-shadow(0 0 15px rgba(137, 237, 253, 0.6));
}

100% {
	filter: drop-shadow(0 0 3px rgba(245, 175, 248, 0.4));
}

}

@keyframes u-rotate-cw {

from {
	transform: rotate(0deg);
}

to {
	transform: rotate(360deg);
}

}

