@charset "UTF-8";
.spv {
	display: none;
}
section {
	position: relative;
}
.wrapper {
	max-width: calc(1000px + 100px);
	padding: 0 50px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}
img {
	pointer-events: none;
	user-select: none;
	-ms-user-select: none;
	-moz-user-select: none;
	-webkit-user-select: none;
}
/*------------------------------------------------*/
#opening {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 100;
	width: 100dvw;
	height: 100dvh;
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	pointer-events: auto;
	cursor: default;
}
#opening img {
	width: 88px;
	will-change: transform;
	margin-top: -40px;
	opacity: 0;
	animation: opening_start 0.7s 0.4s forwards;
}
@keyframes opening_start {
	0% {
		opacity: 0;
	}
	20% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
.start #opening {
	transition: opacity 0.8s 0.4s;
	opacity: 0;
	pointer-events: none;
}
.start #opening img {
	animation: opening_end 0.5s forwards;
}
@keyframes opening_end {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
/*------------------------------------------------*/
@media screen and (min-width: 751px) {
	#headerMenu {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 45px;
		z-index: 100;
		opacity: 0;
	}
	html.sec3f #headerMenu {
		opacity: 1 !important;
		transition: opacity 0.2s;
	}
	#headerMenu .menuOuter {
		display: flex;
		justify-content: space-between;
		align-items: center;
		height: 45px;
		padding: 0 20px;
	}
	#headerMenu .menuOuter .logo {
		width: 43px;
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.3s;
	}
	#headerMenu .menuOuter .logo a {
		display: block;
		transition: opacity 0.2s;
	}
	@media (hover: hover) {
		#headerMenu .menuOuter .logo a:hover {
			opacity: 0.6;
		}
	}
	@media (hover: none) {
		#headerMenu .menuOuter .logo a:active {
			opacity: 0.6;
		}
	}
	#headerMenu .menuOuter .logo img {
		width: 100%;
	}
	#headerMenu .menuInner {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		gap: 10px 30px;
	}
	#headerMenu ul.navi {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		gap: 10px 30px;
	}
	#headerMenu ul.navi:first-child:last-child {
		margin-right: 20px;
	}
	#headerMenu ul.navi li {
		font-size: 1.5rem;
		line-height: 1;
		white-space: nowrap;
		letter-spacing: 0.1em;
	}
	#headerMenu ul.navi li::before {
		content: '・';
		display: inline;
	}
	#headerMenu ul.navi li a {
		transition: opacity 0.2s;
	}
	@media (hover: hover) {
		#headerMenu ul.navi li a:hover {
			opacity: 0.6;
		}
	}
	@media (hover: none) {
		#headerMenu ul.navi li a:active {
			opacity: 0.6;
		}
	}
	#languageBtn {
		transition: opacity 0.2s;
		user-select: none;
	}
	#languageBtn .wrap {
		position: relative;
	}
	#languageBtn .btn {
		width: 150px;
		height: 34px;
		border-radius: 17px;
		background: var(--color_6) url("../images/arrow2.svg") right 12px center no-repeat;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		font-size: 1.2rem;
		line-height: 1;
		letter-spacing: 0.12em;
		-webkit-font-smoothing: auto;
		-moz-osx-font-smoothing: auto;
		padding: 0 18px 1px;
		overflow: hidden;
		position: relative;
		z-index: 2;
		transition: background-color 0.15s;
		cursor: pointer;
		pointer-events: auto;
	}
	#languageBtn .wovn-languages {
		border: 1px solid #fff;
		background-color: #fff;
		-webkit-font-smoothing: auto;
		-moz-osx-font-smoothing: auto;
		font-size: 1.2rem;
		line-height: 1;
		letter-spacing: 0.12em;
		color: #12211A;
		position: absolute;
		left: 0;
		top: 30px;
		width: 100%;
		padding: 5px;
		border-radius: 8px;
		z-index: 3;
		opacity: 0;
		transform: translateY(0);
		pointer-events: none;
		transition: opacity 0.15s, transform 0.15s;
		display: none;
	}
	#languageBtn.on .wovn-languages {
		opacity: 1;
		transform: none;
		pointer-events: auto;
		cursor: pointer;
		display: block;
	}
	#languageBtn .wovn-languages .wovn-switch {
		display: block;
		padding: 7px 18px;
		border-radius: 5px;
	}
}
@media (hover: hover) {
	#languageBtn .btn:hover {
		background-color: var(--color_1);
		color: #fff;
	}
	#languageBtn .wovn-languages .wovn-switch:hover {
		background-color: var(--color_1);
		color: #fff;
	}
}
@media (hover: none) {
	#languageBtn .btn:active {
		background-color: var(--color_1);
		color: #fff;
	}
	#languageBtn .wovn-languages .wovn-switch:active {
		background-color: var(--color_1);
		color: #fff;
	}
}
#menuBtn {
	display: none;
}
/*------------------------------------------------*/
/*------------------------------------------------*/
/*------------------------------------------------*/
section#section1 {
	height: 5px;
	/*2000px;*/
	z-index: 3;
	background-color: #FCEDD8;
	transition: opacity 0.8s;
	position: relative;
}
section#section1 .section_view {
	width: 100%;
	height: 100lvh;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 2;
}
section#section1 .section_view::after {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	background-color: #FCEDD8;
	transform: translate3d(0, 0, -1px);
}
section#section1 .section_view > .inner {
	width: 100%;
	height: 100lvh;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-bottom: 5lvh;
	position: relative;
}
section#section1 .section_view img.image {
	position: absolute;
	top: -53%;
	bottom: -47%;
	left: -50%;
	right: -50%;
	z-index: 0;
	margin: auto;
	max-width: min(260px, 50vw);
	height: auto;
	max-height: 70svh;
	aspect-ratio: 520 / 1030;
	box-shadow: 0 0 30px rgb(0 0 0/0.18);
	animation: envelope_move ease-in-out 6s infinite;
}
@keyframes envelope_move {
	0% {
		transform: translateY(4%);
	}
	50% {
		transform: translateY(-4%);
	}
	100% {
		transform: translateY(4%);
	}
}
section#section1 .section_view #s1_text {
	position: relative;
	z-index: 1;
	text-align: center;
	font-size: 2.2rem;
	line-height: 2;
	white-space: nowrap;
	clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
	text-shadow: 0 0 20px rgb(255 255 255/0.7);
}
html.start section#section1 .section_view #s1_text {
	animation: s1_text 4s 0.8s linear forwards;
}
html.sec1_end section#section1 .section_view #s1_text {
	animation: none;
	/*clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);*/
}
@keyframes s1_text {
	0% {
		clip-path: polygon(0 0, 100% 0, 100% 0%, 0% 0%);
	}
	100% {
		clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
	}
}
section#section1 .section_view #s1_text p + p {
	margin-top: 1.5em;
}
section#section1 .section_view #s1_scroll {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 5;
	width: 100%;
	height: 100svh;
	opacity: 0;
	pointer-events: none;
}
html.start section#section1 .section_view #s1_scroll {
	animation: s1_scroll_show 0.3s linear forwards;
}
@keyframes s1_scroll_show {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
section#section1 .section_view #s1_scroll span {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 50px;
	margin: 0 auto;
	width: 70px;
	height: 30px;
	text-align: center;
	font-size: 1.2rem;
	line-height: 1;
	background: url("../images/arrow2.svg") center bottom/14px auto no-repeat;
	transition: opacity 0.5s;
}
/*------------------------------------------------*/
section#section2 {
	height: 1000px;
	/*3000px*/
	z-index: 2;
	background-color: #fff;
}
section#section2 .section_view {
	width: 100%;
	height: 100lvh;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 1;
	pointer-events: none;
	transform-origin: right bottom;
	transition: transform ease-out 0.1s, opacity 0.2s;
	box-shadow: 0 0 100px rgb(0 0 0/0.25);
	will-change: transform;
}
section#section2 .section_view::after {
	content: '';
	width: 100%;
	height: 100lvh;
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	/* background: url("../images/s2_paper.jpg") right top/cover no-repeat; */
	background: url("https://dyvx7gvcyc9io.cloudfront.net/yorushika/nininshou/s2_paper.jpg?dp=i") right top/cover no-repeat;
	transform: translate3d(0, 0, -1px);
}
html.sec2 section#section2 .section_view {
	pointer-events: auto;
	transform: none !important;
	opacity: 1 !important;
}
html.sec3 section#section2 .section_view,
html.sec4 section#section2 .section_view {
	pointer-events: none;
}
html:not(.sec1) section#section1 {
	opacity: 0;
	pointer-events: none;
}
html.sec1 section#section1 {
	opacity: 1;
}
html.sec2 section#section1 {
	opacity: 0;
	transition: 1s 0.2s;
}
section#section1 .section_view {
	transition: none;
	will-change: contents;
}
html.sec2f section#section1 .section_view {
	filter: blur(30px);
	transition: filter linear 1.2s;
}
/*------------------------------------------------*/
section#section3 {
	width: 100%;
	z-index: 1;
	transform-origin: left bottom;
	transform: translateX(0%);
	transition: transform ease-out 0.1s, opacity 0.2s;
}
html.sec3 section#section3 {
	transform: none !important;
	opacity: 1 !important;
}
section#section3 .bg {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	pointer-events: none;
}
section#section3 .bg > div {
	position: sticky;
	left: 0;
	top: 0;
	z-index: -1;
	width: 100%;
	height: 100lvh;
	background: url("../images/s3_paper.jpg") left top/cover no-repeat;
	box-shadow: 0 0 100px rgb(0 0 0/0.25);
}
/*------------------------------------------------*/
section#section3 .section_inner {
	padding-top: calc(700px + 70lvh);
}
section#section4 {
	margin-top: calc(-210lvh - 200px);
	width: 100%;
	z-index: 0;
	opacity: 0;
}
section#section4 .section_inner {
	padding-top: calc(300px + 70lvh);
}
html.sec3 section#section4,
html.sec4 section#section4 {
	opacity: 1;
}
section#section4 .bg {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	pointer-events: none;
}
section#section4 .bg > div {
	position: sticky;
	left: 0;
	top: 0;
	z-index: -1;
	width: 100%;
	height: 100lvh;
	background: url("../images/s4_paper.jpg") right top/cover no-repeat;
}
/*------------------------------------------------*/
h2.heading {
	width: fit-content;
	margin: 0 auto;
	text-align: center;
	margin-bottom: 40px;
}
h2.heading i {
	display: block;
	font-family: "Square Peg", cursive;
	font-weight: 400;
	font-style: normal;
	font-size: 4.7rem;
	line-height: 1;
	letter-spacing: 0.34em;
	padding: 0 25px;
	will-change: transform;
}
h2.heading span {
	display: block;
	font-size: 1.4rem;
	line-height: 1;
	letter-spacing: 0.2em;
	text-align: right;
	margin-top: 10px;
	will-change: transform;
}
.fadeTrg:not(.show) h2.heading {
	opacity: 0;
	transition: opacity 0.4s;
}
.fadeTrg.show h2.heading i {
	animation: h2_i_anime 0.6s ease-out forwards;
}
@keyframes h2_i_anime {
	0% {
		opacity: 0;
		transform: translateY(60px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}
h2.heading span {}
.fadeTrg.show h2.heading span {
	animation: h2_span_anime 0.6s ease-out forwards;
}
@keyframes h2_span_anime {
	0% {
		opacity: 0;
		transform: translateX(-60px);
	}
	100% {
		opacity: 1;
		transform: translateX(0);
	}
}
/*------------------------------------------------*/
section#section2 .section_view > .inner {
	writing-mode: vertical-rl;
	position: relative;
	width: 100%;
	height: 100dvh;
}
section#section2 .section_view > .inner > * {
	width: fit-content;
	height: fit-content;
}
section#section2 .section_view > .inner .t1 {
	position: absolute;
	right: 19%;
	top: 20%;
	font-size: 2.6rem;
	line-height: 2;
	letter-spacing: 0.3em;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
section#section2 .section_view > .inner .t1 img {
	display: block;
	width: 63px;
	margin-bottom: 15px;
}
section#section2 .section_view > .inner .t2 {
	position: absolute;
	right: 38%;
	top: -50%;
	bottom: -50%;
	margin: auto 0;
	font-size: 2.4rem;
	line-height: 2;
	letter-spacing: 0.3em;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
section#section2 .section_view > .inner .t3 {
	position: absolute;
	left: 30%;
	top: -50%;
	bottom: -50%;
	margin: auto 0;
}
section#section2 .section_view > .inner .t3 canvas {
	width: 100px;
	height: 300px;
	z-index: 100;
}
section#section2 .section_view > .inner .t4 {
	position: absolute;
	left: 5%;
	bottom: 8%;
	line-height: 2.5;
	font-size: 2.4rem;
	letter-spacing: 0.2em;
	text-align: right;
}
section#section2 .section_view > .inner .t4.f {
	position: absolute;
	left: 12%;
	bottom: 8%;
	line-height: 1.6;
	font-size: 2.4rem;
	letter-spacing: 0.2em;
	text-align: right;
}
section#section2 .section_view > .inner .t4 .t {
	display: block;
	margin-bottom: 2em;
}
section#section2 .section_view > .inner .t5:not(.f) {
	display: none;
}
section#section2 .section_view > .inner .t5.f {
	position: absolute;
	left: 5%;
	bottom: 8%;
	font-size: 2.0rem;
	line-height: 2;
	letter-spacing: 0.2em;
}
section#section2 .section_view > .inner .t5.f .t {
	display: block;
	font-size: 1.8rem;
	margin-top: -2em;
}
@media screen and (max-width: 1050px) {
	section#section2 .section_view > .inner .t5.f {
		left: 3%;
	}
}
section#section2 .section_view > .inner .t1 > *,
section#section2 .section_view > .inner .t2 > * {
	opacity: 0;
}
html.sec1 section#section2 .section_view > .inner .t1 > *,
html.sec1 section#section2 .section_view > .inner .t2 > * {
	opacity: 0;
	transition: opacity 0s 0.8s !important;
}
html.sec2f section#section2 .section_view > .inner .t1 > *,
html.sec2f section#section2 .section_view > .inner .t2 > * {
	animation-name: s2_text_show;
	animation-duration: 0.2s;
	animation-fill-mode: forwards;
}
section#section2 .section_view > .inner .t1 > *:nth-child(1) {
	animation-delay: 0.6s;
}
section#section2 .section_view > .inner .t1 > *:nth-child(2) {
	animation-delay: 0.67s;
}
section#section2 .section_view > .inner .t1 > *:nth-child(3) {
	animation-delay: 0.74s;
}
section#section2 .section_view > .inner .t1 > *:nth-child(4) {
	animation-delay: 0.81s;
}
section#section2 .section_view > .inner .t1 > *:nth-child(5) {
	animation-delay: 0.88s;
}
section#section2 .section_view > .inner .t2 > *:nth-child(1) {
	animation-delay: 0.95s;
}
section#section2 .section_view > .inner .t2 > *:nth-child(2) {
	animation-delay: 1.02s;
}
section#section2 .section_view > .inner .t2 > *:nth-child(3) {
	animation-delay: 1.09s;
}
section#section2 .section_view > .inner .t2 > *:nth-child(4) {
	animation-delay: 1.16s;
}
section#section2 .section_view > .inner .t2 > *:nth-child(5) {
	animation-delay: 1.23s;
}
@keyframes s2_text_show {
	0% {
		opacity: 0;
		transform: translateY(-5px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}
section#section2 .section_view > .inner .t4,
section#section2 .section_view > .inner .t5 {
	opacity: 0;
	filter: blur(30px);
	will-change: contents;
}
html.sec2f.title_animation_fin section#section2 .section_view > .inner .t4,
html.sec2f.title_animation_fin section#section2 .section_view > .inner .t5 {
	opacity: 1;
	filter: none;
	transition: opacity 0.8s, filter 0.8s;
	pointer-events: auto;
}
@media screen and (min-width: 751px) {
	#headerMenu {
		opacity: 0;
		pointer-events: none;
	}
	html.sec2f.title_animation_fin #headerMenu {
		opacity: 1;
		transition: opacity 0.8s;
		pointer-events: auto;
	}
	html.sec3 #headerMenu {
		opacity: 1;
		transition: opacity 0.3s;
		pointer-events: auto;
	}
	html.menuShow #headerMenu {
		opacity: 1;
		pointer-events: auto;
	}
	html.sec3f #headerMenu .menuOuter .logo,
	html.menuShow #headerMenu .menuOuter .logo {
		opacity: 1;
		pointer-events: auto;
	}
}
/*------------------------------------------------*/
#sec-ProductInfo {
	padding: 80px 0 100px;
}
#sec-ProductInfo .wrapper {
	max-width: calc(1000px + 100px);
}
#sec-ProductInfo .flex {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-direction: row-reverse;
	gap: 20px;
}
#sec-ProductInfo #swiper-product {
	max-width: 600px;
	width: 65%;
}
#sec-ProductInfo #swiper-product .swiper-slide img {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 1200 / 800;
	object-fit: cover;
}
#sec-ProductInfo #swiper-product .swiper-pagination {
	left: 0;
	right: 0;
	margin: 0 auto;
	display: flex;
	justify-content: center;
}
#sec-ProductInfo #swiper-product .swiper-pagination-bullets {
	height: inherit;
	position: relative;
	bottom: auto;
	margin-top: 8px;
}
#sec-ProductInfo #swiper-product .swiper-pagination-bullets:has(> :nth-child(-n+1):last-child) {
	display: none;
}
#sec-ProductInfo #swiper-product .swiper-pagination-bullets .swiper-pagination-bullet {
	background-color: #E3CCA6;
	height: 8px;
	width: 8px;
	opacity: 1;
	margin: 0 5px;
	position: relative;
}
#sec-ProductInfo #swiper-product .swiper-pagination-bullets .swiper-pagination-bullet::after {
	content: '';
	width: calc(100% + 10px);
	height: calc(100% + 10px);
	position: absolute;
	left: -5px;
	top: -5px;
	z-index: -1;
}
#sec-ProductInfo #swiper-product .swiper-pagination-bullets .swiper-pagination-bullet-active {
	background-color: #B3815E;
}
#sec-ProductInfo .flex .wrap-info {
	flex: 1;
	padding-top: 40px;
}
#sec-ProductInfo .flex .wrap-info .hd .t1 {
	display: inline-block;
	font-size: 2.8rem;
	line-height: 1.2;
}
#sec-ProductInfo .flex .wrap-info .hd .t2 {
	display: inline-block;
	font-size: 1.5rem;
	margin-left: 20px;
}
#sec-ProductInfo .flex .wrap-info .info {
	margin: 20px 0;
	font-size: 1.5rem;
	line-height: 1.5;
}
#sec-ProductInfo .flex .wrap-info .info > * + *,
#sec-ProductInfo .flex .wrap-info .info p + p {
	margin-top: 0.6em;
}
#sec-ProductInfo .flex .wrap-info .info .t {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}
#sec-ProductInfo .flex .wrap-info .info .publisher {
	font-size: 1.7rem;
	margin-top: 20px;
	margin-bottom: 20px;
}
#sec-ProductInfo .flex .wrap-info .info .publisher img {
	display: block;
	width: 44px;
	margin-top: 15px;
}
#sec-ProductInfo .wrap-text {
	font-size: 1.5rem;
	line-height: 2;
	max-width: 700px;
	margin: 40px auto 0;
}
/*------------------------------------------------*/
#sec-TrackList {
	padding: 80px 0 80px;
	background-color: rgb(243 230 217/0.65);
}
#sec-TrackList .wrapper {
	max-width: calc(1000px + 100px);
	padding: 0 50px;
}
#sec-TrackList .outer-list {
	max-width: 700px;
	margin: 0 auto;
	position: relative;
}
#sec-TrackList .outer-list::before,
#sec-TrackList .outer-list::after {
	content: '';
	width: calc(100% + 60px);
	height: 30px;
	position: absolute;
	left: -30px;
	z-index: 0;
	background: url("../images/tracklist_t1_left.png") left bottom/auto 30px no-repeat, url("../images/tracklist_t1_right.png") right bottom/auto 30px no-repeat;
	pointer-events: none;
}
#sec-TrackList .outer-list::before {
	top: -30px;
}
#sec-TrackList .outer-list::after {
	bottom: -30px;
	transform: scaleY(-1);
}
#sec-TrackList .outer-list ul {
	box-shadow: 0 4px 30px rgb(0 0 0/0.05);
	position: relative;
}
#sec-TrackList .outer-list ul::before,
#sec-TrackList .outer-list ul::after {
	content: '';
	width: 22px;
	height: 64px;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto 0;
	background: url("../images/tracklist_t2.png") left center/22px auto no-repeat;
	pointer-events: none;
}
#sec-TrackList .outer-list ul::before {
	left: -36px;
}
#sec-TrackList .outer-list ul::after {
	right: -36px;
	transform: scaleX(-1);
}
#sec-TrackList .outer-list ul li {
	background-color: #fff;
	padding: 5px 20px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	font-size: 2.0rem;
	line-height: 1.5;
}
#sec-TrackList .outer-list ul li + li {
	border-top: 1px solid #F3E6D9;
}
#sec-TrackList .outer-list ul li:nth-child(even) {
	background-color: #f5f5f5;
}
#sec-TrackList .outer-list ul li > div:nth-child(1) {
	width: 45px;
	text-align: center;
}
#sec-TrackList .outer-list ul li > div:nth-child(2) {
	flex: 1;
	text-align: center;
	padding: 0 10px;
}
#sec-TrackList .outer-list ul li > div:nth-child(3) {
	width: 35px;
	text-align: center;
	font-size: 1.4rem;
	line-height: 1;
}
#sec-TrackList .bottom_text {
	margin-top: 10px;
	text-align: center;
	font-size: 1.4rem;
	line-height: 1.5;
}
/*------------------------------------------------*/
#sec-Buy {
	padding: 70px 0 80px;
	background: var(--color_4) url("../images/bg1.jpg") center center/cover no-repeat;
	color: #fff;
}
ul.store_banner {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 16px;
	margin: 0 auto;
	max-width: 1000px;
}
ul.store_banner li {
	max-width: 238px;
	width: calc((100% - 48px) / 4);
}
ul.store_banner li img {
	display: block;
	width: 100%;
	box-shadow: 2px 2px 20px rgb(0 0 0/0.25);
	transition: filter 0.3s;
}
@media (hover: hover) {
	ul.store_banner li a:hover img {
		filter: brightness(1.2) contrast(0.85);
	}
}
@media (hover: none) {
	ul.store_banner li a:active img {
		filter: brightness(1.2) contrast(0.85);
	}
}
/*------------------------------------------------*/
#sec-Benefits {
	padding: 80px 0 calc(150lvh);
	background-color: rgb(216 211 196/0.71);
}
#sec-Benefits .box {
	background-color: #EFEFEF;
	height: 400px;
}
#sec-Benefits .text {
	max-width: 700px;
	margin: 40px auto 0;
	font-size: 1.5rem;
}
/*------------------------------------------------*/
#sec-Review {
	padding: 80px 0;
}
#sec-Review .wrap-text {
	background-color: #FFF5ED;
	padding: 60px;
}
#sec-Review .wrap-text + .wrap-text {
	margin-top: 60px;
}
#sec-Review .text {
	font-size: 1.6rem;
	line-height: 1.8;
}
#sec-Review .text + .text {
	margin-top: 40px;
}
#sec-Review .text p.right {
	text-align: right;
}
#sec-Review .text p + p {
	margin-top: 1em;
}
#sec-Review .accordion label {
	display: block;
	width: fit-content;
	cursor: pointer;
	user-select: none;
	-moz-user-select: none;
	-webkit-user-select: none;
	border: 1px solid var(--color_1);
	padding: 15px 45px;
	font-size: 1.2rem;
	line-height: 1;
	letter-spacing: 0.34em;
	position: relative;
	margin: 40px auto 0;
	-webkit-font-smoothing: auto;
	-moz-osx-font-smoothing: auto;
}
#sec-Review .accordion label span::after {
	content: '┼';
	position: absolute;
	right: 12px;
	top: 0;
	bottom: 0;
	margin: auto 0;
	font-size: 1.0rem;
	line-height: 1;
	width: 1em;
	height: 1em;
	-webkit-font-smoothing: auto;
	-moz-osx-font-smoothing: auto;
}
#sec-Review .accordion label input[type="checkbox"] {
	display: none;
}
#sec-Review .accordion label input[type="checkbox"]:checked + span:after {
	content: '─';
}
#sec-Review .accordion .panel {
	display: grid;
	transition: grid-template-rows 0.3s;
	grid-template-rows: 0fr;
}
#sec-Review .accordion label:has(input[type="checkbox"]:checked) + .panel {
	grid-template-rows: 1fr;
}
#sec-Review .accordion .panel .inner {
	overflow: hidden;
}
#sec-Review .accordion .panel .inner p:first-child {
	margin: 40px 0 0;
}
@media (hover: hover) {
	#sec-Review .accordion label:hover {
		background-color: #fff;
		color: #172928;
	}
}
@media (hover: none) {
	#sec-Review .accordion label:active {
		background-color: #fff;
		color: #172928;
	}
}
#sec-Review .wrapper .bg {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	pointer-events: none;
}
#sec-Review .wrapper .bg .b1 {
	width: 542px;
	height: 542px;
	border-radius: 50%;
	background: rgb(68 99 98/1);
	position: absolute;
	left: -243px;
	top: -225px;
	z-index: 0;
	filter: blur(150px);
	transform: scale(0);
	opacity: 0;
	transition: transform 0s 0.4s, opacity 0.4s;
	will-change: filter;
}
#sec-Review .wrapper .bg .b1.show {
	opacity: 1;
	transform: scale(1);
	transition: transform 1s ease-out 0.2s, opacity 0.8s 0.2s;
}
#sec-Review .wrapper .bg .b2 {
	content: '';
	width: 300px;
	height: 300px;
	border-radius: 50%;
	background: rgb(68 99 98/1);
	position: absolute;
	right: -150px;
	bottom: -120px;
	z-index: 0;
	filter: blur(83px);
	transform: scale(0);
	opacity: 0;
	transition: transform 0s 0.4s, opacity 0.4s;
	will-change: filter;
}
#sec-Review .wrapper .bg .b2.show {
	opacity: 1;
	transform: scale(1);
	transition: transform 1s ease-out, opacity 0.8s;
}
.comingsoon {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	min-height: 4em;
	padding-bottom: 1em;
	font-size: 3.0rem;
	line-height: 1.4;
	letter-spacing: 0.34em;
	color: rgb(255 255 255/0.28);
}
/*------------------------------------------------*/
#sec-Live {
	padding: 70px 0 80px;
	background: var(--color_5) url("../images/bg2.jpg") center center/cover no-repeat;
	color: #fff;
}
#sec-Live .wrap-border {
	border: 1px solid #fff;
	padding: 50px 60px;
	text-align: center;
}
#sec-Live .wrap-border .t1 {
	font-size: 2.0rem;
	line-height: 1.5;
	margin-bottom: 20px;
}
#sec-Live .wrap-border .t2 {
	font-size: 1.5rem;
}
#sec-Live .wrap-border a {
	text-decoration: underline;
}
@media (hover: hover) {
	#sec-Live .wrap-border a:hover {
		text-decoration: none;
	}
}
@media (hover: none) {
	#sec-Live .wrap-border a:active {
		text-decoration: none;
	}
}
/*------------------------------------------------*/
#sec-Movie {
	padding: 80px 0 100px;
	background-color: rgb(216 211 196/0.71);
}
#sec-Movie .wrap-movie {
	max-width: 800px;
	margin: 0 auto;
}
#sec-Movie .wrap-movie iframe {
	width: 100%;
	height: 100%;
	aspect-ratio: 800 / 480;
	margin: 0 auto;
	display: block;
	overflow: hidden;
}
/*------------------------------------------------*/
#sec-banner {
	padding: 50px 0 50px;
	overflow: hidden;
}
#sec-banner .wrapper {
	max-width: none;
}
#sec-banner ul {
	display: flex;
	justify-content: center;
	align-items: stretch;
	gap: 10px;
	max-width: 1250px;
	margin: 0 auto;
}
#sec-banner ul li {
	flex: 1;
	max-width: 410px;
}
#sec-banner ul li a {
	transition: filter 0.3s;
}
@media (hover: hover) {
	#sec-banner ul li a:hover {
		filter: brightness(1.3);
	}
}
@media (hover: none) {
	#sec-banner ul li a:active {
		filter: brightness(1.3);
	}
}
/*------------------------------------------------*/
footer {
	background: var(--color_3);
	color: #fff;
	text-align: center;
	padding: 50px 0 10px;
	position: relative;
	z-index: 5;
	font-family: 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-weight: 400;
}
footer .wrap-share ul.icon {
	display: flex;
	justify-content: center;
	align-items: stretch;
	gap: 40px;
	margin: 0 auto;
}
footer .wrap-share ul.icon li a {
	display: block;
}
footer .wrap-share ul.icon li a img {
	width: 54px;
}
footer .wrap-share ul.text {
	display: flex;
	justify-content: center;
	align-items: stretch;
	margin: 20px auto 50px;
	font-size: 1.6rem;
	line-height: 1;
}
footer .wrap-share ul.text li {
	padding: 0 15px;
	border-left: 1px solid #fff;
}
footer .wrap-share ul.text li:first-child {
	border-left: none;
}
footer .wrap-share ul.text li a {}
footer .privacy {
	font-size: 1.2rem;
	line-height: 1.4;
	margin-bottom: 20px;
}
footer .copyright {
	font-size: 1.2rem;
	line-height: 1.4;
	position: relative;
}
@media (hover: hover) {
	footer a:hover {
		opacity: 0.5;
	}
}
@media (hover: none) {
	footer a:active {
		opacity: 0.5;
	}
}
/*------------------------------------------------*/
#deco {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 300;
	width: 100%;
	height: 100lvh;
	pointer-events: none;
}
#deco #deco_p1 {
	position: absolute;
	left: 0;
	top: 0;
	width: 100px;
	height: auto;
	transform: translate(110vw, -100lvh);
	transition: transform ease-out 0.2s, opacity 0.2s;
	will-change: transform;
	opacity: 0;
}
html.sec1 #deco #deco_p1 {
	opacity: 0 !important;
}
#deco #deco_p2 {
	position: absolute;
	left: 0;
	top: 0;
	width: 128px;
	height: auto;
	transform: translate(0, -110lvh);
	transition: transform ease-out 0.2s, opacity 0.2s;
	will-change: transform;
	opacity: 0;
}
#deco #deco_p3 {
	position: absolute;
	left: 0;
	top: 0;
	width: 75px;
	height: auto;
	transform: translate(110vw, -110lvh);
	transition: transform ease-out 0.2s, opacity 0.2s;
	will-change: transform;
	opacity: 0;
}
/*------------------------------------------------*/
footer #deco_p4 {
	width: 94px;
	position: absolute;
	left: 106px;
	bottom: 30px;
	z-index: 30;
	opacity: 0;
	will-change: transform;
	pointer-events: none;
	transform: translate(50vw, -40vh);
	transition: transform ease-out 0.2s, opacity 0.2s;
}
html.is_footer footer #deco_p4 {
	animation: deco_p4_1 1.2s ease-out forwards;
}
@keyframes deco_p4_1 {
	0% {
		transform: translate(70vw, -40vh) rotate(-280deg) scale(0.7);
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
	100% {
		transform: translate(0, 0) rotate(0) scale(1);
		opacity: 1;
	}
}
footer a#deco_p5 {
	width: 177px;
	position: absolute;
	left: -45px;
	bottom: -5px;
	z-index: 30;
	will-change: transform;
}
footer a#deco_p5 img {
	display: block;
	width: 100%;
}
footer a#deco_p5 span {
	display: block;
	text-align: center;
	color: #fff;
	margin-bottom: 5px;
	opacity: 0;
	font-size: 11px;
	line-height: 1;
	-webkit-font-smoothing: auto;
	-moz-osx-font-smoothing: auto;
}
@media (hover: hover) {
	footer a#deco_p5:hover {
		opacity: 1;
	}
}