/*----------------------------------------
	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: 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_bg_color);z-index: var(--z_loading);
	&.is_loaded {display: none;}
	.logo {position: absolute; top: 50%; left: 50%; transform: translate(-50% , -50%); width: min(300px , 50%);
		img {display: block; width: 100%; height: auto;}
	}
	&.load_open { animation: fade_out 0.8s forwards; pointer-events: none; animation-delay: 0.4s;
		.logo {
			img {animation: logo_click_anim 0.2s forwards;}
		}
	}
}
@keyframes logo_click_anim { 
	0% { transform: scale(1); }
	1% { transform: scale(0.85); }
	99% { transform: scale(0.85); }
	100% { transform: scale(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;}
.cmn_in_page_main {position: relative; display: block; width: 100%; height: auto; margin: 0 auto; padding: calc(var(--base_distance)*1.5) 0;}

.cmn_bg_layer {position: absolute; top: 0; left: 0; width: 100%; height: 100%;}
.cmn_main_layer {position: relative;}

.cmn_bg_pattern_01 {position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: linear-gradient(#FFC81E 2px, transparent 2px), linear-gradient(90deg, #FFC81E 2px, transparent 2px); background-size: clamp(20px , 5vw , 40px) clamp(20px , 5vw , 40px); background-color: #FFD34B;}

:root {--cmn_h_title_size:min(100px , 10vw);}
.cmn_h_title_outer {position: relative; display: block; width: calc(95% - var(--cmn_over_frame_size)*2); margin: 0 auto calc(var(--base_gap)*3); text-align: center;
	&.mb_short {margin-bottom: calc(var(--base_gap)*1.5);}
	&.mb_long {margin-bottom: calc(var(--base_distance)*0.7);}
}
.cmn_h_title {position: relative; display: inline-block; font-family: var(--f_kanit); color: var(--c_theme_color); font-size: var(--cmn_h_title_size); line-height: 0.8em; font-weight: 700; text-shadow: 1px 1px 0 var(--c_black) , -1px -1px 0 var(--c_black) , -1px 1px 0 var(--c_black) , 1px -1px 0 var(--c_black) , 1px 0px 0 var(--c_black) , -1px 0px 0 var(--c_black) , 0px 1px 0 var(--c_black) , 0px -1px 0 var(--c_black) ; margin-bottom: 0; word-break: auto-phrase; white-space: nowrap;
	span {display: inline-block;}
	&.type_tategaki {writing-mode: vertical-rl; transform: rotateZ(180deg);}
	&.size_small {font-size:calc(var(--cmn_h_title_size)*0.65);}
	&.text_jp {font-family: var(--f_mplus); font-weight: 800; font-size: calc(var(--cmn_h_title_size)*0.65); line-height: 1.2em; }
	&.size_text_jp_small {font-size: calc(var(--cmn_h_title_size)*0.55);}
	&.c_orange {color: var(--c_orange);}
	&.c_white {color: var(--c_white_l);}
	span.size_small {font-size: 0.5em;} 
}
@media screen and (max-width: 835px) {
	:root {--cmn_h_title_size:min(110px , 12vw);}
	.cmn_h_title { font-size: min(140px , 14vw);
		&.type_tategaki {writing-mode: initial; transform: initial;}
	}
}

.cmn_title_sub_text_01 {position: relative; font-weight: 800; font-size: clamp(15px , 2vw , 20px); width: calc(90% - var(--cmn_over_frame_size)*2); margin: 0 auto; margin-bottom: 3em;
	&.mb_long {margin-bottom: 5em;}
}
.cmn_title_sub_text_02 {position: relative; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 0.2em; font-size: clamp(11px , 3.2vw , 20px); font-weight: 700; width: calc(90% - var(--cmn_over_frame_size)*2);  margin: 0 auto; margin-bottom: 3em;
	span {display: inline-block; color: var(--c_white_l); background-color: var(--c_red); padding: 0.2em 0.5em;}
	&.mb_long {margin-bottom: 5em;}
} 

.cmn_coming_soon_overlay {position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; background-color: var(--c_white_l);
	&::before { position: absolute; display: block; content: ""; top: 50%; left: 0; transform: translateY(-50%); width: 100%; height: 30%; background-color: var(--c_yellow_ll);}
	&::after { position: absolute; display: block; content: ""; top: 50%; left: 50%; transform: translate(-50% , -50%); width: 60%; height: 80%; background: no-repeat center url(../images/webp/icon_coming_soon.webp); background-size: contain; }
}
.cmn_end_overlay {position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; overflow: hidden;
	&::before { position: absolute; display: block; content: ""; top: 0; left: 0; width: 100%; height: 100%; background-color: var(--c_darkgray); opacity: 0.9;}
	&::after { position: absolute; display: block; content: ""; top: 50%; left: 50%; transform: translate(-50% , -50%); width: min(150px , 50%); height: 80%; background: no-repeat center url(../images/text/text_end.svg); background-size: contain; }
}

.cmn_link_btn_outer {position: relative; display: block; text-align: center; width: 100%; height: auto; margin: 0 auto;}

.cmn_link_btn_a {position: relative; display: inline-block; margin: 0 auto; padding: 0em 0.2em; height: auto; width: auto; min-width: min(360px , 90%); max-width: 80vw; background-color: var(--c_white); line-height: 1.4em; color: var(--c_link_color); font-size: clamp( 15px , 2.0vw , 18px ); text-decoration: initial!important; text-align: center; transition: 0.2s; background-color: var(--c_theme_color); outline: 1px solid var(--c_black); outline-offset: -1px; border-radius: 9999px; color: var(--c_font_color);
	img {position: relative; height: 1.4em; width: auto;}
	span {position: relative; display: flex; flex-direction: column; justify-content: center; align-items: center; width: 100%; height: auto; min-height: 3.5em; padding: 0.3em calc(0.75em + 1.7em + 0.2em); background-color: var(--c_white_l); border: 1px solid var(--c_black); border-radius: 9999px; margin: 0 auto; transition: 0.2s;
		&::after { position: absolute; display: block; content: ""; top: 0; right: 0.75em; width: 1.7em; height: 100%; background: no-repeat center url(../images/svg/icon_link_btn_arrow.svg); background-size: contain; }
	}
	.left_icon {position: absolute; display: block; top: 0; left: 0.75em; width: 1.7em; height: 100%; object-fit: contain;}
	&.type_back {
		span {
			&::after { right: 0; left: 0.75em; transform: rotateZ(180deg);}
		}
	}
	&.type_simple {padding: 0; outline: none;
		span {
			&::after { background-image: url(../images/svg/icon_link_btn_arrow_gray.svg); }
		}
	}
	&.c_yellow {
		span {background-color: var(--c_yellow_l);}
	}
	&:hover {color: var(--c_white);
		span {background-color: var(--c_red);}
	}
	&.w_100 {width: 100%;}
	&.disactive {pointer-events: none; filter: grayscale(1); opacity: 0.5;}
}

.cmn_date_tag_box {display: flex; justify-content: flex-start; align-items: center; width: 100%; gap: 1em; margin-bottom: 0.5em;}
.cmn_date {font-family: var(--f_kanit); font-size: clamp(15px , 2vw , 16px); margin-bottom: 0; transition: 0.2s;}
.cmn_tag {display: inline-block; font-size: clamp(12px , 1.5vw , 14px); line-height: 1.4em; color: var(--c_font_color); border: 1px solid var(--c_font_color); padding: 0.2em 1em; min-width: 8em; text-align: center; margin-bottom: 0; transition: 0.2s;
	&.active , &:hover {background-color: var(--c_link_color); color: var(--c_white_l);}
}

.cmn_tag_list {position: relative; display: flex; justify-content: flex-start; align-items: flex-start; gap: calc(var(--base_gap)*0.5); flex-wrap: wrap; margin-bottom: calc(var(--base_distance)*0.5);}

.cmn_tab_links {position: relative; display: flex; justify-content: space-between; align-items: center; gap: calc(var(--base_gap)*1); margin-bottom: calc(var(--base_gap)*1.5) ;
	.link {position: relative; display: flex; justify-content: center; align-items: center; flex-direction: column; border: 1px solid var(--c_black); color: var(--c_black_d); padding: 0.2em 1em; font-size: clamp(14px , 2vw , 16px); line-height: 1.4em; min-height: 3.5em; transition: 0.2s;
		&:hover , &.active {background-color: var(--c_link_color); color: var(--c_white_l);}
	}
	&.links_num_2 .link {width: calc((100% - var(--base_gap)*1)/2);}
	&.links_num_3 .link {width: calc((100% - var(--base_gap)*2)/3);}
	&.links_num_4 .link {width: calc((100% - var(--base_gap)*3)/4);}
	&.links_num_5 .link {width: calc((100% - var(--base_gap)*4)/5);}
}

.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;}
}

.cmn_pagination_outer {
	.cmn_pagination {position: relative; width: 100%; height: auto; display: flex; justify-content: center; align-items: center; font-size: clamp(15px , 1.5vw , 22px); line-height: 1em; font-family: var(--f_kanit); gap: 0.5em;
		a , span {position: relative; display: flex; justify-content: center; align-items: center; color: var(--c_black); width: 2.5em; height: 2.5em; border: 1px solid var(--c_black); background-color: var(--c_white_l); border-radius: 50%; transition: 0.2s;
			&.prev , &.next {
				&::after { position: absolute; display: block; content: ""; top: 50%; left: 50%; transform: translate(-50% , -50%); width: 30%; height: 30%; background: no-repeat center; background-size: contain;}
			}
			&.prev {margin-right: 0.5em;
				&::after { background-image: url(../images/svg/icon_pagination_arrow_l.svg); }
				&:hover {transform: translateX(-5%);}
			}
			&.next { margin-left: 0.5em;
				&::after { background-image: url(../images/svg/icon_pagination_arrow_r.svg); }
				&:hover {transform: translateX(5%);}
			}
			&.current , &:hover {background-color: var(--c_red); color: var(--c_white_l);
				&.prev , &.next {
					&::after { filter: invert(1);}
				}
			}
		}
	}
}

.cmn_bg_balloon {position: absolute; display: block; width: min(200px , 20vw); height: calc(min(200px , 30vw)*50 / 20); 
	&::before {position: absolute; display: block; content: ""; top: 0; left: 0; width: 100%; height: 100%; background: no-repeat center top; background-size: contain; }
	&.left::before {background-image: url(../images/svg/parts_balloon_01.svg); animation: balloon_swing_a 10s infinite; animation-timing-function: ease-in-out;}
	&.right::before {background-image: url(../images/svg/parts_balloon_02.svg); animation: balloon_swing_b 8s infinite; animation-timing-function: ease-in-out;}
}
@keyframes balloon_swing_a{
	0%{ transform: translateY(0); }
	33%{ transform: translateY(-5%); }
	66%{ transform: translateY(5%); }
	100%{ transform: translateY(0); }
}
@keyframes balloon_swing_b{
	0%{ transform: translateY(0); }
	33%{ transform: translateY(5%); }
	66%{ transform: translateY(-5%); }
	100%{ transform: translateY(0); }
}
.cmn_bg_dots {position: absolute; top: 0; width: min(400px , 30%); height: 100%;
    &.tl_yellow {left: 0; background: no-repeat left top url(../images/svg/parts_bg_dots_tl_yellow.svg); background-size: contain;}
    &.tr_yellow {right: 0; background: no-repeat left top url(../images/svg/parts_bg_dots_tl_yellow.svg); background-size: contain; transform: scale(-1,1);}
    &.bl_yellow {left: 0; background: no-repeat left top url(../images/svg/parts_bg_dots_tl_yellow.svg); background-size: contain; transform: scale(1,-1);}
    &.bl_red {left: 0; background: no-repeat left top url(../images/svg/parts_bg_dots_tl_red.svg); background-size: contain; transform: scale(1,-1);}
    &.br_red {right: 0; background: no-repeat left top url(../images/svg/parts_bg_dots_tl_red.svg); background-size: contain; transform: scale(-1,-1);}
	&.tr_gray {right: 0; background: no-repeat left top url(../images/svg/parts_bg_dots_tl_yellow.svg); background-size: contain; transform: scale(-1,1); filter: grayscale(1) brightness(1.2);}
	&.bl_gray {left: 0; background: no-repeat left top url(../images/svg/parts_bg_dots_tl_yellow.svg); background-size: contain; transform: scale(1,-1); filter: grayscale(1) brightness(1.2);}
}

.cmn_swiper_controller_style_01 {
    .swiper-button-prev , .swiper-button-next { width: clamp(24px , 4vw , 32px); height: calc(clamp(24px , 4vw , 32px)*2);
        &::before { position: absolute; display: block; content: ""; top: 50%; left: 50%; transform: translate(-50% , -50%); width: 50%; height: 50%; background-color: var(--c_theme_color); transition: 0.2s;}
        &::after {display: none;}
    }
    .swiper-button-prev { left: 0; transform: translateX(-140%);
        &::before {clip-path: polygon(100% 0, 0 50%, 100% 100%);}
        &:hover {
            &::before {transform: translate(-70% , -50%);}
        }
    }
    .swiper-button-next { right: 0; transform: translateX(140%);
        &::before {clip-path: polygon(0 0, 0% 100%, 100% 50%);}
        &:hover {
            &::before {transform: translate(-30% , -50%);}
        }
    }
}
@media screen and (max-width: 835px) {
    .cmn_swiper_controller_style_01 {
        .swiper-button-prev {transform: translate(-100%);}
        .swiper-button-next {transform: translate(100%);}
    }
}
.cmn_swiper_controller_style_02 {display: flex; justify-content: center; align-items: center; gap: calc(var(--base_gap)*1);
    .swiper-button-prev , .swiper-button-next { position: relative; top: initial; left: initial; right: initial; bottom: initial; margin: initial; width: clamp(24px , 4vw , 32px); height: calc(clamp(24px , 4vw , 32px)*2);
        &::before { position: absolute; display: block; content: ""; top: 50%; left: 50%; transform: translate(-50% , -50%); width: 50%; height: 50%; background-color: var(--c_red); transition: 0.2s;}
        &::after {display: none;}
    }
    .swiper-button-prev {
        &::before {clip-path: polygon(100% 0, 0 50%, 100% 100%);}
        &:hover {
            &::before {transform: translate(-70% , -50%);}
        }
    }
    .swiper-button-next {
        &::before {clip-path: polygon(0 0, 0% 100%, 100% 50%);}
        &:hover {
            &::before {transform: translate(-30% , -50%);}
        }
    }
	.swiper-pagination {position: relative; top: initial; left: initial; right: initial; bottom: initial; width: auto; min-width: min(300px,  30vw);
		.swiper-pagination-bullet {border: 1px solid var(--c_red); opacity: 1; background-color: transparent;}
		.swiper-pagination-bullet-active {background-color: var(--c_red);}
	}
}

/* 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); margin-bottom: calc(var(--base_gap)*2); background-color: var(--c_bg_color);}
@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_orange);}
.cmn_write_box {position: relative; text-align: left; font-size: clamp(13px , 2vw , 16px); line-height: 1.5em;  width: 100%;
	.title_box {position: relative; display: block; padding-bottom: calc(clamp(17px , 2vw , 24px)*0.8) ; margin-bottom: 2em; border-bottom: 4px double var(--cmn_write_box_theme_color); 
		.cmn_date_tag_box {margin-bottom: 1em;}
	}
	.date { font-size: clamp(12px , 2vw , 14px); line-height: 1.4em; font-weight: bold; margin-bottom: 0.7em; letter-spacing: 0.1em; }
	.box_title { position: relative; display: block; width: 100%; font-size: clamp(19px , 2vw , 24px);  line-height: 1.4em; font-weight: bold;}
	.border_box {position: relative; display: block; width: 100%; height: auto; background-color: var(--c_black_d); border: 1px solid var(--cmn_write_box_theme_color); padding: min( calc(var(--base_gap)*2) , 5vw) min( calc(var(--base_gap)*2) , 4vw); 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;}
	}
	p {line-height: 1.7em;}
	a {overflow-wrap: break-word; text-decoration: underline; font-weight: bold;}
	ul {margin-bottom: 1em;
		li {position: relative; display: block; margin-bottom: 0.5em; 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 solid 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.4em; padding-left: 1.1em; font-size: clamp(17px , 2vw , 19px); font-weight: bold; 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(--c_font_color);
		&::before {position: absolute; display: block; content: ""; left: 0; top: 0.4em; width: 0.6em; height: 0.6em; background-color: var(--cmn_write_box_theme_color); transform: rotateZ(45deg);}
	}
	&.single h3 , &.in_page h4 {position: relative; display: inline-block; font-size: clamp(15px , 2vw , 17px); font-weight: bold; margin-bottom: 0.7em; margin-top: 1em; line-height: 1.4em; padding: 0.1em 0.7em 0.2em; border: 1px solid var(--cmn_write_box_theme_color); color: var(--cmn_write_box_theme_color);}
	&.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: bold; color: var(--cmn_write_box_theme_color); padding-left: 0.7em;
		&::before { position: absolute; display: block; content: ""; top: 0.75em; left: 0; width: 0.3em; height: 0.6em; background-color: var(--cmn_write_box_theme_color); transform: translateY(-50%); clip-path: polygon(0 0, 0% 100%, 100% 50%);}
	}
}

/*-- 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
------------------------------------------*/
header{
	.header_logo {position: fixed; top: calc(var(--cmn_over_frame_size)*0.5); left: calc(var(--header_height)*0.5 + var(--cmn_over_frame_size)*1.5 ); width: min(100px,  24vw); height: var(--header_height); z-index: var(--z_header_logo); transition: 0.2s;
		img {display: block; width: 100%; height: 100%; object-fit: contain;}
		&:hover {opacity: 0.7;}
	}
}
@media only screen and (max-width: 835px){
	header{
		.header_logo {top: 0; left: calc(var(--nav_trigger_size)*0.3); height: var(--nav_trigger_size); width: min(120px,  35vw);}
	}
}

/*----------------------------------------
	navigation
------------------------------------------*/
:root {--header_height: min(44px , 10vh);}
@media only screen and (min-width: 835px){
	#global_nav {position: fixed; top: calc(var(--cmn_over_frame_size)*0.5); left: 50%; transform: translateX(-50%); display: flex; justify-content: flex-end; align-items: center; width: calc(100% - var(--cmn_over_frame_size)*3); height: var(--header_height); padding: 0 calc(var(--header_height) *0.2); z-index: var(--z_nav);
		&::before { position: absolute; display: block; content: ""; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(255,255,255,1); /* backdrop-filter: brightness(6) blur(14px); */ border-radius: 9999px; pointer-events: none; transition: 0.2s; }
		.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 {
				.nav_link {position: relative; display: block; line-height: 1.5em; letter-spacing: 0em; white-space: nowrap; font-weight: 600; color: var(--c_font_color); font-family: var(--f_kanit); padding: 0.3em 0.4em 0.3em; text-align: left; transition: 0.2s;
					&:hover , &.active { color: var(--c_link_color);}
					&.disactive {opacity: 0.5; pointer-events: none;}
				}
				&.sns_links {display: flex; justify-content: flex-end; align-items: flex-start; font-size: var(--nav_font_size); gap: 0.5em; margin-left: 0.5em;}
				.nav_link_icon {position: relative; display: block; width: auto; height: 1.9em;
					img {display: block; width: auto; height: 100%; 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_brown_d); opacity: 0.95;}
		.nav_links {--nav_font_size : 20px; 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 { 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_white_l); white-space: nowrap; font-family: var(--f_kanit);}
				.nav_link { padding: 0.5em 0; /* padding-left: 1.3em; */
					&::before { position: absolute; display: block; content: ""; left: 0; top: calc(0.6em + 0.5em); transform: translateY(-50%); width: 0.8em; height: 1em; background: no-repeat center url(../images/svg/icon_q_red.svg); background-size: contain; display: none;}
					&.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: auto; height: 2em; overflow: hidden;
					img {display: block; width: auto; height: 100%; transition: 0.2s;}
					&:hover {
						img {opacity: 0.7;}
					}
				}			
			}
		}
		&.active { opacity: 1; visibility: visible; pointer-events: initial;
			.nav_links {
				li { opacity: 1; transform: translateX(0px); transition-delay: 0;}
			}
		}
	}
}

/* nav trigger
-------------------------------*/
:root {--nav_trigger_size: clamp(50px , 10vw , 90px);}
.nav_trigger_outer {display: none; position: fixed; top: 0px; right: 0px; width: var(--nav_trigger_size); height:  var(--nav_trigger_size); cursor: pointer; z-index: var(--z_nav_trigger);
	&::before { position: absolute; display: block; content: ""; top: 0; right: 0; width: 100vw; height: 100%; background-color: var(--c_white_l); }
	.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_gray); 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/template_parts/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;}
}

/*----------------------------------------
	footer
------------------------------------------*/
footer{position: relative;
	.footer_visual {display: block; width: calc(100% - var(--cmn_over_frame_size)*2); height: auto; margin: 0 auto;
		img {display: block; width: 100%; height: auto;}
	}
	.footer_main {--bg_stripe_size: min(60px , 10vw); position: relative; display: block; width:100%; height: auto; padding: calc(var(--base_distance)*0.5); background-image: linear-gradient(90deg, var(--c_foot_red_01) var(--bg_stripe_size), transparent var(--bg_stripe_size)); background-size: calc(var(--bg_stripe_size)*2) 100%; background-color: var(--c_foot_red_02);
		.sns_flex {position: relative; display: flex; justify-content: center; align-items: center; gap: calc(var(--base_gap)*1); flex-wrap: wrap; margin-bottom: calc(var(--base_gap)*2);
			.sns_link_btn {position: relative; display: block; width: min(60px , 13vw); height: auto; transition: 0.2s;
				img {position: relative; display: block; width: 100%; height: auto;}
				&:hover {transform: translateY(-5%);}
			}
		}
		.cmn_link_btn_a {margin-bottom: calc(var(--base_gap)*3);}
		.copyright {color: var(--c_white_l);}
	}
}
@media only screen and (max-width: 835px){
footer{ }
}

/*----------------------------------------
	bg
------------------------------------------*/
#cmn_fixed_bg {position: fixed; top: 0; left: 0; width: 100%; height: calc(var(--vh_px)*1.2); background: repeat center url(../images/webp/bg_dots.webp); background-size: 50px; opacity: 0.3;}

/*----------------------------------------
	frame
------------------------------------------*/
:root {
	--cmn_over_frame_size: clamp(10px , 2vw , 28px);
}
#cmn_over_frame {position: relative; z-index: var(--z_frame);
	.frame {position: fixed; top: 0; width: var(--cmn_over_frame_size); height: calc(var(--vh_px)*1.2); background-color: var(--c_white_l); display: flex; justify-content: center; align-items: center;
		.text_line {position: relative; display: block; width: 50%; height: 100%; background: repeat-y center; background-size: 100% auto;}
		&.left {
			.text_line {background-image: url(../images/webp/parts_over_frame_text_left.webp); transform: translateX(-10%);}
		}
		&.right {right: 0;
			.text_line {background-image: url(../images/webp/parts_over_frame_text_right.webp); transform: translateX(10%);}
		}
	}
}

/*----------------------------------------
	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 , 90px); 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.6s;
	.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_brown_d); opacity: 0.9; }
	}
	.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: 78vh; 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: 12px; right: 12px; width: var(--modal_btn_size); height: var(--modal_btn_size); background: no-repeat center url("../images/template_parts/btn_close_02.svg"); background-size: contain; cursor: pointer; background-image: url(../images/svg/btn_close.svg);}
	&.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);}
	}	
}