/*
 * base css 
 * pc width 1170px fixed
 */

@media (max-width: 767px) {
}

@media (min-width: 768px) {
}

/* ---------------------------------------- fonts */

/* zen-kaku-gothic-new-300 - japanese_latin Light */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/zen-kaku-gothic-new/zen-kaku-gothic-new-v18-japanese_latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* zen-kaku-gothic-new-regular - japanese_latin Regular */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/zen-kaku-gothic-new/zen-kaku-gothic-new-v18-japanese_latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* zen-kaku-gothic-new-500 - japanese_latin Medium */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/zen-kaku-gothic-new/zen-kaku-gothic-new-v18-japanese_latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* zen-kaku-gothic-new-700 - japanese_latin Bold */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/zen-kaku-gothic-new/zen-kaku-gothic-new-v18-japanese_latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* zen-kaku-gothic-new-900 - japanese_latin Black */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-weight: 900;
  src: url('../fonts/zen-kaku-gothic-new/zen-kaku-gothic-new-v18-japanese_latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* ---------------------------------------- common */

:root {
	--color-d5485b: #d5485b;
	--color-625f6f: #625f6f;
	--color-fdf6ef: #fdf6ef;
	--color-fff5fa: #fff5fa;
	--color-fafffe: #fafffe;
	--color-ecfbf8: #ecfbf8;
}

@media (max-width: 767px) {
	section {
		font-size: clamp(0.813rem, -0.278rem + 5.45vw, 1rem);
		padding: 3.125em 0 5em;
	}
	section .inner {
		padding: 0 1em;
	}
}

@media (min-width: 768px) {
	section {
		font-size: clamp(0.813rem, 0.454rem + 0.75vw, 1rem);
		padding: 5em 1em 6.25em;
	}
	section .inner {
		max-width: 1170px;
		margin: 0 auto;
	}
}

/* title */

section h2 {
	text-align: center;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-style: normal;
	font-weight: 700;
	line-height: 1.4;
	padding: 0 0 .2em;
	margin: 0 0 1em;
	position: relative;
}
section h2::after {
	content: "";
	display: inline-block;
	width: 3em;
	height: 2px;
	background: var( --color-d5485b );
	position: absolute;
	bottom: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

@media (max-width: 767px) {
	section h2 {
		font-size: clamp(1.25rem, -0.205rem + 7.27vw, 1.5rem);
	}
}

@media (min-width: 768px) { 
	section h2 {
		font-size: clamp(1.313rem, -0.001rem + 2.74vw, 2rem);
	}
}

/* pagelink */

.pagelink { text-align: center; }
.pagelink a,
.pagelink button {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 12em;
	color: #fff;
	background: var( --color-d5485b );
	font-style: normal;
	font-weight: 700;
	padding: .75em 1em;
	border-radius: 10px;
	margin: 0 auto;
}
.pagelink a img,
.pagelink button img {
	margin: 0 0 0 .5em;
}

/* ---------------------------------------- visual */

#visual img {
	width: 100%;
	vertical-align: text-top;
	line-height: 1;
}

@media (max-width: 767px) {
	#visual img {
		aspect-ratio: 1 / 0.4; /* 0.467 */
		object-fit: cover;
		object-position: center;
	}
}

@media (min-width: 768px) {
	#visual img {
		width: 100%;
		aspect-ratio: 1 / 0.354;
		object-fit: cover;
		object-position: center;
	}
}

/* ---------------------------------------- about */

#about {
	background: var( --color-fdf6ef );
	text-align: center;
}
#about p { line-height: 1.8; }

@media (max-width: 767px) {
	#about p {
		font-size: clamp(0.75rem, 0.023rem + 3.64vw, 0.875rem);
	}
}

@media (min-width: 768px) {
	#about p {
		font-size: clamp(0.875rem, 0.159rem + 1.49vw, 1.25rem);
	}
}

/* ---------------------------------------- ticket */

#ticket {
	background: url( ../images/arts/ticket_back.jpg ) no-repeat center center;
	background-size: cover;
	text-align: center;
	padding: 0;
	position: relative;
}
#ticket::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: rgba( 51,51,51,.5 );
	position: absolute;
	bottom: 0;
	z-index: 3;
}

#ticket .backWrap {
	position: relative;
}
#ticket .backWrap::before,
#ticket .backWrap::after {
	content: "";
	display: block;
	aspect-ratio: 1 / 0.042;
	width: 100%;
	left: 0;
}
#ticket .backWrap::before {
	background: url( ../images/arts/ticket-upper.svg ) no-repeat center center;
	background-size: cover;
	position: absolute;
	top: 0;
	z-index: 10;
}
#ticket .backWrap::after {
	background: url( ../images/arts/ticket-bottom.svg ) no-repeat center center;
	background-size: cover;
	position: absolute;
	bottom: 0;
	z-index: 10;
}

#ticket .inside {
	background: var( --color-fff5fa );
	border-radius: 1em;
	position: relative;
	z-index: 10;
}
#ticket .inside p { margin: 0 0 1.5em; }



@media (max-width: 767px) {

	#ticket .backWrap { padding: 3em 0; }
	#ticket .inside p {
		font-size: clamp(0.75rem, 0.023rem + 3.64vw, 0.875rem);
	}

	#ticket .inside {
		max-width: 350px;
		padding: 2.5em 2em 2em;
		margin: 0 auto;
	}
	#ticket .inside ul li:nth-child(2) { margin: 1em 0 0; }
	#ticket .inside ul .pagelink a {
		width: 17em;
	}
}

@media (min-width: 768px) {

	#ticket .backWrap { padding: 6.25em 1em; }

	#ticket .inside {
		max-width: 750px;
		padding: 2.5em 2em 2em;
		margin: 0 auto;
	}
	#ticket .inside p {
		font-size: clamp(0.875rem, 0.159rem + 1.49vw, 1.25rem);
	}
	#ticket .inside ul {
		display: flex;
		justify-content: center;
	}
	#ticket .inside ul li:nth-child(2) { margin: 0 0 0 1em; }
	#ticket .inside ul .pagelink a {
		width: 17em;
		line-height: 1.4;
	}

}

/* ---------------------------------------- closeUp */

#closeUp {
	background: var( --color-fafffe );
}
#closeUp ul li {
	 display: flex;
}
#closeUp ul li a {
	display: block;
	border-radius: 1em;
	box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.2);
	overflow: hidden;
}
#closeUp ul li a figure img {
	width: 100%;
	aspect-ratio: 1 / 0.754;
	object-fit: cover;
	object-position: center top;
}
#closeUp ul li h3 { 
	line-height: 1.6; 
	padding: .5em .75em 1em;
}

@media (max-width: 767px) {

	#closeUp ul {
		display: grid;
		grid-template-columns: repeat(2, 48%);
		column-gap: 4%;
		row-gap: 1.5em;
	}

}

@media (min-width: 768px) {

	#closeUp ul {
		display: grid;
		grid-template-columns: repeat(3, 30.5%);
		column-gap: 4.25%;
		row-gap: 2em;
	}
	#closeUp ul li h3 {
		font-size: clamp(0.875rem, 0.159rem + 1.49vw, 1.25rem);
	}

}

/* ---------------------------------------- news */

#news {
	background-image: url("data:image/svg+xml,<svg id='patternId' width='100%' height='100%' xmlns='http://www.w3.org/2000/svg'><defs><pattern id='a' patternUnits='userSpaceOnUse' width='75' height='75' patternTransform='scale(1) rotate(0)'><rect x='0' y='0' width='100%' height='100%' fill='%23fdf6efff'/><path d='M32.763-11.976c-1.05-.075-1.95.676-2.024 1.726L29.764.849c-.075 1.05.675 1.95 1.725 2.026 1.05.075 1.95-.675 2.025-1.725l.975-11.1c.075-1.05-.675-1.95-1.725-2.025zM54.299 1.32a1.912 1.912 0 0 0-.386.015c-.975.15-1.725 1.05-1.575 2.1l1.5 11.025c.15.975 1.05 1.725 2.1 1.575a1.732 1.732 0 0 0 1.575-2.1l-1.5-11.025c-.131-.853-.836-1.533-1.714-1.59zm-46.93 1.22a1.809 1.809 0 0 0-1.662 1.663c-.075 1.05.675 1.952 1.65 2.027l11.1 1.05c.975.15 1.95-.601 2.025-1.651.15-.975-.6-1.95-1.65-2.025l-11.1-1.05a1.643 1.643 0 0 0-.363-.015zM1.76 13.017a1.825 1.825 0 0 0-1.285.6l-7.65 8.101c-.75.75-.675 1.95.075 2.625s1.95.674 2.625-.076l7.651-8.099c.75-.75.674-1.95-.076-2.625a1.785 1.785 0 0 0-1.34-.526zm75 0a1.825 1.825 0 0 0-1.285.6l-7.65 8.101c-.75.75-.675 1.95.075 2.625s1.95.674 2.625-.076l7.651-8.099c.75-.75.674-1.95-.076-2.625a1.785 1.785 0 0 0-1.34-.526zm-39.731 2.906a1.785 1.785 0 0 0-1.34.527l-7.95 7.723c-.75.675-.826 1.875-.076 2.625.675.75 1.875.752 2.625.077l7.95-7.725c.75-.675.826-1.875.076-2.625a1.825 1.825 0 0 0-1.285-.602zm24.639 18.928c-.24.02-.48.085-.705.197a1.903 1.903 0 0 0-.825 2.55l5.1 9.902a1.902 1.902 0 0 0 2.55.824c.975-.45 1.276-1.574.826-2.55l-5.1-9.9c-.395-.73-1.125-1.083-1.846-1.023zm-50.37-4.862a1.756 1.756 0 0 0-1.035.336c-.825.6-1.05 1.725-.524 2.625l6.15 9.223c.6.9 1.8 1.127 2.625.526.9-.6 1.124-1.8.524-2.624l-6.15-9.226a1.912 1.912 0 0 0-1.59-.86zm32.705 9.766c-.12-.006-.243 0-.365.019l-10.95 2.175c-1.05.15-1.725 1.126-1.5 2.176.15 1.05 1.126 1.725 2.176 1.5l10.95-2.175c1.05-.15 1.725-1.125 1.5-2.175a1.99 1.99 0 0 0-1.811-1.52zm4.556 12.195a1.932 1.932 0 0 0-1.845.949c-.45.9-.15 2.025.75 2.55l9.75 5.4c.9.45 2.025.15 2.55-.75.525-.9.15-2.025-.75-2.55l-9.75-5.4a1.958 1.958 0 0 0-.705-.199zM71.913 58c-1.05-.075-1.875.748-1.95 1.798l-.45 11.1c-.075 1.05.75 1.876 1.8 1.95.975 0 1.875-.75 1.95-1.8l.45-11.1c.075-1.05-.75-1.873-1.8-1.948zm-55.44 1.08a1.865 1.865 0 0 0-1.035.42l-8.775 6.825c-.75.6-.9 1.8-.3 2.625.6.75 1.8.9 2.626.3l8.775-6.827c.75-.6.9-1.8.3-2.625a1.783 1.783 0 0 0-1.591-.72zm16.29 3.945c-1.05-.075-1.95.675-2.024 1.725l-.975 11.099c-.075 1.05.675 1.95 1.725 2.026 1.05.075 1.95-.675 2.025-1.725l.975-11.102c.075-1.05-.675-1.95-1.725-2.024z'  stroke-width='1' stroke='none' fill='%23ffffffff'/></pattern></defs><rect width='800%' height='800%' transform='translate(0,0)' fill='url(%23a)'/></svg>");
	position: relative;
	overflow: hidden;
}
#news::before {
	content: "";
	display: block;
	aspect-ratio: 1 / 0.024;
	width: 100%;
	background: url( ../images/arts/wave-news.svg ) no-repeat center center;
	background-size: cover;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
}

#news ul li {
	display: flex;
	align-items: stretch;
}
#news ul li {
	display: block;
	background: #fff;
	box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.2);
	cursor: pointer;
}
#news ul li > figure img {
	width: 100%;
	aspect-ratio: 1 / 0.754;
	object-fit: cover;
	object-position: center top;
}

#news .inner ul li figure a {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 0.754;
}

#news ul li > div {
	padding: .5em 1em 1em;
}
#news .inner ul li .catdate { margin: 0 0 .5em; }
#news .inner ul li .catdate a,
#news .inner ul li .catdate span  { display: inline-block; }
#news .inner ul li .catdate span:not(.date) {
	color: #fff;
	background: var(--color-625f6f);
	line-height: 1.2;
	padding: .25em .5em;
	border-radius: 4px;
}

#news .inner ul li h3 { 
	line-height: 1.4;
}
#news .inner ul li h3 a:hover { 
	color: var(--color-d5485b);
}

@media (max-width: 767px) {

	#news { padding: 5em 0; }
	#news::before {
		content: "";
		display: block;
		width: 175%;
	}

	#news ul {
		display: grid;
		grid-template-columns: repeat(2, 48%);
		column-gap: 4%;
		row-gap: 1.5em;
	}
	#news ul { margin: 0 0 2em; }

	#news ul li .catdate { margin: 0 0 .5em; }
	#news ul li .catdate .date { 
		display: block;
		margin: 0 0 .5em; 
	}
	#news ul li .catdate span:not( .date ) { margin: 0 .5em .5em 0; }
	#news ul li .catdate span { 
		font-size: clamp(0.625rem, -0.102rem + 3.64vw, 0.75rem);
	}
	#news ul li h3 { 
		font-size: clamp(0.853rem, -0.001rem + 4.27vw, 1rem); /* 13.65-16 320-375 */
		line-height: 1.6;
		margin: .5em 0 0;
	}
}

@media (min-width: 768px) {

	#news { padding: 8em 0; }
	#news ul {
		display: grid;
		grid-template-columns: repeat(3, 32%);
		column-gap: 2%;
		row-gap: 2em;
		max-width: 750px;
		margin: 0 auto 2em;
	}
	#news ul li .catdate > span,
	#news ul li .catdate > a { margin: 0 .5em .5em 0; }
	#news ul li .catdate span:not(.date) { 
		font-size: clamp(0.688rem, -0.025rem + 1.49vw, 0.875rem); 
	}
	#news ul li h3 { 
		font-size: clamp(1rem, 0.05rem + 1.98vw, 1.25rem); 
		line-height: 1.6;
	}
}

/* ---------------------------------------- otherSide */

#otherSide {
	background: url( ../images/arts/otherSide.jpg ) no-repeat top center;
	background-size: cover;
	position: relative;
	overflow: hidden;
}
#otherSide::before {
	content: "";
	display: block;
	aspect-ratio: 1 / 0.024;
	width: 100%;
	background: url( ../images/arts/wave-otherSide-upper.svg ) no-repeat center center;
	background-size: cover;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
}
#otherSide::after {
	content: "";
	display: block;
	aspect-ratio: 1 / 0.057;
	width: 100%;
	background: url( ../images/arts/wave-otherSide-bottom.svg ) no-repeat center center;
	background-size: cover;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 10;
}
#otherSide ul a { display: inline-block; }

@media (max-width: 767px) {

	#otherSide { padding: 5em 0; }
	#otherSide::before {
		content: "";
		display: block;
		width: 175%;
	}
	#otherSide ul { text-align: center; }
	#otherSide ul li:nth-child(2) { margin: 2em 0 0; }
	#otherSide ul li h3 { 

	}
	#otherSide ul li h3 a {
		width: 90%;
		max-width: 320px; 
	}
}

@media (min-width: 768px) {

	#otherSide { padding: 6.25em 0; }
	#otherSide ul {
		display: flex;
		justify-content: space-between;
		max-width: 760px;
		margin: 0 auto;
	}
	#otherSide ul li { width: 45.5%; }

}

/* ---------------------------------------- socialMedia */

#socialMedia {
	background: var( --color-ecfbf8 );
	position: relative;
}
#socialMedia::after {
	content: "";
	display: block;
	width: 100%;
	height: 4px;
	background: #fff;
	position: absolute;
	bottom: .7em;
	left: 0;
	z-index: 3
}

#instaSpace { margin: 0 0 2em; }

#socialMedia .inside ul {
	display: flex;
	justify-content: center;
}
#socialMedia .inside ul li {
	margin: 0 .25em;
}
#socialMedia .inside ul li a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	aspect-ratio: 1;
	color: var( --color-d5485b );
	border: 4px var( --color-d5485b ) solid;
	background: #fff;
	border-radius: 100%;
}

@media (max-width: 767px) {
	#socialMedia .inside ul {
		font-size: clamp(2.25rem, -0.659rem + 14.55vw, 2.75rem);
	}
	#socialMedia .inside ul li {
		width: 15%;
	}
}

@media (min-width: 768px) {

	#socialMedia .inside ul {
		font-size: clamp(2.5rem, 0.112rem + 4.98vw, 3.75rem);
	}
	#socialMedia .inside ul li {
		width: 7%;
	}
}

