/* -------sns icon--------- */
@font-face {
	font-family: 'sns_ico';
	src:
		url('../fonts/sns_ico.ttf?sij4de') format('truetype'),
		url('../fonts/sns_ico.woff?sij4de') format('woff'),
		url('../fonts/sns_ico.svg?sij4de#sns_ico') format('svg');
	font-weight: normal;
	font-style: normal;
}

i.snsIcon {
	font-family: 'sns_ico' !important;
	speak: never;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;

	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;

	color: #535b5c;
}

.icon-ap:before { content: "\e900";}
.icon-blo:before { content: "\e901";}
.icon-fb:before { content: "\e902";}
.icon-hp:before { content: "\e903";}
.icon-in:before { content: "\e904";}
.icon-line:before { content: "\e905";}
.icon-spo:before { content: "\e906";}
.icon-tt:before { content: "\e907";}
.icon-tw:before { content: "\e908";}
.icon-yt:before { content: "\e909";}
.icon-x:before { content: "\e90a";}

/* ////////////////////////////////////////////////////////////////////////////////

	Common

//////////////////////////////////////////////////////////////////////////////// */
html {
	background-color: #f5feff;
	scroll-behavior: smooth;
	/* -webkit-font-smoothing: antialiased; */
}
body {
	font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
	background: linear-gradient(275deg, #c2cfd9 0%, #dde4ec 100%);
	line-height: 1.8;
	letter-spacing: 0.04em;
	color: #535b5c;
}
main {
	position: relative;
	z-index: 1;
}
.shade01,
.shade02 {
	position: fixed;
	top: 0;
	left: 0;
	display: block;
	content: "";
	width: 100vw;
	height: 100vh;
	z-index: 1;
	opacity: 0.4;
	mix-blend-mode: multiply;
}
.shade01 img,
.shade02 img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: right;
}
.shade01 {
	opacity: 0;
	animation: shadeBgAnim 4s ease-in-out 2s infinite;
}
.shade02 {
	opacity: 0;
	animation: shadeBgAnim 4s ease-in-out 0s infinite;
}
@keyframes shadeBgAnim {
	0% { opacity: 0;}
	40% { opacity: 0.65;}
	50% { opacity: 0.65;}
	60% { opacity: 0.65;}
	100% { opacity: 0;}
}

img {
	width: 100%;
	height: auto;
	vertical-align: middle;
}
ul li {
	list-style: none;
}
a {
	transition: all 0.5s ease;
	text-decoration: none;
	color: #535b5c;
}

section {
	padding: min(10vw, 64px) 0;
	overflow: hidden;
}
body:not(.subpage) section:last-child {
	padding-bottom: min(14vw, 120px);
}
.innerWrap {
	max-width: 1160px;
	padding: 0 min(6vw, 60px);
	margin: auto;
}

h2 {
	font-family: "amandine", sans-serif;
	font-weight: 300;
	font-style: normal;
	font-size: min(10vw, 64px);
	line-height: 1;
	letter-spacing: 0.04em;
	margin-bottom: min(10vw, 64px);
}

.snsList {
	display: flex;
	align-items: center;
	gap: min(5vw, 32px);
}
.snsList li,
.snsList a {
	line-height: 1;
}
.snsList a i,
.snsList a img {
	vertical-align: bottom;
}
.snsList i.icon-x {
	font-size: 0.9em;
}
.snsList i.icon-yt {
	font-size: 1.3em;
}
.snsList img.mail {
	width: 1em;
}

.address {
  margin-bottom: min(8vw, 80px);
}
.address p {
  line-height: 1.6;
  font-size: min(3.2vw, 14px);
}
.address a {
  font-size: min(3.2vw, 14px);
}

.moreWrap {
	text-align: right;
	margin-top: min(4vw, 32px);
}
.moreWrap a {
	display: flex;
	align-items: center;
	width: fit-content;
	gap: 0.8em;
	font-family: "amandine", sans-serif;
	font-weight: 300;
	font-style: normal;
	font-size: min(3vw, 14px);
	font-weight: 500;
	margin-left: auto;
}
.moreWrap a span:first-child {
	transition: all 0.3s ease-out;
}
.moreWrap .moreArrow {
	position: relative;
	width: 3em;
}
.moreWrap .moreArrow::before,
.moreWrap .moreArrow::after {
	display: block;
	content: "";
	position: absolute;
	left: 50%;
	width: 0.5em;
	height: 0.05em;
	background-color: #535b5c;
	transition: all 0.3s ease-out;
}
.moreWrap .moreArrow::before {
	transform: translate(-50%, -50%) rotate(35deg);
	top: calc(50% - 0.14em);
}
.moreWrap .moreArrow::after {
	transform: translate(-50%, -50%) rotate(-35deg);
	top: calc(50% + 0.14em);
}
.moreWrap a:hover {
	opacity: 1;
}
.moreWrap a:hover span:first-child {
	opacity: 0.6;
}
.moreWrap a:hover .moreArrow img {
	transition: transform 0.6s ease;
	transform: rotate(360deg);
}
.moreWrap a:hover .moreArrow::before,
.moreWrap a:hover .moreArrow::after {
	left: 56%;
}
.moreWrap a {
	justify-content: right;
}

.comingSoonWrap {
	text-align: center;
	font-size: min(4.8vw, 32px);
	padding: min(10vw, 64px) 0;
}
.subpage .comingSoonWrap {
	padding: min(14vw, 64px) 0;
}

.anim {
	opacity: 0;
	transition: all .8s ease-in;
}
.anim.on {
	opacity: 1;
}
@keyframes op {
	0% { opacity: 0;}
	100% { opacity: 1;}
}

@media screen and (min-width:821px) {
	.sp {display: none;}
}
@media screen and (max-width:820px) {
	.pc {display: none;}

  .address {
    text-align: center;
  }
}

@media (hover: hover) {
	a:hover {
		opacity: 0.6;
	}
}

/* ////////////////////////////////////////////////////////////////////////////////

	menu button

//////////////////////////////////////////////////////////////////////////////// */

header {
	position: relative;
	z-index: 100;
	opacity: 0;
	animation: op 1s ease-out 1s forwards;
}
#menuButton {
	display: block;
	width: 60px;
	height: 40px;
	position: fixed;
	top: 5svh;
	right: 2vw;
	transform: translateY(-50%);
	z-index: 9999;
}
#menuButton span {
	display: block;
	background: #fff;
	width: 100%;
	height: 2px;
	position: absolute;
	left: 0;
	transition: all 0.4s;
}
#menuButton.active span {
	background: #535b5c;
}
#menuButton span:first-child { top: 14px;}
#menuButton span:nth-child(2) { bottom: 14px;}

#menuButton.active span:first-child {
	transform: translateY(5px) rotate(28deg);
}
#menuButton.active span:nth-child(2) {
	transform: translateY(-5px) rotate(-28deg);
}

#globalNav {
	display: none;
	position: fixed;
	top: 0px;
	left: 0px;
	z-index: 2;
	height: 100vh;
	width: 100vw;
	background: linear-gradient(275deg, #c2cfd9 0%, #dde4ec 100%);
}
#globalNav > div {
	display: flex;
}
#globalNav .titleWrap {
	position: relative;
	width: 50vw;
	background: url(../images/bg.jpg) no-repeat center center / cover;
	z-index: 0;
	overflow: hidden;
}
#globalNav .titleWrap::before {
	display: block;
	content: "";
	width: 105%;
	height: 105%;
	position: absolute;
	top: -2.5%;
	left: -2.5%;
	background: url(../images/menu_bg.jpg) no-repeat 28% center / cover;
	filter: blur(6.2px);
	z-index: -1;
}
#globalNav .titleWrap .menuTitle {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 63%;
}
.navWrap {
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100vh;
	width: 50vw;
	padding: 0 10vw;
	background: linear-gradient(275deg, #c2cfd9 0%, #dde4ec 100%);
}
.mainNav a {
	font-family: "amandine", sans-serif;
	font-weight: 300;
	font-style: normal;
	color: #535b5c;
	font-size: min(2.4vw, 4vh);
  text-decoration: none;
	line-height: 2.2;
	letter-spacing: 0.1em;
}
.mainNav a span {
	font-size: 0.62em;
	margin-left: 1em;
	letter-spacing: 0.08em;
	/* color: #7f8f91; */
}
.navWrap .snsList {
	margin-top: min(3.6vw, 4vh);
}
.navWrap .snsList a {
	font-size: min(2.4vw, 4vh);
}

@media screen and (max-width:820px) {
	#menuButton {
		width: min(12vw, 60px);
		height: min(8vw, 40px);
		right: 4vw;
	}
	#menuButton span:first-child { top: min(2.6vw, 14px);}
	#menuButton span:nth-child(2) { bottom: min(2.6vw, 14px);}

	#globalNav > div {
		height: 90vh;
		height: 100svh;
		flex-direction: column;
	}
	#globalNav .titleWrap {
		flex-grow: 1;
		width: 100vw;
	}
	#globalNav .titleWrap .menuTitle {
		max-width: 360px;
	}
	#globalNav .titleWrap .menuTitle span:last-child {
		font-size: min(3.2vw, 18px);
		margin-top: 4%;
	}
	.navWrap {
		height: auto;
		width: 100vw;
		padding: min(10vw, 100px) min(18vw, 180px);
	}
	.mainNav a {
		font-size: min(4.8vw, 26px);
	}
	.navWrap .snsList {
		margin-top: min(6vw, 64px);
	}
	.navWrap .snsList a {
		font-size: min(4.8vw, 26px);
	}
}

/* ////////////////////////////////////////////////////////////////////////////////

	main visual

//////////////////////////////////////////////////////////////////////////////// */
.topPage main {
	padding-top: calc(100svh + min(4vw, 40px));
}
#mainVisual {
	position: fixed;
	top: 0;
	left: 0;
	height: 100vh;
	width: 100vw;
	z-index: 10;
}
#mainVisual > div {
	position: absolute;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100svh;
}
#mainVisual::before,
#mainVisual::after {
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	mix-blend-mode: multiply;
}
#mainVisual::before {
	background-image: url(../images/bg_shade01.jpg);
	background-repeat: no-repeat;
	background-size: 100% 100%;
	background-position: center;
	opacity: 0;
	animation: shadeBgAnim 4s ease-in-out 2s infinite;
}
#mainVisual::after {
	background-image: url(../images/bg_shade02.jpg);
	background-repeat: no-repeat;
	background-size: 100% 100%;
	background-position: center;
	opacity: 0;
	animation: shadeBgAnim 4s ease-in-out 0s infinite;
}
#mainVisual h1 {
	position: absolute;
	top: 46%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 32vw;
	z-index: 2;

	opacity: 0;
	animation: op 3.5s ease-out 1.5s forwards;
}
#mainVisual.topVisual .topDeco_wave01 {
	opacity: 0;
	animation: op 1s ease-out 0.5s forwards;
}
#mainVisual.topVisual .topDeco_wave02 {
	opacity: 0;
	animation: op 1s ease-out 0.5s forwards;
}
#mainVisual.topVisual .topDeco_bouquet {
	opacity: 0;
	animation: op 2s ease-out 1s forwards;
	width: min(55%, 80svh);
}
#mainVisual.topVisual .topDeco_bouquet > div {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: calc(100% * 151 / 179);
	transform: translate(-16%, 21%);
}
#mainVisual.topVisual .topDeco_bouquet img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	transform-origin: 30% 74%;
}
#mainVisual.topVisual .topDeco_bouquet img:nth-child(2),
#mainVisual.topVisual .topDeco_bouquet img:nth-child(3) {
	animation: bouquetAnim 4s ease-in-out 0s infinite;
}
#mainVisual.topVisual .topDeco_bouquet img:nth-child(4) {
	animation: bouquetAnim 4s ease-in-out 0.5s infinite;
}
@keyframes bouquetAnim {
	0% {transform: rotate(0deg);}
	25% {transform: rotate(6deg);}
	75% {transform: rotate(-6deg);}
	100% {transform: rotate(-0.1deg);}
}


.topVisual {
	position: relative;
	overflow: hidden;

	background: url(../images/bg_top.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	/* background-repeat: repeat;
	background-size: 200px; */
}
.topVisual .topDeco_wave01 {
	position: absolute;
	top: 0;
	left: 0;
	width: 36%;
}
.topVisual .topDeco_wave02 {
	position: absolute;
	right: -1%;
	bottom: -1%;
	width: 48%;
}
.topVisual .topDeco_bouquet {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 35%;
}

@media screen and (orientation: portrait) {
	#mainVisual.topVisual .topDeco_wave01 {
		width: 76%;
	}
	#mainVisual.topVisual .topDeco_wave02 {
		width: 138%;
	}
	#mainVisual.topVisual .topDeco_bouquet {
		width: 94%;
	}
	#mainVisual h1 {
		width: 80vw;
	}
}


/* ////////////////////////////////////////////////////////////////////////////////

	CONTENTS

//////////////////////////////////////////////////////////////////////////////// */
#concept {
	padding: min(18vw, 120px) 0 min(6vw, 64px);
}
#concept .conceptWrap {
	/* width: max(80%, min(100%, 1080px)); */
	max-width: 1160px;
	padding: 0 min(6vw, 64px);
	margin: auto;
}

#concept .flexBox {
	display: flex;
	justify-content: space-between;
}
#concept .flexBox .text {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 45%;
}
#concept .flexBox .text .lead {
	width: fit-content;
	margin: 0 auto;
	font-size: min(2.6vw, 36px);
	text-indent: -2.4em;
	padding-left: 2.4em;
	letter-spacing: 0.12em;
	line-height: 1.7;
	margin-bottom: min(4vw, 40px);
	/* margin-bottom: min(6vw, 64px); */
}
#concept .flexBox .text .lead + p {
	font-size: min(3.2vw, 15px);
	margin-bottom: min(8vw, 80px);
}
#concept .flexBox .text .imgSub {
	width: 70%;
}
#concept .flexBox .text .imgSub > div {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 58%;
}
#concept .flexBox .text .imgSub > div img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#concept .flexBox .img {
	width: 50%;
}
@media screen and (min-width:821px) {
	#concept .flexBox .text .imgSub,
	#concept .flexBox .img {
		opacity: 1;
	}
}
@media screen and (max-width:820px) {
	#concept .flexBox {
		flex-direction: column;
	}
	#concept .flexBox .text .lead {
		font-size: min(5.8vw, 36px);
	}
	#concept .flexBox .text {
		width: 100%;
	}
	#concept .flexBox .img {
		width: 90%;
		margin-left: auto;
		margin-top: max(-7vw, -64px);
		z-index: 1;
	}

}

/* #info .flexBox {
	display: flex;
} */
.infoAnchor {
	display: flex;
	align-items: flex-start;
	gap: 20px;
	width: 33%;
}
.infoAnchor > li {
	position: relative;
	display: flex;
	font-size: min(3.4vw, 16px);
	z-index: 1;
}
.infoAnchor > li::before {
	display: block;
	content: "";
	position: absolute;
	bottom: 0.15em;
	left: 50%;
	transform: translateX(-50%);
	width: calc(100% + 0.6em);
	height: 0.6em;
	background-color: #9fc8d6;
	z-index: -1;

	transition: all 0.6s ease;
	opacity: 0;
}
.infoAnchor > li.active::before {
	opacity: 1;
}
.infoWrap {
	position: relative;
	width: 67%;
}
.infoWrap .infoList {
	display:none;
}
.infoWrap .infoList.active {
	display:block;
}
.infoList li {
	border-bottom: #8e8e8e solid 1px;
	padding: min(3vw, 20px) 0;
}
.infoList li:first-child {
	padding-top: min(1vw, 6px);
}
.infoList li a {
	display: flex;
	font-size: min(3vw, 12px);
}
.infoList a p:first-child {
	width: 160px;
	display: flex;
	align-items: flex-start;
}
.infoList li.new a p:first-child::after {
	display: block;
	content: "NEW";
	background-color: #bd584f;
	color: #fff;
	font-size: 0.67em;
	padding: 0.25em 1.4em;
	margin-left: 1.5em;
	margin-top: 0.3em;
}
.infoList a p:last-child {
	width: calc(100% - 160px);
}
.infoList a p:last-child .area::after {
	content: "|";
	padding: 0 0.5em;
	vertical-align: 0.05em;
}

@media (hover: hover) {
	.infoAnchor > li {
		cursor: pointer;
	}
}
@media screen and (max-width:820px) {
	/* #info .flexBox {
		flex-direction: column;
	}
	#info .infoAnchor {
		width: 100%;
		justify-content: center;
	} */
	.infoWrap {
		width: 100%;
		margin-top: min(6vw, 40px);
	}
	.infoList a {
		flex-direction: column;
	}
	.infoList a p:first-child,
	.infoList a p:last-child {
		width: 100%;
	}
	.infoList a p:last-child {
		margin-top: min(2vw, 24px);
	}
	.infoList li.new a p:first-child::after {
		padding: 0.05em 1em;
		margin-top: 0.5em;
	}

}


#discography .flexBox {
	display: flex;
	justify-content: space-between;
}
#discography .flexBox .img {
	width: 38.5%;
}
#discography .flexBox .text {
	width: 56%;
}
#discography .flexBox .text .title {
	font-size: min(3.4vw, 16px);
	margin-bottom: 0.4em;
}
#discography .flexBox .text .date {
	font-size: min(2.6vw, 12px);
}
#discography .flexBox .text ol {
	padding-left: 1em;
	margin-top: 1em;
}
#discography .flexBox .text ol li {
	font-size: min(2.6vw, 12px);
	padding-left: 1em;
}
#discography .flexBox .text .disc {
	font-size: min(3vw, 14px);
	margin-top: 1em;
}
@media screen and (max-width:820px) {
	#discography .flexBox {
		flex-direction: column;
	}
	#discography .flexBox .img {
		width: 100%;
		margin-bottom: min(4vw, 40px);
	}
	#discography .flexBox .text {
		width: 100%;
	}
}


.videoWrap {
	width: 100%;
	max-width: 560px;
	margin: auto;
}
.videoWrap > div {
  position: relative;
  width:100%;
  height:0;
  padding-top: 56.25%;
}
.videoWrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.videoWrap > p {
	font-size: min(3.4vw, 16px);
	margin-top: 1em;
}
.videoWrap > p span {
	display: block;
	font-size: min(2.8vw, 13px);
}


.goodsGrid {
	display: grid;
	gap: min(4vw, 40px) min(2vw, 10px);
	grid-template-columns: repeat(4, 1fr);
}
.goodsGrid .img.comingSoon {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 100%;
}
.goodsGrid .img.comingSoon p {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	width: 100%;
	font-size: min(2.6vw, 14px);
}
.goodsGrid .name {
	font-size: min(3.2vw, 15px);
	line-height: 1.4;
	margin-top: 1em;
}
.goodsGrid .text {
	font-size: min(2.6vw, 12px);
	margin-top: 0.5em;
}
@media screen and (max-width:820px) {
	.goodsGrid {
		grid-template-columns: repeat(2, 1fr);
	}
}


#creators h3 {
	font-family: "amandine", sans-serif;
	font-weight: 300;
	font-style: normal;
	font-size: min(7.2vw, 38px);
	margin-bottom: min(4vw, 24px);
}
#creators .flexBox {
	display: flex;
}
#creators .textArea .part {
	font-size: min(5.2vw, 24px);
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.06em;
}
#creators .textArea .part span {
	display: block;
	font-size: min(3.8vw, 16px);
	letter-spacing: 0.02em;
}
#creators .textArea .text {
	font-size: min(3vw, 13px);
	margin-top: 1em;
}

#creators #introduce {
	margin-bottom: min(20vw, 128px);
}
#creators #introduce .flexBox {
	justify-content: space-between;
	align-items: center;
}
#creators #introduce .flexBox .img {
	width: 38.5%;
}
#creators #introduce .flexBox .textArea {
	width: 52.9%;
}

#creators .member + .member {
	margin-top: min(10vw, 100px);
}
#creators .member .textArea {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 28%;
}
#creators .member .flexRight {
	width: 72%;
}
#creators .member .flexRight > div {
	width: calc(100% + min(6vw, 64px) + (100vw - min(100vw, 980px)) / 2);
	overflow: hidden;
}
#creators .member .flexRight .slick-track {
	margin-left: 0;
}
#creators .member .flexRight .slick-list {
  margin: 0 -15px;
	overflow: unset;
}
#creators .member .flexRight .slick-slide {
  margin: 0 15px;
	max-width: 240px;
}
#creators .member .creatorContainer .img {
	margin-bottom: min(4vw, 12px);
}
#creators #introduce .flexBox .img > div,
#creators .member .creatorContainer .img {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 100%;
}
#creators #introduce .flexBox .img > div img,
#creators .member .creatorContainer .img img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#creators .member .creatorContainer .name {
	font-size: min(3vw, 12px);
	line-height: 1.2;
}
#creators .member .creatorContainer .name span {
	display: block;
	font-size: min(2.6vw, 10px);
	margin-top: 4px;
}
#creators .member .creatorContainer .text {
	font-size: min(3vw, 10px);
	margin-top: 1.2em;
}

#creators .member .moreWrap.pc {
	margin-top: 0;
}
#creators .member .moreWrap.pc a {
	margin-left: 0;
}
@media screen and (max-width:820px) {
	#creators #introduce .flexBox {
		flex-direction: column;
	}
	#creators #introduce .flexBox .img {
		width: 100%;
	}
	#creators #introduce .flexBox .textArea {
		width: 100%;
		margin-top: min(4vw, 40px);
	}

	#creators .member + .member {
		margin-top: 0;
	}
	#creators .member .flexBox {
		flex-direction: column;
	}
	#creators .member .textArea,
	#creators .member .flexRight {
		width: 100%;
	}
	#creators .member .flexRight {
		margin-top: min(6vw, 40px);
	}
	#creators .member .flexRight > div {
		width: auto;
		overflow: unset;
		max-width: 650px;
	}
	#creators .member .flexRight .slick-slide {
		max-width: none;
	}
}


/* ////////////////////////////////////////////////////////////////////////////////

	footer

//////////////////////////////////////////////////////////////////////////////// */

footer {
	position: relative;
	padding: min(12vw, 120px)  min(8vw, 80px) min(8vw, 40px);
	z-index: 1;
	overflow: hidden;
}
footer::before {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../images/bg.jpg) no-repeat center center / cover;
	filter: blur(6.2px);
	z-index: -1;
}
footer .title {
	width: 250px;
	margin-bottom: min(4vw, 32px);
}
footer .snsList {
	display: flex;
/*	margin-bottom: min(8vw, 80px);*/
	margin-bottom: min(6vw, 30px);
}
footer .snsList a {
	font-size: min(4.8vw, 28px);
}
footer .copy {
	font-size: min(2.6vw, 10px);
	text-align: center;
}

footer .pageTop {
	display: none;
	position: fixed;
	right: min(4vw, 32px);
	bottom: min(6vw, 64px);
}
footer .pageTop a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: min(14vw, 80px);
	height: min(14vw, 80px);
	background-color: rgba(255, 255, 255, 0.6);
	border-radius: 100%;
	transition: all 0.3s ease-out;
}
footer .pageTop p {
	position: relative;
	font-family: "amandine", sans-serif;
	font-weight: 300;
	font-style: normal;
	font-size: min(3.4vw, 16px);
	margin-top: 0.8em;
}
footer .pageTop p::before,
footer .pageTop p::after {
	display: block;
	content: "";
	position: absolute;
	top: -0.2em;
	width: 0.05em;
	height: 0.5em;
	background-color: #535b5c;
	transition: all 0.3s ease-out;
}
footer .pageTop p::before {
	transform: translate(-50%, -50%) rotate(35deg);
	left: calc(50% - 0.14em);
}
footer .pageTop p::after {
	transform: translate(-50%, -50%) rotate(-35deg);
	left: calc(50% + 0.14em);
}
footer .pageTop a:hover {
	opacity: 1;
	background-color: rgba(255, 255, 255, 0.4);
}
footer .pageTop a:hover p::before,
footer .pageTop a:hover p::after {
	top: -0.4em;
}

@media screen and (max-width:820px) {
	footer .title {
		width: min(40vw, 250px);
		margin: 0 auto min(6vw, 64px);
	}
	footer .snsList {
		justify-content: center;
	}
}
/* ////////////////////////////////////////////////////////////////////////////////

	下層ページ

//////////////////////////////////////////////////////////////////////////////// */

#notFound .notFound {
	font-family: "amandine", sans-serif;
	font-weight: 300;
	font-style: normal;
	font-size: min(10vw, 64px);
	text-align: center;
	line-height: 1;
	letter-spacing: 0.04em;
}
#notFound .notFound span {
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 200;
	font-style: normal;
	display: block;
	font-size: min(3.8vw, 18px);
	margin-top: min(4vw, 40px);
}

.subpage header {
	opacity: 1;
	animation: none;
}
.subpage header h1 {
	position: absolute;
	top: 5svh;
	left: 2vw;
	transform: translateY(-50%);
	width: min(30vw, 228px);
	z-index: 1;
}

/* .subpage main {
	padding: min(16vw, 160px) 0 min(10vw, 100px);
} */

.subpage section {
	padding: 0;
}
.subpage .innerWrap {
	padding-top: min(18vw, 180px);
	padding-bottom: min(18vw, 180px);
}
.subpage:not(:has(.topVisual)) .innerWrap {
	padding-top: min(26vw, 220px);
}

.subpage footer .pageTop {
	display: block;
}

.subpage .topVisual {
	height: 38vw;
}
.subpage .topVisual .topDeco_wave01 {
	top: -9.7vw;
	width: 42%;
}
.subpage .topVisual .topDeco_wave02 {
	width: 33%;
}
.subpage .topVisual .topDeco_bouquet {
	width: 30%;
}
.subpage .topVisual h2 {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: min(6.4vw, 38px);
	color: #fff;
	margin-bottom: 0;
}


#postPage .infoList li {
	padding: min(4vw, 24px) 0;
}
#postPage .infoList li a {
	font-size: min(3.4vw, 14px);
}
#postPage .infoList a p:first-child {
	width: 220px;
}
#postPage .infoList a p:last-child {
	width: calc(100% - 220px);
}


#videoPage .videoList {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
	gap: min(6vw, 64px) min(4vw, 24px);
}


#discoPage h2 {
	margin-bottom: min(4vw, 32px);
}
#discoPage .infoAnchor {
	width: 100%;
	justify-content: center;
	margin-bottom: min(12vw, 120px);
}
#discoPage .flexBox {
	margin-bottom: min(10vw, 64px);
	border-bottom: #535b5c solid 1px;
	padding-bottom: min(10vw, 64px);
}


#goodsPage .goodsGrid {
	gap: min(6vw, 64px) min(4vw, 32px);
	grid-template-columns: repeat(3, 1fr);
}


#profPage #creators .textArea .part {
	margin-bottom: min(6vw, 40px);
	font-size: min(4.2vw, 20px);
}
#profPage #creators #introduce {
	border-bottom: #535b5c solid 1px;
	padding-bottom: min(10vw, 64px);
	margin-bottom: 0;
}
#profPage #creators #introduce h3 {
	font-size: min(5.2vw, 28px);
}
#profPage .member {
	padding: min(6vw, 64px) 0;
}
#profPage .member + .member {
	border-top: #4d4d4d82 solid 1px;
	margin-top: 0;
}
#profPage #creators .member .textArea {
	display: block;
	width: 100%;
}
#profPage .creatorsGrid {
	display: flex;
	flex-wrap: wrap;
	gap: min(6vw, 64px) min(4vw, 32px);
}
#profPage .creatorsGrid .creatorContainer {
	width: calc((100% - min(8vw, 64px))/ 3);
}


@media screen and (max-width:820px) {
	.subpage .topVisual {
		height: 68vw;
	}
	.subpage .topVisual .topDeco_wave01 {
		width: 62%;
	}
	.subpage .topVisual .topDeco_wave02 {
		width: 48%;
	}
	.subpage .topVisual .topDeco_bouquet {
		width: 42%;
	}

	#postPage .infoList a p:first-child,
	#postPage .infoList a p:last-child {
		width: 100%;
	}

	#videoPage .videoList {
		display: grid;
		grid-template-columns: 1fr;
		gap: min(6vw, 64px) min(4vw, 24px);
	}

	#goodsPage .goodsGrid {
		grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	}

	#profPage #creators #introduce .flexBox {
		flex-direction: column-reverse;
	}
	#profPage .creatorsGrid .creatorContainer {
		width: calc((100% - min(4vw, 32px))/ 2);
	}
}


/* ////////////////////////////////////////////////////////////////////////////////

	post Detail

//////////////////////////////////////////////////////////////////////////////// */


.postDescription {
	padding-bottom: 36px;
	border-bottom: 1px solid #8e8e8e;
}
.postDescription .descriptionHeader .date {
	display: flex;
	align-items: center;
	font-size: min(3vw, 14px);
}
.postDescription .descriptionHeader .date.new::after {
	display: block;
	content: "NEW";
	background-color: #bd584f;
	color: #fff;
	font-size: 0.67em;
	padding: 0.25em 1.4em;
	margin-left: 1.5em;
	margin-top: 0.3em;
}
/* .postDescription .descriptionHeader .category {
	font-size: 14px;
	color: #b29574;
} */
.postDescription .descriptionHeader h2 {
	font-family: "Noto Serif JP", serif;
	margin-top: min(4vw, 20px);
	padding-bottom: min(6vw, 34px);
	text-align: left;
	font-size: min(4.8vw, 28px);
	border-bottom: 1px solid #8e8e8e;
	margin-bottom: 0;
	line-height: 1.4;
}
.postDescription .descriptionHeader h2 .area::after {
	content: "|";
	padding: 0 0.5em;
	vertical-align: 0.05em;
}
/* .postDescription .descriptionHeader h2 .area {
	display: inline-block;
	border: #8e8e8e solid 0.08em;
	font-size: 0.8em;
	padding: 0.2em 1em;
	margin-right: 1em;
} */

.postDescription .descriptionBody {
	margin-top: min(8vw, 50px);
}
.postDescription .descriptionBody h3 {
  background-color: #e0e0e0;
  padding: min(3vw, 15px);
  margin-top: min(10vw, 60px);
  margin-bottom: min(2vw, 30px);
  font-size: min(3.6vw, 18px);
  font-weight: bold;
  border: none;
}
.postDescription .descriptionBody h3:first-child {
  margin-top: 0;
}
.postDescription .descriptionBody h3 strong {
  font-weight: bold;
}
.postDescription .descriptionBody h4 {
  font-size: min(3.4vw, 16px);
  font-weight: bold;
  border-bottom: #8e8e8e solid 1px;
  padding-bottom: min(1vw, 5px);
  margin-bottom: min(7vw, 40px);
  margin-bottom: min(6vw, 30px);
}
.postDescription .descriptionBody h4 strong {
  font-weight: bold;
}
.postDescription .descriptionBody h5 {
  font-size: min(3.4vw, 16px);
  margin-bottom: min(3vw, 15px);
  margin-top: min(6vw, 30px);
}
.postDescription .descriptionBody h5 strong {
  font-weight: bold;
}
.postDescription .descriptionBody p {
  font-size: min(3.2vw, 14px);
  margin-bottom: min(4vw, 20px);
}
.postDescription .descriptionBody a {
	color: #3D434A;
	text-decoration: underline;
}
.postDescription .descriptionBody img {
	display: block;
  margin: min(6vw, 30px) auto;
	max-width: 800px;
}
.postDescription .descriptionBody iframe {
  width: 800px;
	height: auto;
  aspect-ratio: 100 / 56.25;
  max-width: 100%;
  margin: min(6vw, 30px) auto;
  display: block;
}
.postDescription .descriptionBody ul {
  padding-left: min(4vw, 20px);
  margin: min(6vw, 30px) 0;
  font-size: min(3.2vw, 14px);
}
.postDescription .descriptionBody ul li {
  list-style: disc;
}
.postDescription .descriptionBody ol {
  list-style: decimal;
  padding-left: min(4vw, 24px);
  margin: min(6vw, 30px) 0;
  font-size: min(3.4vw, 16px);
}
.postDescription .descriptionBody blockquote {
  background-color: #eee;
  padding: min(4vw, 20px)  min(10vw, 55px);
  margin-bottom: min(4vw, 20px);
  position: relative;
}
.postDescription .descriptionBody blockquote::before {
  content: "“";
  font-size: min(8.6vw, 56px);
  line-height: 1;
  position: absolute;
  top: min(4.5vw, 20px);
  left: min(3vw, 15px);
  display: block;
  color: #bbb;
}
.postDescription .descriptionBody blockquote::after {
  content: "“";
  font-size: min(8.6vw, 56px);
  line-height: 1;
  position: absolute;
  bottom: min(4.5vw, 20px);
  right: min(3vw, 15px);
  display: block;
  color: #bbb;
	transform: rotate(180deg);
}
.postDescription .descriptionBody blockquote p:last-child {
  margin-bottom: 0;
}
.postDescription .descriptionBody table {
  width: 100%;;
  font-size: min(3.2vw, 14px);
  margin-bottom: min(4vw, 20px);
	table-layout: fixed;
	border-spacing: 1px;
	border-collapse: separate !important;
}
.postDescription .descriptionBody table th,
.postDescription .descriptionBody table td {
  padding: min(2vw, 10px);
}
.postDescription .descriptionBody table th {
	background-color: #999ea4;
	/* color: #fff; */
  font-weight: bold;
}
.postDescription .descriptionBody table td {
	background-color: #eee;
}


.pagination {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 60px;
}
.pagination .navigation h2 {
	display: none;
}
.pagination .nav-links {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.pagination a {
	font-family: amandine, sans-serif;
	font-weight: 300;
	font-style: normal;
	border-radius: 20px;
	overflow: hidden;
	padding: 6px 27px;
	font-size: 16px;
	color: #535b5c;
	letter-spacing: .08em;
	text-decoration: none;
}



.pager {
	font-family: amandine, sans-serif;
	font-weight: 300;
	font-style: normal;
	padding-top: 80px;
	position: relative;
	display: flex;
	justify-content: center;
}
.pager .page-numbers {
	display: inline-block;
	position: relative;
	font-size: 18px;
	line-height: 1.6;
	margin: 0 0.6em;
}
.pager .page-numbers.current::after {
	transform: translateX(-50%);
	position: absolute;
	bottom: 0.15em;
	left: 50%;
	background-color: #9fc8d6;
	display: inline-block;
	content: "";
	width: 1em;
	height: 0.4em;
	z-index: -1;
}
.pager .page-numbers.prev,
.pager .page-numbers.next {
	display: flex;
	align-items: center;
	position: absolute;
	bottom: 0;
	margin: 0;
}
.pager .page-numbers.prev {
	left: 0;
}
.pager .page-numbers.next {
	right: 0;
}
/* .pager .page-numbers.prev::before,
.pager .page-numbers.next::after {
	content: "";
	display: inline-block;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	width: 56px;
	height: 1.5em;
}
.pager .page-numbers.prev::before {
	background-image: url(../images/arrow_prev.svg);
	margin-right: 16px;
}
.pager .page-numbers.next::after {
	background-image: url(../images/arrow_next.svg);
	margin-left: 16px;
} */
@media screen and (max-width:820px) {
	.pager {
		padding-top: min(8vw, 80px);
	}
	.pager .page-numbers {
		font-size: min(4vw, 18px);
		margin: 0 0.7em;
	}
	.pager .page-numbers.prev::before,
	.pager .page-numbers.next::after {
		width: min(8vw, 56px);
		height: 1.5em;
	}
	.pager .page-numbers.prev::before {
		margin-right: min(2vw, 16px);
	}
	.pager .page-numbers.next::after {
		margin-left: min(2vw, 16px);
	}
}

.backBtn {
	display: flex;
	justify-content: center;
	margin-top: min(6vw, 64px);
}
.backBtn a {
	font-size: min(3.4vw, 16px);
}

@media screen and (max-width:820px) {
	.postDescription .descriptionHeader .date.new::after {
		padding: 0.05em 1em;
	}

	.pagination {
		margin-top: min(12vw, 60px);
	}
	.pagination a {
		padding: min(1.2vw, 6px) min(5.4vw, 27px);
		font-size: min(3.2vw, 16px);
	}
}