@charset "utf-8";
.page_cover {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		background: #160519;
		z-index: 9999;
}
.side_logo {
		position: fixed;
		top: calc(50% - 6vh);
		left: 30px;
		width: 10vh;
		height: 12vh;
		max-width: 85px;
		max-height: 92px;
		z-index: 100;
		opacity: 0;
		transform: translateX(-150px);
		transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
@media(max-height: 800px) {
		.side_logo {
				top: calc(50% - 5vh);
				left: 30px;
				width: 8vh;
				height: 10vh;
				max-width: 68px;
				max-height: 74px;
		}
}
.side_logoActive {
		opacity: 1;
		transform: translateX(0);
}
.side_logo img {
		width: 100%;
		height: auto;
}
.first_section {
		width: 100vw;
		min-width: 100vw;
		height: 100vh;
		background: #160519;
		display: flex;
		align-items: center;
		box-sizing: border-box;
		padding: 0 12.5vw;
}
@media(min-width: 1195px) {
		.first_section.isOff {
				opacity: 0 !important;
				z-index: -10 !important;
		}
}
.first_nav {
		display: flex;
		align-items: center;
		color: #fff;
		position: relative;
		width: 810px;
		margin: 0 auto;
}
.first_nav::before {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 46px);
		left: -135px;
		width: 85px;
		height: 92px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 100%;
		background-image: url("../images/trip_rocket.png");
		transform: translateX(-50vw);
		animation: rocketGo 1.5s cubic-bezier(0.5, 0, 0.75, 0) forwards;
}
@keyframes rocketGo {
		0% {
				transform: translateX(-50vw);
		}
		100% {
				transform: translateX(0);
		}
}
@keyframes rocketGoTouch {
		0% {
				transform: translateX(-40vw) rotate(0deg);
		}
		55% {
				transform: translateX(0vw) rotate(0deg);
		}
		60% {
				transform: translateX(0vw) rotate(-90deg);
		}
		70% {
				transform: translateX(0vw) rotate(-90deg);
		}
		100% {
				transform: translateX(0) rotate(-90deg);
		}
}
.first_nav_caption {
		flex: 1;
		opacity: 0;
		animation: firstFadeIn 1s linear forwards;
		animation-delay: 0.5s;
}
@keyframes firstFadeIn {
		0% {
				opacity: 0;
		}
		100% {
				opacity: 1;
		}
}
.first_nav_caption h2 {
		font-size: 54px;
		font-family: 'Rajdhani', sans-serif;
		font-weight: 400;
		line-height: 1;
		margin: 0 0 5px;
}
.first_nav_caption p {
		font-size: 17px;
}
.first_arrow {
		width: 60px;
		width: 4vh;
		opacity: 0;
		animation: firstFadeIn 1s linear forwards;
		animation-delay: 0.5s;
}
.first_arrow img {
		width: 100%;
		height: auto;
		animation: fvArrowRight 1s cubic-bezier(0.16, 1, 0.3, 1) infinite;
}
@keyframes fvArrowRight {
		0% {
				transform: translateX(0);
		}
		100% {
				transform: translateX(120px);
		}
}
@keyframes fvArrowDown {
		0% {
				transform: translateY(0);
		}
		100% {
				transform: translateY(80px);
		}
}
@keyframes rocketGoTouch {
		0% {
				transform: translateX(-30vw) rotate(0deg);
		}
		60% {
				transform: translateX(0vw) rotate(0deg);
		}
		65% {
				transform: translateX(0vw) rotate(-90deg);
		}
		75% {
				transform: translateX(0vw) rotate(-90deg);
		}
		100% {
				transform: translateX(0) translateY(100px) rotate(-90deg);
		}
}
@keyframes rocketGoTouchLand {
		0% {
				transform: translateX(-30vw) rotate(0deg);
		}
		60% {
				transform: translateX(0vw) rotate(0deg);
		}
		65% {
				transform: translateX(0vw) rotate(-90deg);
		}
		75% {
				transform: translateX(0vw) rotate(-90deg);
		}
		100% {
				transform: translateX(0) translateY(26px) rotate(-90deg);
		}
}
@keyframes rocketGoTouchSE {
		0% {
				transform: translateX(-30vw) rotate(0deg);
		}
		60% {
				transform: translateX(0vw) rotate(0deg);
		}
		65% {
				transform: translateX(0vw) rotate(-90deg);
		}
		75% {
				transform: translateX(0vw) rotate(-90deg);
		}
		100% {
				transform: translateX(0) translateY(80px) rotate(-90deg);
		}
}
@media(max-width: 1194px) {
		.first_section {
				width: 100%;
				height: 100vh !important;
				min-width: inherit;
				padding: 0 30px 0;
				box-sizing: border-box;
		}
		.first_nav::before {
				top: -164px;
				left: 0;
				width: 50px;
				height: 55px;
				animation: rocketGoTouch 2.5s cubic-bezier(0.5, 0, 0.75, 0) forwards;
		}
		.first_nav {
				display: flex;
				align-items: center;
				color: #fff;
				padding: 0;
		}
		.first_nav_logo {
				display: none;
		}
		.first_nav_caption h2 {
				font-size: 6vw;
		}
		.first_nav_caption p {
				font-size: 16px;
		}
		.first_section .first_arrow {
				width: 40px;
				position: absolute;
				right: 40px;
				bottom: 20vh;
				box-sizing: border-box;
		}
		.first_arrow img {
				animation: fvArrowDown 1.4s cubic-bezier(0.16, 1, 0.3, 1) infinite;
		}
}
@media (max-width: 840px) {
		.first_section {
				width: 100%;
				height: 100vh !important;
				min-width: inherit;
				padding: 30vh 30px 0;
				display: block;
				box-sizing: border-box;
		}
		.first_nav_caption h2 {
				font-size: 10vw;
		}
		.verLandscape .first_nav_caption h2 {
				font-size: 7vw;
		}
}
@media(max-width: 767px) {
		.first_section {
				height: 85vh !important;
				padding: 30vh 30px 0;
		}
		.verLandscape .first_section {
				height: 100vh !important;
				padding: 110px 30px 30px !important;
		}
		.first_section .first_arrow {
				bottom: 15vh;
				right: 25px;
		}
		.verLandscape .first_section .first_arrow {
				bottom: 150px;
		}
		.verLandscape .first_nav::before {
				top: -90px;
				animation: rocketGoTouchLand 2.5s cubic-bezier(0.5, 0, 0.75, 0) forwards;
		}
}
@media(max-width: 400px) {
		.first_section .first_arrow {
				right: 25px;
				bottom: 30vh;
		}
		.first_section {
				padding: 30vh 30px 0;
				height: 100vh !important;
		}
		.first_nav::before {
				top: -144px;
				left: 0;
				width: 45px;
				height: 50px;
				animation: rocketGoTouchSE 2.5s cubic-bezier(0.5, 0, 0.75, 0) forwards;
		}
}
/* ============= */
/* FV */
/* ============= */
section.fv_section {
		/* min-width: calc(calc(100vw - 125vh) + 125vh);
		width: calc(calc(100vw - 125vh) + 125vh); */
		
		min-width: 100vw;
		width: 100vw;
		position: relative;
		padding-top: 7vh;
		box-sizing: border-box;
		background: #160519 url("../images/fv_bg_pc.jpg") no-repeat center bottom;
		background-size: cover;
}
.fv_chara_flex {
		position: relative;
		z-index: 5;
		display: flex;
		justify-content: center;
}
.fv_chara_item {
		width: 8vh;
		padding: 0 2px 0 0;
		position: relative;
		transition: transform 1.5s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s;
		opacity: 0;
		transform: translateY(-100px)
}
.fv_chara_flex .fv_chara_item:nth-child(odd) {
		transform: translateY(-100px)
}
.fv_chara_flex .fv_chara_item:nth-child(even) {
		transform: translateY(100px)
}
.isActive .fv_chara_flex .fv_chara_item {
		opacity: 1;
		transform: translateY(0)
}
.fv_chara_item::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		width: 2px;
		height: 100%;
		background: rgb(255, 255, 255);
		background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 40%, rgba(255, 255, 255, 0.8) 60%, rgba(255, 255, 255, 0) 100%);
}
.fv_catch {
		width: 125vh;
		margin: 0 auto;
		position: relative;
		z-index: 5;
		top: -9.8vh;
		transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.fv_catch img {
		width: 100%;
		height: auto;
}
.fv_catch div {
		position: absolute;
		top: 0;
		left: 0;
		width: 125vh;
		opacity: 0;
}
.isActive .fv_catch div {
		animation: lightText 0.7s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.isActive .fv_catch .fv_catch-2 {
		animation-delay: 0.13s;
}
.isActive .fv_catch .fv_catch-3 {
		animation-delay: 0.10s;
}
.isActive .fv_catch .fv_catch-4 {
		animation-delay: 0.15s;
}
.isActive .fv_catch .fv_catch-5 {
		animation-delay: 0.11s;
}
@keyframes lightText {
		0% {
				opacity: 0;
		}
		50% {
				opacity: 0.2;
		}
		70% {
				opacity: 0.2;
		}
		75% {
				opacity: 1;
				filter: brightness(150%);
		}
		80% {
				opacity: 0.2;
				filter: brightness(100%);
		}
		85% {
				opacity: 1;
				filter: brightness(250%);
		}
		90% {
				opacity: 0.2;
		}
		95% {
				opacity: 0.8;
				filter: brightness(250%);
		}
		100% {
				opacity: 1;
				filter: brightness(100%);
		}
}
.isActive .fv_catch {
		opacity: 1
}
.fv_section .fv_main_chara {
		position: absolute;
		/* bottom: 0; */
		top: 46vh;
		width: 62vh;
		left: calc(50% - 31vh);
		z-index: 50;
		transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.8s;
		transform: scale(1.2);
		transition-delay: 0.9s;
		opacity: 0;
}
.isActive .fv_main_chara {
		transform: scale(1);
		opacity: 1;
}
.fv_main_chara a {
		display: block;
		width: 10vh;
		height: 10vh;
		position: absolute;
		top: 1vh;
		left: 10vh;
		text-decoration: none;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
		opacity: 0;
		transition: opacity 0.4s;
}
a.jwl_2, a.jwl_3, a.jwl_4, a.jwl_5, a.jwl_6, a.jwl_7, a.jwl_8, a.jwl_9, a.jwl_10, a.jwl_11, a.jwl_12 {
		position: relative;
		display: inline-block;
}
a.jwl_2 img, a.jwl_3 img, a.jwl_4 img, a.jwl_5 img, a.jwl_6 img, a.jwl_7 img, a.jwl_8 img, a.jwl_9 img, a.jwl_10 img, a.jwl_11 img, a.jwl_12 + img {
		transition: filter 0.6s;
}
a.jwl_2::after, a.jwl_3::after, a.jwl_4::after, a.jwl_5::after, a.jwl_6::after, a.jwl_7::after, a.jwl_8::after, a.jwl_9::after, a.jwl_10::after, a.jwl_11::after, a.jwl_12::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 65px);
		left: calc(50% - 65px);
		width: 130px;
		height: 130px;
		pointer-events: none;
		text-decoration: none;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 100%;
		opacity: 0;
		transition: opacity 0.4s;
}
@media(max-height: 800px) and (min-width: 1195px) {
		a.jwl_2::after, a.jwl_3::after, a.jwl_4::after, a.jwl_5::after, a.jwl_6::after, a.jwl_7::after, a.jwl_8::after, a.jwl_9::after, a.jwl_10::after, a.jwl_11::after, a.jwl_12::after {
				top: calc(50% - 50px);
				left: calc(50% - 50px);
				width: 100px;
				height: 100px;
		}
}
a.jwl_2::after {
		background-image: url("../images/ms02_thumb.png");
}
a.jwl_3::after {
		background-image: url("../images/ms03_thumb.png");
}
a.jwl_4::after {
		background-image: url("../images/ms04_thumb.png");
}
a.jwl_5::after {
		background-image: url("../images/ms05_thumb.png");
}
a.jwl_6::after {
		background-image: url("../images/ms06_thumb.png");
}
a.jwl_7::after {
		background-image: url("../images/ms07_thumb.png");
}
a.jwl_8::after {
		background-image: url("../images/ms08_thumb.png");
}
a.jwl_9::after {
		background-image: url("../images/ms09_thumb.png");
}
a.jwl_10::after {
		background-image: url("../images/ms10_thumb.png");
}
a.jwl_11::after {
		background-image: url("../images/ms11_thumb.png");
}
a.jwl_12::after {
		background-image: url("../images/ms12_thumb.png");
}
a.jwl_12::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: url("../images/ms12_thumb_bg.png") no-repeat center center;
		background-size: 100%;
		opacity: 0;
		transition: opacity 0.4s;
}
@media (hover: hover) {
		.fv_main_chara a:hover {
				opacity: 1;
				background-image: url("../images/ms01_thumb.png");
		}
		a.jwl_2:hover::after, a.jwl_3:hover::after, a.jwl_4:hover::after, a.jwl_5:hover::after, a.jwl_6:hover::after, a.jwl_7:hover::after, a.jwl_8:hover::after, a.jwl_9:hover::after, a.jwl_10:hover::after, a.jwl_11:hover::after, a.jwl_12:hover::after {
				opacity: 1;
		}
		a.jwl_2:hover img, a.jwl_3:hover img, a.jwl_4:hover img, a.jwl_5:hover img, a.jwl_6:hover img, a.jwl_7:hover img, a.jwl_8:hover img, a.jwl_9:hover img, a.jwl_10:hover img, a.jwl_11:hover img {
				filter: brightness(0.5);
		}
		a.jwl_12:hover::before {
				opacity: 0.7;
		}
}
.fv_main_chara a:active {
		opacity: 1;
		background-image: url("../images/y2023_thumb.png");
}
@media(max-width: 1194px) {
		.fv_main_chara a {
				width: 6vw;
				height: 6vw;
				top: 1vw;
				left: 9vw;
				z-index: 10;
				opacity: 1;
		}
}
@media(max-width: 840px) {
		.fv_main_chara a {
				width: 15vw;
				height: 15vw;
				top: 0vw;
				left: 17vw;
		}
}
@media(max-width: 767px) {
		.fv_main_chara a {
				left: 12vw;
		}
}
.fv_lead_wrap {
		width: 125vh;
		margin: 0 auto;
		position: relative;
		z-index: 10;
}
.fv_lead {
		font-size: 40px;
		letter-spacing: 0.03em;
		margin-bottom: 20px;
}
.fv_lead rt {
		font-size: 14px;
		transform: translateY(-7px)
}
.fv_lead span, .fv_lead_caption span {
		opacity: 0;
		position: relative;
		transition: opacity 0.03s;
}
.fv_lead.textActionActive span, .fv_lead_caption.textActionActive span {
		opacity: 1;
}
.fv_lead span:nth-of-type(1) {
		transition-delay: 0.9s;
}
.fv_lead span:nth-of-type(2) {
		transition-delay: 0.95s;
}
.fv_lead span:nth-of-type(3) {
		transition-delay: 1s;
}
.fv_lead span:nth-of-type(4) {
		transition-delay: 1.05s;
}
.fv_lead span:nth-of-type(5) {
		transition-delay: 1.1s;
}
.fv_lead span:nth-of-type(6) {
		transition-delay: 1.15s;
}
.fv_lead ruby span:nth-of-type(1) {
		transition-delay: 1.20s;
}
.fv_lead ruby span:nth-of-type(2) {
		transition-delay: 1.25s;
}
.fv_lead rt span:nth-of-type(1) {
		transition-delay: 1.2s;
}
.fv_lead rt span:nth-of-type(2) {
		transition-delay: 1.25s;
}
.fv_lead rt span:nth-of-type(3) {
		transition-delay: 1.3s;
}
.fv_lead span:nth-of-type(9) {
		transition-delay: 1.35s;
}
.fv_lead ruby + span {
		transition-delay: 1.40s;
}
.fv_lead_caption {
		line-height: 1.75;
		font-size: 20px;
		letter-spacing: 0.08em;
}
.fv_lead_caption span:nth-of-type(1) {
		transition-delay: 0.9s;
}
.fv_lead_caption span:nth-of-type(2) {
		transition-delay: 0.93s;
}
.fv_lead_caption span:nth-of-type(3) {
		transition-delay: 0.96s;
}
.fv_lead_caption span:nth-of-type(4) {
		transition-delay: 0.99s;
}
.fv_lead_caption span:nth-of-type(5) {
		transition-delay: 1.02s;
}
.fv_lead_caption span:nth-of-type(6) {
		transition-delay: 1.05s;
}
.fv_lead_caption span:nth-of-type(7) {
		transition-delay: 1.08s;
}
.fv_lead_caption span:nth-of-type(8) {
		transition-delay: 1.11s;
}
.fv_lead_caption span:nth-of-type(9) {
		transition-delay: 1.14s;
}
.fv_lead_caption span:nth-of-type(10) {
		transition-delay: 1.17s;
}
.fv_lead_caption span:nth-of-type(11) {
		transition-delay: 1.2s;
}
.fv_lead_caption span:nth-of-type(12) {
		transition-delay: 1.23s;
}
.fv_lead_caption span:nth-of-type(13) {
		transition-delay: 1.26s;
}
.fv_lead_caption span:nth-of-type(14) {
		transition-delay: 1.29s;
}
.fv_lead_caption span:nth-of-type(15) {
		transition-delay: 1.32s;
}
.fv_lead_caption span:nth-of-type(16) {
		transition-delay: 1.35s;
}
.fv_lead_caption span:nth-of-type(17) {
		transition-delay: 1.38s;
}
.fv_lead_caption span:nth-of-type(18) {
		transition-delay: 1.41s;
}
.fv_lead_caption span:nth-of-type(19) {
		transition-delay: 1.44s;
}
.fv_lead_caption span:nth-of-type(20) {
		transition-delay: 1.47s;
}
@media(max-height: 1500px) and (min-width: 1195px) {
		.fv_lead {
				font-size: 37px;
		}
}
@media(max-height: 960px) and (min-width: 1195px) {
		.fv_lead {
				font-size: 3.9vh;
		}
		.fv_lead rt {
				font-size: 12px;
				transform: translateY(-5px)
		}
		.fv_lead_caption {
				font-size: 2.2vh;
		}
}
@media(max-width: 1194px) {
		section.fv_section {
				min-width: 100%;
				width: 100%;
				height: 66vw !important;
				padding-top: 2vw;
				margin: 0;
		}
		.fv_chara_item {
				width: 6vw;
		}
		.fv_catch {
				width: 89vw;
				top: -5vw;
		}
		.fv_catch div {
				width: 100%;
		}
		.fv_section .fv_main_chara {
				position: absolute;
				top: inherit;
				bottom: 0;
				width: 50vw;
				left: calc(50% - 25vw);
		}
		.fv_lead_wrap {
				width: 90vw;
		}
		.fv_lead {
				font-size: 28px;
				margin-bottom: 20px;
		}
		.fv_lead rt {
				font-size: 14px;
				transform: translateY(-4px)
		}
		.fv_lead_caption {
				font-size: 16px;
		}
}
@media(max-width: 840px) {
		section.fv_section {
				min-width: 100%;
				width: 100vw;
				margin-left: 0;
				padding-top: 100px;
				height: calc(136vw + 100px) !important;
				background: #160519 url("../images/fv_bg_sp.jpg") no-repeat center bottom;
				background-size: 100%;
				overflow: hidden;
		}
		.fv_section::before {
				height: 120vh;
		}
		.fv_lead_wrap {
				width: 100vw;
		}
		.fv_catch {
				width: calc(100% - 10px);
				margin: 0 5px;
				top: -2vw;
				box-sizing: border-box;
		}
		.fv_catch div {
				top: 0;
				left: 0;
				width: 100%;
				box-sizing: border-box;
		}
		.fv_section .fv_main_chara {
				width: 100%;
				left: 0;
		}
		.fv_chara_item {
				width: calc(100% / 13);
				padding: 0 1px 0 0;
		}
		.fv_lead {
				text-align: center;
				margin: 0 auto 20px;
				width: 100%;
				font-size: 30px;
		}
		.fv_lead rt {
				font-size: 12px;
				transform: translateY(-5px)
		}
		.fv_lead_caption {
				text-align: center;
				width: 100%;
				font-size: 15px;
				pointer-events: none;
		}
		.fv_lead_caption br {
				display: none;
		}
		.fv_section::before {
				display: none;
		}
}
@media(max-width: 767px) {
		section.fv_section {
				height: calc(158vw + 100px) !important;
		}
		.fv_lead {
				margin: -5px auto 5px;
				font-size: 26px;
				pointer-events: none;
		}
		.fv_lead rt {
				font-size: 12px;
				transform: translateY(4px)
		}
}