:root {
  --main_distance: min(120px, 14vw);
  --main_gap: clamp(12px, 2vw, 20px);
  --wrap_width: 90%;
  --base_font_size: clamp(13px, 2vw, 15px);
  --base_line_height: 1.7em;
}
html.html_reset {
  margin: 0 !important;
  padding: 0 !important;
}
body {
  position: relative;
  height: 100%;
  overflow-y: scroll;
  background-color: #fcfcfc;
  text-align: center;
  color: #5a5655;
  font-family: YakuHanJP, "Zen Maru Gothic", "Noto Sans JP", "Noto Sans",
    "メイリオ", "Meiryo", "MS PGothic", sans-serif;
  font-size: var(--base_font_size);
  font-optical-sizing: auto;
  font-weight: 500;
  line-height: var(--base_line_height);
  word-break: break-word;
}
body::after {
  content: "";
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: repeat center url(../images/svg/bg_texture.svg);
  background-size: clamp(60px, 10vw, 80px);
  z-index: -1;
  -webkit-animation: bgSlide 26s linear infinite;
  animation: bgSlide 26s linear infinite;
}
main {
  position: relative;
  overflow: clip;
  padding-bottom: calc(var(--main_distance) * 1.8);
}
a {
  color: #74b5b8;
  transition: 0.2s;
}
img {
  height: auto;
}
@media only screen and (max-width: 835px) {
  body {
    overflow: hidden;
    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;
  }
}
#loading {
  position: fixed;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100dvh;
  z-index: 20000;
  opacity: 1;
  visibility: visible;
  transition: 1.8s;
}
#loading.is_loaded {
  display: none;
}
#loading .bg {
  position: absolute;
  background-color: #ffdc00;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  transform: translateX(0);
}
#loading .bg::after {
  content: "";
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: repeat center url(../images/svg/bg_texture.svg);
  background-size: clamp(60px, 10vw, 80px);
  z-index: -1;
  -webkit-animation: bgSlide 26s linear infinite;
  animation: bgSlide 26s linear infinite;
  opacity: 0.5;
}
#loading .bg .logo {
  position: fixed;
  right: min(4vw, 40px);
  bottom: min(4vw, 40px);
}
#loading .bg .logo span {
  display: inline-block;
  -webkit-animation: txt_bound 1.2s both infinite
    cubic-bezier(0.65, 0.05, 0.7, 1);
  animation: txt_bound 1.2s both infinite cubic-bezier(0.65, 0.05, 0.7, 1);
}
#loading .bg .logo span img {
  height: min(8vw, 80px);
}
#loading .bg .logo span:nth-of-type(1) {
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
}
#loading .bg .logo span:nth-of-type(2) {
  -webkit-animation-delay: 0.05s;
  animation-delay: 0.05s;
}
#loading .bg .logo span:nth-of-type(3) {
  -webkit-animation-delay: 0.1s;
  animation-delay: 0.1s;
}
#loading .bg .logo span:nth-of-type(4) {
  -webkit-animation-delay: 0.15s;
  animation-delay: 0.15s;
}
#loading .bg .logo span:nth-of-type(5) {
  -webkit-animation-delay: 0.2s;
  animation-delay: 0.2s;
}
#loading .bg .logo span:nth-of-type(6) {
  -webkit-animation-delay: 0.25s;
  animation-delay: 0.25s;
}
#loading .bg .logo span:nth-of-type(7) {
  -webkit-animation-delay: 0.3s;
  animation-delay: 0.3s;
}
#loading .bg .logo span:nth-of-type(8) {
  -webkit-animation-delay: 0.35s;
  animation-delay: 0.35s;
}
#loading .bg .logo span:nth-of-type(8) img {
  height: min(2.6vw, 20px);
}
#loading .bg .logo span:nth-of-type(9) {
  -webkit-animation-delay: 0.4s;
  animation-delay: 0.4s;
}
#loading .bg .logo span:nth-of-type(9) img {
  height: min(4.6vw, 40px);
}
#loading .bg .logo span:nth-of-type(10) {
  -webkit-animation-delay: 0.45s;
  animation-delay: 0.45s;
}
#loading .bg .logo span:nth-of-type(10) img {
  height: min(4.6vw, 40px);
}
#loading .bg .logo span:nth-of-type(11) {
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s;
}
#loading .bg .logo span:nth-of-type(11) img {
  height: min(4.6vw, 40px);
}
#loading.open {
  -webkit-animation: loading_out 1s forwards;
  animation: loading_out 1s forwards;
  pointer-events: none;
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s;
}
#page_fade {
  position: fixed;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100dvh;
  z-index: 15000;
  opacity: 1;
  visibility: visible;
  transition: 1s cubic-bezier(0.03, 0.71, 0, 0.99);
}
#page_fade .bg {
  position: absolute;
  background-color: #ffdc00;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: 1s;
  border-radius: 0%;
  -webkit-clip-path: circle(200lvh at 50% 150lvh);
  clip-path: circle(200lvh at 50% 150lvh);
}
#page_fade.open {
  opacity: 1;
  pointer-events: none;
  transition: 1s cubic-bezier(0.03, 0.71, 0, 0.99);
}
#page_fade.open .bg {
  -webkit-clip-path: circle(30lvh at 50% 150lvh);
  clip-path: circle(30lvh at 50% 150lvh);
}
.disactive {
  pointer-events: none;
}
.scroll_bar_delete {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.scroll_bar_delete::-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);
}
.link_btn {
  position: relative;
  display: inline-block;
  border-radius: 9999px;
  background-color: #ffdc00;
  color: #5a5655;
  font-weight: bold;
  font-size: clamp(16px, 1.6vw, 20px);
  line-height: 1.2em;
  letter-spacing: 0.1em;
  transition: 0.2s;
  padding: 0.4em 2em;
}
.link_btn.mode_back {
  padding: 0.4em 1.5em 0.4em 2.5em;
}
.link_btn.mode_back::after {
  position: absolute;
  content: "";
  background-image: url(../images/svg/icon_link_arrow_r.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  top: 50%;
  left: 1.65em;
  transform: translate(-50%, -40%) scale(-1, 1);
  width: 1em;
  height: 0.7em;
}
.link_btn:hover {
  transform: translateY(-3px);
}
.cmn_in_page_head {
  --page_title_size: clamp(30px, 6vw, 60px);
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  padding: calc(var(--page_title_size) * 1.1) 0 calc(var(--page_title_size) * 1);
  margin-bottom: calc(var(--main_distance) * 1);
}
.cmn_in_page_head .bg {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-image: url(../images/svg/in_page_head_bg_clip.svg);
  background-color: #ffec7a;
  -webkit-mask-image: url(../images/svg/in_page_head_bg_clip.svg);
  mask-image: url(../images/svg/in_page_head_bg_clip.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: auto 100%;
  mask-size: auto 100%;
  -webkit-mask-position: bottom center;
  mask-position: bottom center;
}
.cmn_in_page_head .bg span {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  height: calc(var(--page_title_size) * 8);
  width: calc(var(--page_title_size) * 8);
}
.cmn_in_page_head .bg span:nth-of-type(1) {
  left: 0;
  background: no-repeat center url(../images/svg/in_page_head_bg_parts_l.svg);
  background-size: contain;
}
.cmn_in_page_head .bg span:nth-of-type(2) {
  right: 0;
  background: no-repeat center url(../images/svg/in_page_head_bg_parts_r.svg);
  background-size: contain;
}
.cmn_in_page_head .page_title {
  position: relative;
  display: inline-block;
  width: auto;
  height: var(--page_title_size);
  margin: 0 auto;
}
.cmn_in_page_head .page_title span {
  position: relative;
  display: inline-block;
  width: auto;
  height: 100%;
}
.cmn_in_page_head .page_title span img {
  display: block;
  width: auto;
  height: 100%;
}
.cmn_in_page_head .page_title::before,
.cmn_in_page_head .page_title::after {
  position: absolute;
  display: block;
  content: "";
  top: 50%;
  width: 50vw;
  height: calc(var(--page_title_size) * 1.4);
}
.cmn_in_page_head .page_title::before {
  left: calc(var(--page_title_size) * 1 * -1);
  transform: translate(-100%, -50%);
  background: no-repeat right center
    url(../images/svg/in_page_head_footstamp_l.svg);
  background-size: cover;
}
.cmn_in_page_head .page_title::after {
  right: calc(var(--page_title_size) * 1 * -1);
  transform: translate(100%, -50%);
  background: no-repeat left center
    url(../images/svg/in_page_head_footstamp_r.svg);
  background-size: cover;
}
@media only screen and (max-width: 835px) {
  .cmn_in_page_head .bg span:nth-of-type(1) {
    transform: translateY(-50%) translateX(-30%);
  }
  .cmn_in_page_head .bg span:nth-of-type(2) {
    transform: translateY(-40%) translateX(30%);
  }
}
.cmn_link_btn_a {
  position: relative;
  display: inline-block;
  margin: 0 auto;
  padding: 0.4em 3em 0.5em 1.5em;
  height: auto;
  width: auto;
  background-color: #ffdc00;
  border-radius: 9999px;
  line-height: 1.4em;
  color: #5a5655;
  font-size: clamp(16px, 6vw, 26px);
  letter-spacing: 0.05em;
  font-weight: 900;
  text-decoration: initial !important;
  transition: 0.2s;
}
.cmn_link_btn_a img {
  position: relative;
  height: 1.4em;
  width: auto;
}
.cmn_link_btn_a span {
  position: relative;
}
.cmn_link_btn_a::before {
  position: absolute;
  display: block;
  content: "";
  background-color: #ffdc00;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform 0.4s;
}
.cmn_link_btn_a::after {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  right: 1.2em;
  width: 1em;
  height: 100%;
  background: no-repeat center url(../images/svg/icon_link_arrow_r.svg);
  background-size: contain;
}
.cmn_link_btn_a:hover {
  color: #fcfcfc;
}
.cmn_link_btn_a:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}
.cmn_link_btn_a.w_100 {
  width: 100%;
}
.cmn_link_btn_a.disactive {
  pointer-events: none;
  filter: grayscale(1);
  opacity: 0.5;
}
.cmn_tag_box {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: calc(var(--main_gap) * 0.5);
  flex-wrap: wrap;
  margin-bottom: calc(var(--main_gap) * 1);
}
.cmn_tag_box.center {
  justify-content: center;
}
@media only screen and (max-width: 835px) {
  .cmn_tag_box.center {
    justify-content: flex-start;
  }
}
.cmn_tag {
  position: relative;
  display: inline-block;
  background-color: #fff;
  color: #5a5655;
  padding: 0.3em 1.7em;
  border-radius: 9999px;
  font-size: clamp(12px, 2vw, 14px);
  font-weight: 900;
  border: 1px solid #ffdc00;
  transition: 0.2s;
}
.cmn_tag.active,
.cmn_tag:hover {
  background-color: #ffdc00;
}
.cmn_content_box_a {
  --title_font_size: clamp(28px, 6vw, 45px);
  position: relative;
  display: block;
  height: auto;
  padding-top: calc(var(--title_font_size) * 1.5);
  margin-bottom: calc(var(--main_distance) * 1);
}
.cmn_content_box_a .main_box {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  background-color: #ffec7a;
  border-radius: 10px;
  padding: calc(var(--main_gap) * 2);
  padding-top: calc(var(--title_font_size) * 1.5);
}
.cmn_content_box_a .main_box .h_title {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  display: inline-block;
  font-family: YakuHanJP, "Concert One", "Zen Maru Gothic", "Noto Sans JP",
    "Noto Sans", "メイリオ", "Meiryo", "MS PGothic", sans-serif;
  color: #ffc400;
  font-weight: 500;
  font-size: var(--title_font_size);
  line-height: 1em;
  white-space: nowrap;
  background-color: #fff;
  border: 1px solid #ffc400;
  border-radius: 9999px;
  padding: 0.2em 1.5em 0.3em;
}
.cmn_accordion_box .cmn_accordion_trigger {
  cursor: pointer;
}
.cmn_accordion_box .cmn_accordion_content {
  overflow: hidden;
  height: 0;
  transition: 0.4s ease;
}
.cmn_accordion_box .cmn_accordion_content.accordion_open {
  height: auto;
}
.cmn_white_box_outer {
  position: relative;
  display: block;
  padding: calc(var(--main_gap) * 2);
  margin-bottom: calc(var(--main_gap) * 2);
}
@media only screen and (max-width: 835px) {
  .cmn_white_box_outer {
    padding: calc(var(--main_gap) * 2.5) calc(var(--main_gap) * 1.5);
  }
}
.cmn_white_box {
  position: relative;
  text-align: left;
  font-size: clamp(14px, 2vw, 16px);
  line-height: 1.6em;
  width: 100%;
  border: 2px solid #ffc400;
}
.cmn_white_box .title_box {
  position: relative;
  display: block;
  padding-bottom: calc(clamp(18px, 2vw, 22px) * 1);
  margin-bottom: 2em;
  border-bottom: 4px double #ffdc00;
}
.cmn_white_box .date {
  font-size: clamp(12px, 2vw, 14px);
  line-height: 1.4em;
  font-weight: bold;
  margin-bottom: 0.7em;
  letter-spacing: 0.1em;
}
.cmn_white_box .title {
  position: relative;
  display: block;
  width: 100%;
  font-size: clamp(17px, 1.5vw, 20px);
  line-height: 1.4em;
  font-weight: bold;
}
.cmn_white_box .border_box {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  background-color: #000;
  border: 1px solid #ffdc00;
  padding: min(var(--main_gap) * 2, 5vw) min(var(--main_gap) * 2, 4vw);
  margin-bottom: 1.5em;
}
.cmn_white_box iframe {
  width: 100%;
}
.cmn_white_box figure {
  margin-bottom: 14px;
}
.cmn_white_box img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  margin-bottom: 1.5em;
}
.cmn_white_box img.app_badge {
  width: 170px !important;
  padding-top: 5px;
}
.cmn_white_box p {
  line-height: 1.7em;
}
.cmn_white_box a {
  overflow-wrap: break-word;
  text-decoration: underline;
  font-weight: bold;
}
.cmn_white_box ul {
  margin-bottom: 1em;
}
.cmn_white_box ul li {
  position: relative;
  display: block;
  margin-bottom: 0.5em;
  padding-left: 1.2em;
}
.cmn_white_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: #ffdc00;
  border-radius: 9999px;
}
.cmn_white_box ul li:last-of-type {
  margin-bottom: 0;
}
.cmn_white_box hr {
  border-top: 1px solid #ffdc00;
  border-right: none;
  border-bottom: none;
  border-left: none;
  margin-bottom: 2em;
  margin-top: 2em;
}
.cmn_white_box strong {
  font-weight: 900;
  color: #ffdc00;
}
.cmn_white_box .youtube_iframe_outer {
  position: relative;
  display: block;
  width: 100%;
  padding-top: 56.25%;
  margin-bottom: 1em;
  overflow: hidden;
}
.cmn_white_box .youtube_iframe_outer iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.cmn_white_box .link_sns_icon {
  display: inline-block;
  border: 1px solid #ffc400;
  color: #ffc400;
  text-align: center;
  text-decoration: none;
  border-radius: 50px;
  width: 30%;
  height: auto;
  margin: 0 2% 2% 0;
  font-size: clamp(14px, 1.5vw, 18px);
  letter-spacing: 0.05em;
  line-height: 2em;
  transition: 0.2s;
}
.cmn_white_box .link_sns_icon:hover {
  transform: translateY(-2px);
}
.cmn_white_box.single h2,
.cmn_white_box.in_page h3 {
  position: relative;
  display: block;
  padding-bottom: 0.2em;
  font-size: clamp(16px, 2vw, 24px);
  font-weight: bold;
  letter-spacing: 0.05em;
  margin-bottom: 0.8em;
  margin-top: 2em;
  line-height: 1.4em;
  border-bottom: 2px solid #ffc400;
  color: #ffc400;
}
.cmn_white_box.single h2:first-of-type,
.cmn_white_box.in_page h3:first-of-type {
  margin-top: 0;
}
.cmn_white_box.single h3,
.cmn_white_box.in_page h4 {
  position: relative;
  display: block;
  font-size: clamp(15px, 2vw, 18px);
  font-weight: bold;
  margin-bottom: 0.7em;
  margin-top: 1.5em;
  line-height: 1.4em;
  padding-left: 0.7em;
  border-left: 3px solid #ffdc00;
  color: #ffdc00;
}
.cmn_white_box.single h4,
.cmn_white_box.in_page h5 {
  position: relative;
  display: block;
  margin-top: 1.2em;
  margin-bottom: 0em;
  line-height: 1.4em;
  font-weight: bold;
  font-size: 1.1em;
  color: #ffdc00;
  padding-left: 1.2em;
}
.cmn_white_box.single h4::before,
.cmn_white_box.in_page h5::before {
  position: absolute;
  display: block;
  content: "";
  left: 0;
  top: 0.3em;
  width: 0.8em;
  height: 0.8em;
  background-color: #ffdc00;
  -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;
  border: 1px solid #191919;
  text-align: left;
  line-height: 1.6em;
  background-color: #191919;
  border: 2px solid #ffdc00;
}
.cmn_notes_box.simple {
  border: none;
  border-top: 1px solid #ffdc00;
  border-bottom: 1px solid #ffdc00;
  padding: calc(var(--main_distance) / 4) 0.5em;
  background-color: rgba(0, 0, 0, 0);
}
.cmn_notes_box.margin_bottom {
  margin-bottom: calc(var(--main_distance) / 2.5);
}
.cmn_notes_box p {
  margin-bottom: 0.6em;
}
.cmn_notes_box ul {
  margin-bottom: 0.6em;
}
.cmn_notes_box .title {
  position: relative;
  display: block;
  font-size: 1.3em;
  font-weight: bold;
  margin-bottom: 0.7em;
  margin-top: 1.5em;
  line-height: 1.4em;
  padding-left: 0.7em;
  border-left: 3px solid #ffdc00;
}
.cmn_notes_box .title:first-of-type {
  margin-top: 0;
}
@media only screen and (max-width: 835px) {
  .cmn_notes_box {
    padding: calc(var(--main_distance) / 3) calc(var(--main_distance) / 3);
  }
}
ul.list_asterisk li,
ul.list_circle li,
ul.list_kome li {
  position: relative;
  display: block;
  margin-bottom: 0.5em;
  padding-left: 1.2em;
}
ul.list_asterisk li:last-of-type,
ul.list_circle li:last-of-type,
ul.list_kome li:last-of-type {
  margin-bottom: 0;
}
ul.list_asterisk li {
  padding-left: 0.8em;
  font-size: 0.9em;
  line-height: 1.4em;
}
ul.list_asterisk li::before {
  position: absolute;
  display: block;
  content: "";
  content: "*";
  top: 0;
  left: 0;
  width: 1em;
  height: 1em;
  transform: translateY(0em);
  color: #ffdc00;
  background: initial;
}
ul.list_kome li {
  padding-left: 1.2em;
  font-size: 0.9em;
  line-height: 1.4em;
}
ul.list_kome li::before {
  position: absolute;
  display: block;
  content: "";
  content: "※";
  top: 0;
  left: 0;
  width: 1em;
  height: 1em;
  transform: translateY(0em);
  color: #ffdc00;
  background: initial;
}
ul.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: #ffdc00;
  border-radius: 9999px;
}
#global_nav {
  position: fixed;
  z-index: 9998;
  top: 0;
  right: var(--over_frame_border_size);
  background-color: #ffdc00;
  font-size: clamp(30px, 6vw, 40px);
  padding: 1.4em 1em;
  padding-top: calc(
    var(--over_frame_border_size) + var(--nav_trigger_size) * 0.8
  );
  border-bottom-left-radius: 20px;
  transform: translateX(100%);
  transition: 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}
#global_nav.active {
  transform: translateX(0);
}
#global_nav::before {
  position: absolute;
  display: block;
  content: "";
  top: var(--over_frame_border_size);
  left: 0.1px;
  width: var(--over_frame_corner_size);
  height: var(--over_frame_corner_size);
  background: no-repeat top left url(../images/svg/parts_frame_round_tl.svg);
  background-size: contain;
  transform: translateX(-100%) rotateZ(90deg);
}
#global_nav::after {
  position: absolute;
  display: block;
  content: "";
  bottom: 0.1px;
  right: 0;
  width: var(--over_frame_corner_size);
  height: var(--over_frame_corner_size);
  background: no-repeat top left url(../images/svg/parts_frame_round_tl.svg);
  background-size: contain;
  transform: translateY(100%) rotateZ(90deg);
}
#global_nav .page_links {
  text-align: left;
}
#global_nav .page_links li {
  display: block;
}
#global_nav .page_links li a {
  position: relative;
  display: inline-block;
  color: #fff;
  font-weight: 900;
  font-family: YakuHanJP, "Concert One", "Zen Maru Gothic", "Noto Sans JP",
    "Noto Sans", "メイリオ", "Meiryo", "MS PGothic", sans-serif;
  line-height: 1.8em;
  letter-spacing: 0.05em;
  padding-left: 0.6em;
  transition: 0.2s;
}
#global_nav .page_links li a::before {
  position: absolute;
  display: block;
  content: "";
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 0.3em;
  height: 0.3em;
  -webkit-clip-path: circle(40% at 50% 50%);
  clip-path: circle(40% at 50% 50%);
  background-color: #fff;
}
#global_nav .page_links li a:hover {
  transform: scale(1.07);
}
#global_nav .sns_links {
  position: absolute;
  top: calc(var(--over_frame_border_size) + var(--nav_trigger_size) * 1.7);
  left: 0;
  transform: translateX(-99%);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-end;
  gap: 10px;
}
#global_nav .sns_links li {
  display: block;
}
#global_nav .sns_links li a {
  display: block;
  width: 60px;
  height: auto;
  transition: 0.2s;
}
#global_nav .sns_links li a img {
  display: block;
  width: 100%;
  height: auto;
}
#global_nav .sns_links li a:hover {
  transform: scale(1.15, 1.05);
  transform-origin: right;
}
:root {
  --nav_trigger_size: clamp(40px, 18vw, 100px);
}
.nav_trigger_outer {
  display: block;
  position: fixed;
  top: calc(var(--over_frame_border_size) - 1px);
  right: var(--over_frame_border_size);
  width: auto;
  height: var(--nav_trigger_size);
  aspect-ratio: 190/160;
  transform: translate(0%, 0%);
  cursor: pointer;
  z-index: 9999;
}
.nav_trigger_outer .bg {
  position: absolute;
  display: block;
  top: 0;
  right: 0;
  width: 150%;
  height: 150%;
  pointer-events: none;
  transition: 0.2s;
}
.nav_trigger_outer .bg::before,
.nav_trigger_outer .bg::after {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: no-repeat top right;
  background-size: contain;
}
.nav_trigger_outer .bg::before {
  background-image: url(../images/svg/header_menu_btn_bg.svg);
}
.nav_trigger_outer .nav_trigger_bar {
  position: absolute;
  width: 40%;
  height: 34%;
  top: 50%;
  left: 50%;
  transform: translate(-60%, -80%);
  display: block;
  transition: 0.6s;
}
.nav_trigger_outer .nav_trigger_bar span {
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%) rotateZ(0deg);
  width: 100%;
  height: 18%;
  display: block;
  transition: 0.2s;
  background-color: #fff;
  border-radius: 9999px;
}
.nav_trigger_outer .nav_trigger_bar span:nth-last-of-type(1) {
  top: 10%;
  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%;
  height: 28%;
  background: no-repeat center url(../images/text/text_menu.svg);
  background-size: contain;
}
.nav_trigger_outer.active .bg {
  filter: drop-shadow(0 0 5px rgba(90, 86, 85, 0.2));
}
.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;
}
footer {
  --wave_h: clamp(35px, 6vw, 55px);
  position: relative;
}
footer .back_top_star {
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(-22%, -74%);
  width: min(200px, 24vw);
}
footer .back_top_star img {
  display: block;
  width: 100%;
  height: auto;
  transition: 0.2s;
  pointer-events: none;
}
footer .back_top_star:hover img {
  transform: translateY(-6px) !important;
  transition: 0.2s;
}
footer .footer_wave {
  position: relative;
  display: block;
  width: 100%;
  height: var(--wave_h);
  overflow: hidden;
}
footer .footer_wave .wave {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
}
footer .footer_wave .wave img {
  display: block;
  width: auto;
  height: 100%;
  -webkit-animation: hor_move_l 60s linear infinite;
  animation: hor_move_l 60s linear infinite;
}
footer .footer_main {
  position: relative;
  background-color: #fff;
  padding: calc(var(--main_distance) * 0.5) 0;
}
footer .footer_main .footer_links {
  position: relative;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  font-size: clamp(20px, 3vw, 22px);
  gap: 1.2em;
  margin-bottom: calc(var(--main_gap) * 2);
}
footer .footer_main .footer_links a {
  display: inline-block;
  color: #5a5655;
  font-weight: 900;
  line-height: 1em;
  white-space: nowrap;
}
footer .footer_main .footer_links a:hover {
  transform: translateY(-3px);
}
footer .footer_main .footer_sns_links {
  --link_icon_size: 42px;
  display: flex;
  justify-content: center;
  gap: calc(var(--link_icon_size) * 0.3);
  margin-bottom: calc(var(--main_gap) * 2);
}
footer .footer_main .footer_sns_links a {
  display: block;
  width: var(--link_icon_size);
  height: auto;
}
footer .footer_main .footer_sns_links a img {
  display: block;
  width: 100%;
  height: auto;
  transition: 0.2s;
}
footer .footer_main .footer_sns_links a:hover img {
  transform: scale(1.1);
  transition: 0.2s;
}
@media only screen and (max-width: 835px) {
  footer .footer_main .footer_links {
    --grid_gap: 1em;
    width: 80%;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(1, calc((100% - var(--grid_gap) * 1) / 2));
    grid-row-gap: var(--grid_gap);
    grid-column-gap: var(--grid_gap);
    margin-bottom: calc(var(--main_gap) * 4);
  }
  footer .footer_main .footer_sns_links {
    margin-bottom: calc(var(--main_gap) * 4);
  }
}
:root {
  --over_frame_border_size: clamp(2px, 0.5vw, 6px);
  --over_frame_corner_size: clamp(20px, 7vw, 80px);
}
#cmn_over_frame {
  position: relative;
  z-index: 10000;
  pointer-events: none;
}
#cmn_over_frame .border span {
  position: fixed;
  display: block;
  background-color: #ffdc00;
}
#cmn_over_frame .border span:nth-of-type(1) {
  top: 0;
  left: 0;
  width: 100%;
  height: var(--over_frame_border_size);
}
#cmn_over_frame .border span:nth-of-type(2) {
  top: 0;
  right: 0;
  width: var(--over_frame_border_size);
  height: 120lvh;
}
#cmn_over_frame .border span:nth-of-type(3) {
  bottom: 0;
  left: 0;
  width: 100%;
  height: var(--over_frame_border_size);
}
#cmn_over_frame .border span:nth-of-type(4) {
  top: 0;
  left: 0;
  width: var(--over_frame_border_size);
  height: 120lvh;
}
#cmn_over_frame .corner span {
  position: fixed;
  display: block;
}
#cmn_over_frame .corner span:nth-of-type(1) {
  top: 0;
  left: 0;
  width: calc(var(--over_frame_corner_size) * 3);
  height: calc(var(--over_frame_corner_size) * 3);
  background: no-repeat top left url(../images/svg/parts_frame_bubble_tl.svg);
  background-size: contain;
}
#cmn_over_frame .corner span:nth-of-type(2) {
  top: var(--over_frame_border_size);
  right: var(--over_frame_border_size);
  width: var(--over_frame_corner_size);
  height: var(--over_frame_corner_size);
  background: no-repeat top left url(../images/svg/parts_frame_round_tl.svg);
  background-size: contain;
  transform: rotate(90deg);
}
#cmn_over_frame .corner span:nth-of-type(3) {
  bottom: 0;
  right: 0;
  width: calc(var(--over_frame_corner_size) * 3);
  height: calc(var(--over_frame_corner_size) * 3);
  background: no-repeat bottom right
    url(../images/svg/parts_frame_bubble_br.svg);
  background-size: contain;
}
#cmn_over_frame .corner span:nth-of-type(4) {
  bottom: var(--over_frame_border_size);
  left: var(--over_frame_border_size);
  width: var(--over_frame_corner_size);
  height: var(--over_frame_corner_size);
  background: no-repeat top left url(../images/svg/parts_frame_round_tl.svg);
  background-size: contain;
  transform: rotate(270deg);
}
.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;
  transition: 0.2s;
}
.modal_layer .modal_bg {
  position: absolute;
  top: 0px;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.9);
}
.modal_layer .modal_inner {
  position: absolute;
  width: auto;
  height: auto;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  text-align: left;
}
.modal_layer .modal_inner img {
  width: auto;
  height: auto;
  max-width: min(1400px, 94vw);
  max-height: 75vh;
}
.modal_layer .modal_inner .yt_video_box {
  width: min(1200px, 94vw);
  padding-top: min(90vh, 56.25%);
}
.modal_layer .modal_inner .yt_video_box iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.modal_layer .modal_inner .yt_video_box img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}
.modal_layer .modal_inner .modal_textbox {
  width: min(1000px, 94vw);
  height: 75vh;
  background-color: #fcfcfc;
  padding: clamp(12px, 4vw, 50px);
  text-align: left;
  overflow: hidden;
  font-size: clamp(13px, 2vw, 16px);
}
.modal_layer .modal_inner .modal_textbox.scrollable {
  overflow-x: hidden;
  overflow-y: scroll;
  overscroll-behavior: contain;
}
.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/svg/cmn_parts/btn_close_v03.svg");
  background-size: contain;
  cursor: pointer;
}
.modal_layer.op_modal {
  display: none;
}
.modal_layer.op_modal.is_active {
  display: block;
}
.modal_layer.visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.slide_modal .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_modal
  .modal_inner.slide_modal_content_box
  .slide_modal_content.slide_visible {
  opacity: 1;
  visibility: visible;
  pointer-events: initial;
}
.slide_modal .modal_prev_btn,
.slide_modal .modal_next_btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  height: min(270px, 25vh);
  width: min(80px, 10vw);
  background-color: #ffdc00;
  cursor: pointer;
  transition: 0.2s;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.slide_modal .modal_prev_btn::before,
.slide_modal .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/svg/cmn_parts/icon_arrow_slidemodal_02.svg);
  background-size: contain;
}
.slide_modal .modal_prev_btn.disactive,
.slide_modal .modal_next_btn.disactive {
  opacity: 0.2;
  pointer-events: none;
}
.slide_modal .modal_prev_btn:focus,
.slide_modal .modal_next_btn:focus {
  outline: none;
}
.slide_modal .modal_prev_btn {
  left: 0;
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
}
.slide_modal .modal_prev_btn::before {
  transform: translate(-50%, -50%) scale(-1, 1);
}
.slide_modal .modal_prev_btn:hover {
  transform: translateY(-50%) translateX(-4px);
}
.slide_modal .modal_next_btn {
  right: 0;
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}
.slide_modal .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_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;
}
.cmn_schedule_grid {
  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);
}
.cmn_schedule_grid::before {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  right: 0;
  width: 1px;
  height: 100%;
  background-color: var(--border_color);
  z-index: 2;
}
.cmn_schedule_grid::after {
  position: absolute;
  display: block;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--border_color);
  z-index: 2;
}
.cmn_schedule_grid p {
  position: relative;
  display: block;
  margin-bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  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;
}
.cmn_schedule_grid p.grid_h {
  background-color: var(--grid_h_bg_color);
}
.cmn_schedule_grid p.day,
.cmn_schedule_grid p.time {
  background-color: var(--day_time_bg_color);
}
.cmn_schedule_grid p.sat {
  background-color: var(--saturday_bg_color);
}
.cmn_schedule_grid p.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));
  transform: translateY(100%);
  opacity: 0.4;
}
.cmn_schedule_grid p.sun {
  background-color: var(--sunday_bg_color);
}
.cmn_schedule_grid p.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));
  transform: translateY(100%);
  opacity: 0.4;
}
.cmn_schedule_grid p.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));
  transform: translateY(100%);
  opacity: 1;
  z-index: 1;
  content: "休演日";
  writing-mode: vertical-rl;
  display: grid;
  place-items: center;
  color: #fcfcfc;
}
@media only screen and (max-width: 835px) {
  .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);
  }
  .schedule_grid p.sat::after {
    height: 100%;
    width: calc(100% * var(--sc_time_num) + 1px * var(--sc_time_num));
    transform: translateX(100%);
  }
  .schedule_grid p.sun::after {
    height: 100%;
    width: calc(100% * var(--sc_time_num) + 1px * var(--sc_time_num));
    transform: translateX(100%);
  }
  .schedule_grid p.closed::after {
    right: -1px;
    bottom: 0;
    width: calc(100% * var(--sc_time_num) + 1px * var(--sc_time_num));
    height: 100%;
    transform: translateX(100%);
    writing-mode: initial;
  }
}
#error_404 {
  padding: calc(var(--main_distance) * 2) 0 calc(var(--main_distance) * 0.4);
}
#error_404 .container_s p {
  color: #ffdc00;
}
#error_404 .container_s .stit {
  font-size: 3.5em;
  line-height: 1em;
  margin-bottom: 0.6em;
}
#error_404 .container_s .text {
  margin-bottom: 3em;
}
#error_404 .container_s .link_flex {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 auto;
}
#error_404 .container_s .error_toplink {
  position: relative;
  display: block;
  width: min(230px, 70%);
  height: 60px;
  display: grid;
  place-items: center;
  background-color: #ffdc00;
  color: #fcfcfc;
  font-weight: bold;
  font-size: min(18px, 4vw);
  white-space: nowrap;
  letter-spacing: 0.05em;
  margin: 0 auto;
  transition: 0.2s;
  border-radius: 5px;
}
#error_404 .container_s .error_toplink:hover {
  transform: translateY(-2px);
}
/*# sourceMappingURL=common.min.css.map */
