#guide {
	align-items: center;
	justify-content: center;
}

#guide .full-popup {
	height: min(max-content, calc(100dvh - var(--top-h)*2.5));
	padding: 0;
	background: var(--black-bk);
	background: linear-gradient(0deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 1) 50%, var(--black-bk) 60%, var(--black-bk) 100%);
}

.splide {
	width: fit-content;
	height: 100%;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.splide .splide__track {
	flex: auto;
}

.splide__slide {
	height: 100%;
	display: flex;
	flex-direction: column;
	font-size: var(--fs-m);
}

.splide__slide .guide-img {
	min-height: 40vh;
	height: 100%;
	opacity: 0;
	transition: opacity 0.5s;
}

.splide__slide.is-active .guide-img {
	opacity: 1;
}

.splide__slide .guide-txt {
	flex: auto;
	padding: 1em 2em;
	line-height: 1.8em;
}

.splide__slide .guide-txt h4 {
	margin: 0;
}

.splide__slide .guide-txt h4 + p {
	padding-top: 0.5em;
}

.splide__pagination {
	position: relative;
}

.splide__pagination__page {
	--p: 8px;
	border-radius: var(--p);
	height: var(--p);
	width: var(--p);
	margin: calc(var(--p)*1);
	opacity: .6;
	transition: width .2s linear;
}

.splide__pagination__page.is-active {
	opacity: 1;
	height: calc(var(--p)*0.8);
	width: calc(var(--p)*3);
	transform: none;
}

/*ANIMATION*/
.guide-img {
	position: relative;
	overflow: hidden;
}

.is-active .guide-img > * {
	animation-duration: 8s;
	animation-iteration-count: infinite;
}

.guide-img > div {
	position: absolute;
	transform-origin: center;
}

.guide-img > div:not(.co),
.guide-img .co > div {
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100% auto;
}

.guide-img .tb {
	background-image: url(/source/ui/g01-1.webp);
}

.guide-img .po {
	background-image: url(/source/ui/ucyuzu2024_500x.webp);
}

.guide-img .st {
	background-image: url(/source/ui/g01-2.webp);
}

.guide-img .to {
	background-image: url(/source/ui/g01-3.webp);
}

.guide-img .me {
	z-index: 2;
	background-image: url(/source/ui/g02-1.webp);
}

.guide-img .pa {
	background-image: url(/source/ui/g03-1.webp), url(/source/ui/g03-2.webp);
	background-size: 100% 100%, 100% auto;
	background-position: center, top center;
}

.guide-img .ru {
	background-image: url(/source/ui/g03-1.webp), url(/source/ui/g03-3.webp);
}

.guide-img .im {
	background-image: url(/source/ui/g03-4.webp);
}

.guide-img .v1 {
	background-image: url(/source/ui/g04-1.webp);
	background-size: 100% auto;
	background-position: top center;
}

.guide-img .co .v2 {
	background-image: url(/source/ui/g04-2-1.webp);
}

.guide-img .co .v2-2 {
	background-image: url(/source/ui/g04-2-2.webp);
}

.guide-img .co .v2-3 {
	background-image: url(/source/ui/g04-2-3.webp);
}

.guide-img .co .v2-4 {
	background-image: url(/source/ui/g04-2-4.webp);
}

.guide-img .co .v4 {
	background-image: url(/source/ui/g01-3.webp);
}

.guide-img .co .v4-2 {
	background-image: url(/source/ui/g04-4-1.webp);
}

.guide-img .co .v4-3 {
	background-image: url(/source/ui/g04-4-2.webp);
}

.guide-img .v3 {
	background-image: url(/source/ui/g03-1.webp), url(/source/ui/g04-3-1.webp);
	background-size: 100% 100%, 100% auto;
	background-position: center, top center;
}

.guide-img .co .v3-2 {
	background-image: url(/source/ui/g04-3-2.webp);
}

.guide-img span {
	--fs: 30px;
	--fw: 3px;
	--ft: 15px;
	width: var(--fs);
	max-width: var(--fs);
	height: var(--fs);
	max-height: var(--fs);
	display: block;
	border-radius: var(--fs);
	border: var(--fw) solid var(--pink-color);
	opacity: 0;
	z-index: 9;
}

.guide-img {
	--w: 52%;
	--pw: calc(var(--w) - 2%);
	--cw: calc(var(--w) - 3%);
}

/*918*646*/
.guide-img > div:not(.tb):not(.po):not(.co) {
	width: var(--cw);
	aspect-ratio: 270 / 190;
}

.guide-img .tb {
	width: var(--w);
	aspect-ratio: 270 / 195;
	z-index: 3;
}

.guide-img .po {
	width: var(--pw);
	aspect-ratio: 270 / 195;
}

.guide-img .co {
	width: calc(var(--pw) * 4.75);
	aspect-ratio: 1080 / 190;
	background-color: aqua;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-template-rows: auto;
	column-gap: calc(var(--pw) * 0.25);
	transform: translate(-6.4%, -50%) scale(.5);
	transform: translate(-20.2%, -50%) scale(.5);
	transform: translate(-34.3%, -50%) scale(.5);
	transform: translate(-48.3%, -50%) scale(.5);
	transform-origin: left center;
}

.guide-img .co > * {
	grid-row: 1;
	height: 100%;
	aspect-ratio: 270 / 190;
	border: 1px solid red;

}

.guide-img .co > *[class*='v1'] {
	grid-column: 1;
}

.guide-img .co > *[class*='v2'] {
	grid-column: 2;
}

.guide-img .co > *[class*='v3'] {
	grid-column: 3;
}

.guide-img .co > *[class*='v4'] {
	grid-column: 4;
}

/*ガイド1*/
.g01 .f1 {
	top: 59%;
	left: 52%;
}

.is-active .g01 .f1 {
	animation-name: g01_f1;
}

@keyframes g01_f1 {
	0% {
		opacity: 0;
	}

	35% {
		opacity: 0;
	}

	40% {
		opacity: 1;
		border-width: var(--fw);
	}

	42% {
		opacity: 1;
		border-width: var(--ft);
	}

	45% {
		opacity: 0;
		border-width: var(--fw);
	}

	100% {
		opacity: 0;
		border-width: var(--fw);
	}
}

.g01 .tb {
	top: 50%;
	left: 50%;
	transform: translate(150%, -150%);
	opacity: 0;
}

.is-active .g01 .tb {
	animation-name: g01_tb;
}

@keyframes g01_tb {
	0% {
		opacity: 0;
		transform: translate(150%, -150%);
	}

	3% {
		transform: translate(150%, -150%);
	}

	15% {
		opacity: 1;
		transform: translate(-50%, -50%);
	}

	30% {}

	85% {
		opacity: 1;
		transform: translate(-50%, -50%);
	}

	100% {
		opacity: 0;
		transform: translate(150%, -150%);
	}
}

.g01 .po {
	top: 50%;
	left: 50%;
	opacity: 0;
	transform: translate(-150%, 150%);
}

.is-active .g01 .po {
	animation-name: g01_po;
}

@keyframes g01_po {
	0% {
		opacity: 0;
		transform: translate(-150%, 150%);
	}

	3% {
		transform: translate(-150%, 150%);
	}

	15% {
		opacity: 1;
		transform: translate(-50%, -50%);
	}

	85% {
		opacity: 1;
		transform: translate(-50%, -50%);
	}

	100% {
		opacity: 0;
		transform: translate(-150%, 150%);
	}
}

.g01 .st,
.g01 .to {
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	opacity: 0;
	border-radius: 4%;
	overflow: hidden;
}

.g01 .st {
	z-index: 1;
}

.is-active .g01 .st {
	animation-name: g01_st;
}

@keyframes g01_st {
	0% {
		opacity: 0;
	}

	15% {
		opacity: 0;
	}

	30% {
		opacity: 1;
	}

	85% {
		opacity: 1;
	}

	90% {
		opacity: 0;
	}

	100% {
		opacity: 0;
	}
}

.g01 .to {
	z-index: 2;
	overflow: hidden;
}

.is-active .g01 .to {
	animation-name: g01_to;

}

@keyframes g01_to {
	0% {
		opacity: 0;
	}

	43% {
		opacity: 0;
		background-size: 120% 120%;
	}

	53% {
		opacity: 1;
		background-size: 100% 100%;
	}

	85% {
		opacity: 1;
	}

	90% {
		opacity: 0;
	}

	100% {
		opacity: 0;
	}
}

/*ガイド2*/
.g02 > div {
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.g02 .f1 {
	top: 45%;
	left: 50%;
	opacity: 1;
}

.g02 .f2 {
	top: 50%;
	left: 45%;
	opacity: 1;
}

.is-active .g02 .f1 {
	animation-name: g02_f1;
}

@keyframes g02_f1 {
	0% {
		opacity: 0;
	}

	3% {
		opacity: 1;
		border-width: var(--fw);
		transform: translate(0%, 0%);
	}

	5% {
		opacity: 1;
		transform: translate(0%, 0%);
		border-width: var(--ft);
	}

	8% {
		opacity: 1;
		transform: translate(100%, -100%);
		border-width: var(--ft);
	}

	12% {
		opacity: 0;
		transform: translate(100%, -100%);
		border-width: var(--fw);
	}

	/*drag left*/
	22% {
		opacity: 0;
		transform: translate(0%, 0%);
		border-width: var(--fw);
	}

	24% {
		opacity: 1;
		transform: translate(0%, 0%);
		border-width: var(--fw);
	}

	28% {
		opacity: 1;
		transform: translate(-200%, 0%);
		border-width: var(--ft);
	}

	29% {
		opacity: 1;
		transform: translate(-200%, 0%);
		border-width: var(--ft);
	}

	32% {
		opacity: 0;
		transform: translate(-200%, 0%);
		border-width: var(--fw);
	}

	/*drag right*/
	52% {
		opacity: 0;
		transform: translate(-100%, 0%);
		border-width: var(--fw);
	}

	54% {
		opacity: 1;
		transform: translate(-100%, 0%);
		border-width: var(--fw);
	}

	58% {
		opacity: 1;
		transform: translate(100%, 0%);
		border-width: var(--ft);
	}

	59% {
		opacity: 1;
		transform: translate(100%, 0%);
		border-width: var(--ft);
	}

	62% {
		opacity: 0;
		transform: translate(100%, 0%);
		border-width: var(--fw);
	}

	/*zoom out*/
	79% {
		opacity: 0;
		border-width: var(--fw);
		transform: translate(100%, -100%);
	}

	81% {
		opacity: 1;
		border-width: var(--fw);
		transform: translate(100%, -100%);
	}

	83% {
		opacity: 1;
		transform: translate(100%, -100%);
		border-width: var(--ft);
	}

	86% {
		opacity: 1;
		transform: translate(0%, 0%);
		border-width: var(--ft);
	}

	90% {
		opacity: 0;
		transform: translate(0%, 0%);
		border-width: var(--fw);
	}

	100% {
		opacity: 0;
		transform: translate(0%, 0%);
		border-width: var(--fw);
	}
}

.is-active .g02 .f2 {
	animation-name: g02_f2;
}

@keyframes g02_f2 {
	0% {
		opacity: 0;
	}

	3% {
		opacity: 1;
		border-width: var(--fw);
		transform: translate(0%, 0%);
	}

	5% {
		opacity: 1;
		transform: translate(0%, 0%);
		border-width: var(--ft);
	}

	8% {
		opacity: 1;
		transform: translate(-100%, 100%);
		border-width: var(--ft);
	}

	12% {
		opacity: 0;
		transform: translate(-100%, 100%);
		border-width: var(--fw);
	}

	/*zoom out*/
	79% {
		opacity: 0;
		border-width: var(--fw);
		transform: translate(-100%, 100%);
	}

	81% {
		opacity: 1;
		border-width: var(--fw);
		transform: translate(-100%, 100%);
	}

	83% {
		opacity: 1;
		transform: translate(-100%, 100%);
		border-width: var(--ft);
	}

	86% {
		opacity: 1;
		transform: translate(0%, 0%);
		border-width: var(--ft);
	}

	90% {
		opacity: 0;
		transform: translate(0%, 0%);
		border-width: var(--fw);
	}

	100% {
		opacity: 0;
		transform: translate(0%, 0%);
		border-width: var(--fw);
	}
}

.is-active .g02 .to {
	animation-name: g02_to;
}

@keyframes g02_to {
	0% {}

	5% {
		background-size: 100% 100%;
	}

	20% {
		background-size: 180% 180%;

	}

	25% {
		background-size: 180% 180%;
		background-position: center;
	}

	40% {
		background-size: 180% 180%;
		background-position: center right 5px;
	}

	55% {
		background-size: 180% 180%;
		background-position: center right 5px;

	}

	65% {
		background-size: 180% 180%;
		background-position: center center;

	}

	84% {
		background-size: 180% 180%;
		background-position: center center;

	}

	95% {
		background-size: 100% 100%;
		background-position: center center;

	}

	100% {
		background-size: 100% 100%;
		background-position: center center;

	}
}


/*ガイド3*/
.g03 > div {
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	animation-duration: 10s;
}

.g03 .pa {
	opacity: 0;
}

.is-active .g03 .pa {
	animation-name: g03_pa;
}

@keyframes g03_pa {
	0% {}

	10% {
		opacity: 0;
		transform: translate(-50%, -50%) scale(0);
	}

	15% {
		opacity: 1;
		transform: translate(-50%, -50%) scale(1);
	}

	21% {
		background-position: center center, top center;

	}

	31% {
		background-position: center center, top 50% center;

	}

	40% {
		background-position: center center, top 99% center;

	}

	41% {
		background-position: center center, top 100% center;

	}

	90% {
		opacity: 1;
		background-position: center center, top 100% center;
		transform: translate(-50%, -50%) scale(1);
	}

	91% {
		opacity: 0;
		transform: translate(-50%, -50%) scale(1);
	}

	100% {
		opacity: 0;
		background-position: center center, top 100% center;
		transform: translate(-50%, -50%) scale(1);
	}
}

.g03 .ru {
	opacity: 0;
}

.is-active .g03 .ru {
	animation-name: g03_ru;
}

@keyframes g03_ru {
	0% {}

	55% {
		opacity: 0;
	}

	58% {
		opacity: 1;
	}

	85% {
		opacity: 1;
	}

	86% {
		opacity: 0;
	}

	100% {
		opacity: 0;
	}
}

.g03 .im {
	opacity: 0;
}

.is-active .g03 .im {
	animation-name: g03_im;
}

@keyframes g03_im {
	0% {}

	70% {
		opacity: 0;
		transform: translate(-50%, -50%) scale(0);
	}

	75% {
		opacity: 1;
		transform: translate(-50%, -50%) scale(1);
	}

	90% {
		opacity: 1;
		transform: translate(-50%, -50%) scale(1);
	}

	95% {
		opacity: 0;
		transform: translate(-50%, -50%) scale(0);
	}

	100% {
		opacity: 0;
		transform: translate(-50%, -50%) scale(0);
	}
}

.g03 .f1 {
	top: 58%;
	left: 60%;
	z-index: 3;
}

.is-active .g03 .f1 {
	animation-name: g03_f1;
}

@keyframes g03_f1 {

	0%,
	3% {
		opacity: 0;
	}

	5% {
		opacity: 1;
		border-width: var(--fw);
	}

	7% {
		opacity: 1;
		border-width: var(--ft);
	}

	10% {
		opacity: 0;
		border-width: var(--fw);
	}

	/*up*/
	20%,
	22% {
		opacity: 1;
		transform: translate(0%, 0%);
		border-width: var(--fw);
	}

	25%,
	26% {
		opacity: 1;
		transform: translate(0%, -200%);
		border-width: var(--ft);
	}

	28% {
		opacity: 0;
		transform: translate(0%, -200%);
		border-width: var(--fw);
	}

	/*up*/
	30%,
	32% {
		opacity: 1;
		transform: translate(0%, 0%);
		border-width: var(--fw);
	}

	35%,
	36% {
		opacity: 1;
		transform: translate(0%, -200%);
		border-width: var(--ft);
	}

	38% {
		opacity: 0;
		transform: translate(0%, -200%);
		border-width: var(--fw);
	}

	/*	touch*/
	45% {
		opacity: 0;
		transform: translate(-160%, -450%);
	}

	47% {
		opacity: 1;
		border-width: var(--fw);
	}

	50% {
		opacity: 1;
		border-width: var(--ft);
	}

	53% {
		opacity: 0;
		border-width: var(--fw);
		transform: translate(-160%, -450%);
	}

	/*touch*/
	65% {
		opacity: 0;
		transform: translate(10%, -100%);
	}

	67% {
		opacity: 1;
		border-width: var(--fw);
	}

	70% {
		opacity: 1;
		border-width: var(--ft);
	}

	73% {
		opacity: 0;
		border-width: var(--fw);
		transform: translate(0%, -100%);
	}

	/*touch*/
	85% {
		opacity: 0;
		transform: translate(210%, -450%);
	}

	87% {
		opacity: 1;
		border-width: var(--fw);
	}

	90% {
		opacity: 1;
		border-width: var(--ft);
	}

	100% {
		opacity: 0;
		border-width: var(--fw);
		transform: translate(210%, -450%);
	}
}



/*ガイド4*/
.g04 > div {
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.is-active .g04 .tb {
	animation-name: g04_tb;
}

@keyframes g04_tb {
	0% {}

	5% {
		transform: translate(-50%, -50%) scale(1);
	}

	15% {
		transform: translate(-50%, -50%) scale(.6);
	}

	90% {
		transform: translate(-50%, -50%) scale(.6);
	}

	100% {
		transform: translate(-50%, -50%) scale(1);
	}

}

.is-active .g04 .to {
	animation-name: g04_tb, g04_to;
}

@keyframes g04_to {

	0%,
	5% {
		opacity: 1;
	}

	15%,
	90% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

.is-active .g04 .co {
/*	animation-name: g04_co;*/
}


@keyframes g04_co {
	0%,5% {
		transform: translate(0%, -50%) scale(.8);
		opacity: 0;
	}

	15% {
		opacity: 1;
		transform: translate(0%, -50%) scale(.5);
	}

	90% {
		opacity: 1;
		transform: translate(-50%, -50%) scale(.5);
	}
	99%{
		opacity: 0;
	}

	100% {
		transform: translate(-50%, -50%) scale(.8);
	}

}


.is-active .g04 .v1 {
	animation-name: g04_v1;
}

@keyframes g04_v1 {

	0%,
	20% {
		background-position: top center;
	}

	30%,
	40% {
		background-position: top 33% center;
	}

	50%,
	60% {
		background-position: top 66% center;
	}

	70%,
	99% {
		background-position: top 100% center;
	}

	100% {
		background-position: top center;
	}
}

.is-active .g04 .co > div {
	animation-duration: 8s;
	animation-iteration-count: infinite;
}

.is-active .g04 .v2-2 {
	animation-name: g04_v2-2;
}

@keyframes g04_v2-2 {

	0%,
	20% {
		opacity: 0;
	}

	30%,
	90% {
		opacity: 1;
	}

	99%,
	100% {
		opacity: 0;
	}
}

.is-active .g04 .v2-3 {
	animation-name: g04_v2-3;
}

@keyframes g04_v2-3 {

	0%,
	40% {
		opacity: 0;
	}

	50%,
	90% {
		opacity: 1;
	}

	99%,
	100% {
		opacity: 0;
	}
}

.is-active .g04 .v2-4 {
	animation-name: g04_v2-4;
}

@keyframes g04_v2-4 {

	0%,
	60% {
		opacity: 0;
	}

	70%,
	90% {
		opacity: 1;
	}

	99%,
	100% {
		opacity: 0;
	}
}

.is-active .g04 .v3 {
	animation-name: g04_v3;
}

@keyframes g04_v3 {

	0%,
	20% {
		background-position: center center, top center;
	}

	30%,
	40% {
		background-position: center center, top center;
	}

	50%,
	60% {
		background-position: center center, top 50% center;
	}

	70%,
	99% {
		background-position: center center, top 100% center;
	}

	100% {
		background-position: center center, top center;
	}
}

.is-active .g04 .v3-2 {
	animation-name: g04_v3-2;
}

@keyframes g04_v3-2 {

	0%,
	80% {
		opacity: 0;
		background-size: 0;
	}

	90%,
	99% {
		opacity: 1;
		background-size: 100%;
	}

	100% {
		opacity: 0;
	}
}

.is-active .g04 .v4-2 {
	animation-name: g04_v4-2;
}

@keyframes g04_v4-2 {

	0%,
	40% {
		opacity: 0;
		background-size: 0;
	}

	50%,
	99% {
		opacity: 1;
		background-size: 100%;
	}

	100% {
		opacity: 0;
		background-size: 0;
	}
}

.is-active .g04 .v4-3 {
	animation-name: g04_v4-3;
}

@keyframes g04_v4-3 {

	0%,
	60% {
		opacity: 0;
		background-size: 0;
	}

	70%,
	99% {
		opacity: 1;
		background-size: 100%;
	}

	100% {
		opacity: 0;
		background-size: 0;
	}
}











@media only screen and (max-width: 768px) {
	#guide {
		padding: 0;
	}

	#guide .full-popup {
		height: 100%;
		padding-top: 3rem;
		border: none;
	}

	#guide .splide {
		width: 100%;
		height: 100%;
	}

	#guide .splide__slide > * {
		max-width: 100%;
	}

	#guide .splide__slide .guide-img {
		--w: 80%;
		min-height: auto;
		max-height: 50vh;
	}


	#guide .splide__slide .guide-txt {
		flex: auto;
		padding: 5vw;
	}

	.splide__arrows {
		display: none;
	}
}
