html,body {
	margin: 0;
	padding: 0;
}

/* Base */

html {
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion:reduce) {
	html {
		scroll-behavior: auto;
	}
}

.play-your-style,.play-your-style * {
	box-sizing: border-box;
}

.play-your-style {
	overflow: hidden;
	color: #090909;
	background: #fff;
	font-family: "Outfit","Noto Sans JP","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
	line-height: 1.5;
}

.play-your-style img {
	display: block;
	max-width: 100%;
	height: auto;
	margin-bottom: 10px;
}

.play-your-style a {
	color: inherit;
	text-decoration: none;
}

.play-your-style p,.play-your-style h1,.play-your-style h2,.play-your-style h3,.play-your-style h4,.play-your-style h5,.play-your-style ul {
	margin-top: 0;
}

.visually-hidden {
	position: absolute!important;
	width: 1px!important;
	height: 1px!important;
	padding: 0!important;
	margin: -1px!important;
	overflow: hidden!important;
	clip: rect(0 0 0 0)!important;
	clip-path: inset(50%)!important;
	border: 0!important;
	white-space: nowrap!important;
}

.campaign-kv img {
	width: 100%;
}

/* Key visual and grid background */

.campaign-kv,
.style-visual__main {
	position: relative;
	z-index: 2;
}

.image-placeholder {
	display: grid;
	place-items: center;
	color: #111;
	background: #d8d8d8;
	font-weight: 800;
}

.campaign-grid-bg {
	position: relative;
	z-index: 1;
	isolation: isolate;
	width: 100vw;
	max-width: none;
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
	padding-top: 1px;
	background: #fff;
}

.campaign-grid-bg::before {
	position: fixed;
	z-index: 0;
	inset: 0;
	clip-path: inset(var(--grid-clip-top,100%) var(--grid-clip-inline,0px) var(--grid-clip-bottom,0px) var(--grid-clip-inline,0px));
	pointer-events: none;
	background-color: #fff;
	background-image: linear-gradient(#edf1f3 1px,transparent 1px),linear-gradient(90deg,#edf1f3 1px,transparent 1px);
	background-position: 0 0;
	background-size: 20px 20px;
	content: "";
}

.campaign-grid-bg>* {
	position: relative;
	z-index: 1;
}

.section-block {
	max-width: 370px;
	margin-inline: auto;
}

.section-title {
	margin-bottom: 30px;
	text-align: center;
	font-size: 27px;
	font-weight: 900;
	line-height: 1.5;
}

.section-title small {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-top: 7px;
	font-size: 10px;
	font-weight: 600;
}

.section-title small::before,.section-title small::after {
	width: 28px;
	height: 1px;
	background: currentColor;
	content: "";
}

.event-venue {
	width: calc(100% - 20px);
	padding-top: 100px;
	text-align: center;
}

.event-venue + .event-venue {
	padding-top: 50px;
}

/* Venue */

.event-venue .section-title {
	margin-bottom: 30px;
	font-size: 36px;
}

.event-venue .section-title small {
	gap: 10px;
	margin-top: 8px;
	font-size: 14px;
}

.event-venue .section-title small::before,.event-venue .section-title small::after {
	width: 32px;
}

.event-venue__name {
	margin-bottom: 2px;
	font-size: 24px;
	font-weight: 700;
}

.event-venue__note {
	margin-bottom: 2px;
	color: #e60013;
	font-size: 12px;
	font-weight: 600;
}

.event-venue__address {
	margin-bottom: 17px;
	font-size: 14px;
}

.event-venue__map {
	display: block;
	width: 100%;
	height: auto;
	font-size: 36px;
}

.outline-button {
	display: block;
	width: 210px;
	min-height: 31px;
	margin: 14px auto 0;
	padding: 6px 15px;
	border: 1px solid #111;
	border-radius: 20px;
	font-size: 12px;
	line-height: 1.4;
}

.event-contents {
	width: calc(100% - 20px);
	max-width: 410px;
	padding-top: 80px;
}

/* Event contents navigation */

.event-contents>.section-title {
	margin-bottom: 40px;
	font-size: 36px;
}

.event-contents>.section-title small {
	margin-top: 8px;
	font-size: 14px;
}

.event-contents>.section-title small::before,.event-contents>.section-title small::after {
	width: 31px;
}

.event-contents__select {
	margin-bottom: 20px;
    text-align: center;
    font-size: 22px;
    font-weight: 800;
    line-height: 1;
}

.event-contents__nav {
	display: flex;
	justify-content: center;
	gap: 30px;
	padding-top: 30px;
}

.event-contents__nav.is-popup-ready .event-contents__nav-item {
	opacity: 0;
	transform: translateY(22px) scale(.82);
	transform-origin: center bottom;
}

.event-contents__nav.is-popup-ready.is-visible .event-contents__nav-item {
	animation: event-nav-popup .65s cubic-bezier(.34,1.56,.64,1) both;
}

.event-contents__nav.is-popup-ready.is-visible .event-contents__nav-item:nth-child(2) {
	animation-delay: .2s;
}

.event-contents__nav.is-popup-ready.is-visible .event-contents__nav-item:nth-child(3) {
	animation-delay: .4s;
}

@keyframes event-nav-popup {
	from {
		opacity: 0;
		transform: translateY(22px) scale(.82);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@media (prefers-reduced-motion:reduce) {
	.event-contents__nav.is-popup-ready .event-contents__nav-item {
		opacity: 1;
		transform: none;
		animation: none;
	}
}

.event-contents__nav-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	width: 129px;
	height: 132px;
	padding-top: 25px;
	color: #fff!important;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 129px 132px;
	font-size: 43px;
	line-height: 1;
	text-align: center;
}

.event-contents__nav-item::after {
	width: 10px;
	height: 10px;
	margin-top: 4px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	content: "";
	transform: rotate(45deg);
}

.event-contents__nav-item small {
	display: block;
	margin-bottom: 2px;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.05;
}

.event-contents__nav-badge {
	position: absolute;
	z-index: 2;
	top: -6px;
	bottom: auto;
	left: 50%;
	width: max-content;
	padding: 3px 8px;
	color: #fff;
	background: #0318ef;
	font-family: "Noto Sans JP","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
	font-size: 11px;
	font-weight: 800;
	line-height: 1.2;
	transform: translate(-50%,-100%);
}

.event-contents__nav-item--blue,
.event-contents__nav-item--red,
.event-contents__nav-item--green {
	position: relative;
	isolation: isolate;
	background-image: none;
}

.event-contents__nav-item--blue::before,
.event-contents__nav-item--red::before,
.event-contents__nav-item--green::before {
	position: absolute;
	z-index: -1;
	inset: 0;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 129px 132px;
	content: "";
}

.event-contents__nav-item--blue::before {
	background-image: url("../img/select_bg01.png");
}

.event-contents__nav-item--red::before {
	background-image: url("../img/select_bg02.png");
}

.event-contents__nav-item--green::before {
	background-image: url("../img/select_bg03.png");
}

.event-contents__nav-item--blue:hover::before,
.event-contents__nav-item--red:hover::before,
.event-contents__nav-item--green:hover::before {
	animation: event-nav-background-rotate .8s ease-in-out;
}

@keyframes event-nav-background-rotate {
	to {
		transform: rotate(360deg);
	}
}

@media (prefers-reduced-motion:reduce) {
	.event-contents__nav-item--blue:hover::before,
	.event-contents__nav-item--red:hover::before,
	.event-contents__nav-item--green:hover::before {
		animation: none;
	}
}

.event-contents__nav--three {
	gap: 20px;
}

.event-contents__nav--three .event-contents__nav-item {
	width: 110px;
	height: 113px;
	padding-top: 21px;
	background-size: 110px 113px;
	font-size: 36px;
}

.event-contents__nav--three .event-contents__nav-item::before {
	background-size: 110px 113px;
}

.desktop-side-panel {
	display: none;
}

.event-program {
	position: relative;
	margin: 80px;
	margin-right: -10px;
	margin-bottom: 62px;
	margin-left: -10px;
	background: transparent;
}

/* Event programs */

.event-program--blue .event-program__header,
.event-program--red .event-program__header {
	position: relative;
	z-index: 1;
	height: 98px;
}

.event-program--blue .event-program__header {
	height: 124px;
}

.event-program--blue .event-program__header span {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 7px;
	left: 50%;
	width: calc(100% - 20px);
	max-width: 350px;
	aspect-ratio: 322/88;
	padding: 0 12px;
	color: #fff;
	background: url("../img/contents_bar01.png") center/100% 100% no-repeat;
	font-size: 24px;
	font-weight: 800;
	line-height: 1;
	transform: translateX(-50%);
}

.event-program--blue .event-program__header strong {
	margin-top: 6px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
}

.event-program--blue .event-program__body {
	position: relative;
	z-index: 1;
	text-align: center;
}

.event-program--blue .event-program__body h3,
.event-program--red .event-program__body h3 {
	margin-bottom: 24px;
	font-size: 36px;
	font-weight: 900;
	line-height: 1.2;
}

.event-program--blue .event-program__body p,
.event-program--red .event-program__body p {
	padding: 0 18px;
	margin-bottom: 40px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.7;
	letter-spacing: 1px;
}

.event-program--blue .event-program__photo {
	width: 100%;
	aspect-ratio: 390/285;
	font-size: 36px;
}

.event-program__note {
	font-size: 10px;
}

.event-program--blue .event-program__remake-gallery {
	width: 100%;
	aspect-ratio: auto;
	padding: 0 0 34px;
	overflow: hidden;
	color: #111;
	font-size: 16px;
	text-align: left;
}

.remake-gallery__heading {
	margin: 0 0 14px;
	font-family: "Outfit",sans-serif;
	font-size: 17px;
	font-style: normal;
	font-weight: 800;
	letter-spacing: .02em;
	line-height: 1.5;
	text-align: center;
}

.remake-slider {
	position: relative;
	width: 100%;
	max-width: 390px;
	margin: 0 auto;
}

.remake-slider--womens {
	margin-top: 46px;
}

.remake-slider__viewport {
	width: 100%;
	overflow: hidden;
	scroll-behavior: smooth;
	scrollbar-width: none;
}

.remake-slider__viewport::-webkit-scrollbar {
	display: none;
}

.remake-slider__viewport:focus-visible {
	outline: 2px solid #111;
	outline-offset: 4px;
}

.remake-slider__track {
	display: flex;
	gap: 8px;
}

.remake-slider__slide {
	display: block;
	flex: 0 0 calc((100% - 8px)/2);
	overflow: hidden;
	border: 1px solid rgba(0,0,0,.12);
	background: #e9e9e9;
}

.remake-slider__slide img {
	width: 100%;
	height: 100%;
	margin: 0;
	aspect-ratio: 3/4;
	object-fit: cover;
}

.remake-slider__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: absolute;
	z-index: 2;
	top: calc(50% + 21px);
	right: 6px;
	left: 6px;
	pointer-events: none;
	transform: translateY(-50%);
}

.remake-slider__arrow {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	color: #111;
	background: rgba(255,255,255,.92);
	box-shadow: 0 2px 10px rgba(0,0,0,.14);
	cursor: pointer;
	pointer-events: auto;
	transition: color .2s ease,background-color .2s ease,opacity .2s ease;
}

.remake-slider__arrow::before {
	display: block;
	width: 9px;
	height: 9px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	content: "";
}

.remake-slider__arrow--prev::before {
	margin-left: 4px;
	transform: rotate(-135deg);
}

.remake-slider__arrow--next::before {
	margin-right: 4px;
	transform: rotate(45deg);
}

.remake-slider__arrow:hover,
.remake-slider__arrow:focus-visible {
	color: #fff;
	background: #111;
}

.remake-slider__arrow:disabled {
	opacity: 0;
	cursor: default;
	pointer-events: none;
}

@media (max-width:768px) {
	.event-program--blue .event-program__remake-gallery {
		padding-right: 18px;
		padding-left: 18px;
	}

	.remake-slider__viewport {
		overflow-x: auto;
		overscroll-behavior-inline: contain;
		scroll-padding-inline: 0;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
	}

	.remake-slider__track {
		padding: 0;
	}

	.remake-slider__slide {
		flex-basis: min(56vw,220px);
		scroll-snap-align: start;
	}

	.remake-slider__footer {
		display: none;
	}
}

@media (min-width:769px) {
	.event-program--blue .event-program__remake-gallery {
		padding-top: 0;
		padding-bottom: 42px;
	}
}

@media (prefers-reduced-motion:reduce) {
	.remake-slider__viewport {
		scroll-behavior: auto;
	}
}

.event-program--red .event-program__custom-gallery {
	display: grid;
	grid-template-columns: repeat(3,minmax(0,1fr));
	grid-auto-flow: row;
	gap: 6px;
	width: 100%;
	padding: 0 16px 60px;
	margin: 0 auto;
}

.event-program__custom-gallery a {
	display: block;
	overflow: hidden;
	border: 1px solid rgba(0,0,0,.12);
	aspect-ratio: 3/4;
}

.event-program__custom-gallery img {
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
}

.event-program__custom-sheet {
	display: block;
	width: calc(100% - 16px);
	max-width: 374px;
	margin: 14px auto 0;
	overflow: hidden;
	border: 1px solid rgba(0,0,0,.12);
}

.event-program__custom-sheet img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
}

.artist {
	position: relative;
	padding: 30px 0;
	background: transparent;
}

/* Artist profiles */

.artist-decorations {
	position: absolute;
	z-index: 2;
	right: 0;
	bottom: -50px;
	left: 0;
	height: 180px;
	pointer-events: none;
}

.artist__decoration {
	position: absolute;
	max-width: none;
	height: auto;
}

.artist__decoration--scissors {
	top: 50px;
	left: max(4px,calc(50% - 200px));
	width: clamp(82px,24vw,90px);
}

.artist__decoration--machine {
	top: 70px;
	right: max(-4px,calc(50% - 199px));
	width: clamp(112px,28vw,110px);
}

.artist>.section-title,
.artist__photo-wrap,
.artist__name,
.artist>p {
	position: relative;
	z-index: 2;
}

.artist.is-flip-ready {
	opacity: 0;
	transform: perspective(1000px) rotateX(-65deg) translateY(-20px);
	transform-origin: center top;
	transition: opacity .45s ease-out,transform .8s cubic-bezier(.22,1,.36,1);
	will-change: opacity,transform;
}

.artist.is-flip-ready.is-visible {
	opacity: 1;
	transform: perspective(1000px) rotateX(0) translateY(0);
	will-change: auto;
}

@media (prefers-reduced-motion:reduce) {
	.artist.is-flip-ready,
	.artist.is-flip-ready.is-visible {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

.artist .section-title {
	margin-bottom: 30px;
}

.artist__photo-wrap {
	position: relative;
	width: 100%;
	max-width: 320px;
	margin: 0 auto 15px;
}

.artist__photo {
	width: 320px;
	max-width: 100%;
	height: auto;
	margin: 0;
}

.artist__instagram {
	position: absolute;
}

.artist__instagram img {
	width: 100%;
	height: 100%;
}

.artist__name,.artist p {
	width: 100%;
	max-width: 320px;
	margin-right: auto;
	margin-left: auto;
}

.artist__name {
	margin-bottom: 5px;
	font-weight: 700;
}

.artist__store {
	display: inline-block;
	margin-left: 5px;
	font-size: .65em;
	font-weight: 600;
	letter-spacing: 0;
	vertical-align: .12em;
}

.artist--text-profile {
	padding-top: 15px;
}

.artist__name-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 320px;
	margin: 0 auto 8px;
}

.artist__name-row .artist__name {
	width: auto;
	margin: 0;
}

.artist__profile-link {
	display: block;
	flex: 0 0 36px;
	width: 36px;
	height: 36px;
}

.artist__profile-link img {
	width: 100%;
	height: 100%;
	margin: 0;
}

.artist p {
	margin-bottom: 0;
    font-size: 10px;
    line-height: 1.8;
    letter-spacing: 1px;
    font-weight: 500;
}

@media (min-width:1025px) {
	.artist p {
		font-size: 12px;
	}
}

.artist .section-title {
	font-size: 36px;
}

.artist .section-title small {
	font-size: 14px;
}

.artist .section-title small::before,.artist .section-title small::after {
	width: 31px;
}

.artist__instagram {
	right: -1px;
	bottom: -1px;
	width: 52px;
	height: 52px;
	padding: 8px;
}

.artist__name {
	font-size: 20px;
}

.event-contents__nav-item,.event-contents__nav-item small,.event-time__day,.event-time__day h5,.event-time__day h5 small,.event-time__day li,.event-time__day li span {
	font-family: "Outfit",sans-serif;
}

.event-time {
	position: relative;
	padding: 62px 8px 56px;
}

.event-time .section-title {
	margin-bottom: 30px;
}

.event-time__notice {
	margin-bottom: 18px;
	text-align: center;
	font-size: 11px;
	font-weight: 700;
}

.event-time__card {
	padding: 27px 18px;
	border-radius: 6px;
	color: #fff;
	background: #242424;
}

/* Event schedule */

.event-time__day+.event-time__day {
	margin-top: 28px;
}

.event-time__day h5 {
	margin-bottom: 8px;
	text-align: center;
	font-size: 28px;
	line-height: 1;
}

.event-time__day h5 small,.event-time__shop-hours small {
	font-size: 20px;
}

.event-time__day ul {
	padding: 0;
	margin-bottom: 0;
	list-style: none;
}

.event-time__day li {
	padding: 8px 0;
	border-bottom: 1px solid #fff;
	font-size: 15px;
	font-weight: 700;
	text-align: center;
}

.event-time__day li span {
	display: inline-block;
	margin-right: 5px;
	padding: 2px 7px;
	border-radius: 10px;
	color: #222;
	background: #fff;
	font-size: 8px;
}

.event-time__subheading {
	margin: 36px 0 18px;
	text-align: center;
	font-size: 18px;
	font-weight: 900;
}

.event-time__conditions {
	padding-left: 17px;
	margin-bottom: 0;
	font-size: 9px;
	line-height: 1.8;
}

.event-time__period {
	margin-bottom: 25px;
	text-align: center;
	font-size: 17px;
	font-weight: 800;
	line-height: 1.5;
}

.event-time__period strong {
	font-size: 26px;
}

.event-program--blue .event-time__conditions li+li {
	margin-top: 2px;
}

.event-program--blue .event-time {
	padding: 110px 10px 60px;
}

.event-program--blue .event-time .section-title {
	margin-bottom: 30px;
	font-size: 36px;
}

.event-program--blue .event-time .section-title small {
	margin-top: 8px;
	font-size: 14px;
}

.event-program--blue .event-time .section-title small::before,.event-program--blue .event-time .section-title small::after {
	width: 31px;
}

.event-program--blue .event-time__notice {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin-bottom: 24px;
	color: #e60013;
	font-size: 16px;
	line-height: 1.4;
}

.event-program--blue .event-time__notice span {
	display: inline-block;
	position: relative;
	flex: 0 0 22px;
	width: 20px;
	height: 20px;
	margin-right: 0;
	background: url("../img/icon.png") center/contain no-repeat;
	transform: translateY(-1px);
}

.event-program--blue .event-time__notice span::before {
	content: none;
}

.event-program--blue .event-time__card {
	padding: 38px 41px 35px;
	border-radius: 8px;
}

.event-program--blue .event-time__day+.event-time__day {
	margin-top: 38px;
}

.event-program--blue .event-time__day h5 {
	margin-bottom: 19px;
	font-size: 28px;
}

.event-program--blue .event-time__day h5 small {
	margin-left: 4px;
	font-size: 18px;
	font-weight: 700;
}

.event-program--blue .event-time__day li {
	display: grid;
	grid-template-columns: 54px max-content;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 10px 0;
	border-bottom: 1px solid #777;
	font-size: 18px;
	font-weight: 500;
	text-align: left;
	white-space: nowrap;
}

.event-program--blue .event-time__day li:last-child {
	border-bottom: 0;
}

.event-program--blue .event-time__day li span {
	display: block;
    margin: 0;
    padding: 3px 8px;
    text-align: center;
    font-size: 11px;
    font-weight: 700;
    border-radius: 30px;
}

.event-program--blue .event-time__day li b {
	font: inherit;
	font-weight: 500;
	text-align: left;
}

.event-program--blue .event-time__card {
	overflow: hidden;
	padding: 0;
}

.event-program--blue .event-time__day+.event-time__day {
	margin-top: 0;
	border-top: 1px solid #777;
}

.event-program--blue .event-time__day summary {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	position: relative;
	min-height: 58px;
	padding: 12px 40px;
	cursor: pointer;
	list-style: none;
}

.event-program--blue .event-time__day summary::-webkit-details-marker {
	display: none;
}

.event-program--blue .event-time__day summary h5 {
	margin: 0;
	text-align: center;
}

.event-time__day-label {
	font-family: "Noto Sans JP","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	white-space: nowrap;
}

.event-time__day-label small {
	font-size: .72em;
}

.event-time__day-arrow {
	position: absolute;
	right: 20px;
	flex: 0 0 auto;
	width: 8px;
	height: 8px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	border-radius: 1px;
	transform: rotate(135deg);
	transition: transform .2s ease;
}

.event-time__day[open] .event-time__day-arrow {
	transform: rotate(-45deg);
}

.event-program--blue .event-time__day ul {
	padding: 0 18px 12px;
}

.event-time__day-notes {
	padding: 0 18px 16px;
	font-family: "Noto Sans JP","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
	font-size: 10px;
	font-weight: 500;
	line-height: 1.7;
	text-align: left;
}

.event-time__day-notes p {
	padding-left: 1em;
	margin: 0;
	text-indent: -1em;
}

.event-program--blue .event-time__card {
	overflow: hidden;
	padding: 0 0 10px;
	border: 1px solid #d8d8d8;
	border-radius: 12px;
	color: #111;
	background: #fff;
	box-shadow: 0 3px 12px rgba(0,0,0,.12);
}

.event-time__schedule-head {
	display: grid;
	grid-template-columns: repeat(2,minmax(0,1fr));
	color: #fff;
	background: linear-gradient(135deg,#181818,#0d0d0d);
}

.event-time__schedule-date {
	min-width: 0;
	padding: 10px 6px 9px;
	text-align: center;
}

.event-time__schedule-date+.event-time__schedule-date {
	border-left: 1px solid rgba(255,255,255,.65);
}

.event-time__schedule-date h5 {
	margin: 0 0 4px;
	font-family: "Outfit",sans-serif;
	font-size: 27px;
	font-weight: 800;
	line-height: 1;
}

.event-time__schedule-date h5 small {
	margin-left: 2px;
	font-size: 15px;
	font-weight: 700;
}

.event-time__schedule-date p {
	margin: 0;
	font-family: "Noto Sans JP","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
	font-size: 9px;
	font-weight: 700;
	line-height: 1.4;
	white-space: nowrap;
}

.event-program--blue .event-time__sessions {
	padding: 4px 18px 0;
	margin: 0;
	color: #111;
	list-style: none;
}

.event-program--blue .event-time__sessions li {
	display: grid;
	grid-template-columns: 54px max-content max-content;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 9px 4px;
	border-bottom: 1px solid #e7e7e7;
	font-family: "Noto Sans JP","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
	text-align: left;
	white-space: nowrap;
}

.event-program--blue .event-time__sessions li:last-child {
	border-bottom: 0;
}

.event-program--blue .event-time__sessions span {
	padding: 5px 8px;
	border-radius: 8px;
	color: #fff;
	background: #111;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
}

.event-time__sessions time {
	display: block;
	font-family: "Outfit","Noto Sans JP",sans-serif;
	font-size: 18px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: .01em;
}

.event-time__sessions b {
	display: block;
	font-family: "Outfit","Noto Sans JP",sans-serif;
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
}

.event-time__schedule-notes {
	margin: 2px 18px 0;
	padding: 10px 13px;
	border-radius: 10px;
	background: #f4f4f4;
	font-family: "Noto Sans JP","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
	font-size: 10px;
	font-weight: 500;
	line-height: 1.55;
	text-align: left;
}

.event-time__schedule-notes p {
	padding-left: 1em;
	margin: 0;
	text-indent: -1em;
}

.event-time__schedule-notes p+p {
	margin-top: 2px;
}

.event-program--blue .event-time__subheading,
.event-program--red .event-time__subheading {
	margin: 50px 0 15px;
    font-size: 24px;
    font-weight: 700;
}

.event-program--blue .event-time__subheading span,
.event-program--red .event-time__subheading span {
	display: inline-block;
	margin: 0 5px;
	font-size: 14px;
	vertical-align: 3px;
}

.event-program--blue .event-time__conditions {
	padding-left: 0;
	font-size: 12px;
	line-height: 1.8;
}

.event-program--blue .event-time__conditions p {
	margin-bottom: 0;
}

.event-program--blue .event-time__conditions p+p {
	margin-top: 2px;
}

.event-time__products {
	display: flex;
	gap: 16px;
	margin: 50px 0 0;
	padding: 0 10px;
	overflow-x: auto;
	scrollbar-width: none;
}

.event-time__products::-webkit-scrollbar {
	display: none;
}

.event-time__product {
	flex: 0 0 166px;
}

.event-time__products.is-popup-ready .event-time__product {
	opacity: 0;
	transform: translateY(22px) scale(.82);
	transform-origin: center bottom;
}

.event-time__products.is-popup-ready.is-visible .event-time__product {
	animation: event-product-popup .65s cubic-bezier(.34,1.56,.64,1) both;
	animation-delay: calc(var(--product-index,0) * .08s);
}

@keyframes event-product-popup {
	from {
		opacity: 0;
		transform: translateY(22px) scale(.82);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@media (prefers-reduced-motion:reduce) {
	.event-time__products.is-popup-ready .event-time__product {
		opacity: 1;
		transform: none;
		animation: none;
	}
}

.event-time__product-image {
	width: 166px;
	height: 166px;
	object-fit: cover;
}

@media (max-width:768px) {
	.event-time__products {
		scroll-snap-type: x proximity;
		touch-action: pan-x;
		-webkit-overflow-scrolling: touch;
	}

	.event-time__product {
		flex-basis: min(42vw,280px);
		scroll-snap-align: start;
	}

	.event-time__product-image {
		width: 100%;
		height: auto;
		aspect-ratio: 1;
	}
}

.event-time__product-name {
	margin-top: 10px;
    font-size: 10px;
    line-height: 1.5;
}

.event-time__product-link {
	display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 100%;
    height: 60px;
    margin: 15px 0 60px;
    border: 1px solid #111;
    font-size: 16px;
}

.event-time__product-link span {
	position: absolute;
    right: 48px;
    width: 10px;
    height: 10px;
    border-right: 2px solid #111;
    border-bottom: 2px solid #111;
    transform: rotate(45deg) translateY(-3px);
}

.event-program--blue .event-time__period {
	margin-bottom: 40px;
	font-size: 26px;
	line-height: 1.35;
}

.event-program--blue .event-time__period strong {
	margin-right: 3px;
	font-size: 36px;
}

.event-program--blue .entry-button {
	min-height: 87px;
	border-radius: 999px;
	font-size: 24px;
}

.entry-button {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 100%;
	min-height: 56px;
	padding: 12px 42px;
	border-radius: 4px;
	color: #fff!important;
	background: #000;
	text-align: center;
	font-size: 14px;
	font-weight: 700;
}

.entry-button::after {
	position: absolute;
	top: 50%;
	right: 22px;
	width: 10px;
	height: 10px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	content: "";
	transform: translateY(-50%) rotate(45deg);
}

.outline-button,
.desktop-side-products__link,
.desktop-event-entry,
.entry-button,
#entry-form {
	transition: color .25s ease,background-color .25s ease,box-shadow .25s ease;
}

.outline-button:hover,
.outline-button:focus-visible,
.desktop-side-products__link:hover,
.desktop-side-products__link:focus-visible {
	border-color: #000;
	color: #fff!important;
	background-color: #000;
}

.desktop-event-entry:hover,
.desktop-event-entry:focus-visible,
.entry-button:hover,
.entry-button:focus-visible {
	color: #000!important;
	background-color: #fff;
	box-shadow: inset 0 0 0 1px #000;
}

.entry-button--light:hover,
.entry-button--light:focus-visible,
#entry-form:hover,
#entry-form:focus-visible {
	color: #fff!important;
	background-color: #000;
	box-shadow: inset 0 0 0 1px #fff;
}

.event-program--red {
	margin-bottom: 0;
}

.event-time--shop {
	padding-bottom: 0;
}

.event-time__shop-hours {
	margin-bottom: 0;
    text-align: center;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.4;
}

.event-time__shop-hours span {
	padding: 6px 20px;
	color: #111;
	background: #fff;
	font-size: 18px;
}

/* Event terms accordion */

.event-disclosure {
	margin: 0 10px 56px;
	overflow: hidden;
	border: 1px solid #111;
	border-radius: 10px;
	color: #111;
	background: #fff;
	box-shadow: 0 6px 0 rgba(0,0,0,.12);
	font-family: "Noto Sans JP","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
}

.event-disclosure summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 64px;
	padding: 16px 20px;
	cursor: pointer;
	font-size: 16px;
	font-weight: 700;
	list-style: none;
	transition: color .2s ease,background-color .2s ease;
}

.event-disclosure summary::-webkit-details-marker {
	display: none;
}

.event-disclosure summary::marker {
	content: "";
}

.event-disclosure summary:focus-visible {
	outline: 3px solid #111;
	outline-offset: -4px;
}

.event-disclosure[open] summary {
	color: #fff;
	background: #111;
}

.event-disclosure__icon {
	position: relative;
	flex: 0 0 22px;
	width: 22px;
	height: 22px;
	border: 1px solid currentColor;
	border-radius: 50%;
}

.event-disclosure__icon::before,
.event-disclosure__icon::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 1px;
	background: currentColor;
	content: "";
	transform: translate(-50%,-50%);
	transition: transform .2s ease;
}

.event-disclosure__icon::after {
	transform: translate(-50%,-50%) rotate(90deg);
}

.event-disclosure[open] .event-disclosure__icon::after {
	transform: translate(-50%,-50%) rotate(0) scaleX(0);
}

.event-disclosure__content {
	padding: 20px;
	border-top: 1px solid #ddd;
	font-size: 11px;
	font-weight: 500;
	line-height: 1.8;
	animation: event-disclosure-open .28s ease-out both;
}

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

.event-disclosure__content li {
	padding-left: 1em;
	text-indent: -1em;
}

.event-disclosure__content li+li {
	margin-top: 8px;
}

.event-disclosure__content li.event-disclosure__emphasis {
	font-weight: 900;
}

.event-disclosure__content h5 {
	margin: 24px 0 12px;
	padding: 8px 10px;
	border-left: 4px solid #111;
	background: #f1f1f1;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;
}

.event-disclosure__content>h5:first-child {
	margin-top: 0;
}

@keyframes event-disclosure-open {
	from {
		opacity: 0;
		transform: translateY(-6px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (prefers-reduced-motion:reduce) {
	.event-disclosure__content {
		animation: none;
	}
}

.event-notes {
	margin: 35px -8px 0;
	padding: 40px 16px 35px;
	color: #fff;
	background: #000;
	font-size: 9px;
	line-height: 1.75;
}

.event-notes h4 {
	width: max-content;
	margin: 0 auto 20px;
	padding: 6px 22px;
	color: #000;
	background: #fff;
	font-size: 15px;
}

.event-notes p,.event-notes ul {
	margin-bottom: 30px;
}

.event-notes>h4:first-of-type+p {
	margin-bottom: 8px;
}

.event-notes ul {
	padding-left: 18px;
}

.entry-button--light {
	color: #000!important;
	background: #fff;
}

#entry-form {
	border-radius: 999px;
}

.style-visual {
	background: #fff;
}

/* Mantra and gallery */

.style-visual__main img {
	width: 100%;
	height: auto;
}

.style-mantra {
	padding: 70px 20px 55px;
	color: #111;
	background: #fff;
	text-align: center;
}

.style-mantra__text {
	margin-bottom: 0;
	font-size: 20px;
	font-weight: 700;
	line-height: 2.3;
}

.style-mantra__english {
	font-family: "adineuePRO","Arial Black",sans-serif;
	font-size: inherit;
	font-weight: 900;
	line-height: inherit;
}

.style-mantra__line {
	display: block;
	white-space: nowrap;
}

@media (max-width:768px) {
	.style-mantra__text {
		font-size: clamp(13px,4vw,20px);
	}
}

.style-mantra.is-stagger-ready .style-mantra__line {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity .6s ease-out,transform .7s cubic-bezier(.22,1,.36,1);
}

.style-mantra.is-stagger-ready.is-visible .style-mantra__line {
	opacity: 1;
	transform: translateY(0);
}

.style-mantra.is-stagger-ready.is-visible .style-mantra__line:nth-child(2) {
	transition-delay: .18s;
}

.style-mantra.is-stagger-ready.is-visible .style-mantra__line:nth-child(3) {
	transition-delay: .36s;
}

.style-mantra.is-stagger-ready.is-visible .style-mantra__line:nth-child(4) {
	transition-delay: .54s;
}

.style-mantra.is-stagger-ready.is-visible .style-mantra__line:nth-child(5) {
	transition-delay: .72s;
}

@media (prefers-reduced-motion:reduce) {
	.style-mantra.is-stagger-ready .style-mantra__line {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

@media (min-width:769px) {
	.style-mantra {
		padding: 80px;
	}

	.style-mantra__text {
		font-size: 20px;
	}
}

.style-visual__scroll-guide {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 0 0 60px;
	color: #111;
	background: transparent;
	font-family: "Outfit",sans-serif;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .16em;
}

.style-visual__scroll-guide svg {
	display: block;
	width: 20px;
	height: 64px;
	overflow: visible;
	animation: style-scroll-arrow 1.4s ease-in-out infinite;
}

.style-visual__scroll-guide path {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}

@keyframes style-scroll-arrow {
	0%,100% {
		transform: translateY(-4px);
	}

	50% {
		transform: translateY(0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.style-visual__scroll-guide svg {
		animation: none;
	}
}

.style-visual__gallery {
	display: grid;
	grid-template-columns: repeat(3,minmax(0,1fr));
	grid-template-rows: repeat(2,auto);
	grid-auto-flow: row;
	gap: 6px;
	width: 100%;
	padding: 0 8px 40px;
}

.style-visual__gallery a {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 207/291;
}

.style-visual__gallery img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.products {
	max-width: none;
	padding: 60px 10px 80px;
}

/* Products */

.products>.section-title {
	font-size: 36px;
}

.products>.section-title small {
	margin-top: 8px;
	font-size: 14px;
}

.products>.section-title small::before,
.products>.section-title small::after {
	width: 31px;
}

.product-list {
	display: grid;
	grid-template-columns: repeat(3,minmax(0,1fr));
	gap: 20px 10px;
	width: 100%;
	max-width: 1200px;
	padding: 0;
	margin: 0 auto 40px;
	list-style: none;
}

.product-card__image {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	color: #888;
	font-size: 9px;
}

.product-card {
	display: block;
}

.product-card__name {
	margin: 10px 0;
    font-size: 10px;
    line-height: 1.4;
    font-weight: 600;
}

.products__link {
	max-width: 370px;
    margin: 0 auto;
    height: 76px;
    font-size: 16px;
	font-family: "Noto Sans JP","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
}

.view-all {
	background: #646464;
	padding: 50px 0 30px;
}

.view-all .row {
	display: flex;
	flex-wrap: wrap;
	max-width: 1200px;
	margin: 0 3%;
}

.other-btn {
	width: 90%;
	max-width: 570px;
	margin: 0 auto 20px;
}

.other-btn a {
	display: block;
	padding: 15px 0;
	border: 1px solid #fff;
	color: #fff;
	text-align: center;
	font-size: 16px;
	transition: .3s;
}

#pageTop {
	position: fixed;
	right: 15px;
	bottom: 5%;
	z-index: 999;
	margin: 0;
}

/* Fixed controls */

#pageTop a {
	display: block;
	width: 60px;
	height: 60px;
}

#pageTop a:hover {
	opacity: .7;
}

#pageTop img {
	width: 100%;
}

.floating-entry {
	position: fixed;
	z-index: 1000;
	right: 10px;
	top: 5%;
	display: block;
	width: 80px;
	height: 80px;
	border-radius: 9px;
	color: #fff!important;
	background: #000;
	font-family: "Noto Sans JP","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: 17px;
	text-align: center;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .2s ease,visibility .2s ease;
}

.floating-entry.is-visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.side-panels-active .floating-entry {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.floating-entry__label {
	position: absolute;
	top: 13px;
	left: 10px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	width: 60px;
	height: 55px;
	letter-spacing: 0;
	white-space: nowrap;
}

.floating-entry__label>span {
	display: block;
	height: 17px;
}

.floating-entry__label>span:first-child {
	font-size: 16px;
}

.floating-entry::after {
	position: absolute;
	right: 5px;
	bottom: 5px;
	width: 10px;
	height: 10px;
	border-radius: 1px;
	background: #fff;
	clip-path: polygon(100% 0,100% 100%,0 100%);
	content: "";
}

.floating-entry:hover,
.floating-entry:focus-visible {
	opacity: .75;
}

@media (min-width:769px) {
.floating-entry {
	display: none;
}

.event-contents {
	position: relative;
}

/* Tablet and desktop layout */

.desktop-side-panel {
	--side-button-height: clamp(60px,4vw,72px);
	--side-content-width: min(clamp(260px,calc(32vw - 110px),400px),calc(70vh - 140px));
	display: flex;
	flex-direction: column;
	align-items: center;
	position: fixed;
	z-index: 3;
	top: 120px;
	width: calc(50vw - 215px);
	height: clamp(500px,42vw,700px);
	max-height: calc(100vh - 140px);
	clip-path: inset(0 0 var(--side-panel-clip-bottom,0px) 0);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(16px);
	transition: opacity .6s ease-out,transform .6s ease-out,visibility 0s linear .6s;
}

.desktop-side-panel--products {
	right: 0;
}

.desktop-side-panel--event {
	--side-content-width: min(clamp(280px,calc(34vw - 110px),420px),calc(71.8vh - 158px));
	left: 0;
}

.play-your-style.side-panels-visible .desktop-side-panel {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
	transition-delay: 0s;
}

.desktop-side-panel--event>img {
	display: block;
	width: var(--side-content-width);
	height: auto;
}

.desktop-side-products-carousel {
	display: grid;
	width: var(--side-content-width);
	min-height: 0;
}

.desktop-side-products {
	display: grid;
	grid-area: 1/1;
	grid-template-columns: repeat(2,minmax(0,1fr));
	gap: clamp(28px,3vw,64px) clamp(18px,1.8vw,36px);
	width: 100%;
	padding: 0;
	margin: 0;
	list-style: none;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .7s ease,visibility 0s linear .7s;
}

.desktop-side-products.is-active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition-delay: 0s;
}

.desktop-side-products img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
}

.desktop-side-products>li>a {
	display: block;
}

.desktop-side-products p {
	margin: 8px 0 3px;
	font-size: clamp(9px,.75vw,12px);
	font-weight: 500;
	line-height: 1.45;
}

.desktop-side-products__link {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: var(--side-content-width);
	min-height: var(--side-button-height);
	margin-top: auto;
	border: 1px solid #111;
	font-size: clamp(14px,1.05vw,17px);
	font-weight: 600;
}

.desktop-side-products__link span {
	position: absolute;
	right: 18px;
	width: 10px;
	height: 10px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-3px);
}

.desktop-event-entry {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: var(--side-content-width);
	min-height: var(--side-button-height);
	margin-top: auto;
	border-radius: 80px;
	color: #fff!important;
	background: #000;
	font-size: clamp(16px,1.2vw,20px);
	font-weight: 700;
}

.desktop-event-entry span {
	position: absolute;
	right: 18px;
	width: 9px;
	height: 9px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	transform: rotate(45deg);
}

.style-visual__gallery {
	grid-template-columns: repeat(6,minmax(0,1fr));
	grid-template-rows: auto;
	width: calc(100% - 40px);
	max-width: 1200px;
	gap: 18px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 0;
	padding-left: 0;
}

.event-time__products,
.event-time__product-link {
	display: none;
}

.product-list {
	grid-template-columns: repeat(5,minmax(0,1fr));
	gap:30px;
	max-width: 1200px;
}

.products__link {
	max-width: 800px;
	padding-right: 0;
	padding-left: 0;
}

.products__link br {
	display: none;
}

.view-all .row {
	justify-content: space-between;
	margin: 0 auto;
}

.other-btn {
	width: 47%;
	margin-bottom: 0;
}

}

@media (min-width:1025px) and (prefers-reduced-motion:reduce) {
	.desktop-side-panel,
	.desktop-side-products {
		transform: none;
		transition: none;
	}
}

.event-program--blue .event-time__period {
	font-weight: 700;
}

.event-program--blue .event-time__period strong {
	font-weight: 700;
}

/* Lift fixed side content on shorter laptop displays. */
@media (min-width:1025px) and (max-height:900px) {
	.desktop-side-panel {
		top: 60px;
		height: min(700px,calc(100vh - 100px));
		max-height: calc(100vh - 100px);
	}

	.desktop-side-products {
		gap: clamp(16px,2vh,24px) clamp(18px,1.8vw,36px);
	}

	.desktop-side-products__link {
		flex: 0 0 auto;
		margin-top: 16px;
	}
}

.event-time__period-line {
	display: block;
	width: 3px;
	height: 18px;
	margin: 5px auto;
	background: #000;
}

.event-contents>.event-notes::after {
	position: absolute;
	z-index: 0;
	right: 0;
	bottom: -58px;
	left: 0;
	height: 116px;
	border-radius: 0 0 50% 50%/0 0 100% 100%;
	background: #000;
}

.event-program--red .event-program__header span {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 7px;
	left: 50%;
	width: calc(100% - 20px);
	max-width: 350px;
	aspect-ratio: 322/64;
	min-width: 0;
	padding: 0 12px;
	color: #fff;
	background: url("../img/contents_bar02.png") center/100% 100% no-repeat;
	font-size: 24px;
	font-weight: 800;
	line-height: 1;
	transform: translateX(-50%);
}

.event-program--green .event-program__header span {
	background-image: url("../img/contents_bar03.png");
}

.event-program--green .event-program__paper>.event-program__background::after {
	display: none;
}

.event-program--red .event-program__body {
	position: relative;
	z-index: 1;
	text-align: center;
}

.event-program--red .event-program__photo {
	width: 100%;
	aspect-ratio: 390/285;
	font-size: 36px;
}

.event-program--red .event-time {
	padding: 110px 10px 60px;
}

.event-program--red .event-time .section-title {
	margin-bottom: 30px;
	font-size: 36px;
}

.event-program--red .event-time .section-title small {
	margin-top: 8px;
	font-size: 14px;
}

.event-program--red .event-time .section-title small::before,.event-program--red .event-time .section-title small::after {
	width: 31px;
}

.event-program--red .event-time__card {
	padding: 15px 0 20px;
	border-radius: 8px;
}

.event-program--red .event-time__conditions {
	padding-left: 0;
	font-size: 12px;
	line-height: 1.8;
}

.event-program--red .event-time__conditions p {
	margin-bottom: 0;
	letter-spacing: 0.8px;
}

.event-contents>.event-notes {
	--marquee-bottom: -165px;
    --marquee-height: 145px;
    --marquee-text-y: 8px;
    --marquee-font-size: 48px;
    --marquee-space: 240px;
    position: relative;
    margin: 0 -10px var(--marquee-space);
    padding: 40px 10px 10px;
    border-radius: 0;
    font-size: 12px;
    line-height: 1.7;
}

.event-contents>.event-notes::after {
	content: none;
}

.event-contents>.event-notes h4 {
	min-width: 200px;
    margin-bottom: 20px;
    padding: 8px;
    font-size: 18px;
    text-align: center;
    font-weight: 700;
}

.event-contents>.event-notes>p,.event-notes__list {
	position: relative;
	z-index: 1;
	max-width: 350px;
	margin-right: auto;
	margin-left: auto;
}

.event-contents>.event-notes>p {
	margin-bottom: 40px;
}

.event-notes__list {
	margin-bottom: 50px;
}

.event-notes__list p {
	margin-bottom: 2px;
}

.event-contents>.event-notes .entry-button {
	z-index: 1;
	max-width: 370px;
	min-height: 76px;
	margin: 0 auto;
	border-radius: 5px;
	font-size: 22px;
}

.event-notes__curve {
	position: absolute;
    z-index: 1;
    right: 0;
    bottom: -70px;
    left: 0;
    width: 100%;
    height: 70px;
    overflow: visible;
    fill: #000;
}

.event-notes__marquee {
	position: absolute;
	z-index: 2;
	right: 0;
	bottom: var(--marquee-bottom);
	left: 0;
	width: 100%;
	height: var(--marquee-height);
	overflow: hidden;
}

.event-notes__marquee-track {
	transform-box: view-box;
	transform-origin: 195px -250px;
	animation: event-notes-marquee 36s linear infinite;
	will-change: transform;
}

.event-notes__marquee text {
	fill: #000;
	font-family: "Outfit",sans-serif;
	font-size: var(--marquee-font-size);
	font-weight: 900;
	letter-spacing: 7px;
	transform: translateY(var(--marquee-text-y));
	white-space: nowrap;
}

@keyframes event-notes-marquee {
	to {
		transform: rotate(360deg);
	}
}

@media (prefers-reduced-motion:reduce) {
	.event-notes__marquee-track {
		animation: none;
		will-change: auto;
	}
}

.event-program__body img.event-program__photo {
	display: block;
	height: auto;
	aspect-ratio: auto;
}

.event-program__photo.is-photo-reveal-ready {
	opacity: 0;
	clip-path: inset(0 0 100% 0);
	transform: translateY(24px) scale(.98);
	transform-origin: center top;
	transition: opacity .45s ease-out,clip-path .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1);
	will-change: opacity,clip-path,transform;
}

.event-program__photo.is-photo-reveal-ready.is-visible {
	opacity: 1;
	clip-path: inset(0);
	transform: translateY(0) scale(1);
	will-change: auto;
}

@media (prefers-reduced-motion:reduce) {
	.event-program__photo.is-photo-reveal-ready,
	.event-program__photo.is-photo-reveal-ready.is-visible {
		opacity: 1;
		clip-path: none;
		transform: none;
		transition: none;
	}
}

/* Content paper: a repeatable center with a fixed torn bottom that follows content height. */
.event-program--blue,
.event-program--red {
	background: none;
}

.event-program__paper {
	position: relative;
	padding: 0 0 80px;
}

/* Repeating paper backgrounds */

.event-program__decorations {
	position: absolute;
	z-index: 2;
	top: 0;
	right: 0;
	left: 0;
	pointer-events: none;
}

.event-program__decoration {
	position: absolute;
	max-width: none;
	height: auto;
}

.event-program__decoration--shirt {
	top: 120px;
	left: max(0px,calc(50% - 200px));
	width: clamp(52px,15vw,62px);
}

.event-program__decoration--star {
	top: 90px;
	right: max(0px,calc(50% - 195px));
	left: auto;
	width: clamp(58px,17vw,70px);
}

.event-program__decoration--needle {
	top: 165px;
	right: max(-4px,calc(50% - 199px));
	left: auto;
	width: clamp(48px,14vw,58px);
}

.event-program__decoration--machine {
	top: 110px;
	left: max(0px,calc(50% - 200px));
	width: clamp(60px,18vw,74px);
}

.event-program__decoration--shirt-right {
	top: 108px;
	right: max(0px,calc(50% - 195px));
	left: auto;
	width: clamp(56px,17vw,70px);
}

.event-program__paper>.event-program__header,
.event-program__paper>.event-program__body {
	z-index: 3;
}

.event-program__background {
	display: grid;
	grid-template-rows: minmax(0,1fr) auto;
	position: absolute;
	z-index: 0;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	pointer-events: none;
}

/* SP: extend only the paper texture; keep the content width unchanged. */
@media (max-width:768px) {
	.event-program__background {
		right: auto;
		left: 50%;
		width: 100vw;
		transform: translateX(-50%);
	}
}

.event-program__paper>.event-program__background {
	top: 40px;
}

.event-time>.event-program__background {
	grid-template-rows: auto minmax(0,1fr);
}

.event-time>.event-program__background::before,
.event-program__background::after {
	display: block;
	width: 100%;
	aspect-ratio: 1024/250;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	content: "";
}

.event-time>.event-program__background::before {
	background-image: url("../img/bg-top.png");
}

.event-time>.event-program__background::after {
	display: none;
}

.event-program__background::after {
	background-image: url("../img/bg-bottom.png");
}

.event-program__background>span {
	min-height: 0;
	background: url("../img/bg_original.png") center/100px 100px repeat;
}

.event-program__paper>.event-program__header,
.event-program__paper>.event-program__body,
.event-program>.event-time,
.event-time>:not(.event-program__background) {
	position: relative;
	z-index: 1;
}

.event-time>.event-time__decorations {
	position: absolute;
	z-index: 2;
	top: 0;
	right: 0;
	left: 0;
	height: 100px;
	pointer-events: none;
}

.event-program__decoration,
.artist__decoration,
.event-time__decoration {
	translate: 0 var(--object-inertia-y,0px);
	rotate: var(--object-inertia-rotate,0deg);
	will-change: translate,rotate;
}

@media (prefers-reduced-motion:reduce) {
	.event-program__decoration,
	.artist__decoration,
	.event-time__decoration {
		translate: none;
		rotate: none;
		will-change: auto;
	}
}

.event-time__decoration {
	position: absolute;
	max-width: none;
	height: auto;
}

.event-time__decoration--stroke {
	top: -30px;
	left: max(4px,calc(50% - 180px));
	width: clamp(58px,15vw,60px);
	transform: rotate(76deg);
}

.event-time__decoration--pin {
	top: 40px;
	right: max(8px,calc(50% - 190px));
	width: clamp(34px,10vw,42px);
}

.event-program--blue .event-time,
.event-program--red .event-time {
	background: none;
}

.event-program--blue .event-program__body p,
.event-program--red .event-program__body p,
.artist p,
.event-program--blue .event-time__conditions p,
.event-contents>.event-notes>p,
.event-notes__list,
.event-notes__list p {
	font-family: "Noto Sans JP","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
}

.event-time__conditions,
.event-time__conditions * {
	font-family: "Noto Sans JP","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
}

@media (max-width:768px) {
	.event-program--red .event-time {
		padding: 110px 10px 1px;
	}

	.event-contents>.event-notes {
		isolation: isolate;
	}

	.event-contents>.event-notes::before {
		position: absolute;
		z-index: -1;
		top: 0;
		bottom: 0;
		left: 50%;
		width: 100vw;
		background: #000;
		transform: translateX(-50%);
		content: "";
	}

	.event-program__body img.event-program__photo {
		position: relative;
		left: 50%;
		width: 100vw;
		max-width: none;
		transform: translateX(-50%);
	}

	.event-program__body img.event-program__photo.is-photo-reveal-ready {
		transform: translateX(-50%) translateY(24px) scale(.98);
	}

	.event-program__body img.event-program__photo.is-photo-reveal-ready.is-visible {
		transform: translateX(-50%) translateY(0) scale(1);
	}

	.event-notes__curve,
	.event-notes__marquee {
		right: auto;
		left: 50%;
		width: 100vw;
		max-width: none;
		transform: translateX(-50%);
	}
}

/* Tablet: use the PC composition without the fixed side content. */
@media (min-width:769px) and (max-width:1024px) {
	.desktop-side-panel {
		display: none;
	}
}

/* Keep the event paper behind its disclosure and leave a 60px paper footer. */
.event-program .event-time--with-disclosure {
	padding-bottom: 80px;
}

.event-time--with-disclosure>.event-disclosure {
	margin: 60px 0 0;
}
