/*----------------------------------------
	base
------------------------------------------*/
html.html_reset {margin: 0!important; padding: 0!important;}
body {position: relative; height:100%; width: 100%; overflow-y: scroll; overflow-x: hidden; background-color: var(--c_bg_color); text-align: center; color: var(--c_font_color); font-family: var(--font_base_setting); font-size: var(--base_font_size); font-optical-sizing: auto; font-weight: 500; line-height: var(--base_line_height); word-break: break-word; /* word-break: auto-phrase; */
}
main {position: relative; overflow: clip;}
a { color: var(--c_link_color); }
img {max-width: 100%; height: auto;}
@media only screen and (max-width: 835px){
body {overflow: hidden; min-height: 100%;
	&.scroll_on { overflow-y: scroll; overflow-x: hidden; pointer-events: auto;}
}
}

/*----------------------------------------
	module
------------------------------------------*/
.pc_only {display: block;}
.sp_only {display: none!important;}
@media only screen and (max-width: 835px){
	.pc_only {display: none!important;}
	.sp_only {display: block!important;}
}

.mod_mb_0{margin-bottom: 0!important;}
.mod_mb_0p5distance{margin-bottom: calc(var(--base_distance)*0.5)!important;}
.mod_mb_1p0distance{margin-bottom: calc(var(--base_distance)*1)!important;}
.mod_mb_1p5distance{margin-bottom: calc(var(--base_distance)*1.5)!important;}
.mod_mb_2p0distance{margin-bottom: calc(var(--base_distance)*2)!important;}
.mod_mb_2p5distance{margin-bottom: calc(var(--base_distance)*2.5)!important;}
.mod_mb_3p0distance{margin-bottom: calc(var(--base_distance)*3)!important;}
.mod_mb_3p5distance{margin-bottom: calc(var(--base_distance)*3.5)!important;}
.mod_mb_4p0distance{margin-bottom: calc(var(--base_distance)*4)!important;}
.mod_mb_4p5distance{margin-bottom: calc(var(--base_distance)*4.5)!important;}
.mod_mb_0p5gap{margin-bottom: calc(var(--base_gap)*0.5)!important;}
.mod_mb_1p0gap{margin-bottom: calc(var(--base_gap)*1)!important;}
.mod_mb_1p5gap{margin-bottom: calc(var(--base_gap)*1.5)!important;}
.mod_mb_2p0gap{margin-bottom: calc(var(--base_gap)*2)!important;}
.mod_mb_2p5gap{margin-bottom: calc(var(--base_gap)*2.5)!important;}
.mod_mb_3p0gap{margin-bottom: calc(var(--base_gap)*3)!important;}
.mod_mb_3p5gap{margin-bottom: calc(var(--base_gap)*3.5)!important;}
.mod_mb_4p0gap{margin-bottom: calc(var(--base_gap)*4)!important;}
.mod_mb_4p5gap{margin-bottom: calc(var(--base_gap)*4.5)!important;}

.mod_text_bold{font-weight: bold;}
.mod_text_center{text-align: center;}
.mod_text_left{text-align: left;}
.mod_text_right{text-align: right;}
.mod_text_base{font-size: var(--base_font_size); line-height: var(--base_line_height);}
.mod_text_small {font-size: 0.6em; line-height: 1em;}
.mod_mb_0p5em{margin-bottom: 0.5em;}
.mod_mb_1p0em{margin-bottom: 1em;}
.mod_mb_1p5em{margin-bottom: 1.5em;}
.mod_mb_2p0em{margin-bottom: 2em;}
.mod_text_underline{text-decoration: underline;}

.mod_flex_box_01 , .mod_flex_box_02 , .mod_flex_box_03 , .mod_flex_box_04 { display: flex; flex-wrap: wrap; gap:var(--base_gap); justify-content: flex-start; align-items: flex-start;
	&.jst_center {justify-content: center; }
	&.ali_center {align-items: center; }
	div , li , a , img {display: block;}
}
.mod_flex_box_01 { div , li , a , img {width: 100%;} }
.mod_flex_box_02 { div , li , a , img {width: calc((100% - var(--base_gap)*1)/2);} }
.mod_flex_box_03 { div , li , a , img {width: calc((100% - var(--base_gap)*2)/3);} }
.mod_flex_box_04 { div , li , a , img {width: calc((100% - var(--base_gap)*3)/4);} }
@media only screen and (max-width: 835px){
	.mod_flex_box_01 { div , li , a , img {width: 100%;} }
	.mod_flex_box_02 { div , li , a , img {width: 100%;} }
	.mod_flex_box_03 { div , li , a , img {width: calc((100% - var(--base_gap)*1)/2);} }
	.mod_flex_box_04 { div , li , a , img {width: calc((100% - var(--base_gap)*1)/2);} }
}

.mod_text_slide_anim_box {display: flex; height: 100px;
	img {display: block; width: auto; max-width: initial; height: 100%; animation: hor_move_l 40s linear infinite;}
	&.reverse {animation: hor_move_r 40s linear infinite;}
}

.mod_youtube_iframe_size {position: relative; display: block; width: 100%; height: auto; aspect-ratio: 16 / 9;}
.mod_disactive { pointer-events: none; }
.mod_negative_margin_top {margin-top: -20vh; padding-top: 20vh;}
.mod_scroll_bar_delete {-ms-overflow-style: none; scrollbar-width: none;}
.mod_scroll_bar_delete::-webkit-scrollbar {display:none;}

/* wrap settings
-------------------------------*/
.wrap_100px  { position: relative; margin: 0 auto; width: var(--base_wrap_width); max-width: 100px;}
.wrap_200px  { position: relative; margin: 0 auto; width: var(--base_wrap_width); max-width: 200px;}
.wrap_300px  { position: relative; margin: 0 auto; width: var(--base_wrap_width); max-width: 300px;}
.wrap_400px  { position: relative; margin: 0 auto; width: var(--base_wrap_width); max-width: 400px;}
.wrap_500px  { position: relative; margin: 0 auto; width: var(--base_wrap_width); max-width: 500px;}
.wrap_600px  { position: relative; margin: 0 auto; width: var(--base_wrap_width); max-width: 600px;}
.wrap_700px  { position: relative; margin: 0 auto; width: var(--base_wrap_width); max-width: 700px;}
.wrap_800px  { position: relative; margin: 0 auto; width: var(--base_wrap_width); max-width: 800px;}
.wrap_900px  { position: relative; margin: 0 auto; width: var(--base_wrap_width); max-width: 900px;}
.wrap_1000px { position: relative; margin: 0 auto; width: var(--base_wrap_width); max-width: 1000px;}
.wrap_1100px { position: relative; margin: 0 auto; width: var(--base_wrap_width); max-width: 1100px;}
.wrap_1200px { position: relative; margin: 0 auto; width: var(--base_wrap_width); max-width: 1200px;}
.wrap_1300px { position: relative; margin: 0 auto; width: var(--base_wrap_width); max-width: 1300px;}
.wrap_1400px { position: relative; margin: 0 auto; width: var(--base_wrap_width); max-width: 1400px;}
.wrap_1500px { position: relative; margin: 0 auto; width: var(--base_wrap_width); max-width: 1500px;}
.wrap_1600px { position: relative; margin: 0 auto; width: var(--base_wrap_width); max-width: 1600px;}
.wrap_1700px { position: relative; margin: 0 auto; width: var(--base_wrap_width); max-width: 1700px;}
.wrap_1800px { position: relative; margin: 0 auto; width: var(--base_wrap_width); max-width: 1800px;}
.wrap_1900px { position: relative; margin: 0 auto; width: var(--base_wrap_width); max-width: 1900px;}
.wrap_100px , .wrap_200px , .wrap_300px , .wrap_400px , .wrap_500px , .wrap_600px , .wrap_700px , .wrap_800px , .wrap_900px , .wrap_1000px , .wrap_1100px , .wrap_1200px , .wrap_1300px , .wrap_1400px , .wrap_1500px , .wrap_1600px , .wrap_1700px , .wrap_1800px , .wrap_1900px {
	&.w_100 {width: 100%;}
} 

/*----------------------------------------
	loading / opening animation
------------------------------------------*/
/* #loading {position: fixed; top: 0; left: 0; display: block; width: 100%; height: 100vh; height: 100svh; background-color: var(--c_bg_color);z-index: var(--z_loading);
	&.is_loaded {display: none;}
	&.load_open { animation: fade_out 1.4s forwards; pointer-events: none;}
	.logo {position: absolute; top: 50%; left: 50%; transform: translate(-50% , -50%); width: min(240px , 40%);
		img {width: 100%;}
	}
} */

#loading_screen { position: fixed; inset: 0; z-index: var(--z_loading); display: flex; justify-content: center; align-items: center; overflow: hidden; 
background-color: hsla(137, 90%, 50%, 1);
background-image:
radial-gradient(at 11% 0%, hsla(193, 77%, 55%, 1) 0px, transparent 50%),
radial-gradient(at 20% 29%, hsla(169, 65%, 58%, 1) 0px, transparent 50%),
radial-gradient(at 79% 84%, hsla(185, 80%, 50%, 1) 0px, transparent 50%),
radial-gradient(at 1% 3%, hsla(168, 65%, 52%, 1) 0px, transparent 50%),
radial-gradient(at 1% 90%, hsla(126, 65%, 52%, 1) 0px, transparent 50%),
radial-gradient(at 48% 85%, hsla(142, 65%, 52%, 1) 0px, transparent 50%),
radial-gradient(at 83% 80%, hsla(29, 65%, 52%, 1) 0px, transparent 50%);
&.type_expo {
background-color: hsl(192, 100%, 62%);
background-image:
radial-gradient(at 11% 0%, hsla(195, 77%, 55%, 1) 0px, transparent 50%),
radial-gradient(at 20% 29%, hsl(187, 100%, 62%) 0px, transparent 50%),
radial-gradient(at 79% 84%, hsl(204, 80%, 50%) 0px, transparent 50%),
radial-gradient(at 1% 3%, hsla(175, 65%, 52%, 1) 0px, transparent 50%),
radial-gradient(at 1% 90%, hsl(280, 61%, 64%) 0px, transparent 50%),
radial-gradient(at 48% 85%, hsl(204, 79%, 48%) 0px, transparent 50%),
radial-gradient(at 83% 80%, hsla(260, 65%, 52%, 1) 0px, transparent 50%);
}
&.type_fes {
background-color: hsl(88, 90%, 50%);
background-image:
radial-gradient(at 11% 0%, hsla(100, 77%, 55%, 1) 0px, transparent 50%),
radial-gradient(at 20% 29%, hsla(140, 65%, 58%, 1) 0px, transparent 50%),
radial-gradient(at 79% 84%, hsla(120, 80%, 50%, 1) 0px, transparent 50%),
radial-gradient(at 1% 3%, hsla(95, 65%, 52%, 1) 0px, transparent 50%),
radial-gradient(at 1% 90%, hsla(155, 65%, 52%, 1) 0px, transparent 50%),
radial-gradient(at 48% 85%, hsla(35, 65%, 52%, 1) 0px, transparent 50%),
radial-gradient(at 83% 80%, hsla(60, 65%, 52%, 1) 0px, transparent 50%);
}

	.warp_container { position: relative; width: 100vw; height: 100vh; display: flex; justify-content: center; align-items: center; }
	.ring { position: absolute; border-radius: 50%; --anim_delay_time: 0.05s; }
	.ring::before { content: ''; position: absolute; inset: 0; border-radius: 50%; border: 1px solid transparent; background-color: rgba(255,255,255, 0.1);}

	.ring_01 { width: 224vmin; height: 224vmin; }
	.ring_01::before { border-top: 1px dashed var(--c_white_l); border-bottom: 1px solid var(--c_white_l); opacity: 0.7; animation: spin 24s linear infinite; }
	.ring_02 { width: 196vmin; height: 196vmin; animation-delay: calc(var(--anim_delay_time)*1)!important; }
	.ring_02::before { border-left: 1px solid var(--c_white_l); border-right: 1px solid var(--c_white_l); opacity: 0.7; animation: spin-reverse 20s linear infinite; }
	.ring_03 { width: 168vmin; height: 168vmin; animation-delay: calc(var(--anim_delay_time)*2)!important; }
	.ring_03::before { border: 1px dashed var(--c_white_l); opacity: 0.8; animation: spin 16s linear infinite; }
	.ring_04 { width: 140vmin; height: 140vmin; animation-delay: calc(var(--anim_delay_time)*3)!important; }
	.ring_04::before { border-top: 1px solid var(--c_white_l); border-bottom: 1px solid var(--c_white_l); opacity: 0.7; animation: spin-reverse 12s linear infinite; }
	.ring_05 { width: 119vmin; height: 119vmin; animation-delay: calc(var(--anim_delay_time)*4)!important; }
	.ring_05::before { border: 1px dashed var(--c_white_l); opacity: 0.8; animation: spin 10s linear infinite; }
	.ring_06 { width: 98vmin; height: 98vmin; animation-delay: calc(var(--anim_delay_time)*5)!important; }
	.ring_06::before { border-left: 1px solid var(--c_white_l); border-right: 1px solid var(--c_white_l); opacity: 0.7; animation: spin-reverse 9s linear infinite; }
	.ring_07 { width: 84vmin; height: 84vmin; animation-delay: calc(var(--anim_delay_time)*6)!important; }
	.ring_07::before { border-top: 1px dashed var(--c_white_l); border-bottom: 1px dashed var(--c_white_l); opacity: 0.8; animation: spin 6s linear infinite; }
	.ring_08 { width: 67vmin; height: 67vmin; animation-delay: calc(var(--anim_delay_time)*7)!important; }
	.ring_08::before { border: 1px solid var(--c_white_l); opacity: 0.7; animation: spin-reverse 5s linear infinite; }
	.ring_09 { width: 49vmin; height: 49vmin; animation-delay: calc(var(--anim_delay_time)*8)!important; }
	.ring_09::before { border-left: 1px dashed var(--c_white_l); border-right: 1px dashed var(--c_white_l); opacity: 0.8; animation: spin 4s linear infinite; }
	.ring_10 { width: 35vmin; height: 35vmin; animation-delay: calc(var(--anim_delay_time)*9)!important; }
	.ring_10::before { border-top: 1px solid var(--c_white_l); border-bottom: 1px solid var(--c_white_l); opacity: 0.7; animation: spin-reverse 3s linear infinite; }
	.ring_11 { width: 28vmin; height: 28vmin; animation-delay: calc(var(--anim_delay_time)*10)!important; }
	.ring_11::before { border: 1px dashed var(--c_white_l); opacity: 0.8; animation: spin 10s linear infinite; }
	.ring_12 { width: 17vmin; height: 17vmin; animation-delay: calc(var(--anim_delay_time)*11)!important; }
	.ring_12::before { border-top: 1px solid var(--c_white_l); border-right: 1px solid var(--c_white_l); opacity: 0.9; animation: spin-reverse 1.5s linear infinite; }

	.title {position: absolute; display: block; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: var(--c_white_l); font-size: min(14px , 2.4vw); letter-spacing: 1em; line-height: 2.0em; white-space: nowrap;}
}

#loading_screen.load_open { animation: fade_out 2.4s forwards; pointer-events: none; 
	.ring { animation: expand-ring 1.2s forwards; animation-timing-function: var(--easeOutQuint); }
}

@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@keyframes spin-reverse { 0% { transform: rotate(0deg); } 100% { transform: rotate(-360deg); } }
@keyframes expand-ring { 0% { transform: scale(1); opacity: 1; } 100% { transform: scale(2); opacity: 1; } }


/*----------------------------------------
	common class
------------------------------------------*/

/* common parts
-------------------------------*/
.cmn_section {position: relative; display: block; width: 100%; height: auto; margin: 0 auto; padding: calc(var(--base_distance)*1) 0;
	&.padding_t_0 {padding-top: 0;}
}
.cmn_in_page_main {position: relative; display: block; width: 100%; height: auto; margin: 0 auto; padding: calc(var(--base_distance)*1) 0;}

.cmn_bg_layer {position: absolute; top: 0; left: 0; width: 100%; height: 100%;}
.cmn_main_layer {position: relative;}

/*----- cmn link btn -----*/
.cmn_link_btn_outer {position: relative; display: block; text-align: center; width: 100%; max-width: var(--base_wrap_width); height: auto; margin: 0 auto;}
.cmn_link_btn_a {position: relative; display: inline-block; margin: 0 auto; padding: 0.7em 3.5em; height: auto; width: auto; min-width: min(360px , 100%); line-height: 1.4em; font-size: clamp( 14px , 3.5vw , 18px ); text-align: center; text-decoration: initial!important; transition: 0.2s; font-family: var(--f_lexend); font-weight: 700; letter-spacing: 0.1em; border-radius: var(--base_border_radius_s); color: var(--c_white_l); background: var(--c_gd_expo_fes_02);
	img {position: relative; height: 1.4em; width: auto;}
	span {position: relative; display: inline-block; transform: translateX(0.2em);}
	&::after { position: absolute; display: block; content: ""; top: 0; right: 1em; width: 0.8em; height: 100%; background: no-repeat center url(../images/svg/icon_dot_arrow_r_w.svg); background-size: contain; transition: 0.1s;}
	&.size_wide {min-width: min(600px , 100%);}
	&.w_100 {width: 100%;}
	&.disactive {pointer-events: none; filter: grayscale(1); opacity: 0.5;}
	&.type_back {
		&::before { position: absolute; display: block; content: ""; top: 0; left: 1em; width: 0.8em; height: 100%; background: no-repeat center url(../images/svg/icon_dot_arrow_r_w.svg); background-size: contain; transform: rotate(180deg); transition: 0.1s;}
		&::after {display: none;}
	}
	&.type_dl {padding: 0.7em 3.5em 1.7em;
		&::before {position: absolute; display: block; content: ""; bottom: 0.7em; left: 50%; transform: translateX(-50%); width: 100%; height: 0.8em; background: no-repeat center url(../images/svg/icon_dot_dl_w.svg); background-size: contain; transition: 0.1s;}
		&::after {display: none;}
	}
	&.c_expo {background: var(--c_gd_expo_blue);}
	&.c_fes {background: var(--c_gd_fes_green);}
	&.c_theme {background: var(--c_gd_darkblue);}
	&:hover {filter: brightness(1.2);}
}
/*----- cmn link btn -----*/

/*----- cmn tag -----*/
.cmn_tag {position: relative; display: inline-block; font-size: clamp(12px , 2vw , 14px); line-height: 1.6em; padding: 0.1em 0.9em 0.15em; white-space: nowrap; margin: 0; border-radius: var(--base_border_radius_s); font-weight: 600; letter-spacing: 0.1em;
    &.c_fill_black {background-color: var(--c_black); color: var(--c_white_l);}
    &.c_fill_white {background-color: var(--c_white_l); color: var(--c_black_d); font-weight: 700;}
    &.c_fill_theme {background-color: var(--c_theme_color); color: var(--c_white_l);}
    &.c_border_black {border: 1px solid var(--c_black_d); color: var(--c_black_d); background-color: initial; font-weight: 700;}
	&.c_border_white {border: 1px solid var(--c_white); color: var(--c_white_l); background-color: initial;}
	&.c_naked_black {color: var(--c_black_d); padding: 0.1em 0.7em 0.15em;}
	&.c_naked_white {color: var(--c_white_l); padding: 0.1em 0.7em 0.15em;}
	&.c_expo {background-color: var(--c_expo_blue); color: var(--c_white_l);}
	&.c_fes {background-color: var(--c_fes_green); color: var(--c_white_l);}
	&.c_new {background-color: var(--c_orange); color: var(--c_white_l);}
	&.clickable { transition: 0.2s;
		&:hover , &.active {
			&.c_fill_black {background-color: var(--c_white_l); color: var(--c_black);}
    		&.c_fill_white {background-color: var(--c_black_d); color: var(--c_white_l);}
    		&.c_fill_theme {background-color: var(--c_white_l); color: var(--c_theme_color);}
			&.c_border_black {background-color: var(--c_black_d); color: var(--c_white_l);}
			&.c_border_white {background-color: var(--c_white_l); color: var(--c_black_d);}
			&.c_naked_black {color: var(--c_theme_color_l);}
			&.c_naked_white {color: var(--c_theme_color_l);}
		}
	}
}
.cmn_date_tag_box {position: relative; display: flex; justify-content: flex-start; align-items: center; flex-wrap: wrap; gap: calc(var(--base_gap)*0.25); width: 100%; height: auto; margin-bottom: calc(var(--base_gap)*0.5);}
.cmn_page_head_tag_box { position: relative; display: block; height: auto; 
	.tag_list {position: relative; display: flex; justify-content: flex-start; align-items: flex-start; flex-wrap: wrap; gap:calc(var(--base_gap)*0.25); width: 100%; height: auto;
		li {display: inline-block;}
	}
	&.type_grid {--grid_num: 6;
		.tag_list {
			li {width: calc((100% - var(--base_gap)*0.25 *(var(--grid_num) - 1) ) / var(--grid_num));
				.cmn_tag {width: 100%; white-space: initial; display: -webkit-box; -webkit-line-clamp: 1;-webkit-box-orient: vertical;overflow: hidden;}
			}
		}
	}
}
@media only screen and (max-width: 835px){
	.cmn_page_head_tag_box.type_grid {--grid_num: 3;}
	.cmn_page_head_tag_box.type_sp_scroll { overflow-y: hidden; overflow-x: scroll; pointer-events: auto;
		.tag_list {flex-wrap: nowrap; width: auto;
			li {}
		}
	}
}
/*----- cmn tag -----*/

/*----- cmn date -----*/
.cmn_date {position: relative; display: inline-block; font-size: clamp(16px , 2vw , 19px); color: var(--c_black_d); font-weight: 800; line-height: 1.6em; white-space: nowrap; letter-spacing: 0.05em; margin: 0; margin-right: 0.5em; transition: 0.2s;}
/*----- cmn date -----*/

/*----- cmn pagination -----*/
.cmn_pagination_outer {position: relative; display: block; width: 100%; height: auto; margin-bottom: calc(var(--base_distance)*0.5);
	.cmn_pagination {position: relative; width: 100%; height: auto; display: flex; justify-content: center; align-items: center; font-size: clamp(15px , 1.5vw , 18px); line-height: 1em; gap: 0.2em;
		a , span {position: relative; display: flex; justify-content: center; align-items: center; color: var(--c_theme_color); width: 2.5em; height: 2.5em; transition: 0.2s;
			&.prev , &.next { border: 1px solid var(--c_theme_color); border-radius: var(--base_border_radius);
				&::after { position: absolute; display: block; content: ""; top: 50%; left: 50%; width: 30%; height: 30%; background: no-repeat center; background-size: contain; background-image: url(../images/svg/icon_dot_arrow_r_dbv.svg);}
			}
			&.prev {margin-right: 2em;
				&::after {  transform: translate(-50% , -50%) rotateZ(180deg); }
			}
			&.next { margin-left: 2em;
				&::after { transform: translate(-50% , -50%); }
			}
			&.current , &:hover {
				&:not(.prev , .next) {opacity: 0.3;
					&::before { position: absolute; display: block; content: ""; bottom: 0; left: 50%; width: 40%; height: 1px; background-color: var(--c_theme_color); transform: translateX(-50%);}
				}
				&.prev , &.next { background-color: var(--c_theme_color);
					&::after {filter: grayscale(1) brightness(10);}
				}
			}
		}
	}
}
/*----- cmn pagination -----*/

/*----- cmn_section_border -----*/
:root {--cmn_section_border_h:clamp(28px , 3.5vw , 40px);}
.cmn_section_border {position: relative; display: flex; justify-content: center; align-items: center; width: 100%; height: var(--cmn_section_border_h); background: var(--c_gd_expo_fes);
	.main_line {position: relative; display: block; width: 100%; height: 60%; background: repeat-x url(../images/webp/cmn_section_border_texture.webp); background-size: auto 100%;}
	&.c_expo {background: var(--c_gd_expo_blue);}
	&.c_fes {background: var(--c_gd_fes_green);}
}
/*----- cmn_section_border -----*/

/*----- cmn_category_switch -----*/
.cmn_category_switch { position: relative; display: flex; justify-content: center; align-items: center; gap: 1em; flex-wrap: wrap; height: auto; background-color: var(--c_black_d); border-radius: var(--base_border_radius); margin-bottom: calc(var(--base_gap)*1); font-size: clamp(14px , 2vw , 20px); line-height: 1.2em; padding: 0.8em 1em;
	.btn {position: relative; display: inline-block; padding: 0.3em 1em; color: var(--c_white_l); font-weight: 600; border-radius: var(--base_border_radius_s); transition: 0.2s;
		&::before { position: absolute; display: block; content: ""; bottom: 0; left: 0; width: 100%; height: 1px; background-color: var(--c_theme_color); transition: 0.2s;}
		&.active {pointer-events: none;}
		&.active , &:hover {background-color: var(--c_theme_color); color: var(--c_white);
			&::before {opacity: 0;}
		}
		&.c_expo {
			&::before {background-color: var(--c_expo_blue);}
			&.active , &:hover { background-color: var(--c_expo_blue);}
		}
		&.c_fes {
			&::before {background-color: var(--c_fes_green);}
			&.active , &:hover { background-color: var(--c_fes_green);}
		}
	}
}
/*----- cmn_category_switch -----*/

/*----- cmn_page_tab -----*/
.cmn_page_tab_switch {position: relative; display: flex; justify-content: center; align-items: center; gap: calc(var(--base_gap)*0.25); height: auto; font-size: clamp(14px , 2vw , 20px);
	.tab_switch {position: relative; display: inline-block; width: auto; min-width: min(250px , calc(100% - var(--base_gap)*0.5*3) / 4); height: auto; color: var(--c_theme_color); font-weight: 700; line-height: 1.2em; letter-spacing: 0.1em; background-color: var(--c_white_l); border: 1px solid var(--c_theme_color); border-bottom: initial;  border-top-left-radius: var(--base_border_radius); border-top-right-radius: var(--base_border_radius); padding: 0.5em 0.7em; cursor: pointer; transition: 0.2s;
		span {font-size: 0.7em; line-height: 1.0em;}
		&::before { position: absolute; display: block; content: ""; bottom: 0px; left: -1px; width: calc(100% + 2px); height: 4em; border: 1px solid var(--c_theme_color); background-color: var(--c_theme_color); transform: translateY(100%); transition: 0.2s;}
		&.active , &:hover { background-color: var(--c_theme_color); color: var(--c_white); }
	}
	&.c_expo {
		.tab_switch { border: 1px solid var(--c_expo_blue); border-bottom: initial; color: var(--c_expo_blue);
			&::before {border: 1px solid var(--c_expo_blue); background-color: var(--c_expo_blue);}
			&.active , &:hover { background-color: var(--c_expo_blue); color: var(--c_white); }
		}
	}
	&.c_fes {
		.tab_switch { border: 1px solid var(--c_fes_green); border-bottom: initial; color: var(--c_fes_green);
			&::before {border: 1px solid var(--c_fes_green); background-color: var(--c_fes_green);}
			&.active , &:hover { background-color: var(--c_fes_green); color: var(--c_white); }
		}
	}
}
.cmn_page_tab_target , .cmn_page_tab_target_style {position: relative; display: block; border: 1px solid var(--c_theme_color); border-radius: var(--base_border_radius);
	.cmn_page_tab_box {position: absolute; display: block; width: 100%; height: auto; padding: var(--base_gap); visibility: hidden; opacity: 0; pointer-events: none;
		&.active {position: relative; visibility: visible; opacity: 1; pointer-events: initial;}
	}
	.cmn_page_tab_box_style {position: relative; display: block; width: 100%; height: auto; padding: var(--base_gap);}
	&.c_expo {border: 1px solid var(--c_expo_blue);}
	&.c_fes {border: 1px solid var(--c_fes_green);}
}
/*----- cmn_page_tab -----*/

/*----- cmn_anchor_links -----*/
.cmn_anchor_links {position: relative; display: flex; justify-content: center; align-items: center; font-size: clamp(14px , 2vw , 16px); line-height: 1.2em; gap: 0.3em 0.6em; flex-wrap: wrap; height: auto; border-bottom: 1px dotted var(--c_black_d); margin-bottom: calc(var(--base_gap)*2); padding: 0 0 1em;
	.btn {position: relative; display: inline-block; padding: 0.4em 1.2em; padding-right: 2.6em; color: var(--c_white_l); background-color: var(--c_black_d); font-weight: 600; border-radius: var(--base_border_radius_s); text-align: center; transition: 0.2s;
		&::after { position: absolute; display: block; content: ""; top: 0; right: 1em; width: 0.7em; height: 100%; background: no-repeat center url(../images/svg/icon_dot_dl_w.svg); background-size: contain; }
		&:hover {transform: translateY(5%);}
		&.c_expo {background-color: var(--c_expo_blue);}
		&.c_fes { background-color: var(--c_fes_green);}
	}
}
@media only screen and (max-width: 835px){
	.cmn_anchor_links {
		.btn {width: 100%;}
	}
}
/*----- cmn_anchor_links -----*/

/*----- cmn_head_title -----*/
:root {--cmn_section_head_font_size: clamp(19px , 2vw , 32px);}
.cmn_head_title { position: relative; background: var(--c_gd_h_title_expo_fes); color: var(--c_white_l); border-radius: var(--base_border_radius); text-align: left; padding: calc(var(--cmn_section_head_font_size)*1.2); padding-left: calc(var(--cmn_section_head_font_size)*3.0); margin-bottom: calc(var(--base_gap)*2); overflow: hidden;
	.main_title {position: relative; font-family: var(--f_jakarta); font-weight: 700; font-size: var(--cmn_section_head_font_size); line-height: 1.5em; letter-spacing: 0.15em;
		.small {font-size: 0.8em;}
	}
	.sub_title {position: relative; font-size: calc(var(--cmn_section_head_font_size)*0.5); line-height: 1.5em; margin-bottom: 0;}
	&::before { position: absolute; display: block; content: ""; top: 0; left: 0; width: 100%; height: 100%;background: repeat center url(../images/webp/video_overlay_dots_01_b.png); background-size: var(--base_video_overlay_dots_size);}
	&::after { position: absolute; display: block; content: ""; top: calc(var(--cmn_section_head_font_size)*1.2 + var(--cmn_section_head_font_size)*1.5 / 2); left: calc(var(--cmn_section_head_font_size)*1.4); transform: translateY(-50%); width: calc(var(--cmn_section_head_font_size)*1); height: calc(var(--cmn_section_head_font_size)*1); background: no-repeat center url(../images/svg/icon_dot_crystal_expo_fes.svg); background-size: contain;}
	&.type_in_page_head { --cmn_section_head_font_size: clamp(22px , 2.5vw , 40px); padding-top: calc(var(--cmn_header_h)*1.1 + var(--cmn_section_head_font_size)*1.2); margin-bottom: calc(var(--base_distance)*0.75);
		&::after { top: calc( var(--cmn_header_h)*1.1 + var(--cmn_section_head_font_size)*1.2 + var(--cmn_section_head_font_size)*1.5 / 2);}
	}
	&.mb_half { margin-bottom: calc(var(--base_gap)*1);}
	&.mb_0 { margin-bottom: 0;}
	&.no_icon {padding: calc(var(--cmn_section_head_font_size)*1.2) calc(var(--cmn_section_head_font_size)*1.4);
		&::after {display: none;}
	}
	&.c_expo {background: var(--c_gd_h_title_expo);
		&::after {background-image: url(../images/svg/icon_dot_crystal_expo.svg);}
	}
	&.c_fes {background: var(--c_gd_h_title_fes);
		&::after {background-image: url(../images/svg/icon_dot_crystal_fes.svg);}
	}
	.area_tag_box {position: relative; display: flex; margin-bottom: calc(var(--cmn_section_head_font_size)*0.2);
		.area_tag {position: relative; display: inline-block; font-size: max(14px ,calc(var(--cmn_section_head_font_size)*0.6)); line-height: 1.5em; font-weight: 800; letter-spacing: 0.1em; background-color: var(--c_white_l); padding: 0.2em 0.8em; padding-left: 2.4em; border-radius: var(--base_border_radius_s); margin-bottom: 0.2em;
			&::before { position: absolute; display: block; content: ""; top: 0; left: 0.8em; width: 1.2em; height: 100%; background: no-repeat center; background-size: contain;  }
			&.venue {color: var(--c_orange);
				&::before {background-image: url(../images/svg/icon_venue.svg);}
			}
			&.streaming {color: var(--c_darkblue_v);
				&::before {background-image: url(../images/svg/icon_streaming.svg);}
			}
		}
	}
}
@media only screen and (max-width: 835px){
	.cmn_head_title {
		&.type_in_page_head { padding-top: calc(var(--cmn_header_h)*1.4 + var(--cmn_section_head_font_size)*1.2); padding-left: calc(var(--cmn_section_head_font_size)*2.3);
			&::after { top: calc( var(--cmn_header_h)*1.4 + var(--cmn_section_head_font_size)*1.2 + var(--cmn_section_head_font_size)*1.5 / 2); left: calc(var(--cmn_section_head_font_size)*0.8);}
		}
	}
}
/*----- cmn_head_title -----*/

/*----- cmn swiper style -----*/
.cmn_swiper_outer {position: relative; display: block; margin-bottom: calc(var(--base_gap)*1);}
.cmn_swiper_style { margin-bottom: calc(var(--base_gap)*1);
	.swiper-wrapper {height: auto;}
	.swiper-slide {height: auto;}
	.slide_inner { position: relative; display: block; width: 100%; height: auto; cursor: pointer;
		.thumbnail { position: relative; display: block; width: 100%; height: auto; padding-top: calc(100% * 9 / 16); margin-bottom: calc(var(--base_gap)*0.25); border-radius: var(--base_border_radius); background-color: var(--c_white_l); overflow: hidden; transition: 0.2s;
			img {position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; object-fit: cover; opacity: 0.3; transition: 0.2s;}
			.play_icon {position: absolute; top: 0; left: 50%; transform: translateX(-50%); display: block; width: 40%; height: 100%; opacity: 0; visibility: hidden; transition: 0.2s;
				&::before { position: absolute; display: block; content: ""; top: 0; left: 0; width: 100%; height: 100%;  background: no-repeat center url(../images/webp/parts_text_circle_w.webp); background-size: contain; animation: rotation 60s linear infinite;}
				&::after { position: absolute; display: block; content: ""; top: 0; left: 50%; transform: translateX(-50%); width: 14%; height: 100%; background: no-repeat center url(../images/svg/icon_dot_arrow_fill_r_w.svg); background-size: contain; }
			}
		}
		.title_box {position: relative; display: block; width: 100%; height: auto; background-color: var(--c_white_l); border: 1px solid var(--c_gray_l); border-radius: var(--base_border_radius); padding: 0.7em 1.6em; text-align: left; font-weight: 600; color: var(--c_gray); transition: 0.2s;}
		&:hover {
			.thumbnail {filter: brightness(1.1);}
			.title_box {color: var(--c_orange);}
		}
	}
	.swiper-slide-active , .swiper-slide-duplicate-active {
		.slide_inner {
			.thumbnail {
				img {opacity: 1;}
				.play_icon {opacity: 1; visibility: visible;}
			}
			.title_box { color: var(--c_font_color);}
		}
	}
	&.disactive { pointer-events: none;}
}
.cmn_swiper_controller_style { --cmn_swiper_controller_size:clamp(40px, 12vw , 46px); position: relative; top: initial; bottom: initial; left: initial; right: initial; display: flex; justify-content: center; align-items: center; gap: calc(var(--base_gap)*2);
	.swiper-button-prev , .swiper-button-next {position: relative; top: initial; bottom: initial; left: initial; right: initial;  border-radius: var(--base_border_radius_s); margin: 0; width: var(--cmn_swiper_controller_size); height: var(--cmn_swiper_controller_size);
		&::before { position: absolute; display: block; content: ""; position: absolute; top: 1px; left: 1px; width: calc(100% - 2px); height: calc(100% - 2px); border-radius: calc(var(--base_border_radius) - 3px); background-color: var(--c_white_l); transition: 0.2s;}
		&::after { position: absolute; display: block; content: ""; top: 0; left: 50%; width: 25%; height: 100%; transform: translateX(-50%); background: no-repeat center url(../images/svg/icon_dot_arrow_fill_r_expo_fes.svg); background-size: contain; transition: 0.2s;}
		&:hover {
			&::before {opacity: 0.3;}
			&::after {filter: grayscale(1) brightness(10);}
		}
	}
	.swiper-button-prev {background: var(--c_gd_expo_fes_02_reverse);
		&::after { transform: translateX(-50%) scale(-1,1);}
	}
	.swiper-button-next {background: var(--c_gd_expo_fes_02);}
	.swiper-pagination {position: relative; top: initial; bottom: initial; left: initial; right: initial; width: auto; min-width: min(250px, 30vw); display: flex; justify-content: center; align-items: center; gap: calc(calc(var(--cmn_swiper_controller_size)*0.3));
		.swiper-pagination-bullet {width: calc(var(--cmn_swiper_controller_size)*0.25); height: calc(var(--cmn_swiper_controller_size)*0.25); background-color: var(--c_gray_l); opacity: 1; margin: 0;
			&.swiper-pagination-bullet-active {background-color: var(--c_fes_green);}
		}
	}
	&.disactive { pointer-events: none; filter: grayscale(1); opacity: 0.5;}
}
/*----- cmn swiper style -----*/

/*----- cmn_thumbnail_content_list -----*/
.cmn_thumbnail_content_list { display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: flex-start; gap: calc(var(--base_gap)*2); height: auto;
	.cmn_thumbnail_content_box { width: calc((100% - var(--base_gap)*2*2)/3); }
	&.type_white_frame {gap: calc(var(--base_gap)*1);
		.cmn_thumbnail_content_box {width: calc((100% - var(--base_gap)*1*2)/3); background-color: var(--c_white_l); border: 1px solid var(--c_gray_l); border-radius: var(--base_border_radius); padding: calc(var(--base_gap)*0.75);}
	}
}
@media only screen and (max-width: 835px){
	.cmn_thumbnail_content_list {
		.cmn_thumbnail_content_box {width: 100%;}
		&.sp_2col { gap: calc(var(--base_gap)*1.5) calc(var(--base_gap)*1);
			.cmn_thumbnail_content_box {width: calc((100% - var(--base_gap)*1*1)/2);}
		}
		&.type_white_frame {
			.cmn_thumbnail_content_box {width: 100%;}
		}
	}
}
.cmn_thumbnail_content_box {position: relative; display: block; height: auto;
	.thumbnail {position: relative; display: block; width: 100%; height: auto; padding-top: calc(100% *9 / 16); background: var(--c_white_l); border-radius: var(--base_border_radius); overflow: hidden; margin-bottom: calc(var(--base_gap)*0.5);
		img {position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; transition: 0.2s;}
		.play_icon {position: absolute; top: 0; left: 50%; transform: translateX(-50%); display: block; width: 40%; height: 100%; transition: 0.2s;
			&::before { position: absolute; display: block; content: ""; top: 0; left: 0; width: 100%; height: 100%;  background: no-repeat center url(../images/webp/parts_text_circle_w.webp); background-size: contain;}
			&::after { position: absolute; display: block; content: ""; top: 0; left: 50%; transform: translateX(-50%); width: 14%; height: 100%; background: no-repeat center url(../images/svg/icon_dot_arrow_fill_r_w.svg); background-size: contain; }
		}
	}
	.text_box {position: relative; display: block; width: 100%; height: auto; text-align: left;
		.cmn_date_tag_box {margin-bottom: calc(var(--base_gap) * 0.25);}
		.title_rack {position: relative; display: block; margin-bottom: 0.4em;
			.content_title {position: relative; display: block; width: 100%; height: auto; font-weight: 600; color: var(--c_font_color); line-height: 1.25em; transition: 0.2s;}
			&.type_num {position: relative; display: flex; justify-content: flex-start; align-items: center; gap: 0.5em;
				.number_icon {display: flex; justify-content: center; align-items: center; width: 2.5em; height: 2.5em; color: var(--c_white_l); background-color: var(--c_theme_color); border-radius: 50%; margin: 0;}
				.content_title {position: relative; display: block; width: calc(100% - 2.5em - 0.5em);}
			}
		}
		.schedule_time {font-size: 0.9em; font-weight: 700; letter-spacing: 0.05em; margin-bottom: 0.5em;}
		.cast {position: relative; display: block; width: 100%; height: auto; margin-bottom: 0.5em; font-size: 0.9em; color: var(--c_font_color); border: 1px solid var(--c_gray_l); border-radius: var(--base_border_radius_s); padding: 0.7em;}
		.caption {position: relative; display: block; width: 100%; height: auto; font-size: 0.9em; color: var(--c_black_d);
			p:last-of-type {margin-bottom: 0;}
		}
	}
	&a:hover {
		.thumbnail {
			img {filter: brightness(1.1);}
		}
		.text_box {
			.content_title {color: var(--c_orange);}
		}
	}
}

/*----- cmn_thumbnail_content_list -----*/

/*----- cmn bg style -----*/
.cmn_bg_dot_white {background: var(--c_white_l) repeat center url(../images/webp/bg_texture_dot_grid_g.png); background-size: var(--base_bg_dot_texture_size);}
.cmn_bg_dot_black {background: var(--c_black_d) repeat center url(../images/webp/bg_texture_dot_grid_b.png); background-size: var(--base_bg_dot_texture_size);}
/*----- cmn bg style -----*/

.cmn_links_rack_title {display: inline-block; font-size: clamp(13px , 2vw , 14px); line-height: 1.4em; color: var(--c_black_d); letter-spacing: 0.05em; font-weight: 600; background-color: var(--c_white_l); padding: 0.3em 1em 0.3em; margin-bottom: calc(var(--base_gap)*0.75); border-radius: var(--base_border_radius_s);
	&.c_black {background-color: var(--c_black);color: var(--c_white_l);}
}

.cmn_page_foot_spacer {position: relative; display: block; height: calc(var(--base_distance)*1);}

.cmn_coming_soon_img{position: relative;background: var(--c_gray);aspect-ratio:16/9;display: flex;justify-content: center;align-items: center;
    &::before {content: 'COMING SOON';position: absolute;color: var(--c_white_l);font-size: 2em;}
}

/* accordion
-------------------------------*/
.cmn_accordion_box {
	.cmn_accordion_trigger { cursor: pointer; }
	.cmn_accordion_content { overflow: hidden; height: 0; transition: 0.4s ease;
	  &.accordion_open { height: auto; }
	}
}

/* write box
-------------------------------*/
.cmn_write_box_outer {position: relative; display: block; padding: calc(var(--base_gap)*2) calc(var(--base_gap)*1.5); margin-bottom: calc(var(--base_gap)*2); background-color: var(--c_white_l); border: 1px solid var(--c_gray_l); border-radius: var(--base_border_radius);}
@media only screen and (max-width: 835px){
	.cmn_write_box_outer  {padding: calc(var(--base_gap)*2.5) calc(var(--base_gap)*1.5);}
}
:root {--cmn_write_box_theme_color: var(--c_theme_color); --cmn_write_box_font_color: var(--c_font_color);}
.cmn_write_box {position: relative; text-align: left; font-size: clamp(13px , 2vw , 14px); font-weight: 400; line-height: 1.7em;  width: 100%; font-weight: 500;
	.title_box {position: relative; display: block; padding-bottom: calc(var(--base_gap)*1.5); margin-bottom: 3em; border-bottom: 1px solid var(--cmn_write_box_theme_color); }
	.date { font-size: clamp(12px , 2vw , 14px); line-height: 1.4em; font-weight: bold; margin-bottom: 0.7em; letter-spacing: 0.1em; }
	.cmn_date_tag_box {margin-bottom: calc(var(--base_gap)*1);}
	.box_title { position: relative; display: block; width: 100%; font-size: clamp(17px , 2vw , 22px);  line-height: 1.4em; font-weight: 800; letter-spacing: 0.1em;}
	.main_visual { position: relative; display: block; width: 100%; height: auto; margin-bottom: 3em;
		img {display: block; width: 100%; height: auto;}
	}
	.cmn_link_btn_outer {margin-bottom: 1.5em;}
	blockquote {position: relative; display: block; width: 100%; height: auto; border: 1px solid var(--cmn_write_box_theme_color); padding: min( calc(var(--base_gap)*1.5) , 5vw) min( calc(var(--base_gap)*2) , 4vw); margin-top: 2em; margin-bottom: 1.5em;}
	iframe {width: 100%;}
	figure { margin-bottom: 1.5em;}
	img {display: block; max-width: 100%; height: auto; margin: 0 auto; margin-bottom: 1.5em;
		&.app_badge {width: 170px!important; padding-top: 5px;}
	}
	.img_flex { margin-bottom: 1em;
		img {margin: 0;}
	}
	p {line-height: 1.9em;}
	a {overflow-wrap: break-word; text-decoration: underline; font-weight: bold;}
	ul {margin-bottom: 1em;
		li {position: relative; display: block; margin-bottom: 0.8em; padding-left: 1.2em; 
			&::before {position: absolute; display: block; content: ""; top: 0; left: 0; width: 1em; height: 1em; transform: translateY(0.3em) scale(0.4); background-color: var(--cmn_list_color); border-radius: 9999px;}
			&:last-of-type {margin-bottom: 0;}
		}
	}
	hr {border-top: 1px dotted var(--cmn_write_box_theme_color); border-right: none;border-bottom: none;border-left: none; margin-bottom: 3em; margin-top: 3em;}
	strong {font-weight: 900;}
	&.single h2 , &.in_page h3 {position: relative; display: block; padding-bottom: 0.6em; padding-left: 1.1em; font-size: clamp(17px , 2.5vw , 20px); font-weight: 700; margin-bottom: 0.7em; margin-top: 3em; line-height: 1.4em; border-bottom: 1px solid var(--cmn_write_box_theme_color); border-style: dashed; border-top: none; border-left: none; border-right: none; color: var(--cmn_write_box_font_color);
		&::before {position: absolute; display: block; content: ""; left: 0; top: 0.5em; width: 0.45em; height: 0.45em; background-color: var(--cmn_write_box_theme_color); transform: rotateZ(45deg);}
		&:first-child {margin-top: 0;}
	}
	&.single h3 , &.in_page h4 {position: relative; display: inline-block; font-size: 1.05em; font-weight: 800; margin-bottom: 0.7em; margin-top: 1.5em; line-height: 1.4em; padding: 0.2em 0.9em 0.25em; border: 1px solid var(--cmn_write_box_theme_color); color: var(--cmn_write_box_font_color);
		&:first-child {margin-top: 0;}
	}
	&.single h4 , &.in_page h5 {position: relative; display: block; margin-top: 1.2em; margin-bottom: 0.2em; font-size: 1.05em; line-height: 1.4em; font-weight: 800; color: var(--cmn_write_box_font_color); padding-left: 0.9em;
		&::before { position: absolute; display: block; content: ""; top: 0.75em; left: 0; width: 0.6em; height: 0.6em; background-color: var(--cmn_write_box_theme_color); transform: translateY(-50%); clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);}
		&:first-child {margin-top: 0;}
	}
}

/*-- list style --*/
:root {--cmn_list_color: var(--c_theme_color);}
ul {
	&.cmn_list_circle , &.cmn_list_kome , &.cmn_list_asterisk  { 
		li {position: relative; display: block; margin-bottom: 0.5em; padding-left: 1.2em;
			&:last-of-type {margin-bottom: 0;}
		}
	}
	&.cmn_list_circle {
		li {
			&::before {position: absolute; display: block; content: ""; top: 0; left: 0; width: 1em; height: 1em; transform: translateY(0.3em) scale(0.4); background-color: var(--cmn_list_color); border-radius: 9999px;}
		}
	}
	&.cmn_list_kome {
		li { padding-left: 1.2em; font-size:0.95em; line-height:1.4em;
			&::before {position: absolute; display: block; content: ""; content: "※"; top: 0; left: 0; width: 1em; height: 1em; transform: translateY(0em); color: var(--cmn_list_color); background: initial;}
		}
	}
	&.cmn_list_asterisk {
		li { padding-left: 0.8em; font-size:0.95em; line-height:1.4em;
			&::before {position: absolute; display: block; content: ""; content: "*"; top: 0; left: 0; width: 1em; height: 1em; transform: translateY(0em); color: var(--cmn_list_color); background: initial;}
		}
	}
	&.cmn_list_underline {
		li { line-height:1.4em; border-bottom: 1px solid var(--cmn_list_color); padding-top: 0.8em; padding-bottom: 0.8em; margin-bottom: 0;
			&::before {position: absolute; display: block; content: ""; top: 0; left: 0; width: 1em; height: 1em; transform: translateY(calc(0.3em + 0.8em)) scale(0.4); background-color: var(--cmn_list_color); border-radius: 9999px;}
		}
	}
}
/*-- list style --*/

/*----------------------------------------
	header navigation
------------------------------------------*/
:root {
	--cmn_header_h:clamp(34px , 5vw , 46px);
}
@media only screen and (min-width: 835px){
	#global_nav {
		.nav_main {
			.link_top {position: fixed; display: block; top: 0; left: 0; z-index: var(--z_nav); filter: drop-shadow(0 2px 6px rgba(0, 187, 255, 0.20));
				a {display: block; width: calc(var(--cmn_header_h)*3); height: auto; transition: 0.2s;
					img {display: block; width: 100%; height: auto;}
					&:hover {transform: translateY(-2%);}
				}
			}
			.nav_box {position: fixed; width: auto; height: var(--cmn_header_h); z-index: var(--z_nav);
				.link {position: relative; display: block; width: auto; height: auto; font-size: calc(var(--cmn_header_h)*0.32); font-family: var(--f_jakarta); font-weight: 600; line-height: 1em; letter-spacing: 0.15em; white-space: nowrap; transition: 0.2s;
					span {position: relative; display: block;}
					&.disactive {filter: grayscale(1); opacity: 0.5; pointer-events: none;}
				}
				&.left { top: 0; left: calc(var(--cmn_header_h)*3 + var(--cmn_header_h)/6); display: flex; gap: calc(var(--cmn_header_h)/6); filter: drop-shadow(0 2px 6px rgba(0, 187, 255, 0.20));
					.group {position: relative;
						.link {
							&.group_top {position: relative; display: block; width: auto; min-width: calc(var(--cmn_header_h)*2.2); height: 100%; padding: calc(var(--cmn_header_h)*0.25) calc(var(--cmn_header_h)*0.5) calc(var(--cmn_header_h)*0.45);  border-bottom-left-radius: calc(var(--base_border_radius)); border-bottom-right-radius: calc(var(--base_border_radius)); color: var(--c_white_l);
								&::after { position: absolute; display: block; content: ""; bottom: calc(var(--cmn_header_h)*(0.45 - 0.12)/2); left: 0; width: 100%; height: calc(var(--cmn_header_h)*0.12); background: no-repeat center url(../images/svg/icon_dot_arrow_simple_d_w.svg); background-size: contain; transition: 0.2s;}
								&.expo_link {background-color: var(--c_expo_blue);}
								&.fes_link {background-color: var(--c_fes_green);}
								&:hover {
									&::after {transform: translateY(20%);}
								}
							}
							&.group_sub { line-height: 1.5em; margin-right: 0; padding: 0.5em 0; padding-left: 1.5em; color: var(--c_white_l); transition: 0.2s;
								&::before {position: absolute; display: block; content: ""; top: calc(0.4em + 1.5em/2); left: 0; transform: translate(0% , -50%); width: 1em; height: 0.6em; background: no-repeat center url(../images/svg/icon_dot_arrow_fill_r_w.svg); background-size: contain; transition: 0.2s;}
								&:hover { transform: translate(0.2em);
									&::before {transform: translate(20% , -50%);}
								}
							}
						}
						.sub_nav {position: absolute; bottom: 0; left: 0; transform: translateY(calc( 100% - var(--cmn_header_h)/4 )); text-align: left; padding: calc(var(--cmn_header_h)/2);  visibility: hidden; opacity: 0; pointer-events: none; transition: 0.2s;
							&.active {visibility: visible; opacity: 1; pointer-events: initial; transform: translateY(calc( 100% + 0% ));}
							&::before {position: absolute; display: block; content: ""; top: calc(var(--cmn_header_h)*0.1); left: 0; width: 100%; height: calc(100% - var(--cmn_header_h)*0.1); border-radius: 10px; background-color: var(--c_theme_color);}
							&.c_expo {
								&::before {background-color: var(--c_expo_blue);}
							}
							&.c_fes {
								&::before {background-color: var(--c_fes_green);}
							}
						}
					}
				}
				&.right { top: 0; right: calc(var(--cmn_header_h)*0.2); display: flex; align-items: flex-end; filter: drop-shadow(0 2px 6px rgba(60, 226, 96, 0.20));
					.group {position: relative; display: flex; align-items: center; gap: calc(var(--cmn_header_h)/6);
						.link {display: inline-block; background-color: var(--c_white_l); color: var(--c_black_d); border-radius: 9999px; padding: 0.6em 1.6em;
							&:hover {background-color: var(--c_black); color: var(--c_white_l);}
							&.c_gradient_exfe {background: var(--c_gd_expo_fes_02); color: var(--c_white_l);
								&:hover {filter: brightness(1.5);}
							}
						} 
					}
				}
			}
		}
	}
}

@media only screen and (max-width: 835px){
	#sp_header_nav { 
		.link_top {position: fixed; top: 0; left: 0; display: block; z-index: var(--z_sub_nav); filter: drop-shadow(0 2px 6px rgba(0, 187, 255, 0.20));
			a {display: block; width: calc(var(--cmn_header_h)*1.3); height: auto; transition: 0.2s;
				img {display: block; width: 100%;  height: auto; }
			}
		}
		.nav_box {position: fixed; top: 0; left: calc(var(--cmn_header_h)*1.3 + var(--cmn_header_h)*0.1); z-index: var(--z_nav); display: flex; justify-content: space-between; align-items: flex-start; gap: calc(var(--cmn_header_h)*0.1); width: auto; height: calc(var(--cmn_header_h)*1); filter: drop-shadow(0 2px 6px rgba(0, 187, 255, 0.20));
			.link {position: relative; display: flex; justify-content: center; align-items: center; width: auto; min-width: calc(var(--cmn_header_h)*2.2); height: 100%; padding: calc(var(--cmn_header_h)*0.2) calc(var(--cmn_header_h)*0.5); font-size: calc(var(--cmn_header_h)*0.38); font-family: var(--f_jakarta); font-weight: 600; line-height: 1em; letter-spacing: 0.1em; white-space: nowrap; color: var(--c_white_l); border-bottom-left-radius: calc(var(--base_border_radius)); border-bottom-right-radius: calc(var(--base_border_radius));
				span {position: relative; display: block;}
				&.expo_link {background-color: var(--c_expo_blue);}
				&.fes_link {background-color: var(--c_fes_green);}
			}
		}
	}
	#global_nav {--sp_nav_text_size:clamp(13px , 4.2vw , 20px); position: fixed; z-index: var(--z_nav); top: 0; left: 0; width: 100%; height: 100lvh; overflow-y: scroll; overflow-x: hidden; overscroll-behavior: contain;; opacity: 0; visibility: hidden; pointer-events: none; transition: 0.2s; background: var(--c_white_l) repeat center url(../images/webp/bg_texture_dot_grid_g.png); background-size: var(--base_bg_dot_texture_size);
		&::before { position: absolute; display: block; content: ""; top: 0; left: 0; width: 100%; height: 100%; }
		&.active {opacity: 1; visibility: visible; pointer-events: auto;}
		.nav_main {position: relative; display: flex; flex-direction: column-reverse; padding: calc(var(--nav_trigger_size)*1.3) 0 calc(var(--nav_trigger_size)*2); margin: 0 auto; width: 90%; height: auto;
			.nav_box { --link_gap: 6px; position: relative; display: block; width: 100%; height: auto;
				.group {position: relative; display: flex; flex-wrap: wrap; align-items: flex-start; gap: calc(var(--link_gap)*1) var(--link_gap); width: 100%; height: auto; margin-bottom: calc(var(--link_gap)*4);
					.link {position: relative; display: block; width: 100%; height: auto; background-color: var(--c_theme_color); color: var(--c_white_l); font-size: var(--sp_nav_text_size); font-family: var(--f_jakarta); font-weight: 600; line-height: 1.3em; letter-spacing: 0.1em; text-align: left; padding: 0.8em calc(var(--sp_nav_text_size)*1.2); border-radius: var(--base_border_radius); /* box-shadow: 0 2px 10px rgba(81, 81, 243 ,0.6); */ overflow: hidden;
						span {position: relative; display: block; width: 100%; height: auto;}
						.sp_side_icon {position: absolute; top: 0; right: calc(var(--sp_nav_text_size)*1.5); width: calc(var(--sp_nav_text_size)*1.5); height: 100%;
							img {display: block; width: 100%; height: 100%; object-fit: contain;}
						}
						&.sp_link_tops { font-size: calc(var(--sp_nav_text_size)*1.4); padding: 1em calc(var(--sp_nav_text_size)*1.2);}
						&.sp_half {width: calc(50% - var(--link_gap)/2);}
						&.sp_half_large {width: calc(50% - var(--link_gap)/2); padding: 1.7em calc(var(--sp_nav_text_size)*1.2);}
						&.c_gradient_exfe {background: var(--c_gd_expo_fes_02); color: var(--c_white_l);}
						&.c_expo {background-color: var(--c_expo_blue); /* box-shadow: 0 2px 10px rgba(0, 187, 255 ,0.6); */}
						&.c_fes {background-color: var(--c_fes_green); /* box-shadow: 0 2px 10px rgba(56, 215, 90 ,0.6); */}
						&.style_sp_front_top {background: var(--c_gd_darkblue_02);
							&::after { position: absolute; display: block; content: ""; top: 50%; right: 15%; transform: translate(50%, -50%); width: calc(var(--sp_nav_text_size)*0.9); height: calc(var(--sp_nav_text_size)*0.9); background: no-repeat center url(../images/svg/icon_dot_arrow_r_w.svg); background-size: contain; }
						}
						&.style_sp_expo_top , &.style_sp_fes_top {
							&::before { position: absolute; display: block; content: ""; top: 50%; right: 15%; transform: translate(50%, -50%); width: calc(var(--sp_nav_text_size)*13); height: calc(var(--sp_nav_text_size)*13); background: no-repeat center; background-size: contain;}
							&::after { position: absolute; display: block; content: ""; top: 50%; right: 15%; transform: translate(50%, -50%); width: calc(var(--sp_nav_text_size)*0.9); height: calc(var(--sp_nav_text_size)*0.9); background: no-repeat center url(../images/svg/icon_dot_arrow_r_w.svg); background-size: contain; }
						}
						&.style_sp_expo_top {background: var(--c_gd_expo_blue);
							&::before {background-image: url(../images/svg/link_image_expo.svg);}
						}
						&.style_sp_fes_top {background: var(--c_gd_fes_green);
							&::before {background-image: url(../images/svg/link_image_fes.svg);}
						}
						&.disactive {filter: grayscale(1); opacity: 0.4; pointer-events: none;}
					}
					.sub_nav {position: relative; display: flex; flex-wrap: wrap; gap: calc(var(--link_gap)*1) var(--link_gap); width: 100%; height: auto;}
				}
			}
		}
	}
}

/* nav trigger
-------------------------------*/
:root {--nav_trigger_size: clamp(50px , 10vw , 90px);}
.nav_trigger_outer {display: none; position: fixed;  top: calc(var(--nav_trigger_size)*0.05 + var(--cmn_over_frame_size)); right: calc(var(--nav_trigger_size)*0.06); width: var(--nav_trigger_size); height:  var(--nav_trigger_size); cursor: pointer; z-index: var(--z_nav_trigger); border-radius: var(--base_border_radius); background: var(--c_gd_expo_fes_02);
	&::before { position: absolute; display: block; content: ""; top: 1px; left: 1px; width: calc(100% - 2px); height: calc(100% - 2px); background-color: var(--c_black_d); border-radius: calc(var(--base_border_radius) - 0px);}
	.nav_trigger_bar { position: absolute; width: 60%; height: 30%; top: 50%; left: 50%; transform: translate(-50% , -50%); display: block; transition: 0.6s;
		span {position: absolute; display: block; left: 50%; transform: translate(-50% , -50%) rotateZ(0deg); width: 100%; height: 1px;  display: block; transition: 0.2s;  background: var(--c_gd_expo_fes_02);
			&:nth-last-of-type(1) {top: calc(50% - 50%); width: 100%;}
			&:nth-last-of-type(2) {top: calc(50% - 0%); width: 100%;}
			&:nth-last-of-type(3) {top: calc(50% + 50%); width: 100%;}
		}
	}
	&.type_text {
		.nav_trigger_bar { height: 35%;
			span {
				&:nth-last-of-type(1) {top: calc(50% - 50%);}
				&:nth-last-of-type(2) {top: calc(50% - 10%);}
				&:nth-last-of-type(3) {top: calc(50% + 50%); height: 50%; background: no-repeat bottom center url(../images/svg/hbg_menu_text.svg); background-size: contain;}
			}
		}
	}
	&.active {
		.nav_trigger_bar {
			span {
				&:nth-last-of-type(1) {transform: translate(-50% , -50%) rotateZ(-135deg); top: calc(50% - 0%);}
				&:nth-last-of-type(2) {transform: translate(-50% , -50%) rotateZ(135deg); top: calc(50% - 0%);}
				&:nth-last-of-type(3) { opacity: 0; }
			}
		}
	}
}
@media only screen and (max-width: 835px){
	.nav_trigger_outer {display: block;}
}

/*-- fixed lang change --*/
#fixed_lang_change {position: fixed; top: calc(var(--cmn_header_h)*1.2); right: calc(var(--cmn_header_h)*0.2); z-index: var(--z_nav_trigger); width: calc(var(--cmn_header_h)*1); height: calc(var(--cmn_header_h)*1);
	img {position: relative; display: block; width: 100%; height: 100%; object-fit: contain;}
	&::after {position: absolute; display: block; content: ""; top: 0; left: 0; width: 100%; height: 100%; background: no-repeat center url(../images/webp/lang_change_arrow_circle.webp); background-size: contain; transform: scale(0.88); transition: 0.2s;}
	&:hover {
		&::after {transform: scale(0.9) rotateZ(180deg);}
	}
}
@media only screen and (max-width: 835px){
	#fixed_lang_change { top: calc(var(--nav_trigger_size)*1.15 + var(--cmn_over_frame_size)); right: calc(var(--nav_trigger_size)*0.06); width: calc(var(--nav_trigger_size)*1); height: calc(var(--nav_trigger_size)*1); transition-property: top, right; transition-duration: 0.1s, 0.1s;
		&.active {top: calc(var(--nav_trigger_size)*0.05 + var(--cmn_over_frame_size)); right: calc(var(--nav_trigger_size)*1.15); transition-delay: 0.1s, 0s;}
		&:not(.active) {transition-delay: 0s, 0.1s;}
	}
}


/*-- fixed ticket link --*/
:root{--fixed_ticket_link_size:clamp(100px , 12vw , 200px);}
#fixed_ticket_link { position: fixed; z-index: calc(var(--z_nav) - 1); bottom: 0; right: 0; width: var(--fixed_ticket_link_size); height: var(--fixed_ticket_link_size); transform: translate(10% , 10%); transition: 0.2s; cursor: pointer;
	.bg {position: absolute; display: block; content: ""; top: 0; left: 0; width: 100%; height: 100%;
		span {position: absolute; display: block; content: ""; top: 0; left: 0; width: 100%; height: 100%;
			&::before { position: absolute; display: block; content: ""; top: 0; left: 0; width: 100%; height: 100%;   }
			&:nth-of-type(1) { transform: scale(1) translate(2% , 2%);
				&::before {background: no-repeat bottom right url(../images/svg/fixed_ticket_link_bg_gd.svg); background-size: contain; animation: rotation 10s linear infinite;}
			}
			&:nth-of-type(2) {
				&::before {background: no-repeat center url(../images/webp/fixed_ticket_link_bg_texture.webp); background-size: contain; animation: rotation 60s linear infinite;}
			}
		}
	}
	.text {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 64%; height: 64%;
		img {display: block; width: 100%; height: 100%; object-fit: contain;}
	}
	&:hover { transform: translate(8% , 8%);}
}

@media only screen and (max-width: 835px) {
	#fixed_ticket_link {
		&.sp_fv_scroll_hide {opacity: 0; pointer-events: none; transform: translate(15% , 15%);
			&.fv_scroll_show {opacity: 1; pointer-events: initial; transform: translate(10% , 10%);}
		}
	}
}


/*----------------------------------------
	footer
------------------------------------------*/
footer{position: relative; padding: calc(var(--base_distance)*1.5) 0 calc(var(--base_distance)*1.5); text-align: center;
	.links_outer {margin-bottom: calc(var(--base_gap)*3);}
	.links_rack {margin-bottom: calc(var(--base_gap)*2);}
	.link_flex { --link_bnr_size:min(150px , 30%); display: flex; width: 100%; margin: 0 auto; justify-content: center; align-items: center; margin-bottom: calc(var(--base_gap)*0.5); flex-wrap: wrap; gap: calc(var(--base_gap)*0.5) calc(var(--base_gap)*0.5);
		a { display: block; width: var(--link_bnr_size); height: auto; margin: 0; background-color: var(--c_white_l); border-radius: var(--base_border_radius_s); overflow: hidden; transition: 0.2s;
			img {width: 100%; height: auto;}
			&:hover {transform: translateY(-2px); filter: drop-shadow(0 2px 2px rgba(0,0,0,0.2));}
		}
		&.large {
			a {width: calc(var(--link_bnr_size)*1.2); }
		}
		&.small {
			a {width: calc(var(--link_bnr_size)*0.9); }
		}
		&.margin_b_0 {margin-bottom: 0;}
	}
	.sns_flex { display: flex; justify-content: center; margin-bottom: 2em; gap: 10px;
		a{ display: block; width: 40px; transition: 0.2s;
			&:last-of-type {margin-right: 0;}
			&:hover {transform: translateY(-3px);}
			img {width: 100%; height: auto;}
		}
	}
	.copywrite {display: inline-block; color: var(--c_white_l); font-size: 12px; margin-bottom: 0; letter-spacing: 0.1em;}
}



@media only screen and (max-width: 835px){
	footer{
		.links_outer {margin-bottom: calc(var(--base_gap)*4);}
		.links_rack {margin-bottom: calc(var(--base_gap)*3);}
	}
}

/* SHARE */
.share { width: min(1000px , 100%); margin: 0 auto calc(var(--base_gap)*3);
	.share_box {
		.title { font-size: clamp(24px , 2vw , 24px); letter-spacing: 0.1em; line-height: 1.0em; margin-bottom: calc(var(--base_gap)*1); color: var(--c_white_l); font-weight: 700;
			img {display: inline-block; width: min(200px , 50%); height: auto;}
		}
		.tweet_btn {position: relative; display: block; width: 90%; max-width: 380px; margin: 0 auto; margin-bottom: calc(var(--base_gap)*1); transition: 0.2s;
			&:hover {transform: translateY(-3px);}
			img {width: 100%; height: auto; }
		}
		.sns_flex { display: flex; justify-content: center; gap: calc(var(--base_gap)*1);
			a{ display: block; width: 50px; transition: 0.2s;
				&:last-of-type {margin-right: 0;}
				&:hover {transform: translateY(-3px);}
				img {width: 100%; height: auto;}
			}
		}
	}
}
@media only screen and (max-width: 835px){
	.share {margin-bottom: calc(var(--base_distance)/2);
		.share_box {
			&:last-of-type{margin-bottom: 0;}
			.title {margin-bottom: 0.8em;}
			.tweet_btn {}
			.sns_flex {
				a{width: 50px;
				}
			}
		}
	}
}

/*----------------------------------------
	bg
------------------------------------------*/
#cmn_bg { position: fixed; top: 0; left: 0; display: block; width: 100%; height: 100lvh; z-index: -1; pointer-events: none; overflow: hidden;
	.bg_layer_base {position: absolute; top: 0; left: 0; width: 100%; height: 100%;}
	#bg_canvas {aspect-ratio: initial;}
	.bg_3d_objects {animation: bg_3d_objects_anim 5s infinite; animation-timing-function: var(--easeInOutCirc);
		img {display: block; width: 100%; height: 100%; object-fit: cover;}
	}
	.bg_over_white {background-color: var(--c_white_l); opacity: 0.3;}
	.bg_dot_texture {background: repeat center url(../images/webp/video_overlay_dots_01_w.png); background-size: var(--base_video_overlay_dots_size);}
}
@keyframes bg_3d_objects_anim { 
	0% { transform: scale(1.2); }
	50% { transform: scale(1.1);}
	100% {  transform: scale(1.2); } 
}

/*----------------------------------------
	over frame
------------------------------------------*/
:root {--cmn_over_frame_size: 4px;}
#cmn_over_frame {position: relative; z-index: var(--z_frame);
	span {position: fixed; left: 0; width: 100%; height: var(--cmn_over_frame_size); background: var(--c_gd_expo_fes);
		&:nth-of-type(1) {top: 0;}
		&:nth-of-type(2) {bottom: 0;}
	}
	&.c_expo span {background: var(--c_gd_expo_blue);}
	&.c_fes span {background: var(--c_gd_fes_green);}
}

/*----------------------------------------
	step delay
------------------------------------------*/
.cmn_step_delay_box {
	li,div,p,span  {
		&:nth-of-type(1) {--step_delay: 0;}
		&:nth-of-type(2) {--step_delay: 1;}
		&:nth-of-type(3) {--step_delay: 2;}
		&:nth-of-type(4) {--step_delay: 3;}
		&:nth-of-type(5) {--step_delay: 4;}
		&:nth-of-type(6) {--step_delay: 5;}
		&:nth-of-type(7) {--step_delay: 6;}
		&:nth-of-type(8) {--step_delay: 7;}
		&:nth-of-type(9) {--step_delay: 8;}
		&:nth-of-type(10) {--step_delay: 9;}
		&:nth-of-type(11) {--step_delay: 10;}
		&:nth-of-type(12) {--step_delay: 11;}
		&:nth-of-type(13) {--step_delay: 12;}
		&:nth-of-type(14) {--step_delay: 13;}
		&:nth-of-type(15) {--step_delay: 14;}
		&:nth-of-type(16) {--step_delay: 15;}
		&:nth-of-type(17) {--step_delay: 16;}
		&:nth-of-type(18) {--step_delay: 17;}
		&:nth-of-type(19) {--step_delay: 18;}
		&:nth-of-type(20) {--step_delay: 19;}
		&:nth-of-type(21) {--step_delay: 20;}
		&:nth-of-type(22) {--step_delay: 21;}
		&:nth-of-type(23) {--step_delay: 22;}
		&:nth-of-type(24) {--step_delay: 23;}
		&:nth-of-type(25) {--step_delay: 24;}
		&:nth-of-type(26) {--step_delay: 25;}
		&:nth-of-type(27) {--step_delay: 26;}
		&:nth-of-type(28) {--step_delay: 27;}
		&:nth-of-type(29) {--step_delay: 28;}
		&:nth-of-type(30) {--step_delay: 29;}
	}
}


/*----------------------------------------
	modal
------------------------------------------*/
.cmn_modal_layer{--modal_btn_size: clamp(50px , 5vw , 70px); position: fixed; top: 0px; left: 0; right: 0; bottom: 0; width: 100%; height: calc(100%); z-index: var(--z_modal); opacity: 0; visibility: hidden; pointer-events: none;
	.modal_bg {position: fixed; top: 0px; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; opacity: 0; transition: 0.6s;
		&::before { position: absolute; display: block; content: ""; top: 0; left: 0; width: 100%; height: 100%; background-color: var(--c_black_d); opacity: 0.6; }
	}
	.modal_inner { position: absolute; width: auto; height: auto; top:50%; left: 50%; transform: translateX(-50%) translateY(-50%); text-align: left; opacity: 0; transition: 0.6s;
		img {width: auto; height: auto; max-width: min(1400px, 94vw); max-height: 75vh; cursor: initial;
			&.img_mono_modal_content {width: auto!important; height: auto!important; cursor: initial!important;}
		}
		.modal_youtube_video_box {width: min(1200px, 94vw); padding-top: min( 90vh , calc(100% * 1080 / 1920) );
			iframe {position: absolute; top: 0; left: 0; width: 100%; height: 100%;}
			img {position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: contain;}
		}
		.modal_textbox {width: min(1000px, 94vw); height: calc(75vh); background-color: var(--c_white_l); color: var(--c_black_d); padding: clamp(12px , 4vw , 50px); text-align: left; overflow: hidden; font-size: clamp(13px , 2vw , 16px);
			&.scrollable {overflow-x: hidden; overflow-y: scroll; overscroll-behavior: contain;}
		}
	}	
	.modal_close_btn {position: absolute; top: 4px; right: 4px; width: var(--modal_btn_size); height: var(--modal_btn_size); background: no-repeat center url("../images/svg/icon_dot_cross_w.svg"); background-size: 60% auto; cursor: pointer;}
	&.visible { opacity: 1; visibility: visible; pointer-events: auto;
		.modal_bg { opacity: 1; }
		.modal_inner { opacity: 1;}
	}
}
.cmn_slide_modal_layer {
	.modal_inner.slide_modal_content_box {
		.slide_modal_content {position: absolute; width: auto; height: auto; top:50%; left: 50%; transform: translateX(-50%) translateY(-50%); opacity: 0; visibility: hidden; transition: 0.2s; pointer-events: none;
			&.slide_visible {opacity: 1; visibility: visible; pointer-events: initial;}
		}
	}
	.modal_prev_btn , .modal_next_btn {position: absolute; top: 50%; transform: translateY(-50%); height: min(270px , 25vh); width: min(80px , 10vw); background-color: var(--c_black); cursor: pointer; transition: 0.2s; -webkit-tap-highlight-color:rgba(0,0,0,0);
		&::before { position: absolute; display: block; content: ""; top: 50%; left: 50%; transform: translate(-50% , -50%); width: 40%; height: 100%; background: no-repeat center url(../images/template_parts/icon_arrow_slidemodal_02.svg); background-size: contain; }
		&.disactive {opacity: 0.2; pointer-events: none;}
		&:focus {outline: none;}
	}
	.modal_prev_btn {left: 0; border-top-right-radius: 10px; border-bottom-right-radius: 10px;
		&::before {transform: translate(-50% , -50%) scale(-1,1);}
		&:hover {transform: translateY(-50%) translateX(-4px);}
	}
	.modal_next_btn {right: 0; border-top-left-radius: 10px; border-bottom-left-radius: 10px;
		&:hover {transform: translateY(-50%) translateX(4px);}
	}
}
@media only screen and (max-width: 835px){
	.slide_modal {
		.modal_prev_btn , .modal_next_btn { width: 12%; height: 20vh; background-size: 30% auto;}
		.modal_prev_btn {left: 0;}
		.modal_next_btn {right: 0;}
	}
}
.cmn_img_mono_modal_trigger {cursor: pointer;}

/*----------------------------------------
	schedule_grid
------------------------------------------*/
.cmn_schedule_grid {
	--schedule_main_bg_color:rgba(0,0,0,0);
	--day_time_color:#252525;
	--grid_h_color:#191919;
	--saturday_color:#00B5EE;
	--sunday_color:#E5007F;
	--closed_day_color:#191919;
	--font_color:#191919;
	--border_color:#191919;
	--font-size:clamp(12px , 4.0vw , 18px);
	--grid_h_width: calc(var(--font-size) * 5);
	--grid_h_height: calc(var(--font-size) * 4);
	--grid_box_width: calc( (var(--schedule_grid_width) - var(--grid_h_width)) / var(--sc_day_num));
	--grid_box_height: calc(var(--font-size) * 3);
}
.cmn_schedule_grid { position: relative; display: grid; width: var(--schedule_grid_width); margin: 0 auto; grid-template-columns: var(--grid_h_width) repeat(var(--sc_day_num) , calc( (var(--schedule_grid_width) - var(--grid_h_width) ) / var(--sc_day_num))); grid-template-rows: var(--grid_h_height) repeat(var(--sc_time_num) , var(--grid_box_height)); background-color: var(--schedule_main_bg_color); overflow: hidden; grid-auto-flow: column; font-size: var(--font-size);
	p {position: relative; display: block; margin-bottom: 0; display: flex; justify-content: center; align-items: center; flex-direction: column; font-weight: bold; color: var(--font_color); line-height: 1.2em;
		&.grid_h {color: var(--grid_h_color); border-bottom: 1px solid var(--border_color); border-right: 1px solid var(--border_color); }
		&.day { color: var(--day_time_color); border-bottom: 1px solid var(--border_color);
			span {font-size: 0.7em;}
			&::before { position: absolute; display: block; content: ""; height: calc(var(--grid_box_height) * var(--sc_time_num) - 0.5em); width: 0px; top: initial; right: initial; left: 50%; bottom: 0; transform: translateX(0%) translateY(calc(100% + 0.5em)); border-top: initial; border-right: 1px dashed var(--border_color); }
		}
		&.time { color: var(--day_time_color); border-right: 1px solid var(--border_color);
			&::before { position: absolute; display: block; content: ""; height: 0px; width: calc(var(--grid_box_width) * var(--sc_day_num) - 0.5em); top: 50%; right: 0; transform: translateX(calc(100% + 0.5em)) translateY(-50%); border-top: 1px dashed var(--border_color); opacity: 0.7; }
		}
		&.sat {color: var(--saturday_color);}
		&.sun {color: var(--sunday_color);}
		&.closed {
			&::after {position: absolute; display: block; content: ""; left: 50%; bottom: calc(var(--grid_box_height)* var(--sc_time_num)* 0.5 * -1); color: var(--closed_day_color); width: 1.6em; height: calc(var(--grid_box_height) * var(--sc_time_num) * 0.6); min-height: 4.7em; transform: translate(-50% , 50%); opacity: 1; z-index: 1; content: "休 演 日"; writing-mode: vertical-rl; display: grid; place-items: center; background-color: var(--c_bg_color); border: 1px solid var(--border_color); border-radius: 9999px; font-size: 0.9em;}
		}
	}
}
@media only screen and (max-width: 835px){
	.cmn_schedule_grid {
		--grid_h_width: calc(var(--font-size) * 5);
		--grid_h_height: calc(var(--font-size) * 4);
		--grid_box_width: calc( (var(--schedule_grid_width) - var(--grid_h_width)) / var(--sc_time_num));
		--grid_box_height: calc(var(--font-size) * 3);
	}
	.cmn_schedule_grid {grid-auto-flow: row; grid-template-columns: var(--grid_h_width) repeat(var(--sc_time_num) , calc((var(--schedule_grid_width) - var(--grid_h_width)) / var(--sc_time_num))); grid-template-rows: var(--grid_h_height) repeat(var(--sc_day_num) , var(--grid_box_height)); 
		p {
			&.day { border-bottom: none; border-right: 1px solid var(--border_color);
				&::before { position: absolute; display: block; content: ""; height: 0px; width: calc(var(--grid_box_width) * var(--sc_time_num) - 0.5em); left: initial; bottom: initial; top: 50%; right: 0; transform: translateX(calc(100% + 0.5em)) translateY(-50%); border-top: 1px dashed var(--border_color); opacity: 0.7; }
			}
			&.time { border-bottom: 1px solid var(--border_color); border-right: none;
				&::before { position: absolute; display: block; content: ""; height: calc(var(--grid_box_height) * var(--sc_day_num) - 0.5em); width: 0px; top: initial; right: initial; left: 50%; bottom: 0; transform: translateX(0%) translateY(calc(100% + 0.5em)); border-top: initial; border-right: 1px dashed var(--border_color); }
			}
			&.closed {
				&::after { writing-mode: initial; height: 1.8em; min-height: initial; width: calc(var(--grid_box_width) * var(--sc_time_num) * 0.5); top: 50%; bottom: initial; left: initial; right: calc(var(--grid_box_width)* var(--sc_time_num)* 0.5 * -1); transform: translate(50% , -50%);}
			}
		}
	}
}

/*----------------------------------------
	404
------------------------------------------*/
#error_404 { padding: calc(var(--base_distance)*2) 0;
	p {color: var(--c_theme_color);}
	.title {font-size: 26px; line-height: 1em; margin-bottom: 1em;}
	.text {margin-bottom: 3em;}
	.link_flex {display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin: 0 auto;}
	.error_toplink {position: relative; display: block; width: min(230px, 70%); height: 60px; display: grid; place-items:center; background-color: var(--c_link_color); color: var(--c_white); font-weight: bold; font-size: min(18px,4vw); white-space: nowrap; letter-spacing: 0.05em; margin: 0 auto; transition: 0.2s; border-radius: 5px;
		&:hover {transform: translateY(-2px);}
	}	
}