@charset "UTF-8";

:root{
	--color-primary: #000;
	--color-primary-rgb: 0,0,0;
	--color-primary-contrast: #fff;
	--color-primary-contrast-rgb: 255,255,255;
	--color-gray: #212121;
	--color-gray-rgb: 33,33,33;
	--color-day1: #ff3f3e;
	--color-day1-rgb: 255,63,62;
	--color-day2: #00a99b;
	--color-day2-rgb: 0,169,155;
	--transition-default: all 0.4s ease; 
}
.color0 {
	--color-theme-primary: #0C26AB;
}
.color1 {
	--color-theme-primary: #F89B32;
}
.color2 {
	--color-theme-primary: #39AB22;
}
.color3 {
	--color-theme-primary: #A91C76;
}

canvas {
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
	mix-blend-mode: overlay;
	opacity: 0.8;
	width: 100vw;
	height: 100vh;
}

/* !foundation */
/* --------------------------- */
html,body {
	font-family:'ヒラギノ角ゴ ProN','Hiragino Kaku Gothic ProN','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	-webkit-font-feature-settings: 'palt' 1;
	font-feature-settings: 'palt' 1;
	-webkit-font-variant-ligatures:none;
	font-variant-ligatures:none;
}
body {
	color: var(--color-primary-contrast);
	overflow-x: hidden;
	position: relative;
	text-align: center;
	width: 100vw;
	background: var(--color-gray);
}
* {
	box-sizing: border-box;
}
a,
a img {
	color: var(--color-primary-contrast);
	transition: var(--transition-default);
}
a img {
	opacity: 1;
	transform: translate3d(0, 0, 0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
a:visited {
	color: rgba(var(--color-primary-contrast-rgb), .875);
}
a:hover {
	color: var(--color-accent);
	text-decoration: none;	
}
a:hover img {
	opacity: 0.6;
}
a.noborder {
	text-decoration: none;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}
hr {
	border: 0;
	height: 1px;
	background-image: linear-gradient(90deg, rgba(var(--color-primary-contrast-rgb),0) 0%, rgba(var(--color-primary-contrast-rgb),.5) 50%, rgba(var(--color-primary-contrast-rgb),0) 100%);
	margin: 5rem auto;
	clear: both;
}
.btn,
.btn:visited {
	display: block;
	text-align: center;
	text-decoration: none;
	border: solid 1px var(--color-primary-contrast);
	padding: 0.5em 1em;
	color: var(--color-primary-contrast);
	background: var(--color-primary);
}
.btn:hover {
	background: var(--color-primary);
	border-color:  var(--color-primary);
	color: var(--color-primary-contrast);
}
label.btn {
	transition: var(--transition-default);
	cursor: pointer;
}
.checkEl {
	display: none;
}

/* material
--------------------------- */
.clearFloat {
	clear: both;
}
.alignleft {
	float: left;
	margin: 0.375em 1.75em 1.75em 0;
}
.alignright {
	float: right;
	margin: 0.375em 0 1.75em 1.75em;
}
.aligncenter {
	clear: both;
	display: block;
	margin: 0.375em auto;
	text-align: center!important;
}
.sp {
	display: none;
}
.flexCont {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
ul[class],ol[class] {
	list-style: none;
	margin: 0 auto;
	padding: 0;
}
.clearfix:before,
.clearfix:after {
	content: " ";
	display: table;
}
.clearfix:after {
	clear: both;
}
.tate {
	-webkit-font-feature-settings: 'palt' 0;
	font-feature-settings: 'palt' 0;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
/* !font */
/* --------------------------- */
.wf-noto-r, body {font-family: 'Noto Sans JP', sans-serif; font-weight: 500;}
.wf-noto-m, b {font-family: 'Noto Sans JP', sans-serif; font-weight: 600;}
.wf-noto-b, strong {font-family: 'Noto Sans JP', sans-serif; font-weight: 700;}
.wf-noto-bk, strong, h1, h2, h3, h4, h5, h6 {font-family: 'Noto Sans JP', sans-serif; font-weight: 900;}

.txtSdw {
	text-shadow: 0 0 40px rgba(var(--color-primary-rgb),.9),0 0 30px rgba(var(--color-primary-rgb),.9),0 0 20px rgba(var(--color-primary-rgb),.9),0 0 10px rgba(var(--color-primary-rgb),.9);
}
.txtSdwMin {
	text-shadow: 0 0 20px rgba(var(--color-primary-rgb),.9),0 0 15px rgba(var(--color-primary-rgb),.9),0 0 10px rgba(var(--color-primary-rgb),.9),0 0 5px rgba(var(--color-primary-rgb),.9);
}
.capsS {
	font-size: 0.8em;
}
.shadow {
	filter: drop-shadow(0 0 20px rgba(var(--color-primary-rgb), .875));
}
/* !layout */
/* --------------------------- */


/* !header */
/* --------------------------- */
.gHeader {
	position: sticky;
	width: 100%;
	background: var(--color-primary);
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0;
	padding: 0.5rem 2rem 0.625rem;
	top: 0;
	z-index: 10000;
}
.siteTitle {
	font-size: 1rem;
	line-height: 1;
	margin: auto 0;
	flex-shrink: 0;
}
.gNav {
	width: 100%;
	margin: auto auto auto 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
ul.gNavList {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.5vw;
	line-height: 1;
	font-weight: 900;
	margin: 0 auto 0 0;
}
ul.gNavList li + li {
	border-left: solid 1px var(--color-primary-contrast);
}
ul.gNavList li a,
ul.gNavList li a:visited {
	display: block;
	padding: 0 1.5em 0.125em;
	text-decoration: none;
}
ul.gNavList li a:hover {
	color: var(--color-theme-primary);
}
.toggle {
	display: none;
}
.marquee {
	font-size: 1.875vw;
	line-height: 1;
	font-weight: 900;
	width: 100%;
	height: 1.6em;
	background: var(--color-primary-contrast);
	--gap: 1rem;
	display: flex;
	align-items: center;
	overflow: hidden;
	user-select: none;
	gap: var(--gap);
	padding-bottom: 0.125em;
	opacity: 0;
	transition: all 0.4s ease 3.0s;
	transform: scaleY(0);
	transform-origin: top;
	opacity: 1;
	transform: scaleY(1);
}
.loaded .marquee {
	opacity: 1;
	transform: scaleY(1);
}
.marqueeTxt {
	color: var(--color-theme-primary);
	flex-shrink: 0;
	display: flex;
	justify-content: space-around;
	min-width: 100%;
	gap: var(--gap);
	animation-name: MarqueeScroll;
	animation-timing-function: linear;
	animation-duration: 20s;
	animation-iteration-count: infinite;
}
@keyframes MarqueeScroll {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(calc(-100% - var(--gap)));
	}
}

/* !content */
/* --------------------------- */
#bg {
	width:100vw;
	height:100vh;
	position: relative;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -10;
	opacity: 0;
	transition: all 3.0s ease 1.0s;
}
#bg.fluid {
	background: var(--color-theme-primary);
}
#bg::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: url('../imgs/bg_img.jpg') center top no-repeat;
	background-size: cover;
	position: absolute;
	top: 0;
	left: 0;
	mix-blend-mode: overlay;
	opacity: 0;
	transition: all 0.6s ease;
}
#bg.fluid::after {
	mix-blend-mode: screen;
}
.loaded #bg,
.loaded #bg::after {
	opacity: 1;
}

.carousel-container {
	position: absolute;
	width: 100vw;
	height: 80vh;
	display: flex;
	align-items: center;
	justify-content: center;
	top: 0;
	left: 0;
}
.carousel-item {
	position: absolute;
	opacity: 0;
	width: 33vw;
}

.topHeroBox {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	min-height: 75vh;
	margin: 0 auto 5vh;
}
.heroTitle {
	opacity: 0;
	transition: all 0.4s cubic-bezier(.21,1.82,.16,.67) 3.0s;
	transform: scale(0.8);
	opacity: 1;
	transform: scale(1);
}
.loaded .heroTitle {
	opacity: 1;
	transform: scale(1);
}
.curtain {
	display: inline-block;
	position: relative;
}
.curtain * {
	opacity: 0;
	transition: all 0.1s linear 1.0s;
	opacity: 1;
}
.loaded .curtain * {
	opacity: 1;
}
.curtain::after {
	content: "";
	display: none;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: var(--color-theme-primary);
	transform: scaleX(0);
}
.loaded .curtain::after {
	animation-name: curtainScroll;
	animation-timing-function: ease-in-out;
	animation-duration: 1.2s;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
	animation-delay: 0.6s;
	transform-origin: right;
}
@keyframes curtainScroll {
	0% {
		transform-origin: left;
		transform: scaleX(0);
	}
	20% {
		transform-origin: left;
		transform: scaleX(1);
	}
	80% {
		transform-origin: right;
		transform: scaleX(1);
	}
	100% {
		transform-origin: right;
		transform: scaleX(0);
	}
}
.heroSchedule .curtain * {
	transition-delay: 4.3s;
}
.loaded .heroSchedule .curtain::after {
	animation-delay: 3.9s;
}
.heroHall .curtain * {
	transition-delay: 4.5s;
}
.loaded .heroHall .curtain::after {
	animation-delay: 4.2s;
}
.cdWrap {
	width: 100%;
}
#cd:checked ~ .cdWrap {
	position: fixed;
	top: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	z-index: 20000;
}
.countdown {
	font-size: 2rem;
	line-height: 1.25;
	font-weight: 900;
	opacity: 0;
	translate: 0 1em;
	transition: none;
	width: 100%;
	padding: 0.5em 0;
	position: relative;
	z-index: 500;
	margin: auto auto 0;
	background: var(--color-theme-primary);
}
#cd:checked ~ .cdWrap .countdown {
	margin: 0 auto;
	transition: all 0.3s cubic-bezier(.21,1.82,.16,.67) 0.6s;
}
.cdTxt span,
.cdHide {
	display: none;
}
.cdTxt::before {
	content: "開演";
	display: inline;
}
#cd:checked ~ .cdWrap .cdTxt span,
#cd:checked ~ .cdWrap .cdHide {
	display: inline;
}
#cd:checked ~ .cdWrap .cdTxt::before {
	display: none;
}
.loaded .countdown {
	opacity: 1;
	translate: 0 0;
}
.countdown .num {
	font-size: 2em;
	color: #ffd200;
}
.cdClose {
	position: absolute;
	bottom: 0;
	left: 50%;
	translate: -50% 150%;
	background: var(--color-theme-primary);
	display: flex;
	justify-content: center;
	align-items: center;
	width: 1.3em;
	height: 1.3em;
	border-radius: 50%;
	cursor: pointer;
	opacity: 0;
	pointer-events: none;
}
#cd:checked ~ .cdWrap .cdClose {
	opacity: 1;
	pointer-events: auto;
}
.cdBg {
	display: block;
	width: 100vw;
	height: 100lvh;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 300;
	background: rgba(var(--color-primary-rgb), .875);
	opacity: 0;
	pointer-events: none;
}
#cd:checked ~ .cdWrap .cdBg {
	opacity: 1;
	pointer-events: auto;
}

.content {
	width: 1200px;
	max-width: 90vw;
	min-height: 50vh;
	margin: 0 auto 5.5rem;
	padding: 5rem 1.5rem;
	background: rgba(var(--color-primary-contrast-rgb), .15);
	backdrop-filter: blur(0.5rem);
}
#goods.content {
	backdrop-filter: none;
}
.announceCont {
	width: fit-content;
	min-height: 25vh;
	margin-top: 5rem;
	background: rgba(var(--color-primary-contrast-rgb), 1);
	color: var(--color-primary);
	padding: 3rem;
	border: solid 4px var(--color-theme-primary);
}
.announceTitle {
	width: fit-content;
	font-size: 1.5em;
	line-height: 1.375;
	margin: 0 auto 1em;
	padding: 0.75em 1.5em 0.875em;
	border-top: solid 2px var(--color-primary);
	border-bottom: solid 2px var(--color-primary);
}
.announceTxt {
	font-size: 1.125em;
	line-height: 1.75;
	margin: 0 auto;
}
.contTitle {
	font-size: 5em;
	line-height: 1;
	color: var(--color-primary-contrast);
	margin: 0 auto 1em;
	position: relative;
}
.contTitle::before {
	content: "";
	display: block;
	width: 73px;
	height: 110px;
	background: url('../imgs/icon_thunder.svg') center top no-repeat;
	background-size: cover;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -125%);
}

.streamWrap {
	display: flex;
	justify-content: center;
	gap: 3rem;
}
.streamItem {
	background: var(--color-theme-primary);
	padding: 1rem;
	font-size: 1.375em;
	line-height: 1.375;
	font-weight: 700;
}
.streamItem img {
	margin-bottom: 0.25em;
}

/* !content */
/* --------------------------- */
.ticketPrice {
	margin: 0 auto 3rem;
}
.ticketPrice dt {
	background: var(--color-primary);
	color: var(--color-primary-contrast);
	margin: 0 auto 1rem;
	font-size: 1.625em;
	line-height: 1;
	font-weight: 700;
	max-width: 12em;
	padding: 0.375em 0 0.5em;
}
.ticketPrice dd {
	margin: 0 auto 3rem;
	font-size: 2.25em;
	line-height: 1.375;
	font-weight: 700;
}
.ticketPrice dd .capsL {
	font-size: 1.5em;
}
.ticketBnr {
	margin: 1.5rem auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
.ticketBnr a {
	display: block;
	margin: 0 1.5rem;
}
.ticketBnr .btn,
.ticketBnr .btn:visited {
	font-size: 1.25em;
	border-width: 2px;
	border-radius: 3em;
	padding-bottom: 0.625em;
}
.ticketBnr .btn:hover {
	background: var(--color-theme-primary);
}
.newsList {
	display: inline-grid;
	grid-template-columns: 8em 1fr;
	font-size: 1.25em;
	line-height: 1.5;
}
.newsList dt {
	margin: 0;
	padding: 0.75em 0 0.875em;
	letter-spacing: 0.1em;
	border-bottom: solid 1px rgba(var(--color-primary-contrast-rgb), .25);
	position: relative;
}
.newsList dt.new::before {
	content: "NEW";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	background: var(--color-theme-primary);
	color: var(--color-primary-contrast);
	font-size: 0.75em;
	line-height: 1;
	padding: 0.2em 0.5em 0.4125em;
	letter-spacing: 0;
	transform: translate(-80%, 75%);
}
.newsList dd {
	text-align: left;
	margin: 0;
	padding: 0.75em 1em 0.875em 0;
	border-bottom: solid 1px rgba(var(--color-primary-contrast-rgb), .25);
}
.artistDayWrap {
	margin: 0 auto 8rem;
}
.artistDay {
	font-size: 1;
	line-height: 1;
	margin: 0 auto 3.5rem;
	position: relative;
}
.artistDay img {
	display: inline-block;
	background: #000;
	max-width: 320px;
}
.artistDay .new {
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	background: var(--color-theme-primary);
	color: var(--color-primary-contrast);
	font-size: 1.25em;
	line-height: 1;
	padding: 0.2em 0.5em 0.3125em;
	letter-spacing: 0;
	transform: translate(-220%, -50%) rotate(-15deg);
}
.artistWrap {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-wrap: wrap;
}
.artistBox {
	width: 31%;
	margin: 0 1% 3rem;
}
.artistBox.ichiki {
	width: 16.666%;
	margin-left: 2%;
}
.artistBox.ichiki img {
	margin-top: 1.7rem;
	width: 90%;
}
.artistBox.ichiki .capsS:last-of-type {
	font-size: 0.375em;
	display: block;
	margin-top: 0.5em;
}
.artistBox.new {
	position: relative;
}
.artistBox.new::before {
	content: "NEW";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	background: var(--color-theme-primary);
	color: var(--color-primary-contrast);
	font-size: 1.25em;
	line-height: 1;
	padding: 0.2em 0.5em 0.375em;
	letter-spacing: 0;
	transform: translate(-80%, 75%);
}
.artistBox img {
	width: 100%;
	pointer-events: none;
}
.artistBox figcaption {
	font-size: 1.5em;
	line-height: 1;
	font-weight: 700;
	margin: 0.5em 0 0;
	position: relative;
}
.artistBox figcaption .capsS {
	display: inline-block;
	margin-bottom: 0.375em;
	font-size: 0.625em;
}
.artistBox figcaption .opening {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 0.625em;
	font-size: 0.625em;
	letter-spacing: 0.15em;
	text-indent: 0.15em;
}
.artistBox figcaption .opening::before,
.artistBox figcaption .opening::after {
	content: "";
	display: inline-block;
	width: 1.5em;
	height: 1px;
	background: #fff;
	margin: 0 0.25em;
}
.artistBox small {
	position: absolute;
	top: 0;
	right: 0;
	font-size: 0.625rem;
	font-weight: 500;
	transform: translateY(-220%);
}
.artistBox.vaundy small {
	transform: translate(-4.5em, -0.75em);
}
.artistBox.ini small {
	width: 100%;
	text-align: center;
	transform: translate(0, -1.5em);
}
.artistBox.ini figcaption {
	margin-top: 0.75em;
}
ul.artistLink {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0.75rem auto 0;
	font-size: 1em;
	line-height: 1;
}
ul.artistLink li {
	margin: 0 0.25em;
}
ul.artistLink li a,
ul.artistLink li a:visited {
	display: flex;
	justify-content: center;
	align-items: center;
	text-decoration: none;
	padding: 0 0.75em 0 0;
	background: var(--color-primary);
}
ul.artistLink li a.nolink {
	opacity: 0.25;
	pointer-events: none;
}
ul.artistLink li a:hover {
	background: var(--color-theme-primary);
}
ul.artistLink li a i {
	margin-right: 0.5em;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 1.8em;
	height: 1.8em;
	background: var(--color-theme-primary);
	border-right: solid 1px var(--color-primary);
}
#cast .artistBox figcaption {
	font-size: 2.375em;
}
#cast .artistBox {
	margin-bottom: 1rem;
}
.mcComment {
	width: 640px;
	max-width: 90%;
	margin: 1.5rem auto;
}
.mcComment summary {
	display: block;
	cursor: pointer;
	background: var(--color-primary);
	color: var(--color-primary-contrast);
	position: relative;
	display: inline-block;
	font-size: 1.375em;
	line-height: 1;
	font-weight: 900;
	padding: 0.375em 2em 0.4375em;
	border-radius: 3em;
	transition: var(--transition-default);
	list-style: none;
}
.mcComment summary::-webkit-details-marker {
	display: none;
}
.mcComment summary:hover {
	background: var(--color-theme-primary);
}
.mcComment summary span {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	background : linear-gradient(50.3deg, rgba(250, 102, 102, 1) 0%, rgba(232, 5, 141, 1) 100%);
	padding: 0.25em 0.5em 0.375em;
	font-size: 0.625em;
	transform: rotate(15deg) translate(35%, -35%);
	pointer-events: none;
}
.mcComment p {
	font-size: 1em;
	line-height: 1.875;
	margin: 1em 0 0;
}
.mcComment p + p {
	margin-top: 0.25em;
}
.mcComment[open] p {
	animation: fadein 0.5s ease;
}
@keyframes fadein {
  0% { opacity: 0; }
  100% { opacity: 1; }
}
.andmore {
	margin: 0 auto;
	font-size: 1.25em;
	line-height: 1;
	font-weight: 900;
	letter-spacing: 0.15em;
	text-indent: 0.15em;
	background: var(--color-theme-primary);
	color: var(--color-primary-contrast);
	display: inline-block;
	padding: 0.5em 1em 0.625em;
}
h3.andmore {
	background: var(--color-theme-primary);
	margin-bottom: 2em;
	font-size: 2em;
	transform: rotate(-30deg);
}
h3.andmore.visible {
	transform: rotate(-5deg);
}
.aboutBody {
	width: 960px;
	max-width: 90vw;
	margin: 0 auto;
}
.aboutIntro {
	font-size: 1.5em;
	line-height: 1.75;
	font-weight: 700;
	margin: 0 auto 1em;
}
.aboutInfo {
	display: grid;
	grid-template-columns: 8em 1fr;
	margin: 0 auto 1.5em;
	padding: 1em 0;
	border-top: solid 3px var(--color-primary-contrast);
	border-bottom: solid 3px var(--color-primary-contrast);
	font-size: 1em;
	line-height: 1.875;
	text-align: left;
}
.aboutInfo dt,
.aboutInfo dd {
	margin: 0 0 0.5em;
}
.aboutOrg {
	font-size: 1em;
	line-height: 1.875;
	text-align: left;
	margin: 0 0 1em;
}
.aboutContact {
	margin: 0 auto 2em;
	font-size: 1.125em;
	line-height: 1.375;
}
.aboutContact dt {
	display: inline-block;
	background: var(--color-primary);
	color: var(--color-primary-contrast);
	padding: 0.25em 1.5em 0.375em;
	margin: 0 0 0.5em;
}
.aboutContact dd {
	font-size: 1.25em;
	line-height: 1.5;
	margin: 0;
}
.aboutTitle {
	margin: 3em 0 0.75em;
	padding-bottom: 0.75em;
	border-bottom: solid 3px var(--color-primary-contrast);
	font-size: 1.5em;
	line-height: 1;
	text-align: left
}
ul.notesList {
	font-size: 1em;
	line-height: 1.875;
	text-align: justify;
	font-weight: 500;
	margin: 0 auto 3em;
}
ul.notesList li {
	margin: 0 0 0.5em;
	padding-left: 1em;
	text-indent: -1em;
}
ul.notesList li::before {
	content: "●";
	display: inline-block;
	text-indent: 0;
	transform: scale(0.5);
}
ul.notesList.kome {
	width: fit-content;
	max-width: 640px;
	font-size: 0.875em;
	line-height: 1.75;
	font-weight: 500;
}
ul.notesList.kome li {
	margin-bottom: 0.25em;
}
ul.notesList.kome li::before {
	content: "※";
	transform: scale(1);
}
ul.notesList.star li::before {
	content: "●";
	transform: scale(1);
}
.upgradeTxt {
	font-size: 0.5em;
	line-height: 1.666;
	font-weight: 500;
	margin: 0 auto 1em;
}
.xBody {
	width: 40rem;
	max-width: 90vw;
	max-height: 50svh;
	overflow: auto;
	margin: 0 auto;
}
.xBody iframe {
	max-width: 100%;
}

.goodsWrap {
	padding: 0 1.5rem;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 3rem;
	margin-bottom: 3rem;
}
.goodsItem {
	margin: 0;
}
.goodsItem figcaption {
	margin: 0;
	font-weight: 700;
}
.goodsName {
	width: fit-content;
	font-size: 1.375em;
	line-height: 1.25;
	margin: 0 auto 0.5em;
	padding: 0.75em 0.75em 0.75em;
	border-bottom: solid 2px var(--color-theme-primary);
}
.goodsTxt {
	font-size: 0.875em;
	line-height: 1.5;
	margin: 0 auto 0.75em;
}
.goodsPrice {
	font-size: 2em;
	line-height: 1;
	margin: 0;
}
.goodsPrice .capsS {
	font-size: 0.625em;
}
.sticky {
	position: fixed;
	right: 1vw;
	bottom: 1vw;
	margin: 0;
	z-index: 500;
	font-size: 1.5vw;
	line-height: 1.375;
	font-weight: 900;
	transition: opacity 0.4s ease;
}
.sticky.active {
	opacity: 0;
}
.sticky .txtLink,
.sticky .txtLink:visited {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 7.6em;
	height: 7.6em;
	border-radius: 50%;
	white-space: nowrap;
	background: var(--color-theme-primary);
	color: var(--color-primary-contrast);
	text-decoration: none;
	position: relative;
}
.sticky .txtLink:hover {
	opacity: 0.6;
}

.sticky .txtLink::after {
	content: "";
	display: block;
	width: 92%;
	height: 90%;
	border: solid 2px rgba(var(--color-primary-contrast-rgb), .5);
	position: absolute;
	top: 50%;
	left: 50%;
	translate: -50% -50%;
	pointer-events: none;
	border-radius: 50%;
}
.sticky .txtLink .new {
	display: block;
	font-size: 0.875em;
	line-height: 1;
	background : linear-gradient(50.3deg, rgba(250, 102, 102, 1) 0%, rgba(232, 5, 141, 1) 100%);
	padding: 0.125em 0.5em 0.25em;
	margin: -1em auto 0.25em;
}
.sticky .txtLink span {
	pointer-events: none;
}

.specialBox {
	max-width: 800px;
	margin: 0 auto 3rem;
}
.specialTitle {
	margin: 0 auto 1.5rem;
}
.specialTitle img {
	border-radius: 2rem;
}
.specialTxt {
	font-size: 1.375em;
	line-height: 1.666;
	margin: 0 0 0.5em;
	letter-spacing: 0.1em;
	letter-spacing: 0.1em;
}
.specialTxt .capsL {
	font-size: 1.125em;
	background: var(--color-theme-primary);
	font-weight: 900;
	display: inline-block;
	padding: 0 0.5em;
}
.specialImg {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 1.5rem auto;
}
.specialImg img {
	max-width: 48.5%;
	border-radius: 1rem;
}

/* !footer */
/* --------------------------- */
.gFooter {
	background: rgba(var(--color-primary-rgb), .6);
	padding: 1rem 0;
}
.footerInner {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
.copyright {
	font-size: 1.125em;
	line-height: 1;
	margin: 0 1em;
}
.copyright b {
	font-size: 1.25em;
}

/* !animation */
/* --------------------------- */
.invisible {
	opacity: 0;
	transform: scale(0.8);
}
.visible {
	transition: all 0.8s cubic-bezier(.21,1.82,.16,.67);
	opacity: 1;
	transform: scale(1);
}

.areamapWrap {
	margin: 8rem auto;
}
.areamapWrap .btn {
	font-size: 1.75em;
	font-weight: 700;
	width: fit-content;
	margin-inline: auto;
	padding: 0.5em 1.75em 0.75em;
	border-radius: 100vmax;
	background: var(--color-theme-primary);
	border-width: 4px;
}
.areamapWrap .btn:hover {
	border-color: var(--color-theme-primary);
}
.modalWrap {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	z-index: 10000;
	display: flex;
	justify-content: center;
	align-items: center;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.6s ease;
}
.checkEl:checked ~ .modalWrap {
	opacity: 1;
	pointer-events: auto;
}
.modalBg {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100vw;
	height: 100vh;
	z-index: 100;
	background: rgba(var(--color-primary-rgb), .875);
}
.modalBody {
	position: relative;
	z-index: 600;
	max-width: 90vw;
	max-height: 90vh;
	width: fit-content;
	height: fit-content;
}
.areamapImg {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.modalBody .cdClose {
	top: 0;
	right: 0;
	bottom: auto;
	left: auto;
	translate: 75% -75%;
	z-index: 1000;
	opacity: 1;
	pointer-events: auto;
	font-size: 32px;
}


/* !sp */
/* --------------------------- */
@media screen and (max-width:767px) {
	/* !sp common */
	/* --------------------------- */
	.floatLeft,
	.floatRight,
	.alignleft,
	.alignright {
		display: block;
		text-align: center;
		float: none;
		margin: 16px auto;
	}
	.nosp {
		display: none;
	}
	.sp {
		display: block;
	}
	.flexCont {
		display: block;
	}
	/* !sp layout */
	/* --------------------------- */
	html {
		font-size: 4vw;
	}
	main {
		width: 100vw;
		overflow: hidden;
	}
	/* !sp header */
	/* --------------------------- */
	.gHeader {
		padding: 0 0 0 0.75rem;
	}
	.siteTitle {
		width: 5vw;
	}
	ul.gNavList {
		font-size: 1.5em;
		flex-direction: column;
		justify-content: flex-start;
		padding: 0.25rem 0;
		position: absolute;
		top: 3rem;
		right: 0;
		width: 60vw;
		height: 100lvh;
		background: var(--color-primary);
		pointer-events: none;
		transform: translateY(-100%);
		transition: var(--transition-default);
	}
	#menu:checked ~ .gHeader ul.gNavList {
		transform: translateY(0);
		pointer-events: auto;
	}
	ul.gNavList li {
		width: 100%;
		margin: 0 auto;
	}
	ul.gNavList li + li {
		border-top: solid 1px rgba(var(--color-primary-contrast-rgb), .5);
		border-left: none;
	}
	ul.gNavList li a {
		padding: 0.75em 0;
	}
	.toggle {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		width: 3rem;
		height: 3rem;
		margin: 0 0 0 auto;
		cursor: pointer;
		flex-shrink: 0;
		z-index: 1000;
	}
	.bar {
		width: 70%;
		height: 0.333rem;
		background: var(--color-primary-contrast);
		margin: 0.2rem auto;
		transition: var(--transition-default);
	}
	.toggle:hover .bar {
		background: var(--color-theme-primary); 
	}
	#menu:checked ~ .gHeader .bar:nth-of-type(1) {
		transform: translateY(0.75rem) rotate(45deg);
	}
	#menu:checked ~ .gHeader .bar:nth-of-type(2) {
		transform: scaleX(0);
	}
	#menu:checked ~ .gHeader .bar:nth-of-type(3) {
		transform:  translateY(-0.75rem) rotate(-45deg);
	}
	.marquee {
		font-size: 1em;
	}
	.carousel-container{
		height: 85lvh;
		overflow: hidden;
	}
	.carousel-item {
		width: 55vw;
	}
	.topHeroBox {
		min-height: 75svh;
	}
	.heroTitle {
		max-width: 90%;
	}
	.heroSchedule {
		max-width: 90%;
	}
	.heroHall {
		max-width: 90%;
	}
	.countdown {
		font-size: 1.25em;
		white-space: nowrap;
	}
	.streamWrap {
		display: block;
	}
	.streamItem {
		width: 75%;
		margin: 0 auto 3rem;
		font-size: 1.25em;
		padding: 0.5rem;
	}
	.content {
		padding-top: 3rem;
	}
	.contTitle {
		font-size: 3em;
	}
	.contTitle::before {
		width: 37px;
		height: 55px;
	}
	.ticketPrice dd {
		font-size: 1.75em;
	}
	.ticketPrice dd .ticketBnr:first-of-type a {
		margin-bottom: 0;
	}
	.ticketBnr a,
	.ticketBnr img {
		display: block;
		margin: 0 auto 1.5rem;
	}
	.ticketBnr a img {
		margin: 0 auto;
		display: inline;
	}
	.newsList {
		display: block;
		font-size: 1em;
	}
	.newsList dt {
		text-align: left;
		margin-bottom: 0;
		padding-bottom: 0;
		padding-left: 1rem;
		border-bottom: none;
	}
	.newsList dd {
		text-align: left;
		padding-top: 0.25em;
		padding-left: 1rem;
	}
	#artist.content,
	#cast.content {
		padding-right: 0.5rem;
		padding-left: 0.5rem;
	}
	.artistDay {
		margin-bottom: 2rem;
	}
	.artistDay img {
		max-width: 50vw;
	}
	.artistDay .new {
		font-size: 0.875em;
	}
	.artistBox {
		width: 90%;
		margin: 0 auto 3rem;
	}
	.artistBox figcaption {
		font-size: 1.5em;
	}
	.artistBox small {
		font-size: 0.5rem;
		transform: translateY(-190%);
	}
	.artistBox.vaundy small {
		transform: translate(-2.5em, -0.875em);
	}
	ul.artistLink {
		font-size: 0.9375em;
	}
	.andmore {
		font-size: 1em;
	}
	h3.andmore {
		font-size: 1.375em;
	}
	.artistDay + .andmore {
		margin-top: 1.5rem;
	}
	.artistBox.new::before {
		font-size: 1em;
		padding: 0.2em 0.5em 0.375em;
	}
	.artistBox.oa figcaption {
		font-size: 1.05em;
		white-space: nowrap;
	}
	.artistBox.ichiki {
		width: 45%;
		margin: 3rem auto;
	}
	.artistBox.ichiki img {
		width: 90%;
		margin-bottom: 0;
	}
	#cast .artistBox figcaption {
		font-size: 1.75em;
	}
	.mcComment p {
		font-size: 0.875em;
	}
	.aboutBody {
		max-width: 100%;
	}
	.aboutIntro {
		font-size: 1.25em;
	}
	.aboutInfo {
		display: block;
	}
	.aboutInfo dt {
		margin-bottom: 0;
	}
	.aboutInfo dd {
		padding-left: 1em;
	}
	ul.notesList {
		font-size: 0.8125em;
	}
	.gFooter {
		padding-top: 2rem;
	}
	.copyright {
		margin: 0 auto 1em;
	}
	.xBody {
		width: 100%;
		max-width: 100%;
	}
	.goodsWrap {
		grid-template-columns: repeat(1, 1fr);
	}
	.goodsName {
		font-size: 1.3125em;
	}
	.goodsPrice {
		font-size: 1.5em;
	}
	.sticky {
		right: 3vw;
		bottom: 3vw;
		font-size: 3.5vw;
	}
	.specialTitle img {
		border-radius: 1rem;
	}
	.specialTxt {
		font-size: 1.125em;
		letter-spacing: 0;
		letter-spacing: 0;
	}
	.specialImg img {
		border-radius: 0.5rem;
	}
	.announceCont {
		padding: 3rem 1.5rem;
	}
	.announceTitle {
		width: 100%;
		padding: 0.75em 0 0.875em;
	}
	.announceTxt {
		font-size: 1.125em;
		line-height: 1.666;
		text-align: justify;
	}
}
