:root { --main_distance: min(280px, 35vw); --main_gap: clamp(12px, 2vw, 20px); --wrap_width: 86%; --base_font_size: clamp(13px, 2vw, 15px); --base_line_height: 1.7em; --border_repeat_02_size: clamp(30px, 3vw, 40px); }
@media only screen and (max-width: 835px) {
  :root { --wrap_width: 90%; }
}
html.html_reset { margin: 0 !important; padding: 0 !important; }
body { position: relative; height: 100%; overflow-y: scroll; overflow-x: hidden; background-color: #fbfbfb; text-align: center; color: #0f131e; font-family: "Shippori Mincho", "Noto Sans JP", "Noto Sans", "メイリオ", "Meiryo",
    "MS PGothic", sans-serif; font-size: var(--base_font_size); font-optical-sizing: auto; font-weight: 600; line-height: var(--base_line_height); word-break: break-word; background: repeat top left url(../images/webp/bg_texture.webp); background-size: clamp(100px, 10vw, 250px); }
main { position: relative; overflow: clip; }
a { color: #318389; }
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; }
  }
}
.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; }
}

#loading { position: fixed; top: 0; left: 0; display: block; width: 100%; height: 100vh; height: 100svh; overflow: hidden; background: #0f131e repeat top left url(../images/webp/bg_texture_black.png); background-size: 150px; z-index: 20000;
  &.is_loaded { display: none; }
  .bg_star { position: absolute; display: block; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: max(800px, 120vw); height: auto; opacity: 0.1;
    span { display: block; width: 100%; height: auto;
      img { display: block; width: 100%; height: auto; }
    }
    &.num_1 {
      span { -webkit-animation: rotation 60s linear infinite; animation: rotation 60s linear infinite; }
    }
    &.num_2 {
      span { -webkit-animation: rotation_r 60s linear infinite; animation: rotation_r 60s linear infinite; }
    }
  }
  .logo { position: absolute; display: block; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: min(250px, 40%);
    span { display: block; width: 100%; height: auto; -webkit-perspective: 10px; perspective: 10px; -webkit-transform-style: preserve-3d; transform-style: preserve-3d; -webkit-animation: loading_logo_rotate 2s infinite; animation: loading_logo_rotate 2s infinite;
      img { display: block; width: 100%; height: auto; -webkit-backface-visibility: visible; backface-visibility: visible; }
    }
  }
  &.mode_live { background: #fbfbfb repeat top left url(../images/webp/bg_texture.webp); background-size: 100px;
    .bg_star { opacity: 0.2; }
    .logo { width: min(400px, 50%);
      span { -webkit-animation: none; animation: none; }
    }
  }
  &.open { -webkit-animation: fade_out 1.4s forwards; animation: fade_out 1.4s forwards; pointer-events: none; }
}
@media only screen and (max-width: 835px) {
  #loading {
    .bg_star { opacity: 0.3; }
  }
}
@-webkit-keyframes loading_logo_rotate {
  0% { -webkit-transform: rotateY(0deg); transform: rotateY(0deg); -webkit-filter: brightness(1); filter: brightness(1); }
  100% { -webkit-transform: rotateY(360deg); transform: rotateY(360deg); -webkit-filter: brightness(1); filter: brightness(1); }
}
@keyframes loading_logo_rotate {
  0% { -webkit-transform: rotateY(0deg); transform: rotateY(0deg); -webkit-filter: brightness(1); filter: brightness(1); }
  100% { -webkit-transform: rotateY(360deg); transform: rotateY(360deg); -webkit-filter: brightness(1); filter: brightness(1); }
}
.disactive { pointer-events: none; }
.scroll_bar_delete { -ms-overflow-style: none; scrollbar-width: none;
  &::-webkit-scrollbar { display: none; }
}
.wrap_500px { position: relative; margin: 0 auto; max-width: 500px; width: var(--wrap_width); }
.wrap_600px { position: relative; margin: 0 auto; max-width: 600px; width: var(--wrap_width); }
.wrap_700px { position: relative; margin: 0 auto; max-width: 700px; width: var(--wrap_width); }
.wrap_800px { position: relative; margin: 0 auto; max-width: 800px; width: var(--wrap_width); }
.wrap_900px { position: relative; margin: 0 auto; max-width: 900px; width: var(--wrap_width); }
.wrap_1000px { position: relative; margin: 0 auto; max-width: 1000px; width: var(--wrap_width); }
.wrap_1100px { position: relative; margin: 0 auto; max-width: 1100px; width: var(--wrap_width); }
.wrap_1200px { position: relative; margin: 0 auto; max-width: 1200px; width: var(--wrap_width); }
.wrap_1300px { position: relative; margin: 0 auto; max-width: 1300px; width: var(--wrap_width); }
.wrap_1400px { position: relative; margin: 0 auto; max-width: 1400px; width: var(--wrap_width); }
.wrap_1500px { position: relative; margin: 0 auto; max-width: 1500px; width: var(--wrap_width); }
.wrap_1600px { position: relative; margin: 0 auto; max-width: 1600px; width: var(--wrap_width); }
.wrap_1700px { position: relative; margin: 0 auto; max-width: 1700px; width: var(--wrap_width); }
.wrap_1800px { position: relative; margin: 0 auto; max-width: 1800px; width: var(--wrap_width); }

.cmn_in_page_main { position: relative; display: block; width: 100%; height: auto; padding: calc(var(--main_distance) * 0.7) 0 calc(var(--main_distance) * 0.8); }

@media only screen and (max-width: 835px) {
  .cmn_in_page_main { padding: calc(var(--main_distance) * 1) 0 calc(var(--main_distance) * 1); }
}
.cmn_top_section { position: relative; display: block; width: 100%; height: auto; padding: max(8vw, 80px) 0 max(8vw, 90px); }
.cmn_bg_layer { position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  img { display: block; width: 100%; height: auto; }
  &.type_1 { --corner_position: clamp(6px, 2vw, 20px);
    .bg_star { position: absolute; display: block; width: clamp(150px, 20vw, 330px); height: auto;
      &.tl { top: 0; left: 0; -webkit-transform: translate(-20%, -15%); transform: translate(-20%, -15%); }
      &.br { bottom: 0; right: 0; -webkit-transform: translate(20%, 15%) rotateZ(180deg); transform: translate(20%, 15%) rotateZ(180deg); }
    }
    .bg_corner { position: absolute; display: block; width: clamp(200px, 25vw, 520px); height: auto;
      &.tr { top: var(--corner_position); right: var(--corner_position); }
      &.bl { bottom: var(--corner_position); left: var(--corner_position); -webkit-transform: rotateZ(180deg); transform: rotateZ(180deg); }
    }
  }
  &.type_2 { border-top: 1px solid #b29b64; border-bottom: 1px solid #b29b64;
    .border_box { --border_box_size: clamp(35px, 4vw, 65px); position: absolute; display: block; left: 0; width: 100%; height: var(--border_box_size);
      &::before { position: absolute; display: block; content: ""; top: 0; width: calc(var(--border_box_size) * 1); height: 100%; background: no-repeat center url(../images/svg/bg_parts_type2_border_dia.svg); background-size: contain; }
      &.top { top: 0; border-bottom: 1px solid #b29b64; }
      &.top::before { right: calc(var(--border_box_size) * 0.5); }
      &.bottom { bottom: 0; border-top: 1px solid #b29b64; }
      &.bottom::before { left: calc(var(--border_box_size) * 0.5); }
    }
    .star { position: absolute; bottom: 35%; right: 15%; -webkit-transform: translate(50%, 50%) rotateZ(15deg); transform: translate(50%, 50%) rotateZ(15deg); width: min(700px, 60vw); height: auto; }
    .circle { position: absolute; display: block; width: clamp(120px, 40vw, 450px); height: auto;
      &.tr { top: 0; right: 0; }
      &.bl { bottom: 0; left: 0; -webkit-transform: rotateZ(180deg); transform: rotateZ(180deg); }
    }
  }
  &.type_in_page_bg { position: fixed; height: 100lvh; }
  .mode_black_bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #0f131e repeat top left url(../images/webp/bg_texture_black_l.png); background-size: 150px; }
}
.cmn_main_layer { position: relative; display: block; }
:root { --h_title_size: min(100px, 11vw); }
.cmn_h_title_box { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; width: var(--wrap_width); max-width: 1300px; margin: 0 auto; margin-bottom: calc(var(--h_title_size) * 0.3); z-index: 5;;

  .h_title_back { position: absolute; top: 0; left: 0; width: auto; height: calc(var(--h_title_size) * 3); -webkit-transform: translate(calc(var(--h_title_size) * -1), -45%); transform: translate(calc(var(--h_title_size) * -1), -45%);
    img { display: block; width: auto; height: 100%; max-width: initial; }
  }
  .h_title { position: relative; display: block; width: auto; /*height: var(--h_title_size);*/ margin-bottom: calc(var(--h_title_size) * 0.25); color: #b29b64; font-size: min(8.5vw, 150px); line-height: 1em; font-weight: 400;
    &::before { position: absolute; display: block; content: ""; top: 0; left: 0; width: calc(var(--h_title_size) * 2); height: calc(var(--h_title_size) * 2); -webkit-transform: translate(-55%, -55%); transform: translate(-55%, -55%); background: no-repeat bottom right url(../images/svg/h_title_parts_tl.svg); background-size: contain; }
    &::after { position: absolute; display: block; content: ""; bottom: 0; right: 0; width: calc(var(--h_title_size) * 0.9); height: calc(var(--h_title_size) * 0.9); -webkit-transform: translate(85%, 50%); transform: translate(85%, 50%); background: no-repeat top left url(../images/svg/h_title_parts_br.svg); background-size: contain; }
    img { display: block; width: auto; height: 100%; max-width: initial; }
    &.size_s { height: calc(var(--h_title_size) * 0.8); }
    &.size_2low { height: calc(var(--h_title_size) * 1.7); }
  }
  .h_title_sub { position: relative; display: block; width: auto; height: calc(var(--h_title_size) * 0.23); margin-bottom: 0;
    img { display: block; width: auto; height: 100%; max-width: initial; }
  }
  &.type_in_page_head { margin-bottom: calc(var(--h_title_size) * .75); }
}
@media only screen and (max-width: 835px) {
  .cmn_h_title_box { width: 82%;margin-bottom: calc(var(--h_title_size) * 0.5); 
    &.type_in_page_head { margin-bottom: calc(var(--h_title_size) * .5); }  
  }
}
.cmn_link_btn_outer { position: relative; display: block; width: 100%; height: auto; text-align: center; }
.cmn_link_btn_a { position: relative; display: inline-block; margin: 0 auto; height: auto; width: auto; min-width: min(360px, 90%); padding: 0 0.5em; line-height: 1.4em; color: #b29b64; font-size: clamp(16px, 5.5vw, 26px); text-decoration: initial !important; -webkit-transition: 0.2s; transition: 0.2s; text-align: center;
  &::before, &::after { position: absolute; display: block; content: ""; top: 0; width: 0.5em; height: 100%; background: no-repeat center right url(../images/svg/link_btn_side_l.svg); background-size: 100% 100%; }
  &::before { left: 1px; }
  &::after { right: 1px; -webkit-transform: scale(-1, 1); transform: scale(-1, 1); }
  span { position: relative; display: block; padding: 0.5em 1.8em 0.6em; background-color: #0f131e; border-top: 2px solid #b29b64; border-bottom: 2px solid #b29b64;
    &::before, &::after { position: absolute; display: block; content: ""; top: 0; width: 0.7em; height: 100%; background: no-repeat center url(../images/svg/parts_logo_crown_arrow_l.svg); background-size: contain; -webkit-transition: 0.2s; transition: 0.2s; }
    &::before { left: 0.2em; }
    &::after { right: 0.2em; -webkit-transform: scale(-1, 1); transform: scale(-1, 1); }
  }
  &:hover { color: #fbfbfb;
    span::before { -webkit-transform: translateX(-10%); transform: translateX(-10%); }
    span::after { -webkit-transform: translateX(10%) scale(-1, 1); transform: translateX(10%) scale(-1, 1); }
  }
  &.c_white { color: #0f131e;
    span { background-color: #fbfbfb; }
    &::before, &::after { background-image: url(../images/svg/link_btn_side_l_w.svg); }
  }
  &.c_white:hover { color: #b29b64; }
  &.small { min-width: min(260px, 100%); font-size: clamp(11px, 3.5vw, 21px); white-space: nowrap; }
  &.w_100 { width: 100%; }
  &.disactive { pointer-events: none; -webkit-filter: grayscale(1); filter: grayscale(1); opacity: 0.5; }
}
.cmn_inpage_anchor_links { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; gap: calc(var(--main_gap) * 0.5); -ms-flex-wrap: wrap; flex-wrap: wrap; margin-bottom: calc(var(--main_distance) * 0.3);
  .cmn_link_btn_a { margin: initial; }
}
.cmn_lang_switch { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; margin-bottom: calc(var(--main_gap) * 2);
  .switch_outer { position: relative; display: inline-block; margin-left: auto; width: auto; height: auto; gap: 0.4em; border: 1px solid #0f131e; border-radius: 9999px; padding: 0.3em; }
  .switch { display: inline-block; color: #0f131e; font-weight: bold; font-size: clamp(14px, 2vw, 16px); font-weight: bold; line-height: 1.4em; border-radius: 9999px; padding: 0.2em 1.5em 0.3em; -webkit-transition: 0.2s; transition: 0.2s;
    &.now, &:hover { background-color: #0f131e; color: #fff; }
  }
}
:root { --cmn_style_frame_01_size: clamp(10px, 2vw, 22px); }
.cmn_style_frame_01 { position: relative; display: block; padding: var(--cmn_style_frame_01_size);
  &::before, &::after { position: absolute; display: block; content: ""; width: min(var(--cmn_style_frame_01_size) * 10, 80%); height: 100%; background: no-repeat top left url(../images/svg/frame_parts_01_tl.svg); background-size: contain; pointer-events: none; }
  &::before { top: 0; left: 0; }
  &::after { bottom: 0; right: 0; -webkit-transform: rotateZ(180deg); transform: rotateZ(180deg); }
}
.cmn_section_border_01 { position: relative; display: block; height: 1px; background-color: #b29b64;
  span { position: absolute; display: block; width: 100%; bottom: 0; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); height: calc(var(--over_frame_corner_parts_size) / 2); background: no-repeat bottom center
    url(../images/svg/parts_section_border_crown.svg); background-size: contain; }
  &::before, &::after { position: absolute; display: block; content: ""; top: 50%; width: 6px; height: 6px; background-color: #318389; border: 1px solid #b29b64; }
  &::before { left: 0; -webkit-transform: translate(-50%, -50%) rotateZ(45deg); transform: translate(-50%, -50%) rotateZ(45deg); }
  &::after { right: 0; -webkit-transform: translate(50%, -50%) rotateZ(-45deg); transform: translate(50%, -50%) rotateZ(-45deg); }
  &.mb_01 { margin-bottom: calc(var(--main_distance) * 0.4); }
}
.fixed_ticket_link { --fixed_ticket_link_size: clamp(110px, 16vw, 220px); position: fixed; z-index: 9997; bottom: 0; right: 0; width: var(--fixed_ticket_link_size); height: var(--fixed_ticket_link_size); cursor: pointer; -webkit-transform: translate(5%, 8%); transform: translate(5%, 8%); -webkit-filter: drop-shadow(0 4px 0 #0f131e); filter: drop-shadow(0 4px 0 #0f131e); -webkit-transition: 0.2s; transition: 0.2s;
  img { position: relative; display: block; width: 100%; height: auto; }
  .ring { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none;
    &::after { position: absolute; display: block; content: ""; top: 0; left: 0; width: 100%; height: 100%; background: no-repeat center url(../images/svg/link_btn_live_ticket_ring.svg); background-size: contain; -webkit-animation: rotation 120s linear infinite; animation: rotation 120s linear infinite; }
  }
  .stamp { position: absolute; display: block; top: 0; left: 0; width: calc(var(--fixed_ticket_link_size) * 0.22); height: calc(var(--fixed_ticket_link_size) * 0.22); background: no-repeat center url(../images/webp/news_stamp.webp); background-size: contain; -webkit-transform: translate(5%, 40%) rotateZ(-20deg); transform: translate(5%, 40%) rotateZ(-20deg); }
  &:hover { -webkit-transform: translate(3%, 4%); transform: translate(3%, 4%); }
  &.fv_scroll_hide { opacity: 0; visibility: hidden; -webkit-transform: translate(8%, 12%); transform: translate(8%, 12%); }
  &.fv_scroll_hide.fv_scroll_show { opacity: 1; visibility: visible; -webkit-transform: translate(5%, 8%); transform: translate(5%, 8%); }
}
.cmn_live_in_page_foot_links { position: relative; display: block; width: 100%; height: auto; padding: calc(var(--main_distance) * 0.4) 0 0;
  .in_page_links { display: -webkit-box; display: -ms-flexbox; display: flex; width: 100%; height: auto; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; gap: calc(var(--main_gap) * 0.5); margin: 0 auto calc(var(--main_gap) * 1); -ms-flex-wrap: wrap; flex-wrap: wrap;
    .cmn_link_btn_a { width: calc((100% - var(--main_gap) * 0.5 * 2) / 3); font-size: clamp(18px, 6.5vw, 32px); }
  }
  .top_page_links { display: -webkit-box; display: -ms-flexbox; display: flex; width: 80%; height: auto; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; gap: calc(var(--main_gap) * 0.5); margin: 0 auto; -ms-flex-wrap: wrap; flex-wrap: wrap;
    .cmn_link_btn_a { width: calc((100% - var(--main_gap) * 0.5 * 1) / 2); }
  }
}
@media only screen and (max-width: 835px) {
  .cmn_live_in_page_foot_links {
    .top_page_links { width: 100%; }
  }
}
.cmn_accordion_box {
  .cmn_accordion_trigger { cursor: pointer; }
  .cmn_accordion_content { overflow: hidden; height: 0; -webkit-transition: 0.4s ease; transition: 0.4s ease;
    &.accordion_open { height: auto; }
  }
}
.cmn_write_box_outer { position: relative; display: block; padding: calc(var(--main_gap) * 2.5) calc(var(--main_gap) * 1.5); margin-bottom: calc(var(--main_gap) * 2); background-color: #fbfbfb; border: 1px solid #b29b64; }
@media only screen and (max-width: 835px) {
  .cmn_write_box_outer { padding: calc(var(--main_gap) * 2.5) calc(var(--main_gap) * 1.5); }
}
.cmn_write_box { position: relative; text-align: left; font-size: clamp(14px, 2vw, 16px); line-height: 1.5em; width: 100%;
  .title_box { position: relative; display: block; padding-bottom: calc(clamp(19px, 2vw, 23px) * 0.8); margin-bottom: 2em; border-bottom: 4px double #b29b64; color: #318389; }
  .date { font-size: clamp(12px, 2vw, 14px); line-height: 1.4em; font-weight: bold; margin-bottom: 0.7em; letter-spacing: 0.1em; }
  .title { position: relative; display: block; width: 100%; font-size: clamp(19px, 2vw, 23px); line-height: 1.4em; font-weight: bold; }
  .border_box { position: relative; display: block; width: 100%; height: auto; background-color: #000; border: 1px solid #b29b64; padding: min(var(--main_gap) * 2, 5vw) min(var(--main_gap) * 2, 4vw); margin-bottom: 1.5em; }
  iframe { width: 100%; height: auto; aspect-ratio: 16/9; }
  figure { margin-bottom: 14px; }
  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; -webkit-transform: translateY(0.3em) scale(0.4); transform: translateY(0.3em) scale(0.4); background-color: #0f131e; border-radius: 9999px; }
      &:last-of-type { margin-bottom: 0; }
    }
  }
  hr { border-top: 1px solid #b29b64; border-right: none; border-bottom: none; border-left: none; margin-bottom: 3.5em; margin-top: 3.5em; }
  strong { font-weight: 900; color: #b29b64; }
  .youtube_iframe_outer { position: relative; display: block; width: 100%; padding-top: 56.25%; margin-bottom: 1em; overflow: hidden;
    iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
  }
  &.single {
    h2 { 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: 2.6em; line-height: 1.4em; border-bottom: 1px solid #b29b64; border-style: dashed; border-top: none; border-left: none; border-right: none; color: #0f131e;
      &::before { position: absolute; display: block; content: ""; left: 0; top: 0.5em; width: 0.5em; height: 0.5em; background-color: #b29b64; -webkit-transform: rotateZ(45deg); transform: rotateZ(45deg); }
    }
    h3 { 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 #0f131e; color: #0f131e; }
    h4 { position: relative; display: block; margin-top: 1.2em; margin-bottom: 0.2em; line-height: 1.4em; font-weight: bold; font-size: 1.1em; color: #0f131e; padding-left: 1em;
      &::before { position: absolute; display: block; content: ""; left: 0; top: 0.4em; width: 0.6em; height: 0.6em; background-color: #b29b64; -webkit-clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%); clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%); }
    }
  }
  &.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: 2.6em; line-height: 1.4em; border-bottom: 1px solid #b29b64; border-style: dashed; border-top: none; border-left: none; border-right: none; color: #0f131e;
      &::before { position: absolute; display: block; content: ""; left: 0; top: 0.5em; width: 0.5em; height: 0.5em; background-color: #b29b64; -webkit-transform: rotateZ(45deg); transform: rotateZ(45deg); }
    }
    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 #0f131e; color: #0f131e; }
    h5 { position: relative; display: block; margin-top: 1.2em; margin-bottom: 0.2em; line-height: 1.4em; font-weight: bold; font-size: 1.1em; color: #0f131e; padding-left: 1em;
      &::before { position: absolute; display: block; content: ""; left: 0; top: 0.4em; width: 0.6em; height: 0.6em; background-color: #b29b64; -webkit-clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%); clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%); }
    }
  }
}
.cmn_notes_box { position: relative; display: block; height: auto; padding: calc(var(--main_distance) / 4); margin: 0 auto 2em; text-align: left; line-height: 1.6em; background-color: #0f131e; border: 2px solid #b29b64;
  &.simple { border: none; border-top: 1px solid #b29b64; border-bottom: 1px solid #b29b64; padding: calc(var(--main_distance) / 4) 0.5em; background-color: rgba(0, 0, 0, 0); }
  &.margin_bottom { margin-bottom: calc(var(--main_distance) / 2.5); }
}
@media only screen and (max-width: 835px) {
  .cmn_notes_box { padding: calc(var(--main_distance) / 3) calc(var(--main_distance) / 3); }
}
ul.cmn_list_circle {
  li { position: relative; display: block; margin-bottom: 0.5em; padding-left: 1.2em;
    &:last-of-type { margin-bottom: 0; }
    &::before { position: absolute; display: block; content: ""; top: 0; left: 0; width: 1em; height: 1em; -webkit-transform: translateY(0.3em) scale(0.4); transform: translateY(0.3em) scale(0.4); background-color: #0f131e; border-radius: 9999px; }
  }
}
ul.cmn_list_kome {
  li { position: relative; display: block; margin-bottom: 0.5em; padding-left: 1.2em;
    &:last-of-type { margin-bottom: 0; }
    padding-left: 1.2em; font-size: 0.9em; line-height: 1.4em;
    &::before { position: absolute; display: block; content: ""; content: "※"; top: 0; left: 0; width: 1em; height: 1em; -webkit-transform: translateY(0em); transform: translateY(0em); color: #0f131e; background: initial; }
  }
}
ul.cmn_list_asterisk {
  ul.cmn_list_underline {
    li { position: relative; display: block; margin-bottom: 0.5em; padding-left: 1.2em;
      &:last-of-type { margin-bottom: 0; }
    }
  }
  li { padding-left: 0.8em; font-size: 0.9em; line-height: 1.4em;
    &::before { position: absolute; display: block; content: ""; content: "*"; top: 0; left: 0; width: 1em; height: 1em; -webkit-transform: translateY(0em); transform: translateY(0em); color: #0f131e; background: initial; }
  }
}
ul.cmn_list_underline {
  li { line-height: 1.4em; border-bottom: 1px solid #0f131e; 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; -webkit-transform: translateY(1.1em) scale(0.4); transform: translateY(1.1em) scale(0.4); background-color: #0f131e; border-radius: 9999px; }
  }
}
header {
  .header_logo { --header_logo_size: min(200px, 30vw); position: fixed; z-index: 9997; top: 0; left: 0; width: var(--header_logo_size); height: var(--header_logo_size); -webkit-transform: translate(-22%, -30%); transform: translate(-22%, -30%); -webkit-transition: 0.2s; transition: 0.2s;
    &::before { position: absolute; display: block; content: ""; top: 0; left: 0; width: 100%; height: 100%; background: no-repeat center url(../images/webp/header_logo_frame.webp); background-size: contain; -webkit-animation: rotation 60s linear infinite; animation: rotation 60s linear infinite; }
    img { position: absolute; display: block; top: 50%; left: 50%; width: 54%; height: auto; -webkit-transform: translate(-42%, -30%); transform: translate(-42%, -30%); }
    &:hover { -webkit-transform: translate(-22%, -31%); transform: translate(-22%, -31%); }
  }
}
#global_nav { --nav_padding: clamp(36px, 13vw, 80px); position: fixed; z-index: 9998; right: 0; top: 0; display: grid; place-items: center; width: auto; height: 100dvh; padding: var(--nav_padding); padding-right: calc(var(--nav_padding) * 1.5); -webkit-transform: translateX(100%); transform: translateX(100%); pointer-events: none; background-color: #0f131e; background: #0f131e repeat top left url(../images/webp/bg_texture_black.png); background-size: 150px; -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.22, 1, 0.36, 1); transition: -webkit-transform 0.4s cubic-bezier(0.22, 1, 0.36, 1); transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1); transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  &::before { position: absolute; display: block; content: ""; top: 0; left: 0; width: clamp(11px, 2vw, 13px); height: 100%; background: repeat-y left center url(../images/svg/border_repeat_01_v.svg); background-size: contain; }
  .page_links { position: relative; text-align: left;
    li {
      a { position: relative; display: block; font-family: "Libre Bodoni", "Shippori Mincho", "Noto Sans JP", "Noto Sans", "メイリオ",
    "Meiryo", "MS PGothic", sans-serif; font-size:2.5vh; line-height: 2.5em; color: #b29b64; white-space: nowrap; padding-left: 1.2em; letter-spacing: 0.1em; -webkit-transform: translateX(30%); transform: translateX(30%); opacity: 0; -webkit-transition: 0.4s cubic-bezier(0.22, 1, 0.36, 1); transition: 0.4s cubic-bezier(0.22, 1, 0.36, 1);

        &::before { position: absolute; display: block; content: ""; top: 47%; left: 0.55em; width: 0.2em; height: 0.2em; background-color: #318389; border: 1px solid #b29b64; opacity: 1; -webkit-transform: translate(0, -50%) rotateZ(45deg); transform: translate(0, -50%) rotateZ(45deg); -webkit-transition: 0.2s ease; transition: 0.2s ease; }
        &::after { position: absolute; display: block; content: ""; top: 47%; left: 0; width: 0.7em; height: 100%; background: no-repeat center url(../images/svg/parts_logo_crown_arrow_r.svg); background-size: 100% auto; opacity: 0; -webkit-transform: translate(0, -50%); transform: translate(0, -50%); -webkit-transition: 0.2s ease; transition: 0.2s ease; }
        &:hover::before { -webkit-transform: translate(150%, -50%) rotateZ(45deg); transform: translate(150%, -50%) rotateZ(45deg); opacity: 0; }
        &:hover::after { -webkit-transform: translate(15%, -50%); transform: translate(15%, -50%); opacity: 1; }
      }
    }
    .sub_page_links { padding-left: calc(clamp(24px, 8vw, 36px) * 1);
      li {
        a { font-size: calc(clamp(24px, 8vw, 36px) * 0.7); line-height: calc(clamp(1.6em, 10vh, 2.2em) * 0.8);
          &::before { top: 45%; left: 0.25em; width: 0.5em; height: 3px; -webkit-transform: translate(0, -50%) rotateZ(0); transform: translate(0, -50%) rotateZ(0); }
        }
      }
    }
  }
  &.active { -webkit-transform: translateX(0); transform: translateX(0); pointer-events: initial;
    .page_links {
      li {
        a { -webkit-transform: translateX(0); transform: translateX(0); opacity: 1; }
        &:nth-of-type(1) {
          a { -webkit-transition-delay: calc(1 * 0.05s + 0.05s); transition-delay: calc(1 * 0.05s + 0.05s); }
        }
        &:nth-of-type(2) {
          a { -webkit-transition-delay: calc(2 * 0.05s + 0.05s); transition-delay: calc(2 * 0.05s + 0.05s); }
        }
        &:nth-of-type(3) {
          a { -webkit-transition-delay: calc(3 * 0.05s + 0.05s); transition-delay: calc(3 * 0.05s + 0.05s); }
        }
        &:nth-of-type(4) {
          a { -webkit-transition-delay: calc(4 * 0.05s + 0.05s); transition-delay: calc(4 * 0.05s + 0.05s); }
        }
        &:nth-of-type(5) {
          a { -webkit-transition-delay: calc(5 * 0.05s + 0.05s); transition-delay: calc(5 * 0.05s + 0.05s); }
        }
        &:nth-of-type(6) {
          a { -webkit-transition-delay: calc(6 * 0.05s + 0.05s); transition-delay: calc(6 * 0.05s + 0.05s); }
        }
        &:nth-of-type(7) {
          a { -webkit-transition-delay: calc(7 * 0.05s + 0.05s); transition-delay: calc(7 * 0.05s + 0.05s); }
        }
        &:nth-of-type(8) {
          a { -webkit-transition-delay: calc(8 * 0.05s + 0.05s); transition-delay: calc(8 * 0.05s + 0.05s); }
        }
        &:nth-of-type(9) {
          a { -webkit-transition-delay: calc(9 * 0.05s + 0.05s); transition-delay: calc(9 * 0.05s + 0.05s); }
        }
        &:nth-of-type(10) {
          a { -webkit-transition-delay: calc(10 * 0.05s + 0.05s); transition-delay: calc(10 * 0.05s + 0.05s); }
        }
      }
    }
  }
}
:root { --nav_trigger_size: clamp(60px, 10vw, 90px); }
.nav_trigger_outer { display: block; position: fixed; top: calc(var(--over_frame_inner_border_padding) * 2); right: calc(var(--over_frame_inner_border_padding) * 2); width: var(--nav_trigger_size); height: var(--nav_trigger_size); cursor: pointer; border-radius: 9999px; z-index: 9999;
  .bg { position: absolute; display: block; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: 100%; height: 100%; pointer-events: none;
    &::before { position: absolute; display: block; content: ""; top: 0; left: 0; width: 100%; height: 100%; background: no-repeat center url(../images/svg/nav_trigger_bg.svg); background-size: contain; }
  }
  .nav_trigger_bar { position: absolute; width: 50%; height: 30%; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); display: block; -webkit-transition: 0.6s; transition: 0.6s;
    span { position: absolute; left: 50%; -webkit-transform: translate(-50%, -50%) rotateZ(0deg); transform: translate(-50%, -50%) rotateZ(0deg); width: 100%; height: clamp(2px, 0.5vw, 3px); display: block; -webkit-transition: 0.2s; transition: 0.2s; background-color: #fff; border-radius: 9999px;
      &:nth-last-of-type(1) { top: 0%; width: 100%; }
      &:nth-last-of-type(2) { top: 40%; width: 100%; }
      &:nth-last-of-type(3) { top: 100%; width: 100%; height: 40%; background: no-repeat center url(../images/text/nav_trigger_menu.svg); background-size: contain; }
    }
  }
  &.active {
    .nav_trigger_bar {
      span:nth-last-of-type(1) { -webkit-transform: translate(-50%, -50%) rotateZ(-135deg); transform: translate(-50%, -50%) rotateZ(-135deg); top: 50%; }
      span:nth-last-of-type(2) { -webkit-transform: translate(-50%, -50%) rotateZ(135deg); transform: translate(-50%, -50%) rotateZ(135deg); top: 50%; }
      span:nth-last-of-type(3) { opacity: 0; }
    }
  }
}
footer { position: relative; padding: calc(var(--main_distance) * 0.5) 0; text-align: center; background-color: #0f131e;
  &::after { position: absolute; display: block; content: ""; top: 0; left: 0; width: 100%; height: var(--border_repeat_02_size); background: repeat-x center url(../images/svg/border_repeat_02_h_bottom.svg); background-size: contain; -webkit-transform: translateY(calc(-100% + 1px)); transform: translateY(calc(-100% + 1px)); }
  .links_outer { margin-bottom: calc(var(--main_distance) / 4); }
  .link_flex { display: -webkit-box; display: -ms-flexbox; display: flex; width: 100%; margin: 0 auto; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin-bottom: 2em; -ms-flex-wrap: wrap; flex-wrap: wrap; gap: 12px 3%;
    a { display: block; width: min(180px, 40%); height: auto; margin: 0; -webkit-transition: 0.2s; transition: 0.2s;
      img { width: 100%; height: auto; }
      &:hover { -webkit-transform: translateY(-2px); transform: translateY(-2px); -webkit-filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0.2)); filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0.2)); }
    }
    &.large {
      a { width: min(210px, 48.5%); }
    }
    &.medium {
      a { width: min(180px, 40%); }
    }
    &.small {
      a { width: min(150px, 30%); }
    }
    &.margin_b_0 { margin-bottom: 0; }
  }
  .sponsor { margin-bottom: 2em;
    .link_flex { margin-bottom: 0; }
    p { font-size: clamp(14px, 2vw, 16px); color: #fbfbfb; letter-spacing: 0.1em; }
  }
  .footer_subsection_title { position: relative; display: inline-block; font-size: clamp(18px, 2vw, 26px); line-height: 1.4em; margin-bottom: 0.6em; font-weight: bold; letter-spacing: 0.05em;
    &::before, &::after { position: absolute; display: block; content: ""; top: 50%; width: min(6em, 20vw); height: 1px; background-color: #fff; }
    &::before { left: -1em; -webkit-transform: translateX(-100%); transform: translateX(-100%); }
    &::after { right: -1em; -webkit-transform: translateX(100%); transform: translateX(100%); }
  }
  p { color: #fbfbfb; font-size: 14px; margin-bottom: 0.6em; font-weight: 500; }
  .copywrite { display: inline-block; font-family: YakuHanJP, "Noto Sans JP", "Noto Sans", "メイリオ", "Meiryo", "MS PGothic",
    sans-serif; color: #fbfbfb; font-size: 12px; margin-bottom: 0; letter-spacing: 0.1em; }
}
@media only screen and (max-width: 835px) {
  footer { padding: calc(var(--main_distance) * 1) 0;
    .links_outer { margin-bottom: calc(var(--main_distance) / 2); }
    .sponsor {
      .link_flex { margin-bottom: calc(var(--main_distance) / 2); }
    }
  }
}
.share { width: min(1000px, 100%); margin: 0 auto calc(var(--main_distance) / 4);
  .share_box {
    .title { font-size: clamp(28px, 2vw, 32px); letter-spacing: 0.05em; line-height: 1em; margin-bottom: 1em; color: #fff;
      img { display: inline-block; width: min(200px, 30%); height: auto; }
    }
    .tweet_btn { position: relative; display: block; width: 90%; max-width: 380px; margin: 0 auto; margin-bottom: 1.4em; -webkit-transition: 0.2s; transition: 0.2s;
      &:hover { -webkit-transform: translateY(-3px); transform: translateY(-3px); }
      img { width: 100%; height: auto; }
    }
    .sns_flex { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;
      a { display: block; width: 50px; margin-right: 20px; -webkit-transition: 0.2s; transition: 0.2s;
        &:last-of-type { margin-right: 0; }
        &:hover { -webkit-transform: translateY(-3px); transform: translateY(-3px); }
        img { width: 100%; height: auto; }
      }
    }
  }
}
@media only screen and (max-width: 835px) {
  .share { margin-bottom: calc(var(--main_distance) / 2);
    .share_box:last-of-type { margin-bottom: 0; }
    .share_box {
      .title { margin-bottom: 0.8em; }
      .sns_flex {
        a { width: 50px; }
      }
    }
  }
}
:root { --over_frame_outer_border_size: 5px; --over_frame_inner_border_padding: 8px; --over_frame_corner_parts_size: clamp(20px, 2vw, 30px); }
#over_frame { position: relative; z-index: 9996; pointer-events: none;
  span { position: fixed; display: block; }
  .outer_borders {
    span { background-color: #b29b64;
      &:nth-of-type(1) { width: 100%; height: var(--over_frame_outer_border_size); top: 0; left: 0; }
      &:nth-of-type(2) { width: var(--over_frame_outer_border_size); height: 110lvh; top: 0; right: 0; }
      &:nth-of-type(3) { width: 100%; height: var(--over_frame_outer_border_size); bottom: 0; left: 0; }
      &:nth-of-type(4) { width: var(--over_frame_outer_border_size); height: 110lvh; top: 0; left: 0; }
    }
  }
  .inner_borders {
    span { background-color: #b29b64;
      &:nth-of-type(1) { width: 100%; height: 1px; top: var(--over_frame_inner_border_padding); left: 0; }
      &:nth-of-type(2) { width: 1px; height: 110lvh; top: 0; right: var(--over_frame_inner_border_padding); }
      &:nth-of-type(3) { width: 100%; height: 1px; bottom: var(--over_frame_inner_border_padding); left: 0; }
      &:nth-of-type(4) { width: 1px; height: 110lvh; top: 0; left: var(--over_frame_inner_border_padding); }
    }
  }
  .corner_rects {
    span { background-color: #b29b64; width: var(--over_frame_inner_border_padding); height: var(--over_frame_inner_border_padding);
      &:nth-of-type(1) { top: 0; left: 0; }
      &:nth-of-type(2) { top: 0; right: 0; }
      &:nth-of-type(3) { bottom: 0; right: 0; }
      &:nth-of-type(4) { bottom: 0; left: 0; }
    }
  }
  .corner_parts {
    span { background: no-repeat top left url(../images/svg/over_frame_corner_tl.svg); background-size: contain; width: var(--over_frame_corner_parts_size); height: var(--over_frame_corner_parts_size);
      &:nth-of-type(1) { top: var(--over_frame_inner_border_padding); left: var(--over_frame_inner_border_padding); }
      &:nth-of-type(2) { top: var(--over_frame_inner_border_padding); right: var(--over_frame_inner_border_padding); -webkit-transform: rotateZ(90deg); transform: rotateZ(90deg); }
      &:nth-of-type(3) { bottom: var(--over_frame_inner_border_padding); right: var(--over_frame_inner_border_padding); -webkit-transform: rotateZ(180deg); transform: rotateZ(180deg); }
      &:nth-of-type(4) { bottom: var(--over_frame_inner_border_padding); left: var(--over_frame_inner_border_padding); -webkit-transform: rotateZ(270deg); transform: rotateZ(270deg); }
    }
  }
  .side_parts {
    span { background: no-repeat left center url(../images/svg/over_frame_side_l.svg); background-size: contain; width: calc(var(--over_frame_corner_parts_size) / 2); height: 50vh;
      &:nth-of-type(1) { top: 50%; left: var(--over_frame_inner_border_padding); -webkit-transform: translateY(-50%); transform: translateY(-50%); }
      &:nth-of-type(2) { top: 50%; right: var(--over_frame_inner_border_padding); -webkit-transform: translateY(-50%) scale(-1, 1); transform: translateY(-50%) scale(-1, 1); }
    }
  }
}
@media only screen and (max-width: 835px) {
  #over_frame { --over_frame_outer_border_size: 2px; --over_frame_inner_border_padding: 3px;
    .side_parts {
      span { width: calc(var(--over_frame_corner_parts_size) / 3); display: none; }
    }
  }
}
.cmn_modal_layer { --modal_btn_size: clamp(50px, 5vw, 70px); position: fixed; top: 0px; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; z-index: 11000; opacity: 0; visibility: hidden; pointer-events: none; -webkit-transition: 0.2s; transition: 0.2s;
  .modal_bg { position: fixed; top: 0px; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); opacity: 0; -webkit-transition: 0.8s; transition: 0.8s; }
  .modal_inner { position: absolute; width: auto; height: auto; top: 50%; left: 50%; -webkit-transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%); text-align: left;
    img { width: auto; height: auto; max-width: min(1400px, 94vw); max-height: 75vh; }
    .modal_youtube_video_box { width: min(1200px, 94vw); padding-top: min(90vh, 56.25%);
      iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
      img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; -o-object-fit: contain; object-fit: contain; }
    }
    .modal_textbox { width: min(1000px, 94vw); height: 75vh; background-color: #fff; color: #000; padding: clamp(12px, 4vw, 50px); text-align: left; overflow: hidden; font-size: clamp(13px, 2vw, 16px);
      &.scrollable { overflow-x: hidden; overflow-y: scroll; -ms-scroll-chaining: none; overscroll-behavior: contain; }
    }
  }
  .modal_close_btn { position: absolute; top: calc(var(--over_frame_inner_border_padding) * 2); right: calc(var(--over_frame_inner_border_padding) * 2); width: var(--nav_trigger_size); height: var(--nav_trigger_size); background: no-repeat center url("../images/svg/modal_close_btn.svg"); background-size: contain; cursor: pointer; }
  &.visible { opacity: 1; visibility: visible; pointer-events: auto;
    .modal_bg { 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%; -webkit-transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%); opacity: 0; visibility: hidden; -webkit-transition: 0.2s; transition: 0.2s; pointer-events: none;
      &.slide_visible { opacity: 1; visibility: visible; pointer-events: initial; }
    }
  }
  .modal_prev_btn { position: absolute; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); height: min(270px, 25vh); width: min(80px, 10vw); background-color: #0f131e; cursor: pointer; -webkit-transition: 0.2s; transition: 0.2s; -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    &::before { position: absolute; display: block; content: ""; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: 40%; height: 100%; background: no-repeat center
    url(../images/svg/cmn_parts/icon_arrow_slidemodal_03.svg); background-size: contain; -webkit-transform: translate(-50%, -50%) scale(-1, 1); transform: translate(-50%, -50%) scale(-1, 1); }
    &.disactive { opacity: 0.2; pointer-events: none; }
    &:focus { outline: none; }
    left: 0; border-top-right-radius: 10px; border-bottom-right-radius: 10px;
    &:hover { -webkit-transform: translateY(-50%) translateX(-4px); transform: translateY(-50%) translateX(-4px); }
  }
  .modal_next_btn { position: absolute; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); height: min(270px, 25vh); width: min(80px, 10vw); background-color: #0f131e; cursor: pointer; -webkit-transition: 0.2s; transition: 0.2s; -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    &::before { position: absolute; display: block; content: ""; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: 40%; height: 100%; background: no-repeat center
    url(../images/svg/cmn_parts/icon_arrow_slidemodal_03.svg); background-size: contain; }
    &.disactive { opacity: 0.2; pointer-events: none; }
    &:focus { outline: none; }
    right: 0; border-top-left-radius: 10px; border-bottom-left-radius: 10px;
    &:hover { -webkit-transform: translateY(-50%) translateX(4px); transform: translateY(-50%) translateX(4px); }
  }
}
@media only screen and (max-width: 835px) {
  .slide_modal {
    .modal_prev_btn { width: 12%; height: 20vh; background-size: 30% auto; left: 0; }
    .modal_next_btn { width: 12%; height: 20vh; background-size: 30% auto; right: 0; }
  }
}
.cmn_schedule_grid { --main_bg_color: #464646; --day_time_bg_color: #252525; --grid_h_bg_color: #191919; --saturday_bg_color: #004964; --sunday_bg_color: #820000; --closed_day_bg_color: #9b9b9b; --font_color: #fff; --border_color: #191919; position: relative; display: grid; width: 100%; grid-template-columns: repeat(
    var(--sc_col_num),
    calc(100% / var(--sc_col_num))
  ); grid-template-rows: repeat(var(--sc_row_num), 4em); background-color: var(--main_bg_color); overflow: hidden; grid-auto-flow: column; font-size: clamp(14px, 2vw, 18px);
  &::before { position: absolute; display: block; content: ""; top: 0; right: 0; width: 1px; height: 100%; background-color: var(--border_color); z-index: 2; }
  &::after { position: absolute; display: block; content: ""; bottom: 0; left: 0; width: 100%; height: 1px; background-color: var(--border_color); z-index: 2; }
  p { position: relative; display: block; margin-bottom: 0; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; font-weight: bold; border-top: 1px solid var(--border_color); border-left: 1px solid var(--border_color); color: var(--font_color); line-height: 1.2em;
    &.grid_h { background-color: var(--grid_h_bg_color); }
    &.day, &.time { background-color: var(--day_time_bg_color); }
    &.sat { background-color: var(--saturday_bg_color); }
    &.sat::after { position: absolute; display: block; content: ""; right: 0; bottom: 0; background-color: var(--saturday_bg_color); width: 100%; height: calc(100% * var(--sc_time_num) + 1px * var(--sc_time_num)); -webkit-transform: translateY(100%); transform: translateY(100%); opacity: 0.4; }
    &.sun { background-color: var(--sunday_bg_color); }
    &.sun::after { position: absolute; display: block; content: ""; right: 0; bottom: 0; background-color: var(--sunday_bg_color); width: 100%; height: calc(100% * var(--sc_time_num) + 1px * var(--sc_time_num)); -webkit-transform: translateY(100%); transform: translateY(100%); opacity: 0.4; }
    &.closed::after { position: absolute; display: block; content: ""; right: 0; bottom: -1px; background-color: var(--closed_day_bg_color); width: 100%; height: calc(100% * var(--sc_time_num) + 1px * var(--sc_time_num)); -webkit-transform: translateY(100%); transform: translateY(100%); opacity: 1; z-index: 1; content: "休演日"; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; display: grid; place-items: center; color: #fbfbfb; }
  }
}
@media only screen and (max-width: 835px) {
  .cmn_schedule_grid { grid-auto-flow: row; grid-template-columns: repeat(
      var(--sc_row_num),
      calc(100% / var(--sc_row_num))
    ); grid-template-rows: repeat(var(--sc_col_num), 4em);
    p.sat::after { height: 100%; width: calc(100% * var(--sc_time_num) + 1px * var(--sc_time_num)); -webkit-transform: translateX(100%); transform: translateX(100%); }
    p.sun::after { height: 100%; width: calc(100% * var(--sc_time_num) + 1px * var(--sc_time_num)); -webkit-transform: translateX(100%); transform: translateX(100%); }
    p.closed::after { right: -1px; bottom: 0; width: calc(100% * var(--sc_time_num) + 1px * var(--sc_time_num)); height: 100%; -webkit-transform: translateX(100%); transform: translateX(100%); -webkit-writing-mode: initial; -ms-writing-mode: initial; writing-mode: initial; }
  }
}
#error_404 { padding: calc(var(--main_distance) * 2) 0;
  .container_s {
    p { color: #b29b64; }
    .stit { font-size: 26px; line-height: 1em; margin-bottom: 1em; }
    .text { margin-bottom: 3em; }
    .link_flex { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -ms-flex-wrap: wrap; 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: #318389; color: #fbfbfb; font-weight: bold; font-size: min(18px, 4vw); white-space: nowrap; letter-spacing: 0.05em; margin: 0 auto; -webkit-transition: 0.2s; transition: 0.2s; border-radius: 5px;
      &:hover { -webkit-transform: translateY(-2px); transform: translateY(-2px); }
    }
  }
}
.pagenation { --pagenation_btn_size: clamp(40px, 12vw, 56px); position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -ms-flex-wrap: wrap; flex-wrap: wrap; gap: var(--main_gap); margin-top: calc(var(--main_gap) * 2);
  .page-numbers { display: block; color: #b29b64; font-weight: bold; line-height: 1; -webkit-transition: 0.2s; transition: 0.2s;
    &.current { color: #318389; }
    &.prev, &.next { width: var(--pagenation_btn_size); height: auto;
      img { display: block; width: 100%; height: auto; }
    }
    &.prev:hover { -webkit-transform: translateX(-5%); transform: translateX(-5%); }
    &.next:hover { -webkit-transform: translateX(5%); transform: translateX(5%); }
  }
}
/*# sourceMappingURL=common.min.css.map*/
