/*
Theme Name:NYANTA-ART
*/
html {
	font-size: 62.5%;
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
}
html.parent {
overflow:hidden;
}
:root {
	--color-white:#ffffff;
	--color-black: #000000;
	--color-gray: #404d55;
	--color-red:#ff6666;

	/* iOS16-fallback */
	--font-sp-xxx-large: 8vw;
	--font-sp-xx-large: 6vw;
	--font-sp-x-large: 5.3vw;
	--font-sp-large: 4.8vw;
	--font-sp-small: 3.2vw;
	--font-sp-x-small: 2.8vw;

	@supports (font-size: clamp(1rem, 1vw, 1rem)) {
		--font-sp-xxx-large: clamp(3.0rem, 8vw, 4.0rem);
		--font-sp-xx-large: clamp(2.2rem, 6vw, 3.0rem);
		--font-sp-x-large: clamp(1.6rem, 5.3vw, 2.0rem);
		--font-sp-large: clamp(1.4rem, 4.8vw, 1.8rem);
		--font-sp-small: clamp(1.2rem, 3.2vw, 1.4rem);
		--font-sp-x-small: clamp(1.1rem, 2.8vw, 1.3rem);
	}

	--font-pc-xxxx-large: 4.8rem;
	--font-pc-xxx-large: 3.6rem;
	--font-pc-xx-large: 3.0rem;
	--font-pc-x-large: 2.4rem;
	--font-pc-large: 2.0rem;
	--font-pc-small: 1.4rem;
	--font-pc-x-small: 1.2rem;
}

body {
	position: relative;
	background-image: url(images/bg.webp);
	background-repeat: repeat;
	overflow-x: hidden;
	width: 100%;
}
html,body{
	min-height: 100%;
}
body.drawer-body-on {
	overflow: hidden;
}
body.drawer-body-on:before {
	content: "";
	position: fixed;
	top: 0;
	right: 0;
	z-index: 500;
	background: rgba(0, 0, 0, 0.5);
	width: 100%;
	/* iOS16-fallback */
	height: 100vh;
	height: 100dvh;
	-webkit-transition: all 0.8s;
	transition: all 0.8s;
}
body,th,td,li,dt,dd,input,select,a,p,div,span,textarea,h1,h2,h3,h4,h5,h6,label {
	font-family:"Noto Sans JP", sans-serif;
	color:var(--color-white);
}
h1,h2,h3,h4,h5,h6,th,dt,strong {
	font-weight:700;
}
strong {
	color:var(--color-red);
}
.en {
	font-family: "Inter", sans-serif;
}
.en-tt {
	font-family: "Inter", sans-serif;
	letter-spacing: -0.1em;
}
@media (width < 767px) {
	body,th,td,li,dt,dd,input,select,a,p,div,span,textarea,h1,h2,h3,h4,h5,h6,label,button {
		font-size: 3.73vw; 	/* iOS16-fallback */
	}
	@supports (font-size: clamp(1rem, 1vw, 1rem)) {
		body,th,td,li,dt,dd,input,select,a,p,div,span,textarea,h1,h2,h3,h4,h5,h6,label,button {
			font-size: clamp(1.3rem, 3.73vw, 1.6rem);
		}
	}
	p {
		line-height: 1.75;
		letter-spacing: 0.1em;
	}
}
@media (768px <= width) {
	body,th,td,li,dt,dd,input,select,a,p,div,span,textarea,h1,h2,h3,h4,h5,h6,label,button {
		font-size: 1.6rem;
	}
	p {
		line-height:200%;
		letter-spacing:0.1em;
	}
}
a {
	outline: none;
	text-decoration:none;
}
a:hover {
	text-decoration:none;
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
}
p {
	word-wrap:break-word;
	word-break: break-all;
}
hr {
	border: none;
	border-bottom:1px solid var(--color-white);
	margin-top:1em;
	margin-bottom:1em;
}
ol li {
	list-style-type:decimal;
	margin-left:16px;
	padding-left:4px;
	line-height:200%;
}
ul.dot li,
.visual-txt ul li {
	list-style-type:disc;
	margin-left:20px;
	line-height:200%;
}
.bg-normal {
	background-image:url(images/bg.webp);
	background-repeat: repeat;
}
.bg-darker {
	background-image:url(images/bg-darker.webp);
	background-repeat: repeat;
}
.bg-black {
	background-image:url(images/bg-black.webp);
	background-repeat: repeat;
}
@font-face {
	font-family: 'icomoon';
	src:  url('fonts/icomoon.eot?5g4ehd');
	src:  url('fonts/icomoon.eot?5g4ehd#iefix') format('embedded-opentype'),
	url('fonts/icomoon.ttf?5g4ehd') format('truetype'),
	url('fonts/icomoon.woff?5g4ehd') format('woff'),
	url('fonts/icomoon.svg?5g4ehd#icomoon') format('svg');
	font-weight: normal;
	font-style: normal;
	font-display: block;
}
.icon-pdf-1:before {
  content: "\e901";
}
.icon-external:before {
  content: "\e903";
}
.icon-email-o:before {
  content: "\e906";
}
.icon-logo-x:before {
  content: "\e900";
}
.icon-angle-right:before {
  content: "\f105";
}
.icon-instagram:before {
  content: "\f16d";
}

/*-----------------------------------------
master-layout-control
------------------------------------------*/
.container,
.container-middle {
	width:100%;
	margin-right: auto;
	margin-left: auto;
}
.anchor {
	display:block;
	height:0px;
}
@media (width < 767px) {
	.container {
	padding-right: 5vw;
	padding-left: 5vw;
	}
	.sp-only {display:block !important;}
	.pc-only {display:none !important;}
	.anchor {
		padding-top:60px;
		margin-top:-60px;
	}
}
@media (768px <= width) {
	.container {
		max-width:1000px;
		padding-left:20px;
		padding-right:20px;
	}
	.container-middle {
		max-width:720px;
	}
	.sp-only {display:none !important;}
	.pc-only {display:block !important;}
	.anchor {
		padding-top:100px;
		margin-top:-100px;
	}
}
.text-center {
	text-align: center;
}
/*-----------------------------------------
opening
------------------------------------------*/
.glitch-logo img {
	display: block;
	width: 100%;
	height: auto;
	contain: none !important;
}
.typewriter {
	overflow-wrap: anywhere;
	word-break: normal;
}
.mainvisual-top {
	position: relative;
	z-index: 1;
	display: -webkit-flex;
	display: flex;
	width: 100vw;
	height: 100vh;
	height: 100dvh;
	overflow: hidden;
}
.opening-animation {
	position: relative;
	z-index: 5;
	opacity: 0;
	-webkit-transform: scale(1);
	transform: scale(1);
	-webkit-filter: blur(0px);
	filter: blur(0px);
}
.opening-animation.is-active {
	opacity: 1;
	-webkit-animation: opening-chara 0.7s cubic-bezier(0.7, 0, 0.84, 0) forwards;
	animation: opening-chara 0.7s cubic-bezier(0.7, 0, 0.84, 0) forwards;
}
.is-visited .opening-animation {
	opacity: 1;
}
@keyframes opening-chara {
	0% {
		transform: scale(5);
		opacity: 0;
		filter: blur(10px);
	}
	100% {
		transform: scale(1);
		opacity: 1;
		filter: blur(0px);
	}
}
@-webkit-keyframes opening-chara {
	0% {
		-webkit-transform: scale(5);
		opacity: 0;
		-webkit-filter: blur(10px);
	}
	100% {
		-webkit-transform: scale(1);
		opacity: 1;
		-webkit-filter: blur(0px);
	}
}
.glitch-logo {
  position: relative;
}
.glitch-logo img {
  display: block;
  width: 100%;
  height: auto;
}
.glitch-logo img:not(:first-child) {
  position: absolute;
  top: 0;
  left: 0;
}
.glitch-logo img:nth-child(2) {
  filter: drop-shadow(2px 0 0 #ff00c1) sepia(100%) hue-rotate(300deg) saturate(500%);
  animation: glitch-anim-1 2s infinite linear alternate-reverse;
  opacity: 0.8;
}
.glitch-logo img:nth-child(3) {
  filter: drop-shadow(-2px 0 0 #00fff9) sepia(100%) hue-rotate(180deg) saturate(500%);
  animation: glitch-anim-2 3s infinite linear alternate-reverse;
  opacity: 0.8;
}
@keyframes glitch-anim-1 {
  0% { clip-path: inset(10% 0 30% 0); transform: translate(-2px, 0); }
  20% { clip-path: inset(60% 0 10% 0); transform: translate(2px, -2px); }
  40% { clip-path: inset(40% 0 50% 0); transform: translate(-2px, 2px); }
  60% { clip-path: inset(80% 0 5% 0); transform: translate(2px, 0); }
  80% { clip-path: inset(15% 0 70% 0); transform: translate(-1px, -1px); }
  100% { clip-path: inset(50% 0 20% 0); transform: translate(1px, 1px); }
}

@keyframes glitch-anim-2 {
  0% { clip-path: inset(35% 0 5% 0); transform: translate(2px, 0); }
  25% { clip-path: inset(5% 0 85% 0); transform: translate(-2px, 2px); }
  50% { clip-path: inset(65% 0 15% 0); transform: translate(2px, -2px); }
  75% { clip-path: inset(20% 0 40% 0); transform: translate(-2px, 0); }
  100% { clip-path: inset(80% 0 10% 0); transform: translate(1px, -1px); }
}
.mainvisual-top-copy {
	position: absolute;
	z-index: 1;
	letter-spacing: -0.1em;
	font-weight:900;
	mix-blend-mode: overlay;
	will-change: transform, opacity;
	-webkit-font-smoothing: antialiased;
	backface-visibility: hidden;
	max-width: 96vw;/* iOS16bugfix */
}
.mainvisual-normal-en,
.largetxt-en {
	font-weight: 900;
	font-family: "Inter", sans-serif;
	letter-spacing: -0.045em;
	mix-blend-mode: overlay;
	will-change: transform, opacity;
	-webkit-font-smoothing: antialiased;
	backface-visibility: hidden;
}
@media (width < 767px) {
	.mainvisual-top {
		width:100vw;
		align-items:center;
		justify-content:center;
	}
	.opening-animation img {
		width:96vw;
		height:72vw;
	}
	.glitch-logo {
		position: relative;
		width: 96vw;
		height: 72vw;
		transform: translateY(-45%);
	}
	.mainvisual-top-copy {
		top:50%;
		left:5vw;
		font-size:18vw;
	}
	.mainvisual-top-copy span {
		font-size:18vw;
	}
}
@media (768px <= width) {
	.mainvisual-top {
		width:100%;
		justify-content: center;
		align-items: center;
	}
	.opening-animation img {
		width:640px;
		height:480px;
	}
	.mainvisual-top-copy {
		top:35%;
		transform: translateY(-50%);
		right:10%;
		width: auto;
		max-width: 80%;
		font-size:90px;
	}
	.mainvisual-top-copy span {
		font-size:90px;
	}
}
.mainvisual-normal,
.mainvisual-single {
	position: relative;
	z-index: 1;
	overflow: hidden;
}
.mainvisual-normal-jp,
.mainvisual-single-jp {
	z-index: 3;
	font-weight: 700;
}
.mainvisual-normal .typewriter,
.mainvisual-single .typewriter {
	position: absolute;
	padding-left: 0;
}
.mainvisual-normal.bg-normal .typewriter,
.mainvisual-single .typewriter,
.mainvisual-normal-en {
	opacity: 0.3;
}
.mainvisual-single-date {
	position: absolute;
	z-index: 1;
	left:0;
	bottom:1em;
	width:100%;
	text-align: center;
	font-weight: 700;
}
@media (width < 767px) {
	.mainvisual-normal {
		width: 100vw;
		min-height:40vw;
	}
	.mainvisual-normal-en {
		padding-top:10vw;
		padding-bottom: 20vw;
		font-size:16vw;
	}
	.mainvisual-normal-en span {
		font-size:16vw;
	}
	.mainvisual-normal-jp,
	.mainvisual-single-jp {
		position:absolute;
		top:16vw;
		width:100vw;
		text-align: center;
	}
	.mainvisual-single {
		width: 100vw;
		min-height:50vw;
	}
	.mainvisual-single-jp {
		display:flex;
		justify-content: center;
		align-items: center;
		padding:0vw 5vw 16vw 5vw;
		width:100vw;
		margin-left:auto;
		margin-right:auto;
		font-size:var(--font-sp-xx-large);
		line-height: 175%;
	}
}
@media (768px <= width) {
	.mainvisual-normal {
		width: 100%;
		height:340px;
	}
	.mainvisual-normal-en {
		padding-top:60px;
		padding-bottom: 100px;
		font-size:180px;
	}
	.mainvisual-normal-en span {
		font-size:180px;
	}
	.mainvisual-normal-jp,
	.mainvisual-single-jp {
		position: absolute;
	}
	.mainvisual-normal-jp {
		top:150px;
		left:30vw;
		width:65vw;
	}
	.mainvisual-single {
		width: 100%;
		min-height:340px;
	}
	.mainvisual-single-jp {
		display:flex;
		justify-content: center;
		align-items: center;
		margin-top:70px;
		min-height:180px;
		margin-left:auto;
		margin-right:auto;
		font-size:var(--font-pc-xx-large);
		line-height: 200%;
		top:10px;
		left:0;
		width:100vw;
	}
}
/*-----------------------------------------
header
------------------------------------------*/
.header {
	position: absolute;
	z-index: 998;
	top:0;
	left:0;
	width:100vw;
}
.header.smaller {
	position: fixed;
	background-image: linear-gradient(0deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.7));
}
.header-logo a,
.header-logo h1 {
	display: none;
}
.header.smaller .header-logo a,
.header.smaller .header-logo h1 {
	display: block;
	animation-timing-function: ease-out;
	animation-iteration-count: 1;
	animation-fill-mode: both;
	animation-duration:0.5s;
	backface-visibility: hidden;
	animation-name:faderightanime;
	font-weight: 900;
	padding-left:1em;
}
@media (width < 767px) {
	.header {
		height:12vw;
		line-height: 12vw;
	}
	.header-navi {
		display: none;
	}
}
@media (768px <= width) {
	.header {
		height:100px;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.header-navi {
		display: none;
	}
	.header-navi.header-navi-action {
		display: block;
	}
	.header-navi ul {
		display: flex;
		justify-content: flex-end;
		gap:40px;
		padding-right:40px;
	}
	.header-navi.header-navi-action li {
		opacity: 1;
		animation-timing-function: ease-out;
		animation-iteration-count: 1;
		animation-fill-mode: both;
		animation-duration:0.5s;
		backface-visibility: hidden;
		animation-name:header-navi-down;
		display:block;
	}
	@keyframes header-navi-down {
	0% {transform: translate3d(0px,-20px,0);
	opacity: 0}
	100% {transform: translate3d(0px,0px,0);
	opacity: 1}
	}
	.header-navi a {
		position: relative;
		display: inline-block;
		z-index: 1;
	}
	.header-navi a:after {
		content: "";
		position: absolute;
		bottom: 5%;
		width: 0;
		right: 0;
		height: 0.5em;
		background-image: linear-gradient(90deg, rgba(255, 97, 97, 1), rgba(233, 178, 45, 1) 20%, rgba(192, 202, 75, 1) 34%, rgba(53, 179, 56, 1) 58%, rgba(86, 110, 243, 1) 79%, rgba(154, 39, 238, 1));
		z-index: -1;
		opacity: 0.8;
		transition: width 0.2s ease-in-out;
		transform: rotate(-5deg);

	}
	.header-navi a:hover:after {
		width: 100%;
		left: 0;
		right: auto;
	}
	.header-navi a:after {
		transition: width 0.3s ease-in-out, left 0.3s ease-in-out;
	}
}
/*-----------------------------------------
btn
------------------------------------------*/
.btn {
	position: relative;
	display:block;
}
.btn-normal,
.btn-back,
.btn-pdf {
	border:1px solid var(--color-white);
	text-align: center;
	font-weight: 700;
	letter-spacing: 0.1em;
	margin-left:auto;
	margin-right:auto;
}
.btn-normal:hover,
.btn-back:hover,
.btn-pdf:hover {
	background:rgba(0,0,0,0.3);
}
.btn-normal:before {
	content:"";
	background-color: var(--color-white);
	clip-path: polygon(
		100% 50%, 
		12.5% 6.7%, 
		12.5% 93.3%, 
		100% 50%, 
		96% 50%, 
		15% 89%, 
		15% 11%, 
		96% 50%
	);
	position: absolute;
	top:2px;
	right:0;
}
.btn-back:before {
	content:"";
	background-color: var(--color-white);
	clip-path: polygon(
		100% 50%, 
		12.5% 6.7%, 
		12.5% 93.3%, 
		100% 50%, 
		96% 50%, 
		15% 89%, 
		15% 11%, 
		96% 50%
	);
	transform: rotate(180deg);
	position: absolute;
	top:2px;
	left:0;
}
.btn-pdf:before {
	font-family: 'icomoon';
	content: "\e901";
	color: var(--color-white);
	position: absolute;
	font-weight: 400;
}
.btn-normal:hover:before {
	transform: rotate(-360deg);
	transition: all 0.8s;
}
.btn-back:hover:before{
	transform: rotate(-180deg);
	transition: all 0.8s;
}
.btn-normal:after {
	content:"";
	border:1px solid var(--color-white);
	border-radius:50%;
	position: absolute;
	top:0;
	right:0;
}
.btn-back:after {
	content:"";
	border:1px solid var(--color-white);
	border-radius:50%;
	position: absolute;
	top:0;
	left:0;
}
.btn-pdf:after {
	content: "PDF\30D5\30A1\30A4\30EB\304C\958B\304D\307E\3059";
	position: absolute;
	display: block;
	width:100%;
	left:0;
	text-align: center;
	font-weight: 400;
	white-space: nowrap;
}
.btn-left {
	z-index: 1;
	margin-right:auto;
	transition: transform 0.3s ease;
	font-weight: 900;
}
.btn-left:after {
	position: absolute;
	right:0;
	bottom:0;
	content:"";
	background-color:var(--color-white);
	display: block;
	width:100%;
	height:1px;
}
.btn-right {
	z-index: 1;
	margin-left:auto;
	transition: transform 0.3s ease;
	font-weight: 900;
}
.btn-right:after {
	position: absolute;
	left:0;
	bottom:0;
	content:"";
	background-color:var(--color-white);
	display: block;
	width:100%;
	height:1px;
}
.pager-grid {
	display:grid;
	grid-template-columns: 1fr 1fr;
	width:100%;
	justify-content: space-between;
}
@media (width < 767px) {
	.btn-normal,
	.btn-back,
	.btn-pdf {
		width:60vw;
		height:48px;
		line-height: 48px;
	}
	.btn-pdf {
		margin-top:8vw;
		margin-bottom:10vw;
	}
	.btn-normal:before,
	.btn-back:before {
		width:42px;
		height:42px;
	}
	.btn-pdf:before {
		width:6vw;
		height:6vw;
		font-size:6vw;
		top:0px;
		left:9px;
	}
	.btn-normal:after,
	.btn-back:after {
		width:46px;
		height:46px;
	}
	.btn-pdf:after {
		bottom:-10vw;
		font-size:12px;
	}
	.btn-left {
		max-width:80vw;
		margin-left:auto;
		text-align: center;
		font-size:var(--font-sp-x-large);
		padding-bottom: 0.5em;
	}
	.btn-right {
		max-width:80vw;
		margin-right:auto;
		text-align: center;
		font-size:var(--font-sp-x-large);
		padding-bottom: 0.5em;
	}
	.pager-grid {
		grid-column-gap: 20vw;
		padding:10vw 0;
	}
	.pager-grid .btn-left {
		margin-left:0;
	}
	.pager-grid .btn-right {
		margin-right:0;
	}
	.btn-back-cage {
		padding:10vw 0;
	}
}
@media (768px <= width) {
	.btn-normal,
	.btn-back,
	.btn-pdf {
		width:240px;
		height:48px;
		line-height: 48px;
	}
	.btn-pdf {
		margin-top:48px;
	}
	.btn-normal:before,
	.btn-back:before {
		width:42px;
		height:42px;
	}
	.btn-pdf:before {
		width:24px;
		height:24px;
		font-size:24px;
		top:0px;
		left:9px;
	}
	.btn-normal:after,
	.btn-back:after {
		width:46px;
		height:46px;
	}
	.btn-pdf:after {
		bottom:-40px;
		font-size:12px;
	}
	.btn-left {
		width:33vw;
		text-align: right;
		right:0;
		font-size:var(--font-pc-x-large);
		padding-bottom: 0.5em;
	}
	.btn-right {
		width:33vw;
		text-align: left;
		right:0;
		font-size:var(--font-pc-x-large);
		padding-bottom: 0.5em;
	}
	.btn-left:hover:after {
		animation: redraw-line1 0.6s cubic-bezier(0.4, 0, 0.2, 1) forwards;
	}
	.btn-right:hover:after {
		animation: redraw-line2 0.6s cubic-bezier(0.4, 0, 0.2, 1) forwards;
	}
	@keyframes redraw-line1 {
		0% {
		transform: scaleX(1);
		transform-origin: left center;
		opacity: 1;
		}
		50% {
		transform: scaleX(0);
		transform-origin: left center;
		opacity: 0.5;
		}
		51% {
		transform-origin: right center;
		opacity: 0.5;
		}
		100% {
		transform: scaleX(1);
		transform-origin: right center;
		opacity: 1;
		}
	}
	@keyframes redraw-line2 {
		0% {
		transform: scaleX(1);
		transform-origin: right center;
		opacity: 1;
		}
		50% {
		transform: scaleX(0);
		transform-origin: right center;
		opacity: 0.5;
		}
		51% {
		transform-origin: left center;
		opacity: 0.5;
		}
		100% {
		transform: scaleX(1);
		transform-origin: left center;
		opacity: 1;
		}
	}
	.pager-grid {
		grid-column-gap: 20vw;
		padding:80px 0;
	}
	.btn-back-cage {
		padding:80px 0;
	}
}
/*-----------------------------------------
top-blocks
------------------------------------------*/
.top-block {
	position: relative;
}
.bg-black h2,
.bg-black h2 span {
	color:var(--color-white);
}
@media (width < 767px) {
	.top-block {
		width: 100vw;
		min-height:100dvh;
	}
}
@media (768px <= width) {
	.top-block {
		width: 100%;
		min-height:100dvh;
	}
}
/*-----------------------------------------
top-event
------------------------------------------*/
.top-block-event {
	position: relative;
	z-index: 2;
}
.top-block-event h2 {
	z-index: 5;
}
.top-event-jp {
	position: absolute;
	z-index: 3;
	color:var(--color-white);
}
.eventlist-main,
.eventlist-sub a {
	display: block;
	position: relative;
	background-size:cover;
	background-position: center center;
	overflow: hidden;
	width: 100%;
	height: 100%;
}
.eventlist-main:after,
.eventlist-sub a:after {
	content:"";
	position: absolute;
	z-index: 1;
	width:100%;
	height:100%;
	bottom:0;
	left:0;
	background-image: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 1));
}
.eventlist-main h3,
.eventlist-sub a h3 {
	position: absolute;
	z-index: 2;
	width:100%;
	line-height: 175%;
}
.eventlist-main span,
.eventlist-sub a span {
	position: absolute;
	z-index: 3;
	bottom:0;
	font-family: "Inter", sans-serif;
	font-weight: 900;
}
.box-wrapper.putactionon:before {
	content: '';
	position: absolute;
	z-index: 4;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--color-white);
	transform-origin: left center;
	animation: reveal 1.5s cubic-bezier(0.77, 0, 0.175, 1) forwards;
}
@keyframes reveal {
  0% { transform: scaleX(0); }
  50% { transform: scaleX(1); transform-origin: left center; }
  50.1% { transform-origin: right center; }
  100% { transform: scaleX(0); transform-origin: right center; }
}
.box-link {
	display: block;
	opacity: 0;
}
.putactionon .box-link {
	animation: box-link-anim 0.1s 0.75s forwards;
}
@keyframes box-link-anim {
  to { opacity: 1; }
}
@media (width < 767px) {
	.top-block-event {
		min-height:100dvh;
		overflow: hidden;
		padding-top:24vw;
	}
	.top-block-event h2.typewriter,
	.top-block-event h2.largetxt-en {
		position: absolute;
		top: 0;
		right:0;
		font-size: 24vw;
	}
	.top-block-event h2.typewriter span {
		font-size: 24vw;
	}
	.top-event-jp {
		top:12vw;
		left:10vw;
	}
	.eventlist-first {
		position: relative;
		width:100vw;
		height:140vw;
	}
	.eventlist-container {
		position: relative;
		display:grid;
		grid-template-columns: 1fr 1fr;
		grid-column-gap: 1px;
		height:70vw;
		margin-top:1px;
	}
	.eventlist-sub {
		position: relative;
		height: 100%;
	}
	.eventlist-main h3 {
		padding:5vw;
		bottom:12vw;
		font-size:4vw;
	}
	.eventlist-sub a h3 {
		padding:2.5vw;
		bottom:6vw;
		font-size:3vw;
	}
	.eventlist-main span {
		font-size:8vw;
		right:5vw;
	}
	.eventlist-sub a span {
		right:2.5vw;
		font-size:5vw;
	}
	.top-block-event-btn {
		position: relative;
		padding:10vw 5vw;
	}
}
@media (768px <= width) {
	.top-block-event {
		height:100vh;
		overflow: hidden;
	}
	.top-block-event h2.typewriter,
	.top-block-event h2.largetxt-en {
		position: absolute;
		top: 40px;
		right:0;
		font-size: 180px;
	}
	.top-block-event h2.typewriter span {
		font-size: 180px;
	}
	.top-event-jp {
		top:150px;
		left:55%;
	}
	.eventlist-first:hover,
	.eventlist-sub:hover {
		transition: all 0.4s;
		filter: brightness(1.75);
	}
	.eventlist-first {
		position: absolute;
		top:0;
		left:0;
		height: 100%;
		aspect-ratio:1 / 1.4;
	}
	.eventlist-container {
		position: absolute;
		top:35vh;
		left:85vh;
		height:50vh;
		display:flex;
		gap:5vw;
		padding-right: 5vw;
	}
	.eventlist-sub {
		position: relative;
		height: 100%;
		aspect-ratio:1 / 1.4;
	}
	.eventlist-main h3 {
		padding:2.2vh;
		bottom:15vh;
		font-size:2.2vh;
	}
	.eventlist-sub a h3 {
		padding:2vh;
		bottom:7.5vh;
		font-size:1.8vh;
	}
	.eventlist-main span {
		font-size:6.8vh;
		right:2.2vh;
	}
	.eventlist-sub a span {
		right:2vh;
		font-size:2vh;
	}
	.top-block-event-btn {
		position: absolute;
		bottom:5vh;
		right:0;
	}
}
/*-----------------------------------------
top-profile
------------------------------------------*/
.top-block-profile {
	position: relative;
	z-index: 2;
}
.top-profile-tt {
	position: absolute;
	z-index: 2;
	width:100%;
	text-align: center;
	opacity: 0.8;
}
.top-profile-tt h2 span,
.top-profile-tt h3 {
	text-align: center;
	color:var(--color-black);
	font-family: "Inter", sans-serif;
	font-weight: 900;
}
.top-profile-pic {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	color: white;
}
.top-profile-pic:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image:url(images/nyanta.webp);
	background-size:cover;
	background-position: center top;
	animation: zoomBg 10s infinite alternate ease-in-out;
}

@keyframes zoomBg {
	0% {
		transform: scale(1);
	}
	100% {
		transform: scale(1.15);
	}
}
@media (width < 767px) {
	.top-block-profile {
		min-height:100dvh;
	}
	.top-profile-tt {
		top:calc(50dvh - 6vw);
	}
	.top-profile-tt h2 span {
		font-size:12vw;
	}
	.top-profile-tt h3 {
		font-size:var(--font-sp-x-large);
		padding-top:4vw;
	}
	.top-profile-pic {
		height:50dvh;
	}
	.top-profile-txt {
		width:100vw;
		height:calc(100dvh - 100vw);
		display: flex;
		align-items: center;
	}
}
@media (768px <= width) {
	.top-block-profile {
		height:100vh;
	}
	.top-profile-tt {
		top:27vh;
	}
	.top-profile-tt h2 span {
		font-size:10vw;
	}
	.top-profile-tt h3 {
		font-size:var(--font-pc-x-large);
	}
	.top-profile-grid {
		display: grid;
		grid-template-columns: 1fr 1fr;
		height:100%;
	}
	.top-profile-pic {
		grid-area: 1 / 2 / 2 / 3;
	}
	.top-profile-txt {
		padding-top:70vh;
		grid-area: 1 / 1 / 2 / 2;
	}
}
/*-----------------------------------------
top-ec
------------------------------------------*/
.top-block-ec {
	position: relative;
	z-index: 1;
}
.top-ec-tt {
	position: relative;
}
.top-works {
	position: relative;
	z-index:3;
}
.top-ec-tt h2 {
	position: relative;
	z-index: 2;
}
.top-ec-jp {
	position: absolute;
	z-index: 3;
	font-weight: 700;
}
.splide__arrow {
	background: #000;
	opacity: 1;
}
.splide__arrow svg {
	fill: #fff;
}


@media (width < 767px) {
	.top-block-ec {
		padding-bottom: 10vw;
	}
	.top-ec-tt-grid {
		padding:6vw;
		margin-bottom:12vw;
	}
	.top-ec-tt {
		margin-bottom:8vw;
	}
	.top-ec-tt h2,
	.top-ec-tt h2 span {
		font-size:16vw;
	}
	.top-ec-jp {
		text-align: right;
		width:100%;
		top:6vw;
		right:0;
	}
}
@media (768px <= width) {
	.top-ec-tt-grid {
		display: grid;
		grid-template-columns: 2fr 1fr;
		align-items: center;
		padding:60px 0;
	}
	.top-ec-tt h2,
	.top-ec-tt h2 span {
		font-size:12vw;
	}
	.top-ec-jp {
		text-align: right;
		width:75%;
		top:6vw;
		left:0;
	}
	.top-works .splide__slide a img {
		transition: all 0.5s;
	}
	.top-works .splide__slide a:hover img {
		filter: brightness(1.2);
	}
}
/*-----------------------------------------
top-news
------------------------------------------*/
.top-news-tt {
	position: relative;
}
.top-news-jp {
	position: absolute;
	z-index: 3;
	font-weight: 700;
}
@media (width < 767px) {
	.top-news-grid {
		padding-left:5vw;
		padding-right:5vw;
	}
	.top-news-tt {
		height:20vw;
	}
	.top-news-tt h2,
	.top-news-tt h2 span {
		font-size:12.8vw;
	}
	.top-news-jp {
		text-align: right;
		width:75%;
		top:6.4vw;
		left:0;
	}
}
@media (768px <= width) {
	.top-news-grid {
		display: grid;
		grid-template-columns: 1fr 1fr;
		align-items: center;
		height:80dvh;
	}
	.top-news-tt h2,
	.top-news-tt h2 span {
		font-size:12.8vw;
	}
	.top-news-jp {
		text-align: right;
		width:75%;
		top:6.4vw;
		left:0;
	}
	.top-news-grid .news-list {
		padding-right:clamp(30px,4vw,60px);
	}
}
/*-----------------------------------------
newslist
------------------------------------------*/
.news-list li {
	border-bottom:1px solid var(--color-white);
}
.news-list li:last-child {
	border-bottom:none;
}
.news-link-wrapper {
	display: grid;
	align-items: center;
}
.news-date {
	background-color: var(--color-black);
	border-radius: 50%;
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	/* vwが解釈されない場合に備え、pxで最小サイズを保証 */
	min-width: 60px;
	min-height: 60px;
	width: 20vw;
	height: 20vw;
	transition: all 0.4s;
}
.news-date span {
	color:var(--color-white);
	font-weight: 700;
	display: block;
	transition: all 0.4s;
}
.news-title {
	display: block;
	line-height: 175%;
	font-weight: 700;
}
@media (width < 767px) {
	.news-link-wrapper {
		grid-template-columns: 20vw 1fr;
		padding:10vw 0;
	}
	.news-date {
		width:20vw;
		height:20vw;
	}
	.news-y {
		font-size:3vw;
	}
	.news-m,
	.news-d {
		font-size:5vw;
		margin-bottom:-0.5vw;
	}
	.news-title {
		padding-left:5vw;
	}
	.top-block-news-btn {
		padding-top:10vw;
	}
}
@media (768px <= width) {
	.news-link-wrapper {
		grid-template-columns: 60px 1fr;
		padding:30px 0;
	}
	.news-date {
		width:60px;
		height:60px;
	}
	.news-y {
		font-size:11px;
	}
	.news-m,
	.news-d {
		font-size:20px;
		margin-bottom:-5px;
	}
	.news-link-wrapper:hover .news-date {
		background-color:var(--color-white);
	}
	.news-link-wrapper:hover .news-date span {
		color:var(--color-black);
	}
	.news-title {
		padding-left:clamp(15px,2vw,30px);
	}
}
/*-----------------------------------------
footer
------------------------------------------*/
footer {
	overflow: hidden;
}
footer .footer-copy {
	position: absolute;
	z-index: 2;
	font-weight:900;
	font-family: "Inter", sans-serif;
}
footer .footer-copy.typewriter {
	mix-blend-mode: normal;
	opacity: 1;
}
.footer-koneko {
	position: absolute;
	z-index: 1;
	background-image:url(images/bg-footer-koneko.svg);
	background-repeat: no-repeat;
}
.footer-sns {
	display:flex;
	z-index: 3;
}
.footer-sns a {
	display: block;
	position: relative;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	color:var(--color-white);
}
.footer-sns a:after {
	font-family: 'icomoon';
	position: absolute;
	top:0;
	left:0;
	text-indent: 0;
}
.footer-x:after {
	content: "\e900";
}
.footer-insta:after {
	content: "\f16d";
}
@media (width < 767px) {
	footer {
		overflow: hidden;
	}
	footer .footer-copy {
		width:90vw;
		top:25vw;
		left:5vw;
		font-size:20vw;
		letter-spacing: -0.1em;
	}
	footer .footer-copy span {
		font-size:20vw;
		letter-spacing: -0.1em;
	}
	.footer-koneko {
		right:-10vw;
		bottom:0;
		height:120vw;
		width:120vw;
		background-size:cover;
		background-position: center bottom;
	}
	.footer-sns {
		justify-content: space-between;
		position: absolute;
		top:90vw;
		left:34vw;
		width:32vw;
		mix-blend-mode:difference;
	}
	.footer-sns a {
		width:8vw;
		height:8vw;
	}
	.footer-sns a:after {
		width:8vw;
		height:8vw;
		font-size:8vw;
	}
	.drawer-btn {
		position: fixed;
		z-index: 997;
		width:20vw;
		height:10vw;
		line-height: 11vw;
		border-radius:10vw 10vw 0 0;
		color:var(--color-white);
		background:var(--color-black);
		text-align: center;
		bottom:0;
		left:50%;
		transform: translateX(-50%);
		font-weight: 900;
	}
}
@media (768px <= width) {
	footer .footer-copy {
		width:50%;
		min-width:480px;
		top:14vh;
		left:5vw;
		font-size:7.5vw;
		letter-spacing: -0.1em;
	}
	footer .footer-copy span {
		font-size:7.5vw;
		letter-spacing: -0.1em;
	}
	.footer-koneko {
		right:0;
		height:100%;
		width:100%;
		background-size:auto 90%;
		background-position: right bottom;
	}
	.footer-sns {
		justify-content: space-between;
		position: absolute;
		top:calc(15vh + 25vw);
		left:5vw;
		width:96px;
	}
	.footer-sns a {
		width:48px;
		height:48px;
	}
	.footer-sns a:after {
		width:48px;
		height:48px;
		font-size:32px;
	}
	.drawer-btn {
		display:none;
	}
}
/*-----------------------------------------
sp-menu
------------------------------------------*/

@media screen and (max-width :767px){
.drawer {
	position: fixed;
	bottom: 0px;
	left: 0;
	width: 100vw;
	height: 0;
	visibility: hidden;
	opacity: 0;
	overflow: hidden;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	z-index: 995;
	background-color: #222222;
	background-image: url(images/bg-drawer.svg);
	background-repeat: no-repeat;
	background-position: right bottom;
	background-size: 100% auto;
}
.drawer.is-open {
	height: 100vh;
	height: 100dvh;
	visibility: visible;
	opacity: 1;
}
	.drawer-menu {
		padding:20vw 10vw 0 10vw;
	}
	.drawer-menu a {
		color:var(--color-white);
		display:block;
		position: relative;
		padding:5vw;
		font-size:var(--font-sp-x-large);
		text-align: center;
		font-weight: 900;
	}
}
@media (768px <= width) {
	.drawer {
		display:none;
	}
}
/*-----------------------------------------
single and visual-editor
------------------------------------------*/
.visual-txt ol,
.visual-txt ul {
	margin:1em auto;
}
.visual-txt ol>li>ol,
.visual-txt ul>li>ul,
.visual-txt ul>li>ol,
.visual-txt ol>li>ul {
	margin:0.5em auto 0 1.5em;
}
.visual-txt ol li,
.visual-txt ul li {
	position: relative;
	line-height:150%;
	padding-top:0.5em;
	padding-bottom:0.5em;
}
.visual-txt ul li {
	list-style-type: disc;
	margin-left:1.5em;
}
.visual-txt ul>li>ol>li {
	list-style-type: none;
	margin-left:0;
}
.visual-txt ul li::marker {
	color: var(--color-white);
}
.visual-txt p {
	padding-bottom:1.5em;
}
.visual-txt strong {
	color:var(--color-red);
}
.visual-txt a:hover {
	color:var(--color-red);
}
.visual-txt a:not(:has(img)){
	text-decoration: underline;
}
.visual-txt h1,
.visual-txt h2,
.visual-txt h3,
.visual-txt h4,
.visual-txt h5,
.visual-txt h6
 {
	margin-top:1em;
	margin-bottom:1em;
}
.visual-txt a:after {
	font-family: 'icomoon';
	content: "\e903";
	display: inline-block;
	padding-left:0.25em;
}
.single-eyecatch img {
	display: block;
	margin:0 auto;
}
@media (width < 767px) {
	.visual-txt {
		line-height: 175%;
	}
	.visual-txt h1,
	.visual-txt h2 {
		font-size:var(--font-sp-x-large);
	}
	.visual-txt h3 {
		font-size:var(--font-sp-large);
	}
	.visual-txt img {
		border-radius: 4vw;
		overflow: hidden;
	}
	.single-eyecatch {
		width:80vw;
		height:80vw;
		margin:2em auto;
	}
	.single-eyecatch img {
		max-width: 100%;
		max-height: 80vw;
		width: auto;
		height: auto;
		object-fit: contain;
	}
}
@media (768px <= width) {
	.visual-txt,
	.editor-styles-wrapper {
		line-height: 200%;
	}
	.visual-txt h1,
	.visual-txt h2 {
		font-size:var(--font-pc-xx-large);
	}
	.visual-txt h3 {
		font-size:var(--font-pc-x-large);
	}
	.visual-txt h4 {
		font-size:var(--font-pc-large);
	}
	.visual-txt img {
		border-radius: 10px;
		overflow: hidden;
	}
	.single-eyecatch {
		width:480px;
		height:480px;
		margin:2em auto;
	}
	.single-eyecatch img {
		max-width: 100%;
		max-height: 480px;
		width: auto;
		height: auto;
		object-fit: contain;
	}
}
/*-----------------------------------------
contact
------------------------------------------*/
.form dt {
	position: relative;
	z-index: 1;
}
.form dt span {
	position: absolute;
	z-index: -1;
	bottom:0;
	left:0;
	opacity: 0.1;
	font-weight: 900;
}
.form input[type=text],
.form input[type=email],
.form textarea {
	color:#000000;
	border:none;
	width:100%;
	padding:0.5em;
	resize: none;
}
.form-recommend {
	text-align: center;
}
.form input[type=submit] {
	display: block;
	color:var(--color-white);
	border:1px solid var(--color-white);
	background:transparent;
	font-weight: 900;
	margin-left:auto;
	margin-right:auto;
	cursor: pointer;
	transition: all 0.8s;
}
.form input[type=submit]:hover {
	color:var(--color-black);
	background:var(--color-white);
}
.form .wpcf7-not-valid-tip {
	display:block;
	padding-top:0.5em;
	color:var(--color-red);
}
.form .wpcf7-response-output {
	color: #ffb900;
	border-radius:5px;
	padding:0.5em;
	line-height:1.5;
}
@media (width < 767px) {
	.form {
		padding-left:5vw;
		padding-right: 5vw;
		padding-bottom: 10vw;
	}
	.form dt {
		margin-top:6vw;
		min-height:9vw;
		line-height: 9vw;
	}
	.form dt span {
		font-size:8vw;
	}
	.form-recommend {
		padding:6vw 0;
	}
	.form input[type=submit] {
		width:60vw;
		height:14vw;
		line-height: 14vw;
	}
}
@media (768px <= width) {
	.form {
		padding-bottom: 60px;
	}
	.form dt {
		margin-top:40px;
		min-height:60px;
		line-height: 60px;
	}
	.form dt span {
		font-size:4.8rem;
	}
	.form-recommend {
		padding:60px 0;
	}
	.form input[type=submit] {
		width:240px;
		height:48px;
		line-height: 48px;
	}
	.form .wpcf7-response-output {
		text-align:center;
	}
}
/*-----------------------------------------
profile
------------------------------------------*/
.mainvisual-normal.mainvisual-profil e.typewriter {
	text-align: center;
	margin-left:auto;
	margin-right:auto;
}
.mainvisual-normal.mainvisual-profile .typewriter {
	opacity: 0.75;
	left:50%;
	transform: translateX(-50%);
}
.mainvisual-normal.mainvisual-profile .typewriter span {
	color:var(--color-black);
}
.profile-txt h2,
.profile-txt p {
	font-weight: 700;
	font-feature-settings: "palt";
}
.profile-txt h2 {
	text-align: center;
}
@media (width < 767px) {
	.mainvisual-normal.mainvisual-profile .typewriter span {
		font-size:11vw;
	}
	.profile-txt {
		padding-top:8vw;
		padding-bottom: 8vw;
	}
	.profile-txt h2 {
		padding:8vw 0;
		font-size:var(--font-sp-x-large);
	}
}
@media (768px <= width) {
	.mainvisual-normal.mainvisual-profile .typewriter {
		padding-top:100px;
	}
	.profile-grid {
		display:grid;
		grid-template-columns: 1fr 2fr;
		padding-top:60px;
		padding-bottom: 60px;
	}
	.profile-pic img {
		width:auto;
		height:480px;
		object-fit: cover;
	}
	.profile-txt {
		padding-left:3vw;
	}
	.profile-txt h2 {
		padding:48px 0;
		font-size:var(--font-pc-large);
	}
}
/*-----------------------------------------
works-list
------------------------------------------*/
.works-list a:has(img) {
	display:flex;
	align-items: center;
	justify-content: center;
	background:rgba(0,0,0,0.1);
	aspect-ratio:1 / 1;
}
.works-list a img {
	display:block;
	object-fit:contain;
}
.works-list a:has(img):hover {
	filter: brightness(1.3);
}
@media (width < 767px) {
	.works-list {
		display:grid;
		grid-row-gap: 5vw;
		padding:5vw;
	}
	.works-list a:has(img),
	.works-list a img {
		width:100%;
		max-height:80vw;
	}
	.works-list h2 {
		margin:5vw auto;
	}
}
@media (768px <= width) {
	.works-list {
		display:grid;
		grid-template-columns: 1fr 1fr 1fr;
		grid-column-gap: 31px;
		grid-row-gap: 31px;
	}
	.works-list a:has(img),
	.works-list a img {
		width:100%;
		max-height:300px;
	}
	.works-list h2 {
		margin:30px auto;
	}
}
/*-----------------------------------------
works-single
------------------------------------------*/
.basebanner,
.basebanner img {
	display: block;
	margin-left:auto;
	margin-right:auto;
	text-align: center;
}
.basebanner {
	position: relative;
	transition: 0.3s;
	padding:2px;
	overflow: hidden;
}
.basebanner::before {
	content: "";
	position: absolute;
	z-index: -2;
	left: -50%;
	top: -50%;
	width: 200%;
	height: 200%;
	background: conic-gradient(
		transparent,
    #ff0000, #ff7f00, #ffff00, #00ff00, #0000ff, #4b0082, #8b00ff,
    transparent 100%);
	opacity: 0;
	transition: opacity 0.3s;
	transform-origin: center center;
}
.basebanner:hover::before {
	opacity: 1;
	animation: rotate 2s linear infinite;
}
@keyframes rotate {
	100% {
		transform: rotate(360deg);
	}
}
@media (width < 767px) {
	.works-grid,
	.works-content {
		padding-top:3.5vw;
	}
}
@media (768px <= width) {
	.works-grid {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}
	.works-content {
		padding-left:3.5vw;
	}
	.basebanner {
		width:220px;
		margin-top:60px;
	}
}