/* 
1024px
本文15px

0.93em(14px)

768px
430px

h2
1024px：1.375em(20px)
min(5.63vw, 1.375em)

h3
(1.25em)
1024：1.12em
768：1em

*/

/* --------------------------------- mv */

div.mv {
	position: relative;
	width: 100%;
	padding: 0 0 0 0;
	margin: 110px 0 0 0;
}
div.mv div.inner {
	position: relative;

	width: 100%;
	max-width: 1406px;
	padding: 0 20px 20px;
	margin: 0 auto;
	z-index: 10;
}
div.mv p {
	position: absolute;
	bottom: 90px;
	left: 80px;

	font-size: 2.375em;
}
div.mv p span {
	display: block;
	width: fit-content;
	font-weight: 700;
	background: #FFFFFF;
	padding: 8px 10px;
	margin-bottom: 8px;
	box-shadow: 0 2px 6px rgba(133, 125, 111, 0.3);
}
div.mv figure {
	width: 100%;
	max-width: 870px;
	margin: 0 0 0 auto;
}

/* .eng-scroll animation */
div.mv .eng-scroll {
	position: absolute;
	top: 26%;

  display: flex;
  white-space: nowrap;
  overflow: hidden;
  gap: 1rem;
  font-size: 5.2em;
	font-weight: 700;
	color: transparent;
  -webkit-text-stroke: 1px #FFDDCB;
  text-stroke: 1px #FFDDCB;
	z-index: 5;
}
div.mv .eng-scroll .inner {
  animation: marquee 60s linear infinite;
}
@keyframes marquee {
  0% {
		translate: 0;
	}
  100% {
		translate: calc(-100% - 1rem);
  }
}

/* mv-bg */
div.mv div.bg {
	position: absolute;
	bottom: 0;
	
	width: 100%;
	height: 200px;
	background: linear-gradient(180deg, #ffd5c1 0%, #fffaf6 70%, #fffcf6 100%);
}
div.mv div.bg svg {
	position: absolute;
	bottom: 200px;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	min-width: 1920px;

	fill: #FFD5C1;
	stroke: none;
}

@media screen and (max-width: 1024px) {
	div.mv figure {
		max-width: 680px;
	}
	div.mv p {
		font-size: min(3.39vw, 2em);
		bottom: 60px;
	}
	div.mv {
		margin: 150px 0 0 0;
	}
}
@media screen and (max-width: 768px) {
	div.mv {
		margin-top: 90px;
	}
	div.mv figure {
		margin: 0 auto;
	}
	div.mv div.inner {
		padding: 120px 10px 0;
	}
	div.mv p {
		font-size: min(5vw, 2em);
		bottom: unset;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
	}
	div.mv p span {
		padding: 4px 6px;
		white-space: nowrap;
		margin: 0 auto 6px;
	}
	div.mv .eng-scroll {
		top: 0;
	}
	div.mv div.bg {
		height: 160px;
	}
	div.mv div.bg svg {
		bottom: 160px;
	}
}
@media screen and (max-width: 430px) {
	div.mv div.inner {
		padding: 100px 10px 0;
	}
	div.mv p {
		font-size: min(5.63vw, 2em);
	}
	div.mv .eng-scroll {
		top: -20px;
		font-size: 4.2em;
	}
	div.mv div.bg {
		height: 120px;
	}
	div.mv div.bg svg {
		bottom: 120px;
	}
}

/* --------------------------------- new */
section.new {
	position: relative;
	width: 100%;
	background: linear-gradient(0deg, #fff6f2 0%, #fffcf8 100%);
	
	padding: 0 80px 20px;
	z-index: 20;
}
section.new div.title {
	width: 100%;
	max-width: 1200px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	margin: 0 auto 30px;
}
section.new div.toc {
	width: 100%;
	max-width: 1220px;
	margin: 0 auto 24px;
}
section.new div.toc div.splide__slide {
	padding: 6px;
}
section.new div.toc a.card {
	height: 100%;
	color: #3a3939;
	background-color: #ffffff;
	box-shadow: 0px 2px 6px #ebe4e1;
	border-radius: 0 0 20px 0;
	padding: 0 0 14px;
}
section.new div.thumb {
	position: relative;
	width: 100%;
	background: url('../images/bg-line.svg') repeat;
	background-size: 16px;
	padding: 20px 20px;
	margin: 0 0 10px;
}
section.new div.toc div.thumb::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 50%;
	max-width: 120px;
	height: auto;
	aspect-ratio: 2 / 1;
	border-radius: 0 0 10px 0;
	z-index: 4;
}
section.new div.toc div.thumb::after {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;

	mask-image: url('../images/bg-wave-r.svg');
	-webkit-mask-image: url('../images/bg-wave-r.svg');
	mask-size: contain;
	mask-repeat: no-repeat;
	mask-position: top right;
	opacity: 0.3;

	z-index: 2;
}
section.new div.thumb figure {
	position: relative;
	width: 100%;
	max-width: 230px;
	height: auto;
	aspect-ratio: 23 / 18;
	margin: 0 auto;
	overflow: hidden;
	z-index: 3;
}
section.new div.thumb figure img {
	object-fit: contain;
	object-position: center;
	height: 100%;
}
section.new div.thumb div.profile {
	position: absolute;
	bottom: 0;
	left: 10px;
	z-index: 5;
}
section.new div.thumb div.profile.bo-20 {
	bottom: -20px;
}
section.new div.thumb div.profile p.job {
	margin-bottom: 4px;
}
section.new div.thumb div.profile span {
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;

	box-shadow: 0px 3px 4px rgba(0, 0, 0, 0.16);
	background: #3a3939;
	color: #ffffff;
	padding: 1px 4px;
	margin: 0 0 2px;
}

section.new div.toc h3 {
	font-size: 1.12em;
	font-weight: 700;
	padding: 0 12px;
}
section.new div.toc p.sub {
	font-weight: 500;
	padding: 0 12px;
}


/* cover */
section.new .cover div.thumb::before {
	background: url(../images/corner-cover.png);
}
section.new .cover div.thumb::after {
	background: linear-gradient(320deg, #857d6f 0%, #fffcf8 100%);
}
/* gallery */
section.new .gallery div.thumb::before {
	background: url(../images/corner-gallery.png);
}
section.new .gallery div.thumb::after {
	background: linear-gradient(320deg, #e58167 0%, #fffcf8 100%);
}
/* review */
section.new .review div.thumb::before {
	background: url(../images/corner-review.png);
}
section.new .review div.thumb::after {
	background: linear-gradient(320deg, #4360ab 0%, #fffcf8 100%);
}
/* interview */
section.new .interview div.thumb::before {
	background: url(../images/corner-interview.png);
}
section.new .interview div.thumb::after {
	background: linear-gradient(320deg, #00A498 0%, #fffcf8 100%);
}
/* report */
section.new .report div.thumb::before {
	background: url(../images/corner-report.png);
}
section.new .report div.thumb::after {
	background: linear-gradient(320deg, #e60013 0%, #fffcf8 100%);
}
/* zoomup */
section.new .zoomup div.thumb::before {
	background: url(../images/corner-zoomup.png);
}
section.new .zoomup div.thumb::after {
	background: linear-gradient(320deg, #95b400 0%, #fffcf8 100%);
}
/* 春号仮 */
/* 1年を振り返って */
section.new .reflection div.thumb::before {
	background: url(../images/corner-year.png);
}
section.new .reflection div.thumb::after {
	background: linear-gradient(320deg, #7eb1ff 0%, #fffcf8 100%);
}
/* 名古屋市芸術賞 */
section.new .award div.thumb::before {
	background: url(../images/corner-promotion.png);
}
section.new .award div.thumb::after {
	background: linear-gradient(320deg, #e0c877 0%, #fffcf8 100%);
}
/* 名古屋市民芸術祭賞 */
section.new .faward div.thumb::before {
	background: url(../images/corner-performance.png);
}
section.new .faward div.thumb::after {
	background: linear-gradient(320deg, #ffd255 0%, #fffcf8 100%);
}

section.new .cover div.thumb::before,
section.new .gallery div.thumb::before,
section.new .review div.thumb::before,
section.new .interview div.thumb::before,
section.new .report div.thumb::before,
section.new .zoomup div.thumb::before,
section.new .reflection div.thumb::before,
section.new .award div.thumb::before,
section.new .faward div.thumb::before {
	background-size: cover;
}

/* animtaion */
section.new div.thumb figure img {
	transition: transform 0.3s;
}
section.new div.toc a.card:hover div.thumb figure img {
	transform: scale(1.06);
}

/* search */
a.search {
	position: relative;
	display: block;
	width: 100%;
	max-width: 630px;
	height: 122px;
	
	color: #3a3939;
	border-radius: 10px;
	background: linear-gradient(-90deg, #eb837c 0%, #d82f2f 100%);
	padding: 10px;
	margin: 0 auto;
}
a.search div.icon {
	position: absolute;
	top: 0;
	left: 0;
	width: 78px;
	height: 78px;
	background-color: #D82F2F;
	border-radius: 100px;
	padding: 20px;
	z-index: 1;
}
a.search svg {
	fill: #ffffff;
	stroke: none;
}
a.search div.text {
	position: relative;
	align-content: center;
	width: 100%;
	height: 100%;
	border-radius: 6px;
	background-color: #ffffff;
	padding: 0 80px 0 90px;
}
a.search div.text::before {
	content: '';
	position: absolute;
	right: 0;
	top: 0;
	width: 30%;
	height: 100%;
	background: url(../images/bg-serch.png) no-repeat;
	background-size: cover;
	background-position: left;
}
a.search div.text::after {
	content: '';
	position: absolute;
	right: 30px;
	bottom: 50%;
	transform: translate(0, 50%);

	width: 22px;
	height: 18px;
	background: url(../images/icon-arrow.svg);
	background-size: 9px;
	background-repeat: no-repeat;
	background-position: center;
	background-color: #D82F2F;
	border-radius: 10px;
	z-index: 1;
	transition: transform 0.3s;
}
a.search:hover div.text::after {
	transform: translate(6px, 50%);
}
a.search div h3 {
	position: relative;
	font-size: 1.25em;
	font-weight: 700;
	z-index: 5;
}
a.search div p {
	position: relative;
	z-index: 5;
}

/* deco */
section.new div.deco-01,
section.new div.deco-02 {
	position: absolute;
	z-index: -1;
	width: 100%;
}
section.new div.deco-01 {
	top: -104px;
	left: 20px;
	max-width: 280px;
}
section.new div.deco-02 {
	right: 20px;
	bottom: 22px;
	max-width: 200px;
}

@media screen and (max-width: 1200px) {
	section.new div.deco-01 {
		top: -50px;
		left: unset;
		right: 0;
		width: 40vw;
		transform: scale(-1, 1);
	}
	section.new div.deco-02 {
		right: unset;
		left: 0;
		bottom: -40px;
		width: 30vw;
	}
}
@media screen and (max-width: 1024px) {
	a.search div h3 {
		font-size: 1.12em;
	}
	section.new div.toc h3 {
		font-size: 1em;
	}
}
@media screen and (max-width: 768px) {
	section.new {
		padding: 40px 40px 20px;
	}
	section.new div.title {
		margin: 0 0 16px;
	}
	section.new a.btn-circle {
		margin-bottom: 30px;
	}
	section.new div.thumb {
		padding: 20px 20px 30px;
	}
	section.new div.thumb div.profile p.job {
		margin-bottom: 1px;
	}
	
	section.new div.toc {
		width: 100%;
		margin: 0 0 20px;
	}

	a.search {
		height: 100px;
	}
	a.search div.text {
		padding: 0 30px 0 30px;
	}
	a.search div h3 {
		text-align: center;
		font-size: 1em;
	}
	a.search div p {
		text-align: center;
		margin: 0 auto;
	}
	a.search div.icon {
		width: 50px;
		height: 50px;
		padding: 10px;
	}
	a.search div.text::after {
		right: 8px;
	}

}
@media screen and (max-width: 510px) {
	section.new {
		padding: 20px 24px 20px;
	}
}
@media screen and (max-width: 430px) {
	section.new div.thumb div.profile {
		left: 4px;
		bottom: 0;
	}
	a.search {
		height: 120px;
	}
	/* a.search div p {
		font-size: 0.94em;
	} */
}
@media screen and (max-width: 359px) {
	section.new div.thumb div.profile {
		left: 8px;
	}
}
/* --------------------------------- feature */
section.feature {
	position: relative;
	width: 100%;
	background: linear-gradient(0deg, #fffcf6 0%, #ffffff 6%, #ffffff 94%, #fff7f3 100%);
	padding: 60px 20px 60px;
	z-index: 10;
}
section.feature ul {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;
	width: 100%;
	max-width: 960px;
	margin: 0 auto 0;
}
section.feature ul li {
	width: calc(100%/3);
	background-color: rgba(255, 255, 255, 0.5);
	padding: 8px 15px;
}
section.feature ul li:not(:last-child) {
	border-right: 1px solid #ebe4e1;
}
section.feature ul li a {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: #3a3939;
}
section.feature ul li figure {
	width: 100%;
	max-width: 284px;
	border-radius: 10px;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
	overflow: hidden;
	margin: 0 auto 16px;
}
section.feature ul li figure img {
	transition: opacity 0.3s;
}
section.feature ul li p {
	flex-grow: 1;
	padding: 0 10px;
	margin: 0 0 10px;
}
section.feature ul li span {
	display: flex;
	align-items: center;
	justify-content: right;
	padding-right: 12px;
}
section.feature ul li span svg {
	content: '';
	display: block;
	width: 22px;
	height: 18px;
	fill: #3a3939;
	stroke: none;

	border: 1px solid #3a3939;
	border-radius: 10px;
	padding: 4px 4px;
	margin: 0 0 0 10px;
	transition: transform 0.3s;
}
section.feature ul li a:hover figure img {
	opacity: 0.8;
}
section.feature ul li a:hover span svg {
	transform: translateX(4px);
	stroke: none;
}

/* deco */
section.feature div.deco-03 {
	position: absolute;
	z-index: -1;
	width: 100%;
}
section.feature div.deco-03 {
	bottom: -60px;
	left: 20px;
	max-width: 200px;
}

@media screen and (max-width: 1200px) {
	section.feature div.deco-03 {
		bottom: -60px;
		left: unset;
		right: 0;
		width: 20vw;
	}
}
@media screen and (max-width: 768px) {
	section.feature {
		padding: 60px 40px 30px;
	}
	section.feature ul {
		max-width: 650px;
	}
}
@media screen and (max-width: 767px) {
	section.feature ul li {
		width: calc(100%/2);
		padding: 8px 8px;
	}
	section.feature ul li:nth-child(2) {
		border-right: unset;
	}

	section.feature div.deco-03 {
		width: 30vw;
		bottom: 0;
	}
}
@media screen and (max-width: 768px) {
	section.feature {
		padding: 60px 10px 30px;
	}
	section.feature div.deco-03 {
		bottom: -60px;
	}
}
@media screen and (max-width: 359px) {
	section.feature ul li {
		width: 100%;
		margin: 0 0 16px;
		padding: 0 0 16px;
	}
	section.feature ul li:not(:last-child) {
		border-right: unset;
		border-bottom: 1px solid #ebe4e1;
	}
}

/* --------------------------------- archive */
section.archive {
	width: 100%;
	background: #fffcf6;
	padding: 80px 80px 70px;
}
section.archive div.title {
	width: 100%;
	max-width: 1200px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	margin: 0 auto 30px;
}
section.archive div.number {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto 0;
}
section.archive div.number a {
	color: #3a3939;
	text-align: center;
}
section.archive div.number figure {
	position: relative;
	width: 100%;
	background-color: #ECE8E3;
	border-radius: 16px 0 16px 0;
	padding: 16px;
	margin: 0 0 10px 0;
}
section.archive div.number figure::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: url(../images/bg-line.svg);
	background-size: 16px;
}
section.archive div.number figure img {
	position: relative;
	width: 120px;
	margin: 0 auto;
	transition: transform 0.3s;
	z-index: 5;
}
section.archive div.number h3,
section.archive div.number span {
	font-weight: 700;
	font-size: 1.12em;
}
section.archive div.number h3 span {
	margin-right: 0.2em;
}

section.archive div.number a:hover figure img {
	transform: scale(1.06);
}

@media screen and (max-width: 1024px) {
	section.archive div.number h3,
	section.archive div.number span {
		font-size: 1em;
	}
}
@media screen and (max-width: 768px) {
	section.archive {
		padding: 30px 40px 70px;
	}
	section.archive div.number {
		margin: 0 auto 24px;
	}
}
@media screen and (max-width: 510px) {
	section.archive {
		padding: 30px 24px 40px;
	}
}
@media screen and (max-width: 424px) {
	section.archive div.number {
		margin: 0 auto 30px;
	}
}

/* --------------------------------- about */
section.about {
	position: relative;
	width: 100%;
	background-color: #FFFCF6;
	z-index: 10;
}
section.about div.inner {
	position: relative;
	width: 100%;
	max-width: 1360px;
	margin: 0 auto;
	padding: 120px 80px 225px;
	z-index: 5;
}
section.about h2 {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;

	text-align: center;
	font-size: 1.625em;
	line-height: 46px;
	font-weight: 700;
	margin: 0 0 30px;
	z-index: 5;
}
section.about h2 span.marker {
	margin: 0 16px;
}
section.about h2::before,
section.about h2::after {
	content: '';
	display: block;
	width: 23px;
	height: 6px;
	border-radius: 3px;
	background: linear-gradient(90deg, #eb837c 0%, #ffddcd 100%);
}
section.about h2::after {
	transform: scale(-1);
}
section.about h2 span.col-red {
	color: #d82f2f;
}
section.about p {
	position: relative;
	width: 100%;
	max-width: 780px;
	line-height: 1.8;
	text-align: center;
	margin: 0 auto;
	z-index: 5;
}

section.about figure.deco-01,
section.about figure.deco-02,
section.about div.deco-03,
section.about div.deco-04 {
	position: absolute;
}
section.about figure img {
	border-radius: 10px;
	box-shadow: 0px 3px 16px rgba(0, 0, 0, 0.16);
}
section.about figure.deco-01 {
	left: 20px;
	top: 0;
	width: 260px;
}
section.about figure.deco-02 {
	right: 20px;
	bottom: 60px;
	width: 240px;
}
section.about div.deco-03 {
	left: -110px;
	top: 200px;
	width: 320px;
	z-index: -1;
}
section.about div.deco-04 {
	right: -80px;
	bottom: 250px;
	width: 250px;
	z-index: -1;
}

section.about div.bg {
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 230px;
	background: linear-gradient(180deg, #ffeadf 0%, #fff6f2 80%, #fff 100%);
	z-index: 0;
}
section.about div.bg svg {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	min-width: 1920px;
	fill: #fffcf6;
	stroke: none;
}

@media screen and (max-width: 1440px) {
	section.about figure.deco-01 {
		width: min(21.44vw, 260px);
		min-width: 160px;
	}
	section.about figure.deco-02 {
		width: min(23.44vw, 240px);
		min-width: 140px;
	}
	section.about div.deco-03 {
		width: min(40vw, 320px);
	}
	section.about div.deco-04 {
		right: -80px;
		bottom: 250px;
		width: 250px;
	}
}
@media screen and (max-width: 1024px) {
	section.about h2 {
		font-size: 1.625em;
	}
	section.about p {
		text-align: left;
	}

	section.about div.deco-03 {
		left: unset;
		right: -40px;
		top: 0;
		width: min(40vw, 320px);
		transform: scale(-1, 1);
	}
	section.about div.deco-04 {
		right: unset;
		left: -80px;
		bottom: 30px;
		width: min(30vw, 250px);
		transform: scale(-1, 1);
	}
}
@media screen and (max-width: 768px) {
	section.about div.inner {
		padding: 120px 40px 150px;
	}
	section.about h2 {
		font-size: 1.375em;
		line-height: 36px;
		margin: 0 0 20px;
	}
	section.about p br.sp-none{
		display: none;
	}
	section.about figure.deco-01 {
		width: min(26.44vw, 260px);
		/* left: -10px; */
		border-radius: 0 10px 10px 0;
	}
	section.about figure.deco-02 {
		bottom: 20px;
		border-radius: 10px 0 0 10px;
	}
	section.about div.deco-04 {
		left: -10px;
	}
}
@media screen and (max-width: 510px) {
	section.about div.inner {
		padding: 130px 24px 150px;
	}
	section.about h2 {
		font-size: 1.25em;
	}
}

/* --------------------------------- splide custom */
div.splide {
	position: relative;
}
div.splide__arrows button {
	position: absolute;
	top: 34%;

	width: 70px;
	height: 50px;
	background: #3a3939;
	box-shadow: 0 4px 6px rgb(57, 42, 42, 0.2);
	border-radius: 30px;
	z-index: 10;
}
div.splide__arrows button:first-child {
	transform: scale(-1);
	left: -86px;
}
div.splide__arrows button:last-child {
	right: -86px;
}
div.splide__arrows button img {
	width: 15px;
	margin: 0 auto;
}

button.splide__pagination__page {
	width: 10px;
	height: 10px;
	background-color: #ebe4e1;
	border-radius: 10px;
	margin: 0 6px;
}
button.splide__pagination__page.is-active {
	background-color: #857d6f;
}

@media screen and (max-width: 1440px) {
	div.splide__arrows button:first-child {
		left: -40px;
	}
	div.splide__arrows button:last-child {
		right: -40px;
	}
}

@media screen and (max-width: 768px) {
	div.splide__arrows button {
		width: 40px;
		height: 40px;
	}
	div.splide__arrows button:first-child {
		left: -16px;
	}
	div.splide__arrows button:last-child {
		right: -16px;
	}
}
@media screen and (max-width: 359px) {
	ul.splide__pagination {
		margin-top: 10px;
	}
}