/*----------------------------------------
    top page
------------------------------------------*/


/* fv
-------------------------------*/
#fv {position: relative; display: block; width: 100%; height: auto; padding: calc(var(--base_distance)*0.75 + var(--header_height)) 0; text-align: left; 
	@media screen and (max-width: 835px) { padding-bottom:0;}
	.cmn_bg_layer { overflow: hidden;
		.kv_layer {position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; opacity: 1; transform: translateY(25%);
			.kv {display: block; width: 50%; height: 100%; filter: brightness(1.2) saturate(7) blur(50px); border-radius: 50%; overflow: hidden; animation: rotation_fv 15s linear infinite; /* animation-timing-function: var(--easeInOutCirc); */
				img {display: block; width: 100%; height: 100%; object-fit: cover;}
			}
			@media (max-width: 835px) { flex-direction: column;
				.kv {width: 100%;}
			}
			&::after { position: absolute; display: block; content: ""; top: 0; left: 0; width: 100%; height: 100%; background-color: var(--c_white_l); opacity: 0.3; }
		}
		.over_texture {position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: repeat center url(../images/webp/texture_video_overlay_dots_01_w.png); background-size: min(40px, 8vw); opacity: 1;}
		.object {position: absolute; top: 50%; left: 50%;transform: translate(-50%, -50%); width: 100%; height: 90%; background: url(../images/svg/object_dummy.svg) no-repeat center; background-size:contain; opacity: .5;mix-blend-mode: multiply;}
	}
	.cmn_main_layer {
		.cmn_h_title {margin-bottom: 0.5em;}
		.cmn_sub_text {margin-bottom: 4em;}
		.latest_event_link {position: relative; display: block; width: 100%; height: auto;
			.event_kv_area { display: flex; justify-content: space-between; align-items: flex-start; width: 100%; height: auto; gap: calc(var(--base_gap)*0.5); margin-bottom: calc(var(--base_gap)*1); 
				.kv {display: block; width: 50%; height: auto; border-radius: var(--base_border_radius); overflow: hidden;
					img {display: block; width: 100%; height: auto; transition: 0.2s;}
				}
				@media (max-width: 835px) { flex-direction: column; gap: 10px;
					.kv {width: 100%;}
				}
			}
			.text_area {position: relative; display: block; width: 100%; height: auto;
				.cmn_sub_text {margin-bottom: 0.5em;}
			}
			&:hover {
				.event_kv_area {
					.kv {
						img {filter: brightness(1.05);}
					}
				}
				.text_area {
					.cmn_event_title {color: var(--c_theme_color);}
					.cmn_sub_text {color: var(--c_theme_color);}
					.cmn_link_arrow {background-color: var(--c_black_d);
						&::after {filter: invert(1);}
					}
				}
			}
		}
		.fv_swiper{/*overflow: hidden;*/padding-inline:100px;
			@media screen and (max-width: 835px) {
				padding-inline: 0px;
				overflow:hidden;
			}
			.img{aspect-ratio:  16 / 9;margin-bottom: 1vw;
				img{width: 100%;object-fit:cover;height: 100%;}
			}
			.title{background: var(--c_theme_color);color: #fff;text-align: center;padding: .4em;font-size: clamp(18px,2.6vw,28px);line-height: 1.2em;}
			.swiper-button-prev{width: 60px;aspect-ratio: 1/1;
				@media screen and (max-width: 835px) {width: 30px;left: -15px;}
				&:after{content: "";background: url(../images/svg/icon_dot_arrow_r_blue.svg) no-repeat center; background-size:contain;width: 100%; transform: scale(-1,1);height: 100%;}
			}
			.swiper-button-next{width: 60px;aspect-ratio: 1/1;
				@media screen and (max-width: 835px) {width: 30px;right: -15px;}
				&:after{content: "";background: url(../images/svg/icon_dot_arrow_r_blue.svg) no-repeat center; background-size:contain;width: 100%;height: 100%;}
			}
		}
	}
}



@keyframes rotation_fv{
	0%{ transform: rotate(0) scale(1.3); opacity: 1;}
	50%{ transform: rotate(180deg) scale(0.6); opacity: 0.7;}
	100%{ transform: rotate(360deg) scale(1.3); opacity: 1;}
}
/* animation: rotation 60s linear infinite; */

/* archive
-------------------------------*/
#archive {/*margin-bottom: 20lvh;*/
	@media screen and (max-width: 835px) {margin-bottom: 4lvh;}
	.archive_wrap {width: calc(var(--base_wrap_width)*0.9);}

	.archive_block{padding-bottom: clamp(80px,7vw,140px);position: relative; border-left: 1px solid var(--c_gray_l); padding-left: 10%;
		&:before{ display: block; content:""; width: 10px; height: 10px;  position: absolute; top: 50px; left: 0; background-color: var(--c_link_color); transform: translate(-6px, 0); border-radius: 100%;}
		@media (max-width: 835px) {
			&:before{ top: 7vw;}
		}
		/*
		&:not(:first-of-type){
			&:before{position: absolute;content: "";background: var(--c_gray_l);width: 6px;height: clamp(80px,7vw,140px);bottom: 98%;left: 50%;transform: translateX(-50%);opacity: .5;}
		}
		*/
		&:first-of-type{ }
		&:last-of-type{ padding-bottom: 0;}
		&[data-scroll="reveal"]{opacity: 0;
			&:before{clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);}
			&.scroll_in{opacity: 1;transition:.8s;
				&:before{clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);transition:.4s;}
			}
		}
	}
	.archive_list {position: relative; display: block; width: 100%; height: auto; text-align: left;
		.archive_rack_outer {position: relative; display: block; width: 100%; height: auto; border-bottom: 1px solid var(--c_gray_l);
			.archive_img_rack {
				.img_area {display: flex; justify-content: center; align-items: flex-start; width: 100%; height: auto; transition: 0.2s;
						.img_frame {display: flex; justify-content: center; align-items: center; width: 100%; height: auto; aspect-ratio: 16 / 9;
						img {display: block;}
					}
					@media (max-width: 835px) { flex-direction: column;
						.img_frame {width: 100%;}
					}
				}
				&.type_kv {
					.img_area {gap: calc(var(--base_gap)*0.5); padding: calc(var(--base_gap)*1) 0;
							.img_frame {border-radius: var(--base_border_radius); overflow: hidden;
							img { width: 100%; height: 100%; object-fit: cover;}
						}
					}
				}
				&.type_logo {
					.img_area {
						.img_frame {
							img {width: 75%; height: 65%; object-fit: contain;}
						}
					}
				}
				.link_text {position: relative; display: block; width: 100%; height: auto; text-align: center; font-size: clamp(14px , 2vw , 18px); line-height: 1.4em; font-weight: 700; letter-spacing: 0.2em; color: var(--c_gray); padding: 1em 0; margin-bottom: 0; border-top: 1px solid var(--c_gray_l); transition: 0.2s;
					@media screen and (max-width: 835px) { color: var(--c_theme_color); }
					span {position: relative; display: inline-block;
						&::after { position: absolute; display: block; content: ""; top: 0; right: -2em; width: 0.8em; height: 100%; background: no-repeat center url(../images/svg/icon_dot_arrow_r_blue.svg); background-size: contain; transform: translateY(5%) rotateZ(-45deg); opacity: 0.8; filter: grayscale(1); transition: 0.2s;}
					}
				}
				&:hover {
					.img_area {filter: brightness(1.1);}
					.link_text { color: var(--c_theme_color);
						span {
							&::after {opacity: 1; filter: grayscale(0);}
						}
					}
				}
			}
			.archive_rack {position: relative; display: block; width: 100%; height: auto; padding: calc(var(--base_gap)*1) 0;
				.title_box {position: relative; display: block; width: auto; height: auto; transition: 0.2s;
					.cmn_sub_text {}
					.cmn_event_title {}
				}
				&:hover , &.active {
					.title_box {transform: translateX(10px);
						.cmn_sub_text {color: var(--c_theme_color);}
						.cmn_event_title {color: var(--c_theme_color);}
					}
				}
			}
			.pop_up_kv { position: fixed; right: 3%; top: 50%; transform: translateY(-50%); width: 30vw; max-width: 500px; aspect-ratio: 16/9; border-radius: var(--base_border_radius); overflow: hidden; opacity: 0; pointer-events: none; transition: opacity 0.4s ease, transform 0.4s ease; z-index: 50; box-shadow: 0 25px 50px -12px rgba(0,0,0,0.25);
    			&.active { opacity: 1; pointer-events: auto; }
				@media (max-width: 835px) { width: 45vw; max-width: 500px; box-shadow: 0 10px 30px -5px rgba(0,0,0,0.2); }
			}
		}
		.year_head {position: relative; display: block; width: 100%; height: auto; border-bottom: 1px solid var(--c_gray_l); font-size: min(80px , 12vw); overflow: hidden; padding-top: 0.7em;
			span {display: block; color: var(--c_gray_l); line-height: 1em; font-weight: 700; white-space: nowrap; transform: translateY(23%);}
			&:nth-of-type(1) {padding-top: 0;}
		}
	}
}


.official_link{margin-bottom: 60px;padding-bottom: 2px;
	.share_link{margin-bottom: 60px;
		.tit{margin-bottom: 20px;font-size: clamp(16px,2vw,22px);}
		.icon_link{display: flex;justify-content: center;gap:20px;
			a{display: block;width: 50px;}
		}
	}
	.link_flex{display: flex;justify-content: center;gap:30px;
		a{width: 30%;transition:.3s;border: 1px solid var(--c_gray_l);
			&:hover{transition:.3s;}
		}
	}
}