/*----------------------------------------
	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;
}
main {position: relative; overflow: clip;}
a { color: var(--c_link_color); }
img {max-width: 100%; height: auto;}
:root {color-scheme: only light;}
@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: space-between;
	&.jst_center {justify-content: center; }
	&.ali_center {align-items: center; }
}
.mod_flex_box_01 { div , li {width: 100%;} }
.mod_flex_box_02 { div , li {width: calc((100% - var(--base_gap)*1)/2);} }
.mod_flex_box_03 { div , li {width: calc((100% - var(--base_gap)*2)/3);} }
.mod_flex_box_04 { div , li {width: calc((100% - var(--base_gap)*3)/4);} }
@media only screen and (max-width: 835px){
	.mod_flex_box_01 { div , li {width: 100%;} }
	.mod_flex_box_02 { div , li {width: 100%;} }
	.mod_flex_box_03 { div , li {width: calc((100% - var(--base_gap)*1)/2);} }
	.mod_flex_box_04 { div , li {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_white_l);z-index: var(--z_loading);
	&.is_loaded {display: none;}
	&.load_open { animation: fade_out 1.2s forwards; pointer-events: none;}
	.corners {
		span {position: absolute; display: block; width: min(50px , 8vw); height: min(50px , 8vw); 
			&:nth-of-type(1) {top: 0; left: 0; background: no-repeat top left url(../images/parts/parts_corner_curve_tl_orange.svg); background-size: contain;}
			&:nth-of-type(2) {top: 0; right: 0; background: no-repeat top right url(../images/parts/parts_corner_curve_tr_blue.svg); background-size: contain;}
			&:nth-of-type(3) {bottom: 0; right: 0; background: no-repeat bottom right url(../images/parts/parts_corner_curve_br_green.svg); background-size: contain;}
			&:nth-of-type(4) {bottom: 0; left: 0; background: no-repeat bottom left url(../images/parts/parts_corner_curve_bl_yellow.svg); background-size: contain;}
		}
	}
	.logo {position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: min(500px , 70vw); height: auto;
		video {display: block; width: 100%; height: auto; }
	}
}

/*----------------------------------------
	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_0 {padding: 0;}
}
.cmn_in_page_main {position: relative; display: block; width: 100%; height: auto; margin: 0 auto; padding: 0 0 calc(var(--base_distance)*1); background-color: var(--c_gray_ll);
	&::before { position: absolute; display: block; content: ""; top: 0; left: 0; width: 100%; height: 100%; background: url(../images/parts/bg_repeat_grid_plus_white.png) repeat; background-size: var(--bg_repeat_grid_plus_size); opacity: 1;}
}

.cmn_bg_layer {position: absolute; top: 0; left: 0; width: 100%; height: 100%;}
.cmn_main_layer {position: relative;}

.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;}
}

:root {--cmn_h_text_line_height: min(150px , 10vw);}
.cmn_h_title_line {position: relative; display: block; width: 100%; height: auto; background-color: var(--c_logo_orange); padding: calc(var(--cmn_h_text_line_height)*0.2) 0; border-top: 1px solid var(--c_logo_gray); border-bottom: 1px solid var(--c_logo_gray);
    .title_text_line {position: relative; display: block; width: 100%; height: var(--cmn_h_text_line_height); background-image: url(../images/parts/h_textline_mekpark_units.svg); background-size: auto 100%; background-repeat: repeat-x; margin-bottom: calc(var(--cmn_h_text_line_height)*0.15);
        span {position: absolute; font-size: 0.1px; opacity: 0.01;}
    }
	.cmn_text_line_anim {background-image: url(../images/parts/parts_textline_mekpark_white.png);}
}
@media only screen and (max-width: 835px){
	:root {--cmn_h_text_line_height: min(150px , 15vw);}
}

.cmn_h_title_outer {position: relative; display: block; width: 100%; height: auto; text-align: left; margin-bottom: calc(var(--base_gap)*1);}
.cmn_h_title {position: relative; color: var(--c_white_l); font-weight: 600; font-size: min(90px , 10vw); line-height: 1.4em; letter-spacing: 0.05em;}

.cmn_in_page_head {position: relative; display: block; width: 100%; height: auto; margin: 0 auto; padding: calc(var(--cmn_header_logo_width)/3 + var(--base_gap)*1.5) 0 calc(var(--base_gap)*1.5); background-color: var(--c_logo_gray); color: var(--c_white_l); text-align: center; margin-bottom: calc(var(--base_distance)*1);
	.page_title {display: block; font-size: min(50px , 8vw); line-height: 1.4em; letter-spacing: 0.15em; font-weight: 600;}
	.page_title_sub {display: block; margin-bottom: 0; font-size: min(15px, 3vw); line-height: 1.4em; letter-spacing: 0.15em; font-weight: 600;}
	.bottom_parts {position: absolute; display: block; bottom: 1px; left: 50%; transform: translate(-50% , 100%); width: 75%; height: calc(var(--base_gap)*1); background-color: var(--c_logo_gray);
		&::before , &::after { position: absolute; display: block; content: ""; top: 0; width: 100%; height: 100%; background: no-repeat; background-size: contain;}
		&::before {left: 2px; background-image: url(../images/parts/parts_in_page_head_bottom_l.svg); background-position: top right; transform: translateX(-100%);}
		&::after {right: 2px; background-image: url(../images/parts/parts_in_page_head_bottom_r.svg); background-position: top left; transform: translateX(100%);}
	}
	&.mb_0 {margin-bottom: calc(var(--base_gap)*1);}
}

:root {--cmn_text_line_height: clamp(26px, 3.5vw, 40px);}
.cmn_text_line {position: relative; display: flex; align-items: center; width: 100%; height: var(--cmn_text_line_height); background-color: var(--c_white_l); border-top: 1px solid var(--c_logo_gray); border-bottom: 1px solid var(--c_logo_gray);}
.cmn_text_line_anim {position: relative; display: block; width: 100%; height: calc(var(--cmn_text_line_height)*0.3); background-image: url(../images/parts/parts_textline_mekpark.png); background-size: auto 100%; background-repeat: repeat-x; transform: translateY(10%);}

.cmn_section_border_skew {position: absolute; top: 0; left: 0; width: 100%; height: auto; transform: translateY(calc(-100% + 1px)); overflow: hidden; padding-left: 30%;
	.skew_parts {position: relative; display: block; width: 100%; height: calc(var(--base_distance)*1); margin: 0 auto; background: no-repeat bottom left url(../images/parts/parts_section_border_type_skew_green.svg); background-size: contain;
		&::before { position: absolute; display: block; content: ""; top: 0; left: 0; width: 100vw; height: 100%; background-color: var(--c_logo_green); transform: translateX(calc(-100% + 1px));}
	}
}

#youtube_video_pop {--youtube_video_pop_width: min(290px , 43vw); position: fixed; left: 0; bottom: 2%; z-index: calc(var(--z_frame) + 1); display: flex; flex-direction: column; gap: calc(var(--youtube_video_pop_width)*0.02); width: var(--youtube_video_pop_width); height: auto; padding: calc(var(--youtube_video_pop_width)*0.03); background-color: var(--c_white_l); border: 1px solid var(--c_logo_gray); border-top-right-radius: calc(var(--base_border_radius)*0.7); border-bottom-right-radius: calc(var(--base_border_radius)*0.7); border-left: none; transition: 0.6s var(--easeOutCirc); transform: translateX(-100%);
	.youtube_frame {position: relative; display: block; width: 100%; height: auto; padding-top: calc(100% * 9 / 16); border-radius: calc(var(--base_border_radius)*0.5); overflow: hidden;
		iframe {position: absolute; top: 0; left: 0; width: 100%; height: 100%; transform: scale(1.02); pointer-events: none;}
	}
	.cmn_link_btn_a {font-size: clamp(9px, 1.8vw, 16px); white-space: nowrap;}
	.pop_text {position: absolute; top: calc(var(--youtube_video_pop_width)*0.02); left: calc(var(--youtube_video_pop_width)*0.03); transform: translate(0% , -100%); display: block; width: auto; height: auto; background-color: var(--c_youtube_red); color: var(--c_white_l); border: 1px solid var(--c_logo_gray); border-radius: calc(var(--base_border_radius)*0.25); font-size: min(13px , 2.5vw); line-height: 1.4em; padding: 0.2em 1em 0.15em; letter-spacing: 0.1em; font-weight: 600; white-space: nowrap;}
	&.fv_scrolled {transform: translateX(0%);
		&.page_bottom_scrolled {transform: translateX(-100%);}
	}
}
@media only screen and (max-width: 835px){
	#youtube_video_pop {
		.youtube_frame {
			iframe {pointer-events: none;}
		}
	}
}

/*----- cmn link btn -----*/
.cmn_link_btn_outer {position: relative; display: block; text-align: center; width: 80vw; max-width: var(--base_wrap_width); height: auto; margin: 0 auto;}
.cmn_link_btn_a {position: relative; display: inline-flex; justify-content: center; align-items: center; margin: 0 auto; padding: 0.2em 1.5em; height: auto; min-height: 2.5em; width: auto; min-width: min(340px , 100%); background-color: var(--c_white); line-height: 1.4em; color: var(--c_link_color); font-size: clamp( 15px , 3.4vw , 19px ); text-decoration: initial!important; transition: 0.2s; font-weight: 800; border-radius: 9999px; letter-spacing: 0.1em;
	img {position: relative; height: 2.2em; width: auto; transition: 0.2s;}
	span {position: relative;}
	&.f_weight_thin {font-weight: 600;}
	&::before {}
	&:hover {color: var(--c_white); background-color: var(--c_link_color);}
	&.c_ol_white {background-color: transparent; color: var(--c_white_l); border: 1px solid var(--c_white_l); font-weight: 600;
		&:hover {background-color: var(--c_white_l); color: var(--c_logo_gray);}
	}
	&.c_ol_logo_gray {background-color: transparent; color: var(--c_logo_gray); border: 1px solid var(--c_logo_gray); font-weight: 600;
		&:hover {background-color: var(--c_logo_gray); color: var(--c_white_l);}
	}
	&.c_youtube {color: var(--c_youtube_red); letter-spacing: 0;
		&:hover {background-color: var(--c_black_d);}
	}
	&.c_youtube_alt {color: var(--c_youtube_red); background-color: var(--c_black); letter-spacing: 0;
		&:hover {background-color: var(--c_black_d);}
	}
	&.c_x {color: var(--c_black_d);
		&:hover { color: var(--c_white_l); background-color: var(--c_black_d);
			img {filter: invert(1);}
		}
	}
	&.w_100 {width: 100%;}
	&.disactive {pointer-events: none; filter: grayscale(1); opacity: 0.5;}
}
/*----- 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 1em 0.15em; white-space: nowrap;
    &.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_border_theme {border: 1px solid var(--c_theme_color); color: var(--c_theme_color); background-color: initial;}
	&.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_border_theme {background-color: var(--c_theme_color); color: var(--c_white_l);}
		}
	}
}
.cmn_date_tag_box {position: relative; display: flex; 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 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; font-family: var(--f_jakarta); gap: 0.2em;
		a , span {position: relative; display: flex; justify-content: center; align-items: center; color: var(--c_white_l); width: 2.5em; height: 2.5em; transition: 0.2s;
			&:not(.prev , .next) {
				&::before { position: absolute; display: block; content: ""; bottom: 0; left: 50%; width: 40%; height: 1px; background-color: var(--c_white_l); transform: translateX(-50%); opacity: 0;}
			}
			&.prev , &.next { border: 1px solid var(--c_white_l); border-radius: var(--base_border_radius);
				&::after { position: absolute; display: block; content: ""; top: 50%; left: 50%; width: 30%; height: 30%; background: no-repeat center url(../images/template_parts/icon_arrow_r.svg); background-size: contain;}
			}
			&.prev { margin-right: 2em;
				&::after { transform: translate(-50% , -50%) rotate(180deg); }
			}
			&.next { margin-left: 2em;
				&::after { transform: translate(-50% , -50%); }
			}
			&.current , &:hover { opacity: 0.3;
				&:not(.prev , .next) {
					&::before {opacity: 1;}
				}
			}
		}
	}
}
/*----- cmn pagination -----*/

/* 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)*3) calc(var(--base_gap)*3); margin-bottom: calc(var(--base_gap)*2); background-color: var(--c_white); 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_title {position: relative; display: block; text-align: left; padding-bottom: calc(var(--base_gap)*1.5); margin-bottom: 2.4em; 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;}
}
.cmn_write_box {position: relative; text-align: left; font-size: clamp(13px , 2vw , 15px); font-weight: 400; line-height: 1.7em;  width: 100%; font-weight: 500;
	.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: 700; font-size: 1.05em;}
	&.type_single h2 , &.type_content h3 {position: relative; display: block; padding-bottom: 0.6em; padding-left: 1.1em; font-size: 1.2em; font-weight: 700; margin-bottom: 1.2em; 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.3em; width: 0.7em; height: 0.7em; background: no-repeat center url(../images/parts/icon_logo_star_logo_gray.svg); background-size: contain;}
		&:first-child {margin-top: 0.5em;}
		&.c_orange::before {background-image: url(../images/parts/icon_logo_star_orange.svg);}
		&.c_green::before {background-image: url(../images/parts/icon_logo_star_green.svg);}
		&.c_blue::before {background-image: url(../images/parts/icon_logo_star_blue.svg);}
	}
	&.type_single h3 , &.type_content 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.2em; border: 1px solid var(--cmn_write_box_theme_color); color: var(--cmn_write_box_font_color); border-radius: 0.2em;
		&:first-child {margin-top: 0;}
		&.mt_0 {margin-top: 0;}
		&.c_orange {border-color: var(--c_logo_orange_v); color: var(--c_logo_orange_v);}
		&.c_green {border-color: var(--c_logo_green_v); color: var(--c_logo_green_v);}
		&.c_blue {border-color: var(--c_logo_blue); color: var(--c_logo_blue);}
	}
	&.type_single h4 , &.type_content 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;}
	}
	&.type_in_about { font-size: clamp(14px , 2vw , 17px); letter-spacing: 0.05em;
		p {line-height: 2.1em;}
		h4 {margin-top: 0.5em; margin-bottom: 0.4em;}
	}
}

/*-- 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;}
		}
	}
}
ul {
	&.cmn_qa_list { 
		li {margin-bottom: 2.5em; padding-left: 1.9em; 
			&::before {display: none;}
			p {position: relative; margin-bottom: 0.5em;
				&::before { position: absolute; display: block; content: ""; color: var(--c_logo_gray); top: 0; left: -1.5em; font-weight: 700; font-size: 1.3em;}
				&.question {font-weight: 700;
					&::before {content: "Q.";}
				}
				&.answer {
					&::before {content: "A.";}
				}
			}
		}
	}
}
/*-- list style --*/

/*----------------------------------------
	header
------------------------------------------*/
:root {--cmn_header_logo_width:min(300px,  32vw);}
header{
	.header_logo {position: fixed; top: 0; left: 0; width: var(--cmn_header_logo_width); height: auto; aspect-ratio: 3 / 1; z-index: var(--z_header_logo); transition: 0.2s; display: flex; justify-content: center; align-items: center; background-color: var(--c_white_l); border-right: 1px solid var(--c_logo_gray); border-bottom: 1px solid var(--c_logo_gray); border-bottom-right-radius: calc(var(--base_border_radius)*1);
		img {display: block; width: 75%; height: 100%; object-fit: contain;}
		&:hover {transform: translateX(-1%);}
	}
}
@media only screen and (max-width: 835px){
	header{
		.header_logo {}
	}
}

/*----------------------------------------
	navigation
------------------------------------------*/
:root {--header_height: min(44px , 10vh);}
@media only screen and (min-width: 835px){
	#global_nav {position: fixed; z-index: var(--z_nav); top: 0; left: 0; display: flex; justify-content: flex-end; align-items: center; width: 100%; height: var(--header_height); padding: 0 calc(var(--cmn_over_frame_size) *2);
		&::before { position: absolute; display: block; content: ""; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(255,255,255,0.1); pointer-events: none; transition: 0.2s; visibility: hidden; pointer-events: none;}
		.nav_links {--nav_font_size : min(16px , 1.3vw); display: flex; justify-content: flex-end; align-items: center; font-size: var(--nav_font_size); gap: 0.5em; line-height: 1.2em;
			li {display: block;
				.nav_link {position: relative; display: block; line-height: 1.5em; letter-spacing: 0em; white-space: nowrap; font-weight: 600; color: var(--c_font_color); padding: 0.2em 1.8em 0.2em; text-align: center; transition: 0.2s; background-color: var(--c_white_l); color: var(--c_logo_gray); border: 1px solid var(--c_logo_gray); border-radius: 9999px; min-width: 9em; letter-spacing: 0.05em;
					&:hover , &.active { color: var(--c_white); background-color: var(--c_theme_color);}
					&.c_black { background-color: var(--c_black); color: var(--c_white);
						&:hover , &.active {background-color: var(--c_theme_color); color: var(--c_white);}
					}
					&.disactive {opacity: 0.5; pointer-events: none;}
				}
				.sns_links {display: flex; justify-content: flex-end; align-items: center; gap: 0.5em; padding-left: 0.5em;
					.nav_link_icon {position: relative; display: block; width: 1.7em; height: 1.7em;
						img {display: block; width: 100%; height: auto; transition: 0.2s;}
						&:hover {
							img {transform: translateY(-2px);}
						}
					}
				}
			}
		}
	}
}
@media only screen and (max-width: 835px){
	#global_nav {position: fixed; top: 0; left: 0; width: 100%; height: 100lvh; z-index: var(--z_nav); overflow-y: scroll; overflow-x: hidden; padding-top: calc(var(--nav_trigger_size)*1.5); opacity: 0; visibility: hidden; pointer-events: none; transition: 0.2s;
		&::before { position: absolute; display: block; content: ""; top: 0; left: 0; width: 100%; height: 100%; background-color: var(--c_theme_color); opacity: 1;}
		.nav_links {--nav_font_size : 24px; position: relative; width: 85%; height: auto; margin: 0 auto; text-align: left; font-size: var(--nav_font_size); line-height: 1.2em; letter-spacing: 0.05em;
			li { display: block; opacity: 0; transform: translateX(-50px); transition: 0.2s; transition-delay: calc(var(--step_delay) * 0.05s + 0s);
				.nav_link , .sub_nav_link { position: relative; display: block; font-weight: 700; color: var(--c_font_color); white-space: nowrap; color: var(--c_white_l);}
				.nav_link { padding: 0.5em 0; padding-left: 1.2em;
					&::before { position: absolute; display: block; content: ""; left: 0; top: calc(0.6em + 0.5em); transform: translateY(-50%); width: 0.7em; height: 0.7em; background: no-repeat center url(../images/parts/icon_logo_star_white.svg); background-size: contain; }
					&.disactive {opacity: 0.5;}
				}
				.sns_links {display: flex; justify-content: flex-start; align-items: flex-start; font-size: var(--nav_font_size); gap: 0.5em; padding: 0.8em 0;
					.nav_link_icon {position: relative; display: inline-block; width: 2em; height: 2em; overflow: hidden;
						img {display: block; width: 100%; height: auto; transition: 0.2s;}
						&:hover {
							img {opacity: 0.7;}
						}
					}
				}
			}
		}
		&.active { opacity: 1; visibility: visible; pointer-events: initial;
			.nav_links {
				li { opacity: 1; transform: translateX(0px);}
			}
		}
	}
}

/* nav trigger
-------------------------------*/
:root {--nav_trigger_size: clamp(50px , 10vw , 90px);}
.nav_trigger_outer {display: none; position: fixed; top: 0px; right: var(--cmn_over_frame_size); width: var(--nav_trigger_size); height:  var(--nav_trigger_size); cursor: pointer; z-index: var(--z_nav_trigger); mix-blend-mode: difference;
	.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; left: 50%; transform: translate(-50% , -50%) rotateZ(0deg); width: 100%; height: clamp(2px , 0.5vw , 3px);  display: block; transition: 0.2s; background-color: var(--c_white_l); border-radius: 9999px;
			&: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: 40%; background: no-repeat center url(../images/parts/text_header_menu.svg); background-size: contain; border-radius: 0;}
			}
		}
	}
	&.active { mix-blend-mode: initial;
		.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;}
}

/* lang switch
-------------------------------*/
.cmn_lang_switch {position: fixed; top: calc(var(--header_height) + var(--cmn_over_frame_size)*0.5); right: calc(var(--cmn_over_frame_size)*2); z-index: var(--z_header_logo); width: calc(var(--header_height)); height: calc(var(--header_height)); cursor: pointer;
	img {position: relative; display: block; width: 100%; height: auto;}
	&::after { position: absolute; display: block; content: ""; top: 0; left: 0; width: 100%; height: 100%; background: no-repeat center url(../images/parts/lang_btn_arrow.svg); background-size: contain;  transition: 0.2s;}
	&:hover {
		&::after { transform: rotateZ(30deg);}
	}
}
@media only screen and (max-width: 835px){
	.cmn_lang_switch {top: 0; right: calc(var(--nav_trigger_size)*1); width: calc(var(--nav_trigger_size)); height: calc(var(--nav_trigger_size)); transform: scale(0.8) translateX(10%); mix-blend-mode: difference;
		&.active {mix-blend-mode: initial;}
	}
}

/*----------------------------------------
	footer
------------------------------------------*/
footer{position: relative; display: block; width: 100%; height: auto; background-color: var(--c_logo_gray);
	.footer_h_title {color: var(--c_white_l); font-weight: 500; font-size: min(24px , 5vw); line-height: 1.4em; letter-spacing: 0.1em; margin-bottom: 0.5em;}
	.official_accounts {position: relative; display: block; width: 100%; height: auto; padding: calc(var(--base_gap)*2) 0;
		.link_btns {display: flex; justify-content: center; flex-wrap: wrap; gap: calc(var(--base_gap)*0.5); width: 100%; height: auto;
			.cmn_link_btn_a {margin: 0; letter-spacing: 0.05em;}
		}
		&::after { position: absolute; display: block; content: ""; bottom: 0; left: 50%; transform: translateX(-50%); width: 100vw; height: 1px; border-bottom: 1px dashed var(--c_white_l);}
	}
	.footer_main_area {position: relative; display: block; width: 100%; height: auto; padding: calc(var(--base_gap)*2) 0;
		.links_outer {margin-bottom: calc(var(--base_gap)*2);}
		.links_rack {margin-bottom: calc(var(--base_gap)*1);}
		.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: calc(var(--base_border_radius)*0.2); 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{ }
}

/* 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: 46px; 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: 40px;
				}
			}
		}
	}
}

/*----------------------------------------
	frame
------------------------------------------*/
:root {--cmn_over_frame_size: 6px;}
@media only screen and (max-width: 835px){
:root {--cmn_over_frame_size: 2px;}
}
#cmn_over_frame {position: relative; z-index: var(--z_frame); pointer-events: none;
	.side {position: fixed; top: 0; width: var(--cmn_over_frame_size); height: 100lvh; background: linear-gradient(0deg,var(--c_logo_yellow) 0%, var(--c_logo_yellow) 20%, var(--c_logo_green) 20%, var(--c_logo_green) 40%, var(--c_logo_orange) 40%, var(--c_logo_orange) 60%, var(--c_logo_blue) 60%, var(--c_logo_blue) 80%, var(--c_logo_yellow) 80%, var(--c_logo_yellow) 100%);
		&.left {left: 0;}
		&.right { right: 0;}
	}
	.side_bottom {position: fixed; bottom: 0; width: var(--cmn_over_frame_size); height: 100lvh; background-color: var(--c_logo_yellow);
		&.left {left: 0;}
		&.right { right: 0;}
	}
	.top , .bottom {position: fixed; left: 0; width: 100vw; height: 1px; background-color: var(--c_logo_gray);}
	.top { top: 0;}
	.bottom { bottom: 0;}
}


/*----------------------------------------
	bg
------------------------------------------*/

/*----------------------------------------
	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;}
	}
}
/* cmn_step_delay_boxの子要素（li,div,p,span）に transition-delay: calc(var(--step_delay) * 0.05s + 0s); */

/*----------------------------------------
	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; transition: 0.3s;
	.modal_bg {position: fixed; top: 0px; left: 0; right: 0; bottom: 0; width: 100%; height: 100%;
		&::before { position: absolute; display: block; content: ""; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.8); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); opacity: 0; transition: 0.6s;}
	}
	.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/template_parts/btn_close.svg"); background-size: contain; cursor: pointer;}
	&.visible { opacity: 1; visibility: visible; pointer-events: auto;
		.modal_bg {
			&::before { 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;
			img { max-width: min(1400px, calc((100vw - min(60px , 8vw)*2) * 0.96)); }
			&.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(60px , 8vw); 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: 42%; height: 100%; background: no-repeat center url(../images/template_parts/icon_arrow_r.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){
	.cmn_slide_modal_layer {
		.modal_prev_btn , .modal_next_btn {height: 20vh; background-size: 30% auto;}
		.modal_prev_btn {left: 0;
            &:hover {transform: translateY(-50%) translateX(0);}
        }
		.modal_next_btn {right: 0;
            &:hover {transform: translateY(-50%) translateX(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);}
	}	
}