@charset "utf-8";
:root {
	--c_bk:#000000;
	--c_wh:#ffffff;
	--c_rd:#FF5A3F;
	--c_aq:#53B9CC;
	--c_ye:#FFFC50;
	--c_gr:#287686;
	--c_pk:#FF76B4;
}
.clr-bk {color: var(--c_bk)!important;}
.clr-wh {color: var(--c_wh)!important;}
.clr-rd {color: var(--c_rd)!important;}
.clr-aq {color: var(--c_aq)!important;}
.clr-ye {color: var(--c_ye)!important;}
.clr-gr {color: var(--c_gr)!important;}
.bg-bk {background-color: var(--c_bk)!important;}
.bg-wh {background-color: var(--c_wh)!important;}
.bg-rd {background-color: var(--c_rd)!important;}
.bg-aq {background-color: var(--c_aq)!important;}
.bg-ye {background-color: var(--c_ye)!important;}
.bg-gr {background-color: var(--c_gr)!important;}

body {
	color: var(--c_wh);
	background: var(--c_gr);
}
.eng {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
	line-height: 1;
}
.c-ttl {
	font-size: 6rem;
	text-align: left;
	margin-bottom: 6rem;
	clip-path: inset(0 0 0 0);
}
.c-ttl .eng,
.c-ttl h2 {
	opacity: 0;
	transition: 1s .8s  cubic-bezier(.165, .84, .44, 1);
	transform: translateY(1em);
}
.c-ttl .eng {
	font-weight: 700;
}
.c-ttl h2 {
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	margin-top: 0.5rem;
}
.c-ttl.act .eng,
.c-ttl.act h2 {
	opacity: 1;
	transform: translateY(0);
}
.c-ttl.--center {
	text-align: center;
}

.l-cont {
	max-width: 94rem;
	margin-left: auto;
}
.c-speaker {
	animation: speakerBeat 2s cubic-bezier(.36,.07,.19,.97) infinite;
	transform-origin: center;
}
@keyframes speakerBeat {
	0% {
		transform: scale(1) rotate(0deg);
	}
	6% {
		transform: scale(1.2) rotate(-10deg);
	}
	14% {
		transform: scale(0.8) rotate(7deg);
	}
	22% {
		transform: scale(1.1) rotate(-5deg);
	}
	30% {
		transform: scale(0.92) rotate(3deg);
	}
	40% {
		transform: scale(1.06) rotate(-1deg);
	}
	50%, 100% {
		transform: scale(1) rotate(0deg);
	}
}
.c-bg {
	background: url(../img/bg-trans-top.png) top center no-repeat,url(../img/bg-trans.png) top center repeat-y;
	background-size: 100% auto;
	background-color: var(--c_gr);
}
.c-link {
	background: var(--c_ye);
	display: inline-block;
	padding: 0.2em 0.6em;
	color: var(--c_bk);
	margin: .5rem;
}
.c-link:hover {
	background-color: var(--c_rd);
	color: var(--c_wh);
}

/*header
---------------------------------------------------------*/
.l-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 9990;
	transition: .2s;
}
.l-header__wrap {
	padding: 4rem 2rem;
	transition: .2s;
}
.l-header__nav {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 2rem 4rem;
	font-size: 1.8rem;
}
.l-header__nav a {
	color: #fff;
	display: inline-block;
	position: relative;
}
.l-header__nav a::after {
	content: "";
	display: block;
	background: var(--c_ye);
	position: absolute;
	bottom: -.5rem;
	left: 0;
	right: 0;
	height: 1px;
	z-index: 1;
	transform: scaleX(0);
	transform-origin: right center;
	transition: transform .3s cubic-bezier(.65,0,.35,1);
}
.l-header__nav a:hover::after {
	transform: scaleX(1);
	transform-origin: left center;
}
.l-header.scrl {
	background: rgba(34, 104, 118, .5);
	backdrop-filter: blur(10px);
	box-shadow: 0 0 5px rgb(0 0 0 / 20%);
}
.l-header.scrl .l-header__wrap {
	padding: 2.5rem 2rem;
}
.menuIcon {
	display: none;
}

/*footer
---------------------------------------------------------*/
.l-footer {
	position: relative;
	overflow: hidden;
	background: var(--c_wh);
}
.l-footer__line {
	display: flex;
}
.l-footer__line__item {
	display: flex;
	animation: loop infinite linear 50s both;
}
.l-footer__line__item p {
	width: calc(50vw / 2);
}
@keyframes loop {
	0% {
    transform: translateX(0);
	}
	100% {
		transform: translateX(-100%);
	}
}
.l-footer__line__item img {
	display: block;
}
.l-footer__wrap {
	color: var(--c_bk);
	padding: 4rem 2rem;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 2rem 6rem;
}
.fix {
	position: fixed;
	bottom: 2rem;
	right: 2rem;
	max-width: 20rem;
	z-index: 990;
	transition: .2s;
	filter: drop-shadow(.2rem .2rem .2rem rgba(0,0,0,.4));
	animation: fixFloat 2.4s ease-in-out infinite;
}
@keyframes fixFloat {
	0%, 100% {
		transform: translateY(0) rotate(0deg);
	}
	50% {
		transform: translateY(-.5rem) rotate(-3deg);
	}
}
.fix:hover {
	animation: fixShake .5s ease-in-out infinite;
	filter: drop-shadow(.5rem .5rem .5rem rgba(0,0,0,.4));
}
@keyframes fixShake {
	0%, 100% {
		transform: scale(1) rotate(-6deg);
	}
	50% {
		transform: scale(1.02) rotate(6deg);
	}
}
.fix:hover img {
	opacity: 1;
}

/*index
---------------------------------------------------------*/
.p-index-fv {
	position: relative;
	overflow: hidden;
}
.p-index-fv::after {
	content: "";
	position: absolute;
	top: -15%;
	left: 50%;
	width: 140%;
	height: 150%;
	background: linear-gradient(to bottom, rgba(255,118,180,.95) 0%, rgba(255,118,180,.25) 45%, rgba(255,118,180,0) 100%);
	clip-path: polygon(48.5% 0%, 51.5% 0%, 100% 100%, 0% 100%);
	backface-visibility: hidden;
	transform-origin: top center;
	filter: blur(1rem);
	z-index: 15;
	pointer-events: none;
	mix-blend-mode: overlay;
	animation: fvSearchlightB 7.5s ease-in-out infinite .5s;
}
@keyframes fvSearchlightB {
	0%, 100% {
		transform: translateX(-50%) rotate(30deg);
	}
	50% {
		transform: translateX(-50%) rotate(-18deg);
	}
}
.p-index-fv::before {
	content: "";
	position: absolute;
	top: -15%;
	left: 50%;
	width: 120%;
	height: 100%;
	background: linear-gradient(to bottom, rgba(255,252,80,.6) 0%, rgba(255,252,80,.18) 45%, rgba(255,252,80,0) 100%);
	clip-path: polygon(48.5% 0%, 51.5% 0%, 100% 100%, 0% 100%);
	backface-visibility: hidden;
	transform-origin: top center;
	filter: blur(1rem);
	z-index: 15;
	pointer-events: none;
	mix-blend-mode: overlay;
	animation: fvSearchlightA 6s ease-in-out infinite;
}
@keyframes fvSearchlightA {
	0%, 100% {
		transform: translateX(-50%) rotate(-28deg);
	}
	50% {
		transform: translateX(-50%) rotate(22deg);
	}
}
.p-index-fv_img img {
	width: 100%;
}
.p-index-fv__img {
	position: relative;
	overflow: hidden;
}
.p-index-fv__img::before,
.p-index-fv__img::after {
	content: "";
	position: absolute;
	width: 35%;
	aspect-ratio: 1;
	border-radius: 50%;
	filter: blur(6rem);
	mix-blend-mode: overlay;
	z-index: 2;
	pointer-events: none;
}
.p-index-fv__img::before {
	top: -10%;
	left: -10%;
	background: radial-gradient(circle, var(--c_ye) 0%, transparent 70%);
	animation: fvSpotA 6s ease-in-out infinite;
}
.p-index-fv__img::after {
	bottom: -15%;
	right: -10%;
	background: radial-gradient(circle, var(--c_pk) 0%, transparent 70%);
	animation: fvSpotB 8s ease-in-out infinite;
}
@keyframes fvSpotA {
	0%, 100% {
		transform: translate(0,0) scale(1);
		opacity: .3;
	}
	50% {
		transform: translate(20%, 15%) scale(1.2);
		opacity: .8;
	}
}
@keyframes fvSpotB {
	0%, 100% {
		transform: translate(0,0) scale(1);
		opacity: .4;
	}
	50% {
		transform: translate(-15%, -20%) scale(1.3);
		opacity: .8;
	}
}
.p-index-fv__img img {
	width: 100%;
	display: block;
}
.p-index-fv__cont > * {
	clip-path: inset(0 0 0 0);
}
.p-index-fv__cont img {
	transition: 1s .7s  cubic-bezier(.165, .84, .44, 1);
	opacity: 1;
	transform: translateY(100%);
}
.p-index-fv__cont .place img {
	transition-delay: 1s;
}
.p-index-fv__cont.act img {
	opacity: 1;
	transform: translateY(0);
}
/* キャラクター */
.p-index-fv__characters{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	aspect-ratio: 1030 / 521;
	width: 53.64583vw;
}
.p-index-fv__decorations{
	position: absolute;
}
.p-index-fv__decorations.--left{
	top: 29%;
	left: 0;
	aspect-ratio: 211 / 278;
	width: 10.989583vw;
}
.p-index-fv__decorations.--left .--01{
	position: absolute;
	bottom: 0;
	right: 17%;
	aspect-ratio: 131 / 145;
	width: 6.822917vw;
	z-index: 0;
}
.p-index-fv__decorations.--left .--01 img {
	animation: speakerBeatSoft 2s cubic-bezier(.36,.07,.19,.97) infinite;
	transform-origin: center;
}
@keyframes speakerBeatSoft {
	0% {
		transform: scale(1) rotate(0deg);
	}
	6% {
		transform: scale(1.025) rotate(-1.2deg);
	}
	14% {
		transform: scale(0.98) rotate(0.8deg);
	}
	22% {
		transform: scale(1.012) rotate(-0.6deg);
	}
	30% {
		transform: scale(0.992) rotate(0.4deg);
	}
	40% {
		transform: scale(1.006) rotate(0deg);
	}
	50%, 100% {
		transform: scale(1) rotate(0deg);
	}
}
.p-index-fv__decorations.--left .--02{
	position: absolute;
	top: 0;
	right: 10%;
	aspect-ratio: 76 / 119;
	width: 3.9583vw;
	z-index: 1;
}
.p-index-fv__decorations.--left .--02 img {
	animation: noteFloat 2.4s ease-in-out infinite;
}
.p-index-fv__decorations.--left .--03{
	position: absolute;
	bottom: 10%;
	left: -5%;
	aspect-ratio: 62 / 140;
	width: 3.229167vw;
	z-index: 0;
}
.p-index-fv__decorations.--left .--03 img {
	animation: boltFlicker 2.6s ease-in-out infinite;
	transform-origin: center;
}
.p-index-fv__decorations.--right{
	top: 26%;
	right: 4.4%;
	aspect-ratio: 220 / 234;
	width: 11.45833vw;
}
.p-index-fv__decorations.--right .--01{
	position: absolute;
	top: 0;
	left: 0;
	aspect-ratio: 94 / 79;
	width: 4.89583vw;
	z-index: 0;
}
.p-index-fv__decorations.--right .--01 img {
	animation: noteFloat 2.2s ease-in-out infinite;
	animation-delay: .3s;
}
.p-index-fv__decorations.--right .--02{
	position: absolute;
	bottom: 0;
	right: 0;
	aspect-ratio: 61 / 137;
	width: 3.177083vw;
	z-index: 1;
}
.p-index-fv__decorations.--right .--02 img {
	animation: boltFlicker 2.6s ease-in-out infinite;
	animation-delay: .5s;
	transform-origin: center;
}
.p-index-fv__decorations.--bottom{
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateY(82%) translateX(-50%);
	aspect-ratio: 614 / 152;
	width: 31.97917vw;
}
.p-index-fv__decorations.--bottom .--01{
	position: absolute;
	top: 0%;
	left: -20%;
	aspect-ratio: 367 / 152;
	width: 19.114583vw;
	z-index: 1;
}
.p-index-fv__decorations.--bottom .--01 img {
	animation: fvDecoBounce 1.6s cubic-bezier(.34,1.56,.64,1) infinite;
	transform-origin: bottom center;
}
.p-index-fv__decorations.--bottom .--02{
	position: absolute;
	top: 11%;
	right: 17%;
	aspect-ratio: 186 / 127;
	width: 9.6875vw;
	z-index: 1;
}
.p-index-fv__decorations.--bottom .--02 img {
	animation: fvDecoBounce 1.6s cubic-bezier(.34,1.56,.64,1) infinite;
	animation-delay: .2s;
	transform-origin: bottom center;
}
@keyframes fvDecoBounce {
	0%, 30%, 55%, 100% {
		transform: translateY(0) rotate(0deg);
	}
	15% {
		transform: translateY(-6%) rotate(-2deg);
	}
	35% {
		transform: translateY(-1.5%) rotate(2deg);
	}
}
@keyframes boltFlicker {
	0%, 100% {
		transform: scale(1) rotate(0deg);
		opacity: 1;
	}
	45% {
		transform: scale(1) rotate(0deg);
		opacity: 1;
	}
	50% {
		transform: scale(1.04) rotate(-1.5deg);
		opacity: .85;
	}
	55% {
		transform: scale(0.98) rotate(1deg);
		opacity: 1;
	}
	60% {
		transform: scale(1) rotate(0deg);
		opacity: 1;
	}
}

.p-index-fv__character-image {
  position: absolute;
}
.p-index-fv__character-image img {
  width: 100%;
  max-width: 100%;
  height: auto;
  transform-origin: bottom center;
}
.p-index-fv__character-image.--01 {
	left: 16%;
	top: 20%;
  aspect-ratio: 246 / 379;
  width: 12.8125vw;
  z-index: 1;
}
.p-index-fv__character-image.--01 img {
  animation: fvCharGrooveA 1.6s ease-in-out infinite;
}
.p-index-fv__character-image.--02 {
  top: 60%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  aspect-ratio: 282 / 409;
  width: 14.687vw;
  z-index: 2;
}
.p-index-fv__character-image.--02 img {
  animation: fvCharGrooveB 1.4s ease-in-out infinite;
  animation-delay: .2s;
}
.p-index-fv__character-image.--03 {
  top: 12%;
  right: 15%;
  aspect-ratio: 361 / 448;
  width: 18.8020833vw;
  z-index: 1;
}
.p-index-fv__character-image.--03 img {
  animation: fvCharGrooveA 1.8s ease-in-out infinite;
  animation-delay: .4s;
}
@keyframes fvCharGrooveA {
	0%, 100% {
		transform: translateY(0) rotate(0deg);
	}
	25% {
		transform: translateY(-2%) rotate(-3deg);
	}
	50% {
		transform: translateY(0) rotate(0deg);
	}
	75% {
		transform: translateY(-1%) rotate(3deg);
	}
}
@keyframes fvCharGrooveB {
	0%, 100% {
		transform: translateY(0) rotate(0deg);
	}
	30% {
		transform: translateY(-1.5%) rotate(4deg);
	}
	60% {
		transform: translateY(0) rotate(-4deg);
	}
	85% {
		transform: translateY(-1%) rotate(0deg);
	}
}
.p-index-fv__cont {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 5%;
	max-width: 26.77vw;
	z-index: 10;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap: 2rem;
}
.p-index-fv__cont::before,
.p-index-fv__cont::after {
	content: "";
	position: absolute;
	width: 2rem;
	aspect-ratio: 1;
	background: radial-gradient(circle, var(--c_ye) 0%, transparent 70%);
	pointer-events: none;
	opacity: 0;
	animation: fvSparkle 2.4s ease-in-out infinite .5s;
}
.p-index-fv__cont::before {
	top: -1rem;
	left: -1rem;
}
.p-index-fv__cont::after {
	bottom: 1rem;
	right: -2rem;
	background: radial-gradient(circle, var(--c_pk) 0%, transparent 70%);
	animation-delay: 1.2s;
}
.p-index-fv__cont .place {
	max-width: 75.94%;
}
.p-index-fv__light {
	position: absolute;
	inset: 0;
	z-index: 12;
	pointer-events: none;
}
.p-index-fv__light li {
	position: absolute;
	width: 3rem;
	aspect-ratio: 1;
	background: radial-gradient(circle, var(--c_ye) 0%, transparent 70%);
	opacity: 0;
	animation: fvSparkle 2.6s ease-in-out infinite;
}
.p-index-fv__light li:nth-child(1) {
	top: 14%;
	left: 10%;
	animation-delay: .2s;
}
.p-index-fv__light li:nth-child(2) {
	top: 62%;
	left: 24%;
	background: radial-gradient(circle, var(--c_pk) 0%, transparent 70%);
	animation-delay: 1.6s;
	animation-duration: 3.1s;
}
.p-index-fv__light li:nth-child(3) {
	top: 28%;
	left: 36%;
	animation-delay: 2.8s;
	animation-duration: 2.2s;
}
.p-index-fv__light li:nth-child(4) {
	top: 18%;
	right: 2%;
	background: radial-gradient(circle, var(--c_pk) 0%, transparent 70%);
	animation-delay: .9s;
}
.p-index-fv__light li:nth-child(5) {
	top: 18%;
	left: 72%;
	animation-delay: 2s;
	animation-duration: 2.9s;
}
.p-index-fv__light li:nth-child(6) {
	top: 48%;
	left: 86%;
	background: radial-gradient(circle, var(--c_pk) 0%, transparent 70%);
	animation-delay: 3.3s;
}
.p-index-fv__light li:nth-child(7) {
	top: 80%;
	left: 8%;
	animation-delay: .6s;
	animation-duration: 2.4s;
}
@keyframes fvSparkle {
	0%, 100% {
		transform: scale(.4) rotate(0deg);
		opacity: .5;
	}
	50% {
		transform: scale(1.3) rotate(45deg);
		opacity: 1;
	}
}
.p-index-lead {
	background: url(../img/bg-trans.png) top 25% center repeat-y;
	background-size: 100% auto;
	background-color: #2C8293;
	padding-top: 3rem;
}
.p-index-lead__txt {
	position: relative;
	z-index: 1;
	color: var(--c_bk);
	width: 59rem;
	aspect-ratio: 590/274;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
}
.p-index-lead__txt h2 {
	font-size: 1.8rem;
	font-weight: 500;
}
.p-index-lead__txt h2 img {
	max-height: 1.8rem;
	vertical-align: -.05em;
	margin-left: 0.2em;
}
.p-index-lead__txt::before {
	content: "";
	display: block;
	background: url(../img/lead_txt_bg.svg) center center no-repeat;
	background-size: contain;
	aspect-ratio: 1;
	width: 100%;
	aspect-ratio: 590/274;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: -1;
	transform-origin: center;
}
.p-index-lead__txt.act::before {
	animation: burstPulse 1.2s .4s cubic-bezier(.34,1.56,.64,1) forwards;
}
@keyframes burstPulse {
	0%, 60%, 100% {
		transform: translate(-50%,-50%) scale(1) rotate(0deg);
	}
	20% {
		transform: translate(-50%,-50%) scale(1.08) rotate(-2deg);
	}
	35% {
		transform: translate(-50%,-50%) scale(0.97) rotate(2deg);
	}
}
.p-index-lead__txt figure {
	max-width: 6.25rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: -.7rem;
}
.p-index-lead__txt figure:nth-of-type(2) {
	transform: translateY(-50%) scale(-1,1);
	left: auto;
	right: -.7rem;
}
.p-index-lead .txt {
	font-size: 1.8rem;
	line-height: 1.8;
	font-weight: 500;
	margin-top: 7rem;
}
.p-index-lead__img .img {
	margin-top: 7rem;
	clip-path: inset(0 0 0 0);
}
.p-index-lead__img .img img {
	max-height: 16.5rem;
	transition: 1s .8s  cubic-bezier(.165, .84, .44, 1);
	opacity: 0;
	transform: translateY(45%);
}
.p-index-lead__img .img.act img {
	opacity: 1;
	transform: translateY(0);
}
.p-index-lead__img h3 {
	font-size: 5rem;
	margin-top: 2rem;
	clip-path: inset(0 0 0 0);
}
.p-index-lead__img h3 span {
	display: block;
	transition: 1s 1s  cubic-bezier(.165, .84, .44, 1);
	opacity: 1;
	transform: translateY(100%);
}
.p-index-lead__img h3.act span {
	opacity: 1;
	transform: translateY(0);
}
.p-index-news {
	background: url(../img/bg02.jpg) center center no-repeat;
	background-size: cover;
	padding-bottom: 0;
}
.p-index-news__list li {
	position: relative;
}
.p-index-news__list li a {
	text-align: left;
	display: flex;
	align-items: center;
	padding: 4rem 5rem 4rem 0;
	position: relative;
	gap: 1rem 3rem;
	border-bottom: 1px solid var(--c_wh);
}
.p-index-news__list li.inview {
	clip-path: inset(0 100% 0 0);
	transition: clip-path .6s cubic-bezier(.65,0,.35,1);
}
.p-index-news__list li.inview.act {
	clip-path: inset(0 0% 0 0);
}
.p-index-news__list li:nth-child(2).inview {
	transition-delay: .15s;
}
.p-index-news__list li:nth-child(3).inview {
	transition-delay: .3s;
}
.p-index-news__list li::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: -1px;
	height: 2px;
	width: 100%;
	background: var(--c_ye);
	z-index: 1;
	transform: scaleX(0);
	transform-origin: right center;
	transition: transform .5s cubic-bezier(.65,0,.35,1);
}
.p-index-news__list li:hover::before {
	transform: scaleX(1);
	transform-origin: left center;
}
.p-index-news__list li::after {
	content: "";
	display: block;
	background: url(../img/icon_note.png) center center no-repeat;
	background-size: contain;
	width: 3.4rem;
	aspect-ratio: 1;
	position: absolute;
	right: 0;
	bottom: 3.5rem;
}
.p-index-news__list li:hover::after {
	animation: newsCharGroove 1.6s ease-in-out infinite;
}
.news-date {
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--c_ye);
	white-space: nowrap;
}
.p-index-news__list li .txt {
	display: block;
	font-size: 1.8rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
	color: var(--c_wh);
	transition: .2s;
}
.p-index-news__list li:hover .txt {
	color: var(--c_ye);
}
.p-index-news__inner {
	position: relative;
	padding-bottom: 18rem;
}
.p-index-news__img {
	position: absolute;
	left: 0;
	bottom: 1rem;
	max-width: 17.3rem;
}
.p-index-news__img figure {
	position: absolute;
	top: -1rem;
	left: -2.7rem;
	max-width: 1.6rem;
	animation: noteFloat 2.4s ease-in-out infinite;
}
.p-index-news__img figure:nth-of-type(2) {
	top: 1rem;
	left: 0;
	max-width: 2.7rem;
	animation-duration: 2s;
	animation-delay: .6s;
}
.p-index-news__img .img {
	animation: newsCharGroove 1.6s ease-in-out infinite;
	transform-origin: bottom center;
}
@keyframes newsCharGroove {
	0%, 100% {
		transform: translateY(0) rotate(0deg);
	}
	25% {
		transform: translateY(-0.6rem) rotate(-2deg);
	}
	50% {
		transform: translateY(0) rotate(0deg);
	}
	75% {
		transform: translateY(-0.3rem) rotate(2deg);
	}
}
@keyframes noteFloat {
	0%, 100% {
		transform: translateY(0) rotate(0deg);
		opacity: 1;
	}
	30% {
		transform: translateY(-0.8rem) rotate(-10deg);
		opacity: 1;
	}
	60% {
		transform: translateY(0.2rem) rotate(8deg);
		opacity: .8;
	}
	80% {
		transform: translateY(-0.4rem) rotate(-4deg);
		opacity: 1;
	}
}
.p-index-ln__lead {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem 2rem;
	padding: 0 2rem 2rem;
	margin-bottom: 6rem;
	border-bottom: 1px solid var(--c_wh);
}
.c-date {
	display: flex;
	align-items: center;
	gap: 0 4.5rem;
	font-size: 2.4rem;
	text-align: left;
	white-space: nowrap;
}
.c-date .num {
	width: 4rem;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.8rem;
	font-weight: 600;
	background: #FF76B4;
	border-radius: 50%;
	aspect-ratio: 1;
}
.c-date .num._02 {
	background: #53B9CC;
}
.c-date .num._03 {
	background: #FF5A3F;
}
.c-date .date {
	display: flex;
	align-items: center;
	gap: 2rem;
	font-feature-settings: "halt";
	line-height: 0.8;
}
.c-date .date strong {
	font-size: 2.4rem;
	font-size: 208%;
	line-height: .8;
	vertical-align: .1em;
}
.c-date .date small {
	font-size: 83.3%;
}
.c-open {
	display: flex;
	align-items: center;
	gap: 2rem;
	font-size: 1.8rem;
}
.c-open .eng {
	font-size: 111%;
	margin-right: 0.3em;
}
.p-index-ln section:not(:first-of-type) {
	margin-top: 12rem;
}
.p-index-ln__list {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 6rem 3rem;
	text-align: left;
}
.p-index-ln__list .img {
	overflow: hidden;
	border-radius: 1rem;
	aspect-ratio: 1;
}
.p-index-ln__list .img img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transform: scale(1.1);
	opacity: 1!important;
	transition: 2.2s .4s;
	filter: grayscale(0.5) blur(2px);
}
.p-index-ln__list li.act .img img {
	transform: scale(1.01);
	filter: grayscale(0) blur(0px);
}
.p-index-ln__list li.inview {
	clip-path: inset(0 0 100% 0);
	transition: clip-path .6s cubic-bezier(.65,0,.35,1);
}
.p-index-ln__list li.inview.act {
	clip-path: inset(0 0 0% 0);
}
.p-index-ln__list li:nth-child(2).inview {
	transition-delay: .15s;
}
.p-index-ln__list li:nth-child(3).inview {
	transition-delay: .3s;
}
.p-index-ln__list li:nth-child(5).inview {
	transition-delay: .15s;
}
.p-index-ln__list h3 {
	font-size: 2.2rem;
	font-weight: 600;
	margin: 2rem 0 .5rem;
}
.p-index-ln__list .txt {
	font-weight: 500;
}
.p-index-about {
	background: #196878;
}
.p-index-about__list {
	border-top: 1px solid var(--c_wh);
}
.p-index-about__list li {
	padding: 3rem 2rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-bottom: 1px solid var(--c_wh);
}
.p-index-about__list li.inview {
	clip-path: inset(0 0 100% 0);
	transition: clip-path .6s cubic-bezier(.65,0,.35,1);
}
.p-index-about__list li.inview.act {
	clip-path: inset(0 0 0% 0);
}
.p-index-about__list li:nth-child(2).inview {
	transition-delay: .15s;
}
.p-index-about__list li:nth-child(3).inview {
	transition-delay: .3s;
}
.c-notice {
	text-align: left;
	font-size: 1.4rem;
	font-weight: 400;
	margin-top: 3rem;
}
.p-index-ticket__cont {
	text-align: left;
}
.p-index-ticket__cont:not(:first-of-type) {
	margin-top: 8rem;
}
.p-index-ticket__cont h3 {
	font-size: 2rem;
	display: flex;
	align-items: center;
	gap: 0 1rem;
	border-bottom: 1px solid var(--c_wh);
	padding-bottom: 2rem;
	margin-bottom: 5rem;
	clip-path: inset(0 100% 0 0);
	transition: clip-path .7s cubic-bezier(.65,0,.35,1);
}
.p-index-ticket__cont.act h3 {
	clip-path: inset(0 0 0% 0);
}
.p-index-ticket__cont h3::before {
	content: "";
	display: block;
	background: url(../img/icon_note.png) center center no-repeat;
	background-size: contain;
	aspect-ratio: 1;
	width: 3.4rem;
	animation: newsCharGroove 1.6s ease-in-out infinite;
	transform-origin: bottom center;
}
@keyframes newsCharGroove {
	0%, 100% {
		transform: translateY(0) rotate(0deg);
	}
	25% {
		transform: translateY(-0.6rem) rotate(-2deg);
	}
	50% {
		transform: translateY(0) rotate(0deg);
	}
	75% {
		transform: translateY(-0.3rem) rotate(2deg);
	}
}
.p-index-ticket__link {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 3rem;
}
.p-index-ticket__link a {
	display: flex;
	justify-content: center;
	align-items: center;
	color: var(--c_wh);
	background: var(--c_pk);
	border-radius: 1rem;
	text-align: center;
	font-size: 2rem;
	font-weight: 700;
	padding: 1.5rem 1rem;
}
.p-index-ticket__link a:hover {
	background-color: var(--c_ye);
	color: var(--c_gr);
}
.p-index-ticket__detail th,
.p-index-ticket__detail td {
	text-align: left;
	background: var(--c_wh);
	border: 1px solid #C8C8C8;
	vertical-align: middle;
	color: var(--c_bk);
	font-weight: 500;
	padding: 2rem 3rem;
	min-height: 10rem;
}
.p-index-ticket__detail th {
	background: #FFFFCD;
	height: 10rem;
}
.p-index-ticket__contact  h4{
	font-size: 2rem;
	margin-bottom: 1rem;
}
.p-index-ticket__contact a {
	color: var(--c_ye);
	font-size: 3.4rem;
}
.p-index-ticket__contact .c-notice {
	margin-top: 1rem;
}
.p-index-illust {
	display: flex;
	align-items: center;
	text-align: center;
}
.p-index-illust__list {
	width: 100vw;
	min-width: 100vw;
	display: flex;
	align-items: center;
	animation: loop infinite linear 35s both;
}
.p-index-illust__list figure {
	flex-grow: 1;
	padding: 0 1rem;
	animation: illustBounce 1.8s cubic-bezier(.34,1.56,.64,1) infinite;
}
.p-index-illust__list figure:nth-child(2) {
	animation-delay: .2s;
}
.p-index-illust__list figure:nth-child(3) {
	animation-delay: .4s;
}
.p-index-illust__list figure:nth-child(4) {
	animation-delay: .6s;
}
.p-index-illust__list figure:nth-child(5) {
	animation-delay: .8s;
}
.p-index-illust__list figure:nth-child(6) {
	animation-delay: 1s;
}
.p-index-illust__list figure:nth-child(7) {
	animation-delay: 1.2s;
}
@keyframes illustBounce {
	0%, 30%, 55%, 100% {
		transform: translateY(0);
	}
	15% {
		transform: translateY(-1.6rem);
	}
	35% {
		transform: translateY(-0.5rem);
	}
}
.p-index-goods__wrap {
	padding: 9rem 2rem;
	background: var(--c_wh);
	border-radius: 1rem;
	position: relative;
	color: var(--c_bk);
}
.p-index-goods__wrap figure {
	max-width: 8.1rem;
	position: absolute;
	bottom: -2rem;
	left: -2rem;
	z-index: 1;
}
.p-index-goods__wrap figure:nth-of-type(2) {
	transform: scale(-1,1);
	left: auto;
	right: -2rem;
}
.p-index-goods__list {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 3rem 6rem;
	margin: 0 auto;
	max-width: 100rem;
}
.p-index-goods__list li {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	text-align: left;
}
.p-index-goods__list li.inview {
	clip-path: inset(100% 0 0 0);
	transition: clip-path .6s cubic-bezier(.65,0,.35,1);
}
.p-index-goods__list li.inview.act {
	clip-path: inset(0 0 0 0);
}
.p-index-goods__list li:nth-child(2).inview {
	transition-delay: .15s;
}
.p-index-goods__list li:nth-child(3).inview {
	transition-delay: .3s;
}
.p-index-goods__list .img {
	border-radius: .5rem;
	overflow: hidden;
}
.p-index-goods__list h3 {
	font-size: 2rem;
	font-weight: 700;
	color: var(--c_pk);
	text-align: center;
}
.p-index-goods__price {
	font-size: 1.8rem;
	text-align: center;
}
.comingsoon {
	width: fit-content;
	margin: 0 auto;
	transform: rotate(-4deg);
}
.comingsoon span {
	display: block;
	font-size: 4.5rem;
	line-height: 1;
	background: var(--c_pk) url(../img/bg-trans-top.png) top 35% right no-repeat;
	background-size: 160% auto;
	border-radius: 1rem;
	padding: 1rem 4rem 1.2rem;
	box-shadow: .5rem .6rem 0 rgba(0,0,0,.8);
	border: 3px solid var(--c_ye);
	color: var(--c_wh);
}	
.comingsoon.act span {
	animation: speakerBeat 2s cubic-bezier(.36, .07, .19, .97) forwards;
}
.p-index-artist {
	overflow: visible;
}
.p-index-artist__wrap {
	display: grid;
	grid-template-columns: 1fr 76rem;
	gap: 3rem;
}
.p-index-artist__nav ul {
	position: sticky;
	top: 10rem;
	left: 0;
	text-align: left;
}
.p-index-artist__nav li a {
	color: var(--c_wh);
	font-size: 1.8rem;
	display: inline-block;
	margin-bottom: 1em;
	opacity: .5;
	transition: opacity .3s;
	position: relative;
}
.p-index-artist__nav li a::before {
	content: "";
	display: block;
	background: var(--c_ye);
	opacity: .7;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	clip-path: inset(0 100% 0 0);
	transition: .2s;
}
.p-index-artist__nav li a:hover,
.p-index-artist__nav li.is-active a {
	opacity: 1;
}
.p-index-artist__nav li.is-active a::before {
	clip-path: inset(0 0 0 0);
}
.p-index-artist__item {
	padding: 4rem;
	border-radius: 2rem;
	text-align: left;
	border: 1px solid var(--c_wh);
	display: grid;
	grid-template-columns: 15rem 1fr;
	gap: 3rem;
}
.p-index-artist__item:not(:first-of-type) {
	margin-top: 3rem;
}
.p-index-artist__item.inview {
	clip-path: inset(0 100% 0 0);
	opacity: 0;
	background: var(--c_wh);
	transition: .6s .4s cubic-bezier(.65,0,.35,1);
}
.p-index-artist__item.inview.act {
	clip-path: inset(0 0 0 0);
	opacity: 1;
	background: transparent;
}
.p-index-artist__lead .img {
	margin-bottom: 1.5rem;
}
.p-index-artist__cont .logo {
	width: 24rem;
	height: 6rem;
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--c_wh);
	margin-bottom: 1.5rem;
}
.p-index-artist__cont .logo img {
	width: auto;
	height: auto;
	max-width: 90%;
	max-height: 60%;
}
.p-index-artist__cont h3 {
	display: flex;
	align-items: center;
	gap: 1rem;
	font-size: 1.4rem;
	font-weight: 400;
	margin-bottom: 3.5rem;
}
.p-index-artist__cont h3 .eng {
	font-size: 1.8rem;
	font-weight: 600;
}
.p-index-artist__cont .txt {
	margin-bottom: 3rem;
}
.p-index-artist__cont h4 {
	display: inline-block;
	border: 1px solid var(--c_wh);
	border-radius: 10rem;
	padding: 1rem 5rem;
	font-size: 100%;
	font-weight: 500;
	margin-bottom: 1.5rem;
}
.p-index-artist__music li {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-top: 0.5rem;
}
.p-index-artist__music li::before {
	content: "";
	display: block;
	background: url(../img/icon_note.svg) center center no-repeat;
	background-size: contain;
	width: 1.9rem;
	aspect-ratio: 19/16;
}
.p-index-access__wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-direction: row-reverse;
	gap: 3rem 6rem;
}
.p-index-access__map {
	flex: 1;
	margin-right: calc(-50vw + 50%);
	border-radius: 4rem 0 0 4rem;
	overflow: hidden;
	height: 55rem;
}
.p-index-access__map iframe {
	width: 100%;
	height: 100%;
}
.p-index-access__cont {
	text-align: left;
	width: 50rem;
}
.p-index-access__cont h3 {
	font-size: 1.8rem;
	font-weight: 500;
	margin-bottom: 1.5rem;
}
.p-index-access__cont h3 .eng {
	font-size: 155%;
}
.p-index-access__cont .txt {
	margin-bottom: 5rem;
}
.p-index-access__cont li {
	display: grid;
	grid-template-columns: 2rem 1fr;
	align-items: start;
	gap: 1rem;
	margin-bottom: 3rem;
}
.p-index-access__cont li::before {
	content: "";
	display: block;
	background: url(../img/icon_star.png) center center no-repeat;
	background-size: contain;
	width: 1.6rem;
	aspect-ratio: 32/40;
	margin-bottom: -.3rem;
}
.p-index-message {
	position: relative;
	padding: 20rem 0;
}
.p-index-message .bg {
	position: absolute;
	inset: 0;
	overflow: hidden;
	z-index: -10;
}
.p-index-message .bg img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transform: scale(1.1);
	filter: brightness(1.75);
	transition: 3s ease-out;
}
.p-index-message.act .bg img {
	transform: scale(1.01);
	filter: brightness(1);
}
.p-index-message__wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 110rem;
}
.p-index-message__lead {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap: 6rem;
}
.p-index-message__lead .eng {
	font-size: 5rem;
}
.p-index-message__lead .img {
	position: relative;
	max-width: 17.1rem;
	z-index: 1;
}
.p-index-message__lead .img::before {
	content: "";
	display: block;
	width: 125%;
	aspect-ratio: 218/67;
	background: var(--c_ye);
	z-index: -1;
	position: absolute;
	left: 50%;
	bottom: -2rem;
	transform: translateX(-50%);
	border-radius: 50%;
	clip-path: ellipse(0% 0% at 50% 50%);
	transition: clip-path .6s cubic-bezier(.34,1.56,.64,1) .8s;
}
.p-index-message__wrap.act .p-index-message__lead .img::before {
	clip-path: ellipse(50% 50% at 50% 50%);
}
.p-index-message .txt {
	line-height: 1.8;
	text-align: left;
}

/*subPage
---------------------------------------------------------*/
#subPage {
	background: url(../img/bg-trans-top.png) top center no-repeat;
	background-size: contain;
	background-color: var(--c_gr);
	padding-top: 10rem;
}
.c-pagettl {
	padding: 6rem 0;
	text-align: left;
	border-bottom: 1px solid var(--c_wh);
}
.c-pagettl__wrap {
	position: relative;
}
.c-pagettl__ttl .eng {
	font-size: 6rem;
}
.c-pagettl__ttl h1 {
	font-size: 1.6rem;
	font-weight: 500;
}
.c-pagettl__img {
	position: absolute;
	right: 0;
	bottom: -6rem;
	max-width: 23.6rem;
}
.c-pagettl__img figure {
	position: absolute;
	top: -1rem;
	left: -2.7rem;
	max-width: 1.6rem;
	animation: noteFloat 2.4s ease-in-out infinite;
}
.c-pagettl__img figure:nth-of-type(2) {
	top: 1rem;
	left: 0;
	max-width: 2.7rem;
	animation-duration: 2s;
	animation-delay: .6s;
}

/*guideline
---------------------------------------------------------*/
.p-guideline__wrap {
	text-align: left;
	line-height: 1.8;
}
.p-guideline__wrap h2 {
	font-size: 2.2rem;
	font-weight: 700;
	color: var(--c_ye);
	margin-bottom: 4rem;
}
.p-guideline__wrap h2:not(:first-of-type) {
	margin-top: 10rem;
}
.p-guideline__wrap h3 {
	font-size: 112.5%;
	font-weight: 700;
	margin-bottom: 1rem;
	margin-top: 2rem;
}
.p-guideline__wrap p {
	margin-bottom: 1em;
}
.p-guideline__wrap ul li {
	display: grid;
	grid-template-columns: 2rem 1fr;
	align-items: start;
	gap: .5rem;
	margin-bottom: 2rem;
}
.p-guideline__wrap ul li::before {
	content: "";
	display: block;
	background: url(../img/icon_star.png) center center no-repeat;
	background-size: contain;
	width: 1.6rem;
	aspect-ratio: 32/40;
	margin-top: 0.5rem;
}
.p-guideline__wrap ol {
	list-style: decimal;
	padding-left: 5rem;
}
.c-mailto {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	font-weight: 500;
	color: var(--c_wh);
}
.c-mailto::before {
	content: "";
	display: block;
	background: url(../img/icon_mail.svg) center center no-repeat;
	background-size: contain;
	width: 2rem;
	aspect-ratio: 20/16;
}
.c-indent {
	padding-left: 3rem;
}
.c-topBtn {
	margin-top: 12rem;
}
.c-topBtn a {
	display: block;
	background: var(--c_ye);
	font-size: 1.8rem;
	font-weight: 700;
	width: 40rem;
	margin: 0 auto;
	position: relative;
	border-radius: 10rem;
	padding: 2rem 1rem;
}
.c-topBtn a::before,
.c-topBtn a::after {
	content: "";
	display: block;
	background: url(../img/btn_img01.png) center center no-repeat;
	background-size: contain;
	width: 8.8rem;
	aspect-ratio: 196/221;
	position: absolute;
	left: 2rem;
	bottom: -1rem;
	z-index: 1;
}
.c-topBtn a::after {
	background-image: url(../img/btn_img02.png);
	aspect-ratio: 196/236;
	left: auto;
	right: 2rem;
	animation-delay: .2s!important;
}
.c-topBtn a:hover {
	background-color: var(--c_rd);
	color: var(--c_wh);
}
.c-topBtn a:hover::before,
.c-topBtn a:hover::after {
	animation: speakerBeat 2s cubic-bezier(.36, .07, .19, .97) infinite;
	transform-origin: center;
}
@keyframes fixShake {
	0%, 100% {
		transform: scale(1) rotate(-6deg);
	}
	50% {
		transform: scale(1.02) rotate(6deg);
	}
}

/*news
---------------------------------------------------------*/
.p-news__wrap {
	display: grid;
	grid-template-columns: 1fr 25rem;
	gap: 6rem 10%;
	text-align: left;
}
.p-news__detail figure {
	margin-bottom: 5rem;
}
.p-news__detail h2 {
	font-size: 2.4rem;
	margin-bottom: 2rem;
}
.p-news__detail__txt {
	line-height: 1.8;
	margin-top: 5rem;
}
.p-news__aside h3 {
	font-size: 2.4rem;
	padding-bottom: 2rem;
	border-bottom: 1px solid var(--c_wh);
}
.p-news__aside a {
	display: block;
	padding: 2rem 1rem;
	color: var(--c_wh);
	border-bottom: 1px solid var(--c_wh);
}
.p-news__aside a .txt {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.p-news__aside a:hover {
	background: rgba(0,0,0,.1);
	color: var(--c_ye);
}













/*ieハック*/
@media screen\0  {
}

/*********************************/
/* タブレット用のスタイル記述 */
/*********************************/
@media screen and (max-width: 1150px) {
	html {
		font-size: .8vw;
	}
}

/*********************************/
/* スマートフォン用のスタイル記述 */
/*********************************/
@media screen and (max-width: 780px) {
/*全体レイアウト
---------------------------------------------------------*/
	html {
		font-size: 2.7777777vw;
	}
	body {
		font-size: 1.4rem;
		line-height: 1.5
	}
	article > section {
		padding: 6rem 0;
	}
	.c-ttl {
		font-size: 4rem;
		margin-bottom: 4rem;
	}
	.l-cont {
		margin-left: 0;
	}
	.c-notice {
		margin-top: 2rem;
	}
	.c-link {
    display: block;
    padding: 0.2em 0.6em;
    margin: 1rem 0 0 0;
    width: fit-content;
	}

	/*header
	-------------------------------------------------------*/
	.l-header {
		background: transparent!important;
		backdrop-filter: none!important;
		box-shadow: none!important;
		height: 50px;
	}
	.l-header__wrap {
		padding: 0;
	}
	.menuIcon {
		display: block;
		position: fixed;
		top: 0;
		right: 0;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 6px;
		width: 50px;
		height: 50px;
		cursor: pointer;
		z-index: 9999;
    background: rgba(0,0,0,.7);
    backdrop-filter: blur(10px);
	}
	.menuIcon.active {
		background: rgba(0,0,0,1);
	}
	.menuIcon span {
		display: block;
		width: 26px;
		height: 2px;
		background: var(--c_wh);
		border-radius: 2px;
		transition: all .25s;
		transform-origin: center;
	}
	.menuIcon.active span { background: var(--c_wh)!important;}
	.menuIcon.active span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
	.menuIcon.active span:nth-child(2) { opacity: 0; transform: scaleX(0); }
	.menuIcon.active span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

	.l-header__nav {
		display: block;
		position: fixed;
		inset: 0;
    background: rgba(0,0,0,.7);
    backdrop-filter: blur(10px);
		padding: 70px 2rem 2rem;
		min-width: 70vw;
		transition: .4s;
		font-size: 2rem;
		filter: blur(5px);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
	}
	.l-header__nav.active {
		filter: blur(0px);
		opacity: 1;
		visibility: visible;
		pointer-events: all;
	}
	.l-header__nav li:not(:first-of-type) {
		border-top: 1px solid rgba(255,255,255,.2);
	}
	.l-header__nav a {
		display: block;
		padding: 1.7rem 1rem;
	}

	/*footer
	-------------------------------------------------------*/
	.l-footer__line__item {
		animation-duration: 35s;
	}
	.l-footer__line__item p {
    width: calc(200vw / 2);
	}
	.l-footer__wrap {
		flex-direction: column;
		align-items: flex-start;
		font-size: 1.6rem;
		padding: 2rem;
		gap: 1.2rem;
		padding-right: 11rem;
	}
	.fix {
		width: 10rem;
		right: 0;
		bottom: .2rem;
	}

	/*index
	-------------------------------------------------------*/
	.p-index-fv__characters{
		aspect-ratio: 630 / 321;
		width: 82.03125vw;
    transform: translateY(-70%) translateX(-48%);
	}
	.p-index-fv__decorations.--left{
		top: 38%;
    left: -5%;
    aspect-ratio: 130 / 171;
    width: 20vw;
	}
	.p-index-fv__decorations.--right{
    top: 41%;
    right: -4%;
    aspect-ratio: 130 / 125;
    width: 16.92708vw;
	}
	.p-index-fv__decorations.--right .--01{
		width: 8vw;
	}
	.p-index-fv__decorations.--right .--02{
		width: 5vw;
	}
	.p-index-fv__decorations.--left .--01{
    bottom: 10%;
    right: 17%;
		width: 11vw;
	}
	.p-index-fv__decorations.--left .--02{
		top: 0;
    right: 26%;
		width: 7vw;
	}
	.p-index-fv__decorations.--left .--03{
		bottom: 23%;
		left: -5%;
		width: 4vw;
	}
	.p-index-fv__decorations.--bottom{
		transform: translateY(162%) translateX(-50%);
		aspect-ratio: 276 / 78;
		width: 45vw;
	}
	.p-index-fv__decorations.--bottom .--01{
		top: 0;
		left: 0;
		width: 25vw;
	}
	.p-index-fv__decorations.--bottom .--02{
    top: 11%;
    right: 0;
    aspect-ratio: 186 / 127;
    width: 15vw;
	}
	.p-index-fv__character-image.--01{
    top: 30%;
		left: 12%;
		width: 21vw;
	}
	.p-index-fv__character-image.--02{
		top: 70%;
		width: 26vw;
	}
	.p-index-fv__character-image.--03{
    top: 26%;
    right: 6%;
		width: 31vw;
	}
	.p-index-fv__cont {
		bottom: 1%;
    max-width: 75%;
    gap: 0.3rem;
	}
	.p-index-fv__cont .place {
    max-width: 80%;
	}
	.p-index-fv__light li {
		width: 2rem;
	}
	.p-index-fv::before {
		width: 100%;
	}
	.p-index-fv::after {
		width: 100%;
	}
	.p-index-lead__txt {
		width: 100%;
	}
	.p-index-lead__txt::before {
		width: 115%;
	}
	.p-index-lead__txt figure {
		width: 4.2rem;
		left: -1.2rem;
	}
	.p-index-lead__txt figure:nth-of-type(2) {
		right: -1.2rem;
	}
	.p-index-lead__txt h2 {
		font-size: 1.4rem;
	}
	.p-index-lead .txt {
		font-size: 1.6rem;
		margin-top: 5rem;
	}
	.p-index-lead__img .img {
		margin-top: 5rem;
	}
	.p-index-lead__img .img img {
    max-height: 15rem;
	}
	.p-index-lead__img h3 {
    font-size: 3rem;
	}
	.p-index-news__list li a {
		display: block;
		padding: 1.7rem 1rem;
	}
	.p-index-news__list li a .txt {
		white-space: normal;
		margin-top: 1rem;
		font-size: 1.4rem;
		display: -webkit-box;             
		-webkit-box-orient: vertical;
		text-overflow: ellipsis;
		-webkit-line-clamp: 2;
		line-clamp: 2;
	}
	.p-index-news__list li::after {
    width: 2.7rem;
    top: 1rem;
		bottom: auto;
    transform: none;
		animation: newsCharGroove 1.6s ease-in-out infinite;
    transform-origin: bottom center;
	}
	.p-index-news__img {
		max-width: 15rem;
		margin-left: 8rem;
	}
	.p-index-news__inner {
		padding-bottom: 24rem;
	}
	.p-index-ln__lead {
		flex-direction: column;
		gap: 1.5rem;
		padding: 0 0 3rem;
		margin-bottom: 3rem;
	}
	.c-date .num {
		width: 5rem;
		font-size: 2.4rem;
	}
	.c-date {
		font-size: 2.2rem;
		text-align: center;
		gap: 2rem 1.5rem;
		flex-direction: column;
	}
	.c-date .date {
		gap: 1rem 1.5rem;
	}
	.c-date .date {
		flex-wrap: wrap;
		justify-content: center;
	}
	.c-date .date strong {
		font-size: 180%;
	}
	.c-date .date small {
		display: block;
		width: 100%;
	}
	.p-index-ln__list {
		grid-template-columns: repeat(2,1fr);
		gap: 2rem;
	}
	.p-index-ln__list h3 {
		font-size: 1.8rem;
		margin-top: 1.5rem;
	}
	.p-index-ln section:not(:first-of-type) {
		margin-top: 6rem;
	}
	.p-index-about__list li {
		flex-direction: column;
		gap: 1.5rem;
	}
	.p-index-ticket__cont h3 {
		margin-bottom: 3rem;
	}
	.p-index-ticket__link {
		grid-template-columns: repeat(2,1fr);
		gap: 1rem;
	}
	.p-index-ticket__link a {
		font-size: 1.6rem;
	}
	.p-index-ticket__detail th,
	.p-index-ticket__detail td {
		font-size: 1.6rem;
		display: block;
		padding: 1.5rem;
		min-height: inherit;
		height: auto;
		border-color: #eee;
	}
	.p-index-ticket__detail th {
		font-size: 1.8rem;
	}
	.p-index-ticket__detail td.td-blank {
		height: 0;
		padding: 0;
		border: none;
	}
	.p-index-illust {
		padding: 4rem 0;
	}
	.p-index-illust__list {
    width: 200vw;
    min-width: 200vw;
		animation-duration: 20s;
	}
	.p-index-goods__wrap {
		padding: 4rem 2rem;
	}
	.p-index-goods__list {
		grid-template-columns: repeat(1,1fr);
	}
	.p-index-goods__list li {
		gap: 1rem;
		border-top: 1px solid var(--c_gr);
		padding: 3rem 1rem 0;
	}
	.p-index-goods__list h3 {
		font-size: 1.8rem;
	}
	.p-index-goods__wrap figure {
		width: 5rem;
		bottom: auto;
		top: -2rem;
	}
	.comingsoon span {
		font-size: 2.6rem;
		white-space: nowrap;
		padding: 1rem 2.5rem 1.2rem;
	}
	.p-index-artist {
		overflow: hidden;
	}
	.p-index-artist__wrap {
		display: block;
	}
	.p-index-artist__nav ul {
		position: static;
		margin-bottom: 4rem;
		display: flex;
		flex-wrap: wrap;
		gap: 1rem
	}
	.p-index-artist__nav li a {
		font-size: 1.4rem;
		opacity: 1;
		margin-bottom: 0;
		background: rgba(0,0,0,.2);
		display: flex;
		justify-content: center;
		align-items: center;
		gap: .7rem;
		padding: .7rem 1.5rem;
	}
	.p-index-artist__nav li a::after {
		display: block;
		content: "";
		clip-path: polygon(50% 100%, 0% 0%, 100% 0%);
		width: .8rem;
		aspect-ratio: 4/3;
		background: var(--c_wh);
	}
	.p-index-artist__item {
		border-radius: 1rem;
		padding: 2rem 1.5rem;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 2rem 4%;
	}
	.p-index-artist__cont {
		display: contents;
	}
	.p-index-artist__lead {
		width: 48%;
	}
	.p-index-artist__cont dt {
		width: 48%;
	}
	.p-index-artist__cont .logo {
		width: 100%;
		height: 4.5rem;
	}
	.p-index-artist__cont h3 {
		flex-direction: column;
		align-items: flex-start;
		font-size: 1.8rem;
		gap: .2rem;
	}
	.p-index-artist__music li::before {
		width: 1.5rem;
		min-width: 1.5rem;
	}
	.p-index-artist__music li span {
		white-space: nowrap;
	}
	.p-index-access__wrap {
		display: block;
	}
	.p-index-access__map {
		height: 15rem;
		border-radius: 1rem 0 0 1rem;
		margin-bottom: 3rem;
	}
	.p-index-access__cont {
		width: 100%;
	}
	.p-index-access__cont h3 {
		font-size: 1.4rem;
	}
	.p-index-access__cont h3 .eng {
		display: block;
	}
	.p-index-access__cont .txt {
		margin-bottom: 2rem;
	}
	.p-index-access__cont li {
		gap: .5rem;
		margin-bottom: 2rem;
	}
	.p-index-message {
		padding: 8rem 0;
	}
	.p-index-message__wrap {
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 5rem;
	}
	.p-index-message__lead {
		gap: 2rem;
	}
	.p-index-message__lead .eng {
		font-size: 3rem;
	}
	.p-index-message__lead .img {
		max-width: 13rem;
	}

	/*subPage
	-------------------------------------------------------*/
	#subPage {
		padding-top: 5rem;
	}
	.c-pagettl {
		padding: 1rem 0 3rem;
	}
	.c-pagettl__ttl .eng {
		font-size: 3.5rem;
	}
	.c-pagettl__img {
		max-width: 8.5rem;
		right: -1.5rem;
		bottom: -3rem;
	}
	.c-pagettl__img figure {
		left: -1.5rem;
	}
	.c-pagettl__img figure:nth-of-type(2) {
		max-width: 2.2rem;
	}

	/*guideline
	-------------------------------------------------------*/
	.p-guideline__wrap h2 {
		font-size: 1.8rem;
		margin-bottom: 2rem;
	}
	.p-guideline__wrap h2:not(:first-of-type) {
		margin-top: 6rem;
	}
	.p-guideline__wrap ul li {
		margin-bottom: 1rem;
	}
	.c-indent {
		padding-left: 1.5rem;
	}
	.p-guideline__wrap ol {
		padding-left: 3rem;
	}
	.c-topBtn {
		margin-top: 8rem;
	}
	.c-topBtn a {
		width: 100%;
		font-size: 1.6rem;
		padding: 1.5rem;
	}
	.c-topBtn a::before,
	.c-topBtn a::after {
		width: 5.5rem;
		bottom: -0.5rem;
	}

	/*news
	-------------------------------------------------------*/
	.p-news__wrap {
		grid-template-columns: repeat(1,1fr);
	}
	.p-news__detail h2 {
		font-size: 2rem;
		margin-bottom: 1rem;
	}
	.p-news__detail__txt {
		margin-top: 3rem;
	}
	.p-news__aside h3 {
		font-size: 3rem;
	}
	.p-news__aside a {
		padding-inline: 0;
	}
	.p-news__aside a:hover {
		background: rgba(0,0,0,0);
	}



}
