html.html_reset {margin: 0 !important; padding: 0 !important}
body {position: relative; height: 100%; background-color: var(--c_bg_color); color: var(--c_font_color); font-family: var(--font_base_setting); font-size: var(--base_font_size); font-optical-sizing: auto; font-weight: 600; line-height: var(--base_line_height); word-break: break-all}
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 {min-height: 100%}
  body.scroll_on {overflow-y: scroll; overflow-x: hidden; pointer-events: auto}
}

.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_0p5distance {margin-bottom: calc(var(--base_distance)*.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_0p5gap {margin-bottom: calc(var(--base_gap)*.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_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: .6em; line-height: 1em}
.mod_mb_0p5em {margin-bottom: .5em !important}
.mod_mb_1p0em {margin-bottom: 1em !important}
.mod_mb_1p5em {margin-bottom: 1.5em !important}
.mod_mb_2p0em {margin-bottom: 2em !important}
.mod_text_underline {text-decoration: underline}

.mod_flex_box_01, .mod_flex_box_02, .mod_flex_box_03, .mod_flex_box_04, .mod_flex_box_05, .mod_flex_box_06 {display: flex; flex-wrap: wrap; gap: var(--base_gap); justify-content: center}
.mod_flex_box_01.jst_center, .mod_flex_box_02.jst_center, .mod_flex_box_03.jst_center, .mod_flex_box_04.jst_center, .mod_flex_box_05.jst_center, .mod_flex_box_06.jst_center {justify-content: center}
.mod_flex_box_01.ali_center, .mod_flex_box_02.ali_center, .mod_flex_box_03.ali_center, .mod_flex_box_04.ali_center, .mod_flex_box_05.ali_center, .mod_flex_box_06.ali_center {align-items: center}
.mod_flex_box_01 > div, .mod_flex_box_01 > li {width: 100%}
.mod_flex_box_02 > div, .mod_flex_box_02 > li {width: calc((100% - var(--base_gap)*1)/2)}
.mod_flex_box_03 > div, .mod_flex_box_03 > li {width: calc((100% - var(--base_gap)*2)/3)}
.mod_flex_box_04 > div, .mod_flex_box_04 > li {width: calc((100% - var(--base_gap)*3)/4)}
.mod_flex_box_05 > div, .mod_flex_box_05 > li {width: calc((100% - var(--base_gap)*4)/5)}
.mod_flex_box_06 > div, .mod_flex_box_06 > li {width: calc((100% - var(--base_gap)*5)/6)}

@media only screen and (max-width: 835px) {
  .mod_flex_box_01 > div, .mod_flex_box_01 > li, .mod_flex_box_02 > div, .mod_flex_box_02 > li {width: 100%}
  .mod_flex_box_03 > div, .mod_flex_box_03 > li, .mod_flex_box_04 > div, .mod_flex_box_04 > li {width: calc((100% - var(--base_gap)*1)/2)}
  .mod_flex_box_05 > div, .mod_flex_box_05 > li, .mod_flex_box_06 > div, .mod_flex_box_06 > li {width: calc((100% - var(--base_gap)*1)/2)}
}

.mod_text_slide_anim_box {display: flex; height: 100px}
.mod_text_slide_anim_box img {display: block; width: auto; max-width: initial; height: 100%; -webkit-animation: hor_move_l 40s linear infinite; animation: hor_move_l 40s linear infinite}
.mod_text_slide_anim_box.reverse {-webkit-animation: hor_move_r 40s linear infinite; 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_scroll_bar_delete {-ms-overflow-style: none; scrollbar-width: none}
.mod_scroll_bar_delete::-webkit-scrollbar {display: none}

.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.w_100, .wrap_200px.w_100, .wrap_300px.w_100, .wrap_400px.w_100, .wrap_500px.w_100, .wrap_600px.w_100, .wrap_700px.w_100, .wrap_800px.w_100, .wrap_900px.w_100, .wrap_1000px.w_100, .wrap_1100px.w_100, .wrap_1200px.w_100, .wrap_1300px.w_100, .wrap_1400px.w_100, .wrap_1500px.w_100, .wrap_1600px.w_100, .wrap_1700px.w_100, .wrap_1800px.w_100, .wrap_1900px.w_100 {width: 100%}

#loading {position: fixed; top: 0; left: 0; display: block; width: 100%; height: 100vh; height: 100svh; background-color: #7ebacf; z-index: var(--z_loading)}
#loading.is_loaded {display: none}
#loading.load_open {-webkit-animation: fade_out 1.4s forwards; animation: fade_out 1.4s forwards; pointer-events: none}
#loading .logo {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: min(300px, 50%)}
#loading .logo img {width: 100%}

.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) 0}

.cmn_link_btn_a {position: relative; display: inline-block; text-align: center; margin: 0 auto; padding: .8em 1.8em; height: auto; width: auto; min-width: min(400px, 100%); background-color: var(--c_theme_color); line-height: 1.4em; color: var(--c_white); font-size: clamp(15px, 2.5vw, 18px); text-decoration: initial !important; transition: .2s}
.cmn_link_btn_a img {position: relative; height: 1.4em; width: auto}
.cmn_link_btn_a span {position: relative}
.cmn_link_btn_a:hover {color: var(--c_theme_color); background: #fff; transition: .2s}
.cmn_link_btn_a.w_100 {width: 100%}
.cmn_link_btn_a.disactive {pointer-events: none; filter: grayscale(1); opacity: .5}

.cmn_coming_soon_img {position: relative; background: var(--c_gray); aspect-ratio: 16/9; display: flex; justify-content: center; align-items: center}
.cmn_coming_soon_img::before {content: "COMING SOON"; position: absolute; color: var(--c_white_l); font-size: 2em}

.cmn_accordion_box .cmn_accordion_trigger {cursor: pointer}
.cmn_accordion_box .cmn_accordion_content {overflow: hidden; height: 0; transition: .4s ease}
.cmn_accordion_box .cmn_accordion_content.accordion_open {height: auto}

.cmn_write_box_outer {position: relative; display: block; padding: calc(var(--base_gap)*2); margin-bottom: calc(var(--base_gap)*2)}

@media only screen and (max-width: 835px) {
  .cmn_write_box_outer {padding: calc(var(--base_gap)*2.5) calc(var(--base_gap)*1.5)}
}

.border_box {border: 1px solid #fff; padding: 4% 5%}
.cmn_write_box {position: relative; text-align: left; font-size: clamp(13px, 2vw, 16px); line-height: 1.5em; width: 100%}
.cmn_write_box .title_box {position: relative; display: block; padding-bottom: calc(clamp(17px, 2vw, 24px)*.8); margin-bottom: 2em; border-bottom: 4px double var(--cmn_write_box_theme_color)}
.cmn_write_box .date {font-size: clamp(12px, 2vw, 14px); line-height: 1.4em; font-weight: bold; margin-bottom: .7em; letter-spacing: .1em}
.cmn_write_box .box_title {position: relative; display: block; width: 100%; font-size: clamp(19px, 2vw, 24px); line-height: 1.4em; font-weight: bold}
.cmn_write_box .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(var(--base_gap)*2, 5vw) min(var(--base_gap)*2, 4vw); margin-bottom: 1.5em}
.cmn_write_box iframe {width: 100%}
.cmn_write_box figure {margin-bottom: 1.5em}
.cmn_write_box img {display: block; max-width: 100%; height: auto; margin: 0 auto; margin-bottom: 1.5em}
.cmn_write_box img.app_badge {width: 170px !important; padding-top: 5px}
.cmn_write_box p {line-height: 1.7em}
.cmn_write_box a {overflow-wrap: break-word; text-decoration: underline; font-weight: bold}
.cmn_write_box ul {margin-bottom: 1em}
.cmn_write_box ul li {position: relative; display: block; margin-bottom: .5em; padding-left: 1.2em}
.cmn_write_box ul 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_write_box ul li:last-of-type {margin-bottom: 0}
.cmn_write_box ul:last-of-type {margin-bottom: 0}
.cmn_write_box blockquote {padding: 24px; background: rgba(0, 0, 0, .04); margin: 20px 0}
.cmn_write_box blockquote p:last-of-type {margin-bottom: 0}
.cmn_write_box 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}
.cmn_write_box strong {font-weight: 900; color: var(--cmn_write_box_theme_color)}
.cmn_write_box.single h2, .cmn_write_box.in_page h3 {position: relative; display: block; padding-bottom: .4em; font-weight: bold;  font-size: clamp(17px, 2vw, 21px); margin-bottom: 1em; margin-top: 3em; line-height: 1.4em; border-bottom: 1px solid #fff; border-style: dashed; border-top: none; border-left: none; border-right: none; color: var(--c_theme_color)}
.cmn_write_box.single h2:first-of-type, .cmn_write_box.in_page h3:first-of-type {margin-top: 0}
.cmn_write_box.single h2::before, .cmn_write_box.in_page h3::before {position: absolute; display: block; content: ""; left: 0; top: .4em; width: .6em; height: .6em; background-color: var(--cmn_write_box_theme_color); transform: rotateZ(45deg)}
.cmn_write_box.single h3, .cmn_write_box.in_page h4 {position: relative; display: inline-block; font-size: clamp(15px, 2vw, 17px); font-weight: bold; margin-bottom: .7em; margin-top: 1em; line-height: 1.4em; padding: .1em .7em .2em; border: 1px solid var(--cmn_write_box_theme_color); color: var(--cmn_write_box_theme_color)}
.cmn_write_box.single h4, .cmn_write_box.in_page h5 {position: relative; display: block; margin-top: 1.2em; margin-bottom: .2em; font-size: 1.05em; line-height: 1.4em; font-weight: bold; color: var(--cmn_write_box_theme_color); padding-left: .7em}
.cmn_write_box.single h4::before, .cmn_write_box.in_page h5::before {position: absolute; display: block; content: ""; top: .75em; left: 0; width: .3em; height: .6em; background-color: var(--cmn_write_box_theme_color); transform: translateY(-50%); -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%); clip-path: polygon(0 0, 0% 100%, 100% 50%)}

ul.cmn_list_circle li, ul.cmn_list_kome li, ul.cmn_list_asterisk li {position: relative; display: block; margin-bottom: .35em; padding-left: 1.2em}
ul.cmn_list_circle li:last-of-type, ul.cmn_list_kome li:last-of-type, ul.cmn_list_asterisk li:last-of-type {margin-bottom: 0}
ul.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}
ul.cmn_list_kome li {padding-left: 1.2em; font-size: .95em; line-height: 1.7em}
ul.cmn_list_kome li::before {position: absolute; display: block; content: "※"; top: 0; left: 0; width: 1em; height: 1em; transform: translateY(0em); background: initial}
ul.cmn_list_asterisk li {padding-left: .8em; font-size: .95em; line-height: 1.4em}
ul.cmn_list_asterisk li::before {position: absolute; display: block; content: "*"; top: 0; left: 0; width: 1em; height: 1em; transform: translateY(0em); color: var(--cmn_list_color); background: initial}
ul.cmn_list_underline li {line-height: 1.4em; border-bottom: 1px solid var(--cmn_list_color); padding-top: .8em; padding-bottom: .8em; margin-bottom: 0}
ul.cmn_list_underline li::before {position: absolute; display: block; content: ""; top: 0; left: 0; width: 1em; height: 1em; transform: translateY(1.1em) scale(0.4); background-color: var(--cmn_list_color); border-radius: 9999px}

header .header_logo {position: fixed; top: 0; left: 0; width: min(120px, 16vw); height: auto; z-index: var(--z_nav); transform: translate(15%, 30%); transition: .2s}
header .header_logo img {display: block; width: 100%; height: auto}
header .header_logo:hover {opacity: .7}

@media only screen and (min-width: 835px) {
  #global_nav {position: fixed; top: min(1vw,14px); right: min(1vw,14px); z-index: var(--z_nav); background: rgba(0, 0, 0, 0); width: 100%}
  #global_nav .nav_links {display: flex; justify-content: flex-end; align-items: center; font-size: min(18px, 1.3vw); gap: .5em}
  #global_nav .nav_links li .nav_link {position: relative; display: block; line-height: 1.2em; letter-spacing: .05em; white-space: nowrap; font-weight: 600; color: var(--c_font_color); padding: .3em .4em .3em; text-align: left; transition: .2s}
  #global_nav .nav_links li .nav_link:hover, #global_nav .nav_links li .nav_link.active {color: var(--c_link_color)}
  #global_nav .nav_links li .nav_link.disactive {opacity: .5; pointer-events: none}
  #global_nav .nav_links li.sns_links {display: flex; justify-content: flex-end; align-items: flex-start; font-size: 16px; gap: .5em}
  #global_nav .nav_links li .nav_link_icon {position: relative; display: block; width: 2em; height: 2em}
  #global_nav .nav_links li .nav_link_icon img {display: block; width: 100%; height: auto; transition: .2s}
  #global_nav .nav_links li .nav_link_icon: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); background-color: #6fb2c9; overflow-y: scroll; overflow-x: hidden; padding-top: 60px; opacity: 0; visibility: hidden; pointer-events: none; transition: .2s}
  #global_nav .nav_links {position: relative; width: 85%; height: auto; margin: 0 auto; text-align: left; font-size: 20px; line-height: 1.2em; letter-spacing: .05em}
  #global_nav .nav_links li {opacity: 0; transform: translateX(-50px); transition: .2s}
  #global_nav .nav_links li .nav_link, #global_nav .nav_links li .sub_nav_link {position: relative; display: block; font-weight: 700; color: var(--c_font_color); white-space: nowrap}
  #global_nav .nav_links li .nav_link {padding: .5em 0}
  #global_nav .nav_links li .nav_link.disactive {opacity: .5}
  #global_nav .nav_links li.sns_links {display: flex; justify-content: flex-start; align-items: flex-start; font-size: 20px; gap: .5em; padding: .8em 0}
  #global_nav .nav_links li .nav_link_icon {position: relative; display: inline-block; width: 2em; height: 2em; overflow: hidden}
  #global_nav .nav_links li .nav_link_icon img {display: block; width: 100%; height: auto; transition: .2s}
  #global_nav .nav_links li .nav_link_icon:hover img {opacity: .7}
  #global_nav.active {opacity: 1; visibility: visible; pointer-events: initial}
  #global_nav.active .nav_links li {opacity: 1; transform: translateX(0px)}
}

.nav_trigger_outer {display: none; position: fixed; top: 0px; right: 0px; width: 50px; height: 50px; cursor: pointer; border-radius: 9999px; z-index: var(--z_nav_trigger)}
.nav_trigger_outer .nav_trigger_bar {position: absolute; width: 50%; height: 24%; top: 50%; left: 50%; transform: translate(-50%, -50%); display: block; transition: .6s}
.nav_trigger_outer .nav_trigger_bar span {position: absolute; left: 50%; transform: translate(-50%, -50%) rotateZ(0deg); width: 100%; height: clamp(2px, .5vw, 3px); display: block; transition: .2s; background-color: var(--c_white); border-radius: 9999px}
.nav_trigger_outer .nav_trigger_bar span:nth-last-of-type(1) {top: 0%; width: 100%}
.nav_trigger_outer .nav_trigger_bar span:nth-last-of-type(2) {top: 50%; width: 100%}
.nav_trigger_outer .nav_trigger_bar span:nth-last-of-type(3) {top: 100%; width: 100%}
.nav_trigger_outer.type_text .nav_trigger_bar {height: 30%}
.nav_trigger_outer.type_text .nav_trigger_bar span:nth-last-of-type(1) {top: 0%}
.nav_trigger_outer.type_text .nav_trigger_bar span:nth-last-of-type(2) {top: 40%}
.nav_trigger_outer.type_text .nav_trigger_bar span:nth-last-of-type(3) {top: 100%; height: 40%; background: no-repeat center url(../images/template_parts/hbg_menu_text.svg); background-size: contain}
.nav_trigger_outer.active .nav_trigger_bar span:nth-last-of-type(1) {transform: translate(-50%, -50%) rotateZ(-135deg); top: 50%}
.nav_trigger_outer.active .nav_trigger_bar span:nth-last-of-type(2) {transform: translate(-50%, -50%) rotateZ(135deg); top: 50%}
.nav_trigger_outer.active .nav_trigger_bar span:nth-last-of-type(3) {opacity: 0}

@media only screen and (max-width: 835px) {
  .nav_trigger_outer {display: block; top: 3px; right: 5px}
}

footer {padding: 100px 20px; position: relative; z-index: 3; text-align: center; background: #ffffff45}
footer p a {color: #fff; text-decoration: underline; display: inline-block}

@media only screen and (max-width: 835px) {
  footer {padding: 60px 20px}
  footer p {line-height: 1.8em}
}

.cmn_modal_layer {position: fixed; top: 0px; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; z-index: var(--z_modal); opacity: 0; visibility: hidden; pointer-events: none}
.cmn_modal_layer .modal_bg {position: fixed; top: 0px; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, .7); opacity: 0; transition: .6s}
.cmn_modal_layer .modal_inner {position: absolute; width: auto; height: auto; top: 50%; left: 50%; transform: translateX(-50%) translateY(-50%); text-align: left; opacity: 0; transition: .6s}
.cmn_modal_layer .modal_inner img {width: auto; height: auto; max-width: min(1400px, 94vw); max-height: 75vh; cursor: initial}
.cmn_modal_layer .modal_inner img.img_mono_modal_content {width: auto !important; height: auto !important; cursor: initial !important}
.cmn_modal_layer .modal_inner .modal_youtube_video_box {width: min(1200px, 94vw); padding-top: min(90vh, 56.25%)}
.cmn_modal_layer .modal_inner .modal_youtube_video_box iframe {position: absolute; top: 0; left: 0; width: 100%; height: 100%}
.cmn_modal_layer .modal_inner .modal_youtube_video_box img {position: absolute; top: 0; left: 0; width: 100%; height: 100%; -o-object-fit: contain; object-fit: contain}
.cmn_modal_layer .modal_inner .modal_textbox {width: min(1000px, 94vw); height: 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)}
.cmn_modal_layer .modal_inner .modal_textbox.scrollable {overflow-x: hidden; overflow-y: scroll; overscroll-behavior: contain}
.cmn_modal_layer .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_02.svg"); background-size: contain; cursor: pointer}
.cmn_modal_layer.visible {opacity: 1; visibility: visible; pointer-events: auto}
.cmn_modal_layer.visible .modal_bg {opacity: 1}
.cmn_modal_layer.visible .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: .2s; pointer-events: none}
.cmn_slide_modal_layer .modal_inner.slide_modal_content_box .slide_modal_content.slide_visible {opacity: 1; visibility: visible; pointer-events: initial}
.cmn_slide_modal_layer .modal_prev_btn, .cmn_slide_modal_layer .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: .2s; -webkit-tap-highlight-color: rgba(0, 0, 0, 0)}
.cmn_slide_modal_layer .modal_prev_btn::before, .cmn_slide_modal_layer .modal_next_btn::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}
.cmn_slide_modal_layer .modal_prev_btn.disactive, .cmn_slide_modal_layer .modal_next_btn.disactive {opacity: .2; pointer-events: none}
.cmn_slide_modal_layer .modal_prev_btn {left: 0; border-top-right-radius: 10px; border-bottom-right-radius: 10px}
.cmn_slide_modal_layer .modal_prev_btn::before {transform: translate(-50%, -50%) scale(-1, 1)}
.cmn_slide_modal_layer .modal_prev_btn:hover {transform: translateY(-50%) translateX(-4px)}
.cmn_slide_modal_layer .modal_next_btn {right: 0; border-top-left-radius: 10px; border-bottom-left-radius: 10px}
.cmn_slide_modal_layer .modal_next_btn:hover {transform: translateY(-50%) translateX(4px)}

@media only screen and (max-width: 835px) {
  .slide_modal .modal_prev_btn, .slide_modal .modal_next_btn {width: 12%; height: 20vh; background-size: 30% auto}
  .slide_modal .modal_prev_btn {left: 0}
  .slide_modal .modal_next_btn {right: 0}
}

.cmn_img_mono_modal_trigger {cursor: pointer}

.cmn_schedule_grid {--main_bg_color: rgba(0, 0, 0, 0); --day_time_color: #fff; --grid_h_color: #191919; --saturday_color: #01618B; --sunday_color: #C1383A; --closed_day_color: #000; --font_color: #fff; --border_color: #1F316A; --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(--main_bg_color); overflow: hidden; grid-auto-flow: column; font-size: var(--font-size)}
.cmn_schedule_grid p {position: relative; display: block; margin-bottom: 0; display: flex; justify-content: center; align-items: center; flex-direction: column;font-size: 1.2em; font-weight: bold; line-height: 1.2em}
.cmn_schedule_grid p.grid_h {color: var(--grid_h_color)}
.cmn_schedule_grid p.day span {font-size: .7em}
.cmn_schedule_grid p.day::before {position: absolute; display: block; content: ""; height: calc(var(--grid_box_height)*var(--sc_time_num) - 0em); width: 0px; top: initial; right: initial; left: 50%; bottom: 0; transform: translateX(0%) translateY(100%); border-top: initial; border-right: 1px solid var(--border_color)}
.cmn_schedule_grid p.time::before {position: absolute; display: block; content: ""; height: 0px; width: calc(var(--grid_box_width)*var(--sc_day_num) - .5em); top: 50%; right: 0; transform: translateX(calc(100% + 0.5em)) translateY(-50%); border-top: 1px solid var(--border_color); opacity: .7}
.cmn_schedule_grid p.sat {color: var(--saturday_color)}
.cmn_schedule_grid p.sun {color: var(--sunday_color)}
.cmn_schedule_grid p.closed::after {position: absolute; display: block; content: ""; left: 50%; bottom: calc(var(--grid_box_height)*var(--sc_time_num)*.5*-1); width: 1.6em; height: calc(var(--grid_box_height)*var(--sc_time_num)*.8); 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: #BFEAF6; font-size: .9em; padding-right: .13em}

@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))}
  .cmn_schedule_grid p.day::before {position: absolute; display: block; content: ""; height: 0px; width: calc(var(--grid_box_width)*var(--sc_time_num) - .5em); left: initial; bottom: initial; top: 50%; right: 0; transform: translateX(calc(100% + 0em)) translateY(-50%); border-top: 1px solid var(--border_color); opacity: .7}
  .cmn_schedule_grid p.time::before {position: absolute; display: block; content: ""; height: calc(var(--grid_box_height)*var(--sc_day_num) + 1.5em); width: 0px; top: initial; right: initial; left: 50%; bottom: 0; transform: translateX(0%) translateY(calc(100% - 0.7em)); border-top: initial; border-right: 1px solid var(--border_color)}
  .cmn_schedule_grid p.closed::after {right: -1px; bottom: 9%; width: calc(var(--grid_box_width)*var(--sc_time_num) - 20%); min-height: 2em; height: 80%; transform: translateX(3em); writing-mode: initial}
}

#error_404 {padding: calc(var(--base_distance)*2) 0; text-align: center}
#error_404 p {color: var(--c_theme_color)}
#error_404 .title {font-size: 30px; line-height: 1em; margin-bottom: 1em}
#error_404 .text {margin-bottom: 3em}
#error_404 .link_flex {display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin: 0 auto}
#error_404 .error_toplink {position: relative; display: grid; width: min(230px, 70%); height: 60px; 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: .05em; margin: 0 auto; transition: .2s; border-radius: 5px}
#error_404 .error_toplink:hover {transform: translateY(-2px)}

.news_wrap .news {--news_gap: 20px}
.news_wrap .news .news_link {display: flex; border-bottom: 1px solid var(--c_font_color); color: var(--c_font_color); position: relative; gap: var(--news_gap); padding: 30px 0}
.news_wrap .news .news_link .date {width: 20%}
.news_wrap .news .news_link .news_title {width: calc(80% - var(--news_gap))}

@media screen and (max-width: 768px) {
  .news_wrap .news .news_link {flex-direction: column}
  .news_wrap .news .news_link .date {width: 100%}
  .news_wrap .news .news_link .news_title {width: 100%}
}

.pagination {position: relative; overflow: hidden; display: flex; margin: 30px auto; justify-content: center}
.pagination .page-numbers {border: 1px solid #ccc; margin-right: 8px; text-decoration: none; height: 40px; line-height: 40px; font-size: 14px; width: 40px; padding: 0 8px !important; text-align: center}
.pagination .page-numbers.current {color: #fff; background: #525252; border: none}
.pagination .page-numbers.dots {padding: 0 12px !important}
.pagination .page-numbers:last-child {margin-right: 0}
.pagination .page-numbers.next {width: 75px; line-height: 37px}
.pagination .page-numbers.prev {width: 75px; line-height: 37px}
.pagination a {color: #000}