@charset "UTF-8";
/* ====================================================
Color
==================================================== */
/* ====================================================
Font
==================================================== */
@import url("https://fonts.googleapis.com/css2?family=Jost:wght@900&family=Noto+Sans+JP:wght@100..900&display=swap");
/* ====================================================
Media Quary
==================================================== */
/* ====================================================
// flexセット
==================================================== */
/* ====================================================
画像などを縦横比を維持したままレスポンシブ対応
*画像やGoogle Map、YouTubeの埋め込みなどを縦横比を維持したままレスポンシブ対応
.photo {
  // 画像を16:9にトリミングして縦横比を常に保つ
  @include aspect-ratio(16, 9);

  & > .image {
    @include object-fit(cover);
  }
}
==================================================== */
@media screen and (min-width: 835px) {
  .mbpc-1 {
    margin-bottom: 1px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-1 {
    margin-bottom: 1px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-2 {
    margin-bottom: 2px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-2 {
    margin-bottom: 2px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-3 {
    margin-bottom: 3px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-3 {
    margin-bottom: 3px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-4 {
    margin-bottom: 4px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-4 {
    margin-bottom: 4px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-5 {
    margin-bottom: 5px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-5 {
    margin-bottom: 5px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-6 {
    margin-bottom: 6px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-6 {
    margin-bottom: 6px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-7 {
    margin-bottom: 7px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-7 {
    margin-bottom: 7px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-8 {
    margin-bottom: 8px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-8 {
    margin-bottom: 8px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-9 {
    margin-bottom: 9px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-9 {
    margin-bottom: 9px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-10 {
    margin-bottom: 10px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-10 {
    margin-bottom: 10px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-11 {
    margin-bottom: 11px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-11 {
    margin-bottom: 11px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-12 {
    margin-bottom: 12px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-12 {
    margin-bottom: 12px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-13 {
    margin-bottom: 13px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-13 {
    margin-bottom: 13px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-14 {
    margin-bottom: 14px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-14 {
    margin-bottom: 14px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-15 {
    margin-bottom: 15px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-15 {
    margin-bottom: 15px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-16 {
    margin-bottom: 16px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-16 {
    margin-bottom: 16px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-17 {
    margin-bottom: 17px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-17 {
    margin-bottom: 17px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-18 {
    margin-bottom: 18px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-18 {
    margin-bottom: 18px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-19 {
    margin-bottom: 19px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-19 {
    margin-bottom: 19px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-20 {
    margin-bottom: 20px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-20 {
    margin-bottom: 20px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-21 {
    margin-bottom: 21px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-21 {
    margin-bottom: 21px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-22 {
    margin-bottom: 22px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-22 {
    margin-bottom: 22px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-23 {
    margin-bottom: 23px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-23 {
    margin-bottom: 23px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-24 {
    margin-bottom: 24px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-24 {
    margin-bottom: 24px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-25 {
    margin-bottom: 25px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-25 {
    margin-bottom: 25px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-26 {
    margin-bottom: 26px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-26 {
    margin-bottom: 26px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-27 {
    margin-bottom: 27px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-27 {
    margin-bottom: 27px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-28 {
    margin-bottom: 28px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-28 {
    margin-bottom: 28px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-29 {
    margin-bottom: 29px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-29 {
    margin-bottom: 29px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-30 {
    margin-bottom: 30px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-30 {
    margin-bottom: 30px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-31 {
    margin-bottom: 31px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-31 {
    margin-bottom: 31px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-32 {
    margin-bottom: 32px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-32 {
    margin-bottom: 32px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-33 {
    margin-bottom: 33px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-33 {
    margin-bottom: 33px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-34 {
    margin-bottom: 34px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-34 {
    margin-bottom: 34px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-35 {
    margin-bottom: 35px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-35 {
    margin-bottom: 35px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-36 {
    margin-bottom: 36px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-36 {
    margin-bottom: 36px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-37 {
    margin-bottom: 37px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-37 {
    margin-bottom: 37px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-38 {
    margin-bottom: 38px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-38 {
    margin-bottom: 38px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-39 {
    margin-bottom: 39px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-39 {
    margin-bottom: 39px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-40 {
    margin-bottom: 40px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-40 {
    margin-bottom: 40px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-41 {
    margin-bottom: 41px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-41 {
    margin-bottom: 41px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-42 {
    margin-bottom: 42px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-42 {
    margin-bottom: 42px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-43 {
    margin-bottom: 43px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-43 {
    margin-bottom: 43px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-44 {
    margin-bottom: 44px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-44 {
    margin-bottom: 44px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-45 {
    margin-bottom: 45px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-45 {
    margin-bottom: 45px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-46 {
    margin-bottom: 46px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-46 {
    margin-bottom: 46px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-47 {
    margin-bottom: 47px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-47 {
    margin-bottom: 47px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-48 {
    margin-bottom: 48px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-48 {
    margin-bottom: 48px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-49 {
    margin-bottom: 49px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-49 {
    margin-bottom: 49px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-50 {
    margin-bottom: 50px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-50 {
    margin-bottom: 50px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-51 {
    margin-bottom: 51px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-51 {
    margin-bottom: 51px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-52 {
    margin-bottom: 52px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-52 {
    margin-bottom: 52px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-53 {
    margin-bottom: 53px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-53 {
    margin-bottom: 53px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-54 {
    margin-bottom: 54px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-54 {
    margin-bottom: 54px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-55 {
    margin-bottom: 55px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-55 {
    margin-bottom: 55px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-56 {
    margin-bottom: 56px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-56 {
    margin-bottom: 56px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-57 {
    margin-bottom: 57px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-57 {
    margin-bottom: 57px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-58 {
    margin-bottom: 58px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-58 {
    margin-bottom: 58px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-59 {
    margin-bottom: 59px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-59 {
    margin-bottom: 59px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-60 {
    margin-bottom: 60px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-60 {
    margin-bottom: 60px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-61 {
    margin-bottom: 61px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-61 {
    margin-bottom: 61px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-62 {
    margin-bottom: 62px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-62 {
    margin-bottom: 62px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-63 {
    margin-bottom: 63px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-63 {
    margin-bottom: 63px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-64 {
    margin-bottom: 64px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-64 {
    margin-bottom: 64px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-65 {
    margin-bottom: 65px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-65 {
    margin-bottom: 65px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-66 {
    margin-bottom: 66px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-66 {
    margin-bottom: 66px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-67 {
    margin-bottom: 67px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-67 {
    margin-bottom: 67px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-68 {
    margin-bottom: 68px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-68 {
    margin-bottom: 68px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-69 {
    margin-bottom: 69px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-69 {
    margin-bottom: 69px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-70 {
    margin-bottom: 70px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-70 {
    margin-bottom: 70px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-71 {
    margin-bottom: 71px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-71 {
    margin-bottom: 71px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-72 {
    margin-bottom: 72px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-72 {
    margin-bottom: 72px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-73 {
    margin-bottom: 73px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-73 {
    margin-bottom: 73px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-74 {
    margin-bottom: 74px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-74 {
    margin-bottom: 74px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-75 {
    margin-bottom: 75px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-75 {
    margin-bottom: 75px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-76 {
    margin-bottom: 76px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-76 {
    margin-bottom: 76px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-77 {
    margin-bottom: 77px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-77 {
    margin-bottom: 77px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-78 {
    margin-bottom: 78px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-78 {
    margin-bottom: 78px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-79 {
    margin-bottom: 79px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-79 {
    margin-bottom: 79px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-80 {
    margin-bottom: 80px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-80 {
    margin-bottom: 80px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-81 {
    margin-bottom: 81px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-81 {
    margin-bottom: 81px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-82 {
    margin-bottom: 82px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-82 {
    margin-bottom: 82px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-83 {
    margin-bottom: 83px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-83 {
    margin-bottom: 83px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-84 {
    margin-bottom: 84px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-84 {
    margin-bottom: 84px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-85 {
    margin-bottom: 85px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-85 {
    margin-bottom: 85px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-86 {
    margin-bottom: 86px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-86 {
    margin-bottom: 86px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-87 {
    margin-bottom: 87px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-87 {
    margin-bottom: 87px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-88 {
    margin-bottom: 88px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-88 {
    margin-bottom: 88px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-89 {
    margin-bottom: 89px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-89 {
    margin-bottom: 89px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-90 {
    margin-bottom: 90px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-90 {
    margin-bottom: 90px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-91 {
    margin-bottom: 91px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-91 {
    margin-bottom: 91px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-92 {
    margin-bottom: 92px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-92 {
    margin-bottom: 92px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-93 {
    margin-bottom: 93px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-93 {
    margin-bottom: 93px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-94 {
    margin-bottom: 94px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-94 {
    margin-bottom: 94px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-95 {
    margin-bottom: 95px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-95 {
    margin-bottom: 95px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-96 {
    margin-bottom: 96px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-96 {
    margin-bottom: 96px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-97 {
    margin-bottom: 97px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-97 {
    margin-bottom: 97px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-98 {
    margin-bottom: 98px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-98 {
    margin-bottom: 98px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-99 {
    margin-bottom: 99px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-99 {
    margin-bottom: 99px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-100 {
    margin-bottom: 100px !important;
  }
}
@media screen and (max-width: 834px) {
  .mbsp-100 {
    margin-bottom: 100px !important;
  }
}
.mb0 {
  margin-bottom: 0 !important;
}

.c-sec-wrap {
  padding: 0 1rem;
}

.c-sec-wrap_a {
  padding: 0 2rem;
}

.c-sec.top {
  position: relative;
  margin-top: -1rem;
}
.c-sec.bg-w {
  background-color: #fff;
}
.c-sec .inner {
  padding: 0 1em;
}
.c-sec h3 {
  margin: 0;
  padding-top: 0.5rem;
  font-weight: 900;
  color: #e1000f;
  letter-spacing: 0.1em;
  font-size: 16px;
}
@media screen and (min-width: 320px) {
  .c-sec h3 {
    font-size: calc(16px + 0.1785714286vw - 0.5714285714px);
  }
}
@media screen and (min-width: 1440px) {
  .c-sec h3 {
    font-size: 18px;
  }
}
.c-sec p {
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0.05em;
  /* 日本語の禁則処理 */
  overflow-wrap: anywhere; /* 収まらない場合に折り返す */
  word-break: normal; /* 単語の分割はデフォルトに依存 */
  line-break: strict; /* 禁則処理を厳格に適用 */
  /* 均等割付 */
  text-align: justify;
}
.c-sec-title {
  position: relative;
  width: 100%;
}
.c-sec-title img {
  display: block;
  width: 100%;
  height: auto;
}
.c-sec-title h2 {
  position: absolute;
  top: 20%;
  left: 1em;
  margin: 0;
  font-size: 16px;
  font-weight: 400;
  color: #fff;
}
.c-sec-title h2 .en {
  font-size: 24px;
  font-family: "Jost", sans-serif;
  font-weight: 900;
}
@media screen and (min-width: 320px) {
  .c-sec-title h2 .en {
    font-size: calc(24px + 0.3571428571vw - 1.1428571429px);
  }
}
@media screen and (min-width: 1440px) {
  .c-sec-title h2 .en {
    font-size: 28px;
  }
}

.c-pankuzu {
  margin: 3.8rem 0 0;
  padding: 0 0.5rem 0.4rem;
  font-size: 12px;
  letter-spacing: -0.1em;
}
@media screen and (min-width: 835px) {
  .c-pankuzu {
    display: none;
  }
}

.c-img-grow {
  transition: transform 0.3s ease-in;
}
.c-img-grow img {
  transition: transform 0.3s ease-in;
}
.c-img-grow:hover img {
  transform: scale(1.1);
}

.c-btn {
  display: block;
  width: 92%;
  margin: 0 auto 1rem;
  padding: 1.2rem 2rem;
  background-color: #fff;
  border: solid 2px #000;
  border-radius: 50px;
  box-shadow: 3px 3px 0px 0px rgb(0, 0, 0);
  color: #000;
  position: relative;
  padding-right: 35px;
}
.c-btn::after {
  content: "";
  display: block;
  width: 35px;
  height: 35px;
  background-image: url("../img/index/icon-arrow_gray.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  right: 30px; /* 右からの位置 */
  top: 50%; /* 上から50% */
  transform: translateY(-50%); /* 自身の高さの半分上にずらして中央揃え */
}
.c-btn .en {
  display: block;
  color: #005c9e;
  font-size: 28px;
  line-height: 1;
  font-family: "Jost", sans-serif;
  letter-spacing: 0.12em;
}
.c-btn:hover {
  background-color: #005c9e;
  border: solid 2px rgba(255, 255, 255, 0);
  box-shadow: none;
  color: #fff;
}
.c-btn:hover::after {
  background-image: url("../img/index/icon-arrow_red.png");
}
.c-btn:hover .en {
  color: #fff;
}
.c-btn._small {
  display: flex;
  justify-content: space-between;
  padding: 0.8em 1em;
  padding-right: 3.5em;
  font-size: 15px;
  letter-spacing: -0.05em;
}
.c-btn._small::after {
  background-image: url("../img/index/icon-external.png");
  width: 20px;
  height: 20px;
  right: 8%;
}
.c-btn._small .en {
  letter-spacing: -0.05em;
}
.c-btn._small:hover::after {
  background-image: url("../img/index/icon-external-hover_w.png");
}
.c-btn._xs {
  width: 60%;
  display: flex;
  justify-content: center;
  padding: 0.8em 1em;
  padding-right: 2em;
  font-size: 16px;
  font-weight: 600;
}
.c-btn._xs .en {
  letter-spacing: -0.05em;
}
.c-btn._xs.p-external::after {
  background-image: url("../img/index/icon-external.png");
  width: 20px;
  height: 20px;
  right: 8%;
}
.c-btn._xs.p-external:hover::after {
  background-image: url("../img/index/icon-external-hover_w.png");
}
.c-btn._xs.p-gt::after {
  background: none;
  content: ">";
  right: 8%;
}
.c-btn._about {
  border: none;
  box-shadow: none;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 0 0;
  padding: 0 2em 1em;
}
.c-btn._about::after {
  background-image: url("../img/index/icon-external.png");
  width: 20px;
  height: 20px;
  top: 1em;
  right: 2%;
}
.c-btn._about .en {
  letter-spacing: 0em;
}
.c-btn._about:hover {
  background-color: initial;
  color: #000;
}
.c-btn._about:hover::after {
  background-image: url("../img/index/icon-external-hover_red.png");
}
.c-btn._about:hover .en {
  color: #e1000f;
}
.c-btn._non-b {
  width: -moz-fit-content;
  width: fit-content;
  margin-left: 1rem;
  padding: 0 1em;
  border: none;
  border-radius: unset;
  box-shadow: none;
}
.c-btn._non-b:hover {
  background-color: unset;
  color: #333;
}
.c-btn._non-b:hover .en {
  color: #e1000f;
}
.c-btn._non-b .en {
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  letter-spacing: 0;
}
.c-btn._non-b .en::after {
  content: "";
  position: absolute;
  top: 25%;
  right: -1em;
  display: block;
  width: 20px;
  height: 20px;
  background-image: url("../img/index/icon-external.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.c-btn._non-b::after {
  display: none;
}

.c-buy-ticket {
  position: relative;
  margin-top: 1vw;
}
.c-buy-ticket .ticket-btn {
  position: relative;
  display: block;
  margin: 0 auto;
  width: -moz-fit-content;
  width: fit-content;
  transition: transform 0.1s ease-in;
  z-index: 200;
}
.c-buy-ticket .ticket-btn:hover {
  transform: scale(1.2);
}
.c-buy-ticket .ticket-btn .ticket-img {
  animation: rotateAnimation 14s linear infinite;
}
.c-buy-ticket .ticket-btn .ticket-img img {
  width: 210px;
}
.c-buy-ticket .ticket-btn .ticket-txt {
  position: absolute;
  margin: 0 auto;
  left: 0;
  right: 0;
  top: calc(50% - 55px);
  z-index: 210;
  text-align: center;
  transform: translateZ(1px);
}
.c-buy-ticket .ticket-btn .ticket-txt img {
  width: 120px;
}
@keyframes rotateAnimation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.c-buy-ticket .anime3 {
  display: block;
  width: 12vw;
  position: absolute;
  right: 2%;
  top: 50%;
  top: 9.259vh;
}

.c-pdf-download {
  margin: 2em 0 1em;
  padding: 0.5em;
  background-color: #77ccff;
  border-radius: 1.5em;
}
.c-pdf-download .text {
  margin: 0.5em 0 1em;
  line-height: 1.4;
  letter-spacing: 0;
}
.c-pdf-download .title {
  margin-bottom: 0;
  font-weight: 700;
}
.c-pdf-download .btn {
  margin: 0 auto 2rem;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 18px;
  font-weight: 600;
  display: flex;
  justify-content: center;
}
.c-pdf-download .btn:last-child {
  margin-bottom: 1rem;
}
.c-pdf-download .btn a {
  padding-right: 2em;
  position: relative;
  color: #333;
}
.c-pdf-download .btn a:first-child {
  margin-right: 1.5rem;
}
.c-pdf-download .btn a:hover::after {
  background-image: url("../img/icon-download_r.png");
}
.c-pdf-download .btn a::after {
  content: "";
  display: block;
  width: 28px;
  height: 28px;
  background-image: url("../img/icon-download.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  right: 0; /* 右からの位置 */
  top: 0;
}

.c-change-schedule {
  margin: 2rem 0;
}
.c-change-schedule h3 {
  padding: 0.5em 0;
  background-color: #ECEA64;
  text-align: center;
}
.c-change-schedule p {
  font-weight: 500;
  letter-spacing: 0;
}
.c-change-schedule a {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding: 1em;
  font-size: 14px;
  color: #fff;
  border-radius: 2em;
}
.c-change-schedule a::after {
  content: "＞";
  font-weight: 600;
  margin-left: 0.2em;
}
.c-change-schedule a:hover {
  opacity: 0.7;
}
.c-change-schedule a.all {
  background-color: #005c9e;
}
.c-change-schedule a.schedule {
  background-color: #e1000f;
}

.c-sec .c-news-title {
  color: #333;
  font-weight: 600;
  letter-spacing: 0;
}
.c-sec .c-news-time {
  font-family: "Jost", sans-serif;
  color: #e1000f;
  font-weight: 600;
}
.c-sec .c-news-control {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 38px;
  list-style: none;
  padding: 0;
}
.c-sec .c-news-control li {
  text-align: center;
}
.c-sec .c-news-control li a {
  font-weight: 700;
  color: #e1000f;
  letter-spacing: 0.1em;
}

/* ハンバーガーメニューボタンのスタイル */
.hamburger-menu {
  display: block; /* モバイルで表示 */
  position: fixed;
  top: 0.9375rem; /* 15px */
  right: 0.9375rem; /* 15px */
  height: 1.5rem; /* 24px */
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  z-index: 900; /* メニューより手前に */
}

.hamburger-menu span.bar {
  display: block;
  width: 1.875rem; /* 30px */
  height: 0.0625rem; /* 1px */
  background-color: #e1000f;
  margin: 0 auto 0.375rem; /* 6px */
  transition: all 0.3s ease;
}

.hamburger-menu span.bar:last-child {
  margin-bottom: 0;
}

/* ハンバーガーメニューのアニメーション (開閉時) */
.hamburger-menu.is-active span.bar:nth-child(1) {
  transform: translateY(0.5rem) rotate(45deg); /* 8px */
}

.hamburger-menu.is-active span.bar:nth-child(2) {
  opacity: 0;
}

.hamburger-menu.is-active span.bar:nth-child(3) {
  transform: translateY(-0.5rem) rotate(-45deg); /* 8px */
}

.hamburger-menu span.txt {
  font-size: 12px;
  color: #e1000f;
}

/* ------------------------------------------- */
/* 全体のリセットと基本スタイル           */
/* ------------------------------------------- */
* {
  box-sizing: border-box;
}

/* ------------------------------------------- */
/* フォントサイズの設定 (固定)                */
/* ------------------------------------------- */
html {
  /* ブラウザのデフォルトフォントサイズ（通常16px）を基準に1remを設定します。
     これにより、1rem = 16px となります。 */
  font-size: 100%; /* これが16pxになります */
}

html, body {
  margin: 0;
  padding: 0;
  height: 100%;
  font-family: "Noto Sans JP", sans-serif;
  color: #333;
  overflow-x: hidden; /* 横スクロールは基本発生させない */
}

img {
  max-width: 100%;
  height: auto;
}

a {
  text-decoration: none;
}
a:hover {
  color: #e1000f;
}

/* スプリットレイアウトコンテナ */
.split-layout-container {
  display: flex;
  flex-direction: column; /* デフォルトは縦並び（モバイルファースト） */
  height: 100vh; /* ビューポートの高さに固定 */
  overflow: hidden; /* コンテナ全体のスクロールを禁止 */
}

/* 各セクションの共通スタイル */
.split-section {
  box-sizing: border-box; /* paddingを幅に含める */
}

/* ------------------------------------------- */
/* モバイルファーストの基本スタイル (スマホ向け) */
/* ------------------------------------------- */
/* デフォルトではAとCは非表示 */
.section-a {
  display: none; /* Aはスマホで非表示 */
}

.section-c {
  /* Cはスマホでデフォルトで非表示にし、画面外に配置 */
  display: none; /* 初期状態は非表示 */
  position: fixed; /* 画面に固定 */
  top: 0;
  right: -90px; /* 初期は画面右端の外に配置 (widthと同じ値) */
  width: 90%; /* メニューの幅 */
  height: 100vh; /* 画面の高さ全体 */
  background-color: #ECEA64;
  box-shadow: -0.3125rem 0 0.625rem rgba(0, 0, 0, 0.2); /* 5px 0 10px */
  transition: right 0.3s ease-out; /* スライドアニメーション */
  z-index: 800; /* 他の要素より手前に表示 */
  padding: 10px 0 10px 10px;
  box-sizing: border-box;
  overflow-y: scroll;
}
.section-c .side-nav {
  margin-left: 4%;
}
.section-c .side-nav-list {
  list-style: none;
  padding: 0;
  margin: 0;
  position: relative;
  z-index: 800;
}
.section-c .side-nav-list li {
  margin-bottom: 1.2em;
}
.section-c .side-nav-head_enjoy {
  margin: 0;
}
.section-c .side-nav-head_enjoy picture {
  display: block;
  width: 112px;
}
.section-c .side-nav-head_pickup {
  margin: 0;
}
.section-c .side-nav-head_pickup picture {
  display: block;
  width: 127px;
}
.section-c .side-nav-head_info {
  margin: 0;
  display: inline-block;
  position: relative;
}
.section-c .side-nav-head_info picture {
  display: block;
  width: 246px;
}
.section-c .side-nav-head_info::after {
  content: "";
  position: absolute;
  top: 5px;
  right: -1.5em;
  width: 20px;
  height: 20px;
  background-image: url("https://daidogei-gb.com/wp/wp-content/themes/d25//img/index/icon-external.png");
  background-size: cover;
}
.section-c .side-nav-head_about {
  margin: 0;
  display: inline-block;
  position: relative;
}
.section-c .side-nav-head_about picture {
  display: block;
  width: 120px;
}
.section-c .side-nav-head_about::after {
  content: "";
  position: absolute;
  top: 5px;
  right: -1.5em;
  width: 20px;
  height: 20px;
  background-image: url("https://daidogei-gb.com/wp/wp-content/themes/d25//img/index/icon-external.png");
  background-size: cover;
}
.section-c .side-nav-head_news {
  margin: 0;
}
.section-c .side-nav-head_news picture {
  display: block;
  width: 100px;
}
.section-c .side-nav-list2 {
  list-style: none;
  padding: 0;
  margin: 0;
}
.section-c .side-nav-list2 li {
  margin-bottom: 0.1em;
  font-size: 14px;
}
.section-c .side-nav-list2 li a {
  color: #505050;
}
.section-c .side-nav-list2 li a:hover {
  color: #e1000f;
}
.section-c .side-nav-list2 li a:hover span {
  color: #e1000f;
}
.section-c .side-nav-list2 li .en {
  padding-right: 0.6em;
  font-family: "Jost", sans-serif;
  font-size: 16px;
  color: #005c9e;
}
.section-c .side-nav-list2 li .presents {
  padding-right: 1em;
  font-size: 12px;
}

.section-c .anime-wrap {
  display: block;
  width: 100%;
  height: 100%;
  margin-right: 1em;
  position: absolute;
  top: 0;
  right: 0;
}
.section-c .anime-wrap .anime {
  display: block;
  position: absolute;
  right: 0;
}
.section-c .anime-wrap .anime4 {
  display: none;
  width: 60%;
}
.section-c .anime-wrap .anime5 {
  display: none;
  width: 24%;
  max-width: 160px;
  top: clamp(100px, 18%, 180px);
  right: 2%;
}
.section-c .anime-wrap .anime6 {
  width: 50vw;
  bottom: 7%;
}

/* JavaScriptで追加されるクラス */
.section-c.is-active {
  right: 0; /* 画面内へスライドイン */
  display: block; /* 表示に切り替える */
}

/* B: メインコンテンツ（スクロール可能） */
.section-b {
  width: 100%; /* スマホではフル幅 */
  flex: 1 1 auto; /* 拡大・縮小を許可し、自動で高さを調整（親の残りの高さを占める） */
  overflow: hidden;
  overflow-y: auto; /* Bセクション内でスクロールを有効にする */
  background-color: #fff;
  box-shadow: none; /* 念のため明示的に解除 */
  position: relative; /* ハンバーガーメニューの配置基準 */
}
.section-b .logo {
  position: fixed;
  margin: 0;
  padding: 0.5rem;
  width: 100%;
  background-color: #fff;
  z-index: 700;
}
.section-b main {
  max-width: none; /* スマホでは最大幅を解除 */
}
.section-b footer .bg-img img {
  display: block;
  width: 100%;
}
.section-b footer .sec-footer {
  padding: 0 2rem 1rem;
  background-image: url(../img/bg-footer2.png);
  background-size: 100%;
  color: #fff;
}
.section-b footer .sec-footer h3 {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0;
  font-size: 14px;
  font-weight: unset;
  text-align: unset;
}
.section-b footer .sec-footer h3 img {
  margin-right: 1em;
}
.section-b footer .sec-footer h3.blank::after {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background-image: url("../img/index/icon-external-hover_w.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  right: -2em;
  top: 60%;
  transform: translateY(-50%);
}
.section-b footer .sec-footer-list {
  margin-top: 0;
  padding: 0;
  list-style: none;
}
.section-b footer .sec-footer-list a {
  color: #fff;
}
.section-b footer .sec-footer-list a:hover {
  text-decoration: underline;
}
.section-b footer .sec-footer-list .presents {
  padding-right: 1em;
  font-size: 14px;
}
.section-b footer .sec-footer-link {
  margin: 1rem auto;
  width: 260px;
}
.section-b footer .sec-footer-link .officia-site {
  display: block;
  padding: 0.2em 1em;
  background-color: #fff;
  border: solid 2px #000;
  border-radius: 1em;
  box-shadow: 3px 3px 0px 0px rgb(0, 0, 0);
  font-size: 12px;
  color: #000;
  letter-spacing: -0.05em;
}
.section-b footer .sec-footer-link .officia-site:hover {
  background-color: #000;
  color: #fff;
}
.section-b footer .sec-footer-link .officia-site span {
  font-family: "Jost", sans-serif;
}
.section-b footer .sec-footer-sns {
  display: flex;
  justify-content: space-between;
  margin: 1rem auto;
  width: 260px;
}
.section-b footer .sec-footer-sns img {
  width: 54px;
  height: auto;
}
.section-b footer .sec-footer-copyright {
  background-color: #fff;
  color: #333;
  font-size: 12px;
  font-weight: 600;
  text-align: center;
}

/* フォントサイズをrem単位で設定 (1rem=16px基準) */
/* ------------------------------------------- */
/* PC/タブレット対応 (769px以上の画面幅に適用) */
/* ------------------------------------------- */
@media screen and (min-width: 835px) {
  .split-layout-container {
    flex-direction: row; /* デスクトップでは横並び */
  }
  /* A: タイトル、ロゴなど - 残りのスペースを均等に */
  .section-a {
    display: flex; /* デスクトップでは表示 */
    flex: 1; /* ★変更: 残りのスペースを均等に占める */
    min-width: 12.5rem; /* ★追加: 最小幅200px (12.5 * 16px) */
    background-color: #ECEA64;
    flex-direction: column;
    background-image: url(../img/illust-oshiro.png);
    background-size: 80%;
    background-size: 27.24vw;
    background-position: bottom left;
    background-repeat: no-repeat;
  }
  .section-a .anime-area1 {
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
  }
  .section-a .anime-area1 .anime1 {
    width: 17.23vw;
  }
  .section-a .anime-area1 .anime2 {
    margin-top: 20%;
    width: 13.96vw;
  }
  .section-a .logo {
    margin: 0.8vw auto;
    width: 14.79vw;
  }
  .section-a .officia-site {
    display: block;
    margin: 0.52vw auto 1.2vw;
    padding: 0.2em 1em;
    width: -moz-fit-content;
    width: fit-content;
    background-color: #fff;
    border: solid 2px #000;
    border-radius: 1em;
    box-shadow: 3px 3px 0px 0px rgb(0, 0, 0);
    font-size: 14px;
    color: #000;
  }
  .section-a .officia-site:hover {
    background-color: #000;
    color: #fff;
  }
  .section-a .officia-site span {
    font-family: "Jost", sans-serif;
  }
  .section-a .sns-link {
    display: flex;
    justify-content: center;
  }
  .section-a .sns-link a {
    width: 3.125vw;
  }
  .section-a .sns-link a:not(:last-child) {
    margin-right: 1rem;
  }
  .section-a .sns-link a:hover {
    opacity: 0.7;
  }
  .section-a .c-buy-ticket .ticket-txt {
    top: 22%;
  }
  .section-a .c-buy-ticket .anime3 {
    display: block;
    width: 12vw;
    position: absolute;
    right: 2%;
    top: 50%;
    top: 9.259vh;
  }
  /* ハンバーガーメニューはPCでは非表示 */
  .hamburger-menu {
    display: none;
  }
  /* B: メインコンテンツ（PCでは固定幅 + 影） */
  .section-b {
    flex: 0 0 425px; /* 拡大も縮小もせず、幅を固定 */
    background-color: #fff;
    box-shadow: -0.3125rem 0 0.625rem rgba(0, 0, 0, 0.1), 0.3125rem 0 0.625rem rgba(0, 0, 0, 0.1); /* 5px 0 10px */
    z-index: 1;
    position: relative;
  }
  .section-b .logo {
    display: none;
  }
  .section-b main {
    max-width: none;
  }
  /* C: ナビゲーションメニューなど - 残りのスペースを均等に */
  .section-c {
    display: block; /* デスクトップでは表示 */
    flex: 1; /* ★変更: 残りのスペースを均等に占める */
    min-width: 15.625rem; /* ★追加: 最小幅250px (15.625 * 16px) */
    background-color: #ECEA64;
    position: static; /* PCではfixedを解除 */
    width: auto; /* PCでは固定幅を解除 */
    height: auto; /* PCでは固定高さを解除 */
    box-shadow: none; /* PCでは影を解除 */
    transition: none; /* PCではトランジションを解除 */
    z-index: auto; /* PCではz-indexを解除 */
    background-image: url(../img/illust-bus.png);
    background-size: 100%;
    background-position: 0 99%;
    background-repeat: no-repeat;
  }
  .section-c p {
    font-size: 0.875rem; /* 14px */
  }
  .section-c .anime-wrap .anime4, .section-c .anime-wrap .anime5 {
    display: block;
  }
  .section-c .anime-wrap .anime6 {
    width: 24vw;
    max-width: 440px;
    bottom: 10%;
  }
  aside {
    position: relative;
    height: 98%;
  }
}
@media screen and (max-width: 834px) {
  .page-frame .section-b main.page-index {
    margin: 66px 0 0 0;
  }
}
.page-frame .section-b main.page-index h3 {
  text-align: center;
}
.page-frame .section-b main.page-index .swiper-mv {
  margin-top: 62px;
}
@media screen and (min-width: 835px) {
  .page-frame .section-b main.page-index .swiper-mv {
    margin-top: 0;
  }
}
.page-frame .section-b main.page-index .swiper-mv .swiper-wrapper {
  position: relative;
}
.page-frame .section-b main.page-index .swiper-mv .swiper-slide {
  width: 100%;
}
.page-frame .section-b main.page-index .swiper-mv .swiper-slide img {
  width: 100%;
}
.page-frame .section-b main.page-index .swiper-mv .catch {
  width: clamp(1.75rem, -0.155rem + 9.52vw, 2.375rem);
  position: absolute;
  top: calc(2em + 62px);
  left: 2em;
  z-index: 10;
}
@media screen and (min-width: 835px) {
  .page-frame .section-b main.page-index .swiper-mv .catch {
    top: 2em;
  }
}
.page-frame .section-b main.page-index .swiper-mv .title {
  position: absolute;
  top: clamp(21.25rem, 1.642rem + 98.04vw, 46.25rem);
  z-index: 10;
}
@media screen and (min-width: 835px) {
  .page-frame .section-b main.page-index .swiper-mv .title {
    top: 360px;
  }
}
.page-frame .section-b main.page-index .swiper-mv .title img {
  width: 100%;
}
.page-frame .section-b main.page-index .head-img {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.page-frame .section-b main.page-index .sec-news {
  margin-top: clamp(6.25rem, 0.027rem + 30.63vw, 15rem);
}
@media screen and (min-width: 835px) {
  .page-frame .section-b main.page-index .sec-news {
    margin-top: 140px;
  }
}
.page-frame .section-b main.page-index .sec-news-wrap {
  padding: 1.4em 1em;
  background-image: linear-gradient(90deg, rgb(225, 0, 15) 50%, rgb(0, 92, 158));
}
.page-frame .section-b main.page-index .sec-news-inner {
  padding: 1em;
  background-color: #fff;
}
.page-frame .section-b main.page-index .sec-news-inner h3 {
  margin: 0;
  font-size: 16px;
  text-align: left;
  letter-spacing: 0.1em;
}
.page-frame .section-b main.page-index .sec-news-inner h3 .en {
  padding-right: 0.4em;
  font-family: "Jost", sans-serif;
  font-size: 28px;
  line-height: 1;
  color: #e1000f;
  letter-spacing: 0;
}
.page-frame .section-b main.page-index .sec-news-inner h4 {
  margin: 1em 0 0 0;
  position: relative;
  padding-right: 24px;
  font-weight: 900;
  letter-spacing: 0.1em;
}
.page-frame .section-b main.page-index .sec-news-inner h4 a {
  color: #333;
}
.page-frame .section-b main.page-index .sec-news-inner h4 a:hover {
  text-decoration: underline;
}
.page-frame .section-b main.page-index .sec-news-inner h4 a::after {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  background-image: url("../img/index/icon-arrow_gray.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 50%;
  right: 0;
}
.page-frame .section-b main.page-index .sec-news-inner h4 time {
  display: block;
  margin-bottom: 0.2rem;
  font-size: 14px;
  line-height: 1;
  font-weight: 800;
}
.page-frame .section-b main.page-index .sec-news-nav {
  display: flex;
  justify-content: space-around;
  margin-top: 1rem;
}
.page-frame .section-b main.page-index .sec-news-nav a {
  display: block;
  padding: 1em;
  font-size: 14px;
  color: #fff;
  border-radius: 2em;
}
.page-frame .section-b main.page-index .sec-news-nav a::after {
  content: "＞";
  font-weight: 600;
  margin-left: 0.2em;
}
.page-frame .section-b main.page-index .sec-news-nav a:hover {
  opacity: 0.7;
}
.page-frame .section-b main.page-index .sec-news-nav a.all {
  background-color: #005c9e;
}
.page-frame .section-b main.page-index .sec-news-nav a.schedule {
  background-color: #e1000f;
}
.page-frame .section-b main.page-index .sec-enjoy {
  margin: 2rem 0;
}
.page-frame .section-b main.page-index .sec-enjoy-bg {
  background-size: 100%;
  background-repeat: no-repeat;
}
.page-frame .section-b main.page-index .sec-enjoy-bg .c-btn {
  margin-bottom: 1rem;
}
.page-frame .section-b main.page-index .sec-enjoy-bg picture {
  display: block;
  width: 89%;
  margin: 0 auto;
}
.page-frame .section-b main.page-index .sec-stage {
  background-image: url(../img/index/bg-stage.png);
  background-size: 100%;
  background-repeat: no-repeat;
  padding-top: 220px;
  padding-bottom: 16vh;
}
.page-frame .section-b main.page-index .sec-stage h3 {
  color: #fff;
}
.page-frame .section-b main.page-index .sec-stage picture {
  display: block;
  width: 89%;
  margin: 0 auto;
}
.page-frame .section-b main.page-index .sec-stage picture img {
  border-radius: 10px;
}
.page-frame .section-b main.page-index .sec-seat {
  background-image: url(../img/index/bg-seat.png);
  background-size: 100%;
  padding-bottom: 16vh;
}
.page-frame .section-b main.page-index .sec-seat .c-buy-ticket {
  margin-top: 0;
  margin-bottom: -7vh;
  top: -12vh;
}
.page-frame .section-b main.page-index .sec-seat .c-buy-ticket .ticket-img img {
  width: 260px;
}
.page-frame .section-b main.page-index .sec-seat .c-buy-ticket .ticket-txt img {
  width: 160px;
}
.page-frame .section-b main.page-index .sec-seat picture {
  display: block;
  width: 89%;
  margin: 0 auto;
}
.page-frame .section-b main.page-index .sec-seat picture img {
  border-radius: 10px;
}
.page-frame .section-b main.page-index .sec-parade {
  padding-bottom: 2vh;
  background-image: url(../img/index/bg-parade.png);
  background-size: 100%;
  background-repeat: no-repeat;
}
.page-frame .section-b main.page-index .sec-parade picture {
  display: block;
  width: 89%;
  margin: 0 auto;
}
.page-frame .section-b main.page-index .sec-parade picture img {
  border-radius: 10px;
}
.page-frame .section-b main.page-index .sec-parade .c-buy-ticket {
  margin-top: 0;
  margin-bottom: -7vh;
  top: -12vh;
}
.page-frame .section-b main.page-index .sec-parade .c-buy-ticket .ticket-img img {
  width: 260px;
}
.page-frame .section-b main.page-index .sec-parade .c-buy-ticket .ticket-txt img {
  width: 160px;
}
.page-frame .section-b main.page-index .sec-parade .anime-illust07 {
  margin: 1.5vh auto;
  width: 100%;
}
.page-frame .section-b main.page-index .sec-kids {
  background-image: url(../img/index/bg-kids.png);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: 0 -70px;
  padding-top: 3vh;
}
.page-frame .section-b main.page-index .sec-kids picture {
  display: block;
  width: 89%;
  margin: 0 auto;
}
.page-frame .section-b main.page-index .sec-kids picture img {
  border-radius: 10px;
}
.page-frame .section-b main.page-index .sec-kids .c-img-grow {
  position: relative;
  top: -140px;
  margin-bottom: -140px;
}
.page-frame .section-b main.page-index .sec-kids .anime-illust02 {
  position: relative;
  top: -12vh;
  margin-bottom: -12vh;
  width: 60%;
}
.page-frame .section-b main.page-index .sec-info {
  position: relative;
}
.page-frame .section-b main.page-index .sec-info .head-info {
  margin: 1em 1em;
}
.page-frame .section-b main.page-index .sec-info .head-about {
  margin-top: 3rem;
}
.page-frame .section-b main.page-index .sec-info .mark {
  position: absolute;
  right: 1rem;
  bottom: -60px;
  width: 90px;
}
@media screen and (min-width: 835px) {
  .page-frame .section-b main.page-index .sec-info .mark {
    width: 110px;
  }
}

@media screen and (min-width: 835px) {
  .page-frame .section-b main.page-premium .swiper-mv {
    margin-top: 0;
  }
}
.page-frame .section-b main.page-premium .swiper-mv .swiper-wrapper {
  position: relative;
}
.page-frame .section-b main.page-premium .swiper-mv .swiper-slide {
  width: 100%;
}
.page-frame .section-b main.page-premium .swiper-mv .swiper-slide img {
  width: 100%;
}
.page-frame .section-b main.page-premium .swiper-mv .catch {
  width: clamp(1.75rem, -0.155rem + 9.52vw, 2.375rem);
  position: absolute;
  top: calc(2em + 62px);
  left: 2em;
  z-index: 10;
}
@media screen and (min-width: 835px) {
  .page-frame .section-b main.page-premium .swiper-mv .catch {
    top: 2em;
  }
}
.page-frame .section-b main.page-premium .swiper-mv .title {
  position: absolute;
  top: clamp(21.25rem, 1.642rem + 98.04vw, 46.25rem);
  z-index: 10;
}
@media screen and (min-width: 835px) {
  .page-frame .section-b main.page-premium .swiper-mv .title {
    top: 360px;
  }
}
.page-frame .section-b main.page-premium .swiper-mv .title img {
  width: 100%;
}
.page-frame .section-b main.page-premium .sec-schedule {
  padding: 1em 0;
  background-size: 100%;
}
.page-frame .section-b main.page-premium .sec-schedule.bg-r {
  background-image: url(../img/premium-stage/bg-r.png);
}
.page-frame .section-b main.page-premium .sec-schedule.bg-b {
  background-image: url(../img/premium-seat/bg-b.png);
}
.page-frame .section-b main.page-premium .sec-schedule h3 {
  margin-bottom: 0.2em;
  color: #fff;
}
.page-frame .section-b main.page-premium .sec-schedule-day {
  padding: 1em 1em 0;
  background-color: #fff;
  border-radius: 0.5em;
}
.page-frame .section-b main.page-premium .sec-schedule-day._seat {
  padding: 1em 1em;
}
.page-frame .section-b main.page-premium .sec-schedule-day h4 {
  margin: 0;
  text-align: center;
}
.page-frame .section-b main.page-premium .sec-schedule-day h5 {
  margin: 0.5em 0 0;
  padding: 0.2em;
  font-size: 18px;
  color: #fff;
  text-align: center;
}
.page-frame .section-b main.page-premium .sec-schedule-day h5.day {
  background-color: #f39800;
}
.page-frame .section-b main.page-premium .sec-schedule-day h5.night {
  background-color: #144086;
}
.page-frame .section-b main.page-premium .sec-schedule-day ul {
  padding: 0;
  list-style: none;
}
.page-frame .section-b main.page-premium .sec-schedule-day li {
  position: relative;
  margin: 0.4em 0;
  padding-bottom: 0.4em;
  border-bottom: solid 2px #333;
  font-size: 12px;
  /* ジャンルアイコン */
}
.page-frame .section-b main.page-premium .sec-schedule-day li .en {
  font-size: 18px;
  font-weight: 800;
  font-family: "Jost", sans-serif;
  letter-spacing: 0;
}
.page-frame .section-b main.page-premium .sec-schedule-day li.herma {
  letter-spacing: -0.2em;
}
.page-frame .section-b main.page-premium .sec-schedule-day li.herma .en {
  font-size: 16px;
  letter-spacing: -0.05em;
}
.page-frame .section-b main.page-premium .sec-schedule-day li.g-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 58px;
  height: 58px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.page-frame .section-b main.page-premium .sec-schedule-day li.acrobat::after {
  background-image: url(../img/g-acrobat.png);
}
.page-frame .section-b main.page-premium .sec-schedule-day li.aerial::after {
  background-image: url(../img/g-aerial.png);
}
.page-frame .section-b main.page-premium .sec-schedule-day li.balloon::after {
  background-image: url(../img/g-balloon.png);
}
.page-frame .section-b main.page-premium .sec-schedule-day li.comedy::after {
  background-image: url(../img/g-comedy.png);
}
.page-frame .section-b main.page-premium .sec-schedule-day li.dance::after {
  background-image: url(../img/g-dance.png);
}
.page-frame .section-b main.page-premium .sec-schedule-day li.diabolo::after {
  background-image: url(../img/g-diabolo.png);
}
.page-frame .section-b main.page-premium .sec-schedule-day li.happening::after {
  background-image: url(../img/g-happening.png);
}
.page-frame .section-b main.page-premium .sec-schedule-day li.juggling::after {
  background-image: url(../img/g-juggling.png);
}
.page-frame .section-b main.page-premium .sec-schedule-day li.magic::after {
  background-image: url(../img/g-magic.png);
}
.page-frame .section-b main.page-premium .sec-schedule-day li.music::after {
  background-image: url(../img/g-music.png);
}
.page-frame .section-b main.page-premium .sec-schedule-day li.others::after {
  background-image: url(../img/g-others.png);
}
.page-frame .section-b main.page-premium .sec-schedule-day li.pantomime::after {
  background-image: url(../img/g-pantomime.png);
}
.page-frame .section-b main.page-premium .sec-schedule-day li.puppet::after {
  background-image: url(../img/g-puppet.png);
}
.page-frame .section-b main.page-premium .sec-schedule-day li.statue::after {
  background-image: url(../img/g-statue.png);
}
.page-frame .section-b main.page-premium .sec-schedule-day li.stilt::after {
  background-image: url(../img/g-stilt.png);
}
.page-frame .section-b main.page-premium .sec-schedule-day li.unicycle::after {
  background-image: url(../img/g-unicycle.png);
}
.page-frame .section-b main.page-premium .sec-schedule-day li.yoyo::after {
  background-image: url(../img/g-yoyo.png);
}
.page-frame .section-b main.page-premium .sec-schedule-day li.zalatai::after {
  background-image: url(../img/g-zalatai.png);
}
.page-frame .section-b main.page-premium .sec-schedule-day .final {
  margin: 2rem -1rem 0;
  padding: 1em 1em 0;
  background-image: url(../img/premium-stage/final-bg.png);
  background-size: cover;
  background-repeat: no-repeat;
  border-radius: 0 0 0.5em 0.5em;
  background-color: #efe6c3;
}
.page-frame .section-b main.page-premium .sec-schedule-day .final .title {
  display: block;
  width: auto;
  margin: 0 auto;
}
.page-frame .section-b main.page-premium .sec-schedule .note {
  margin-top: 0.2em;
  font-size: 12px;
  color: #fff;
}
.page-frame .section-b main.page-premium .sec-schedule-ticket {
  margin: 1rem -1rem 0;
  text-align: center;
}
.page-frame .section-b main.page-premium .sec-schedule-ticket .ticket-bg {
  padding: 1.5rem 0 8rem;
  background-image: url(../img/premium-stage/ticket-photo.webp);
  background-size: cover;
}
.page-frame .section-b main.page-premium .sec-schedule-ticket .ticket-bg._seat {
  padding: 3rem 0 2rem;
  background: none;
}
.page-frame .section-b main.page-premium .sec-schedule-ticket .c-buy-ticket {
  width: 65%;
  margin: 0 auto;
}
.page-frame .section-b main.page-premium .sec-schedule-ticket .c-buy-ticket .ticket-img img {
  width: 220px;
}
.page-frame .section-b main.page-premium .sec-schedule-ticket .c-buy-ticket .ticket-txt img {
  width: 150px;
  margin-top: 10px;
}
.page-frame .section-b main.page-premium .sec-info h3 {
  padding-bottom: 0.5em;
  background-color: #ECEA64;
  border-radius: 0.5em 0.5em 0 0;
}
.page-frame .section-b main.page-premium .sec-info h3._seat {
  color: #005c9e;
}
.page-frame .section-b main.page-premium .sec-info h3 .wrap {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.page-frame .section-b main.page-premium .sec-info-list {
  list-style: none;
  padding: 0;
}
.page-frame .section-b main.page-premium .sec-info-list li {
  margin-bottom: 0.2rem;
}
.page-frame .section-b main.page-premium .sec-info-list li.ontheday {
  color: #e1000f;
}
.page-frame .section-b main.page-premium .sec-info-list li.map img {
  display: block;
  width: 100%;
  margin: 0 auto;
}
.page-frame .section-b main.page-premium .sec-info-list li.map._seat img {
  width: 80%;
}
.page-frame .section-b main.page-premium .sec-info-list li.map._seat .list-note li:first-child::before {
  content: "●";
}
.page-frame .section-b main.page-premium .sec-info-list li.norma h4 {
  padding: 0.2em 0.5em;
  background-color: #e1000f;
  color: #fff;
  letter-spacing: 0;
}
.page-frame .section-b main.page-premium .sec-info-list li.norma .list-note {
  font-size: 16px;
  font-weight: 600;
  color: #e1000f;
}
.page-frame .section-b main.page-premium .sec-info-list li.norma .list-note li::before {
  content: "●";
}
.page-frame .section-b main.page-premium .sec-info-list li.norma .apply {
  margin-top: 1em;
  padding: 0.5em;
  border: solid 1px #333;
  font-weight: 800;
  text-align: center;
}
.page-frame .section-b main.page-premium .sec-info h4 {
  margin: 1.5em 0 0;
  font-size: 18px;
  color: #333;
  letter-spacing: 0.2em;
}
.page-frame .section-b main.page-premium .sec-info h4 .pink {
  margin-left: 1em;
  padding: 0 1em;
  background-color: #f8d2ce;
  border-radius: 1em;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0;
}
.page-frame .section-b main.page-premium .sec-info h5 {
  margin-bottom: 0;
  padding: 0.2em 0.5em;
  background-color: #f2f2f2;
  border: solid 1px #333;
  font-size: 16px;
  letter-spacing: 0.1em;
}
.page-frame .section-b main.page-premium .sec-info h5 + p {
  letter-spacing: 0;
}
.page-frame .section-b main.page-premium .sec-info h5 + p.eplus {
  margin: 1.5em 0 0;
  padding-left: 70px;
  position: relative;
}
.page-frame .section-b main.page-premium .sec-info h5 + p.eplus::before {
  content: "";
  background-image: url(../img/icon-eplus.png);
  position: absolute;
  top: 50%;
  left: 5px;
  transform: translateY(-50%);
  width: 50px;
  height: 50px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.page-frame .section-b main.page-premium .sec-info .info-table {
  width: 100%;
  margin-top: 0.5em;
  border-collapse: collapse;
  font-size: 14px;
  font-weight: 800;
}
.page-frame .section-b main.page-premium .sec-info .info-table th, .page-frame .section-b main.page-premium .sec-info .info-table td {
  border: 1px solid #333;
  padding: 0.2em;
  text-align: left;
}
.page-frame .section-b main.page-premium .sec-info .info-table th {
  background-color: #f2f2f2;
}
.page-frame .section-b main.page-premium .sec-info .info-table.schedule th:first-child, .page-frame .section-b main.page-premium .sec-info .info-table.schedule td:first-child {
  width: 4em;
}
.page-frame .section-b main.page-premium .sec-info .info-table.fee th, .page-frame .section-b main.page-premium .sec-info .info-table.fee td {
  padding: 0.5em 0;
  text-align: center;
}
.page-frame .section-b main.page-premium .sec-info .info-table.fee th:first-child, .page-frame .section-b main.page-premium .sec-info .info-table.fee td:first-child {
  width: 6em;
}
.page-frame .section-b main.page-premium .sec-info .info-table.fee .capa {
  margin-left: 1em;
  padding: 0 1em;
  background-color: #e1000f;
  font-size: 12px;
  color: #fff;
  font-weight: 600;
  letter-spacing: 0;
}
.page-frame .section-b main.page-premium .sec-info .list-note {
  padding: 0;
  list-style: none;
  font-size: 14px;
}
.page-frame .section-b main.page-premium .sec-info .list-note li {
  position: relative;
  padding-left: 1.5em;
  /* 日本語の禁則処理 */
  overflow-wrap: anywhere; /* 収まらない場合に折り返す */
  word-break: normal; /* 単語の分割はデフォルトに依存 */
  line-break: strict; /* 禁則処理を厳格に適用 */
  /* 均等割付 */
  text-align: justify;
}
.page-frame .section-b main.page-premium .sec-info .list-note li::before {
  content: "※";
  position: absolute;
  left: 0;
}
.page-frame .section-b main.page-premium .sec-info .list-note li.red {
  color: #e1000f;
}

.page-guidebook .e-book {
  margin-top: 2rem;
}
.page-guidebook .e-book-link {
  margin-bottom: 3rem;
}
.page-guidebook .e-book-link .c-btn._small {
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.8em 3em 0.8em 2em;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: 0.2em;
}

.page-guidemap {
  margin-bottom: 3rem;
}
.page-guidemap .c-guidemap-tab-nav {
  display: flex;
  justify-content: space-between;
}
.page-guidemap .c-guidemap-tab-btn {
  width: 10em;
  background-color: #aaa;
  border: solid 2px #aaa;
  border-radius: 0.6em 0.6em 0 0;
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  text-align: center;
  transition: all 0.3s ease, color 0.3s ease;
}
.page-guidemap .c-guidemap-tab-btn a {
  display: block;
  padding: 0.6em 1em;
  color: #fff;
}
.page-guidemap .c-guidemap-tab-btn:hover {
  background-color: #e9e9e9;
  border: solid 2px #e9e9e9;
}
.page-guidemap .c-guidemap-tab-btn:hover a {
  color: #333;
}
.page-guidemap .c-guidemap-tab-btn.active {
  background-color: #fff;
  border: solid 2px #333;
  border-bottom: none;
}
.page-guidemap .c-guidemap-tab-btn.active a {
  color: #333;
  pointer-events: none;
  cursor: default;
}
.page-guidemap .c-guidemap-tab-view {
  margin-top: -2px;
  padding: 0.5em;
  border: solid 2px #333;
  border-radius: 0 0 0.6em 0.6em;
}
.page-guidemap .c-guidemap-tab-view .c-btn {
  margin-top: 1rem;
}
.page-guidemap .c-guidemap-tab-view .c-btn._small {
  letter-spacing: 0;
  font-weight: 600;
}

.page-artist .category-tag {
  font-weight: 600;
  line-height: 1;
  color: #fff;
  text-align: center;
}
.page-artist .category-tag.short {
  padding: 0.2em;
  position: absolute;
  bottom: 0;
  right: 0;
  font-size: 11px;
  letter-spacing: -0.1em;
}
.page-artist .category-tag.long {
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.2em 0.5em;
  font-size: 14px;
}
.page-artist .category-tag.on {
  background-color: #ff5a00;
}
.page-artist .category-tag.ws {
  background-color: #0086b8;
}
.page-artist .category-tag.exchange {
  background-color: #b877a2;
}
.page-artist .flag-icon {
  display: flex;
  align-items: center;
  font-size: 14px;
  font-weight: 600;
}
.page-artist .fi {
  margin-right: 0.2em;
  width: 39px;
  height: 30px;
  border: 1px solid #ccc;
}
.page-artist .c-btn._small {
  letter-spacing: 0;
  font-weight: 800;
}
.page-artist select.artist-list {
  width: 100%;
  margin: 1em 0 1.5em;
  padding: 0.2em 0.4em;
  border: solid 2px #333;
  font-size: 16px;
  font-weight: 600;
}
.page-artist .artist-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem 0.5rem;
}
.page-artist .artist-list-view {
  width: 48%;
}
.page-artist .artist-list-view a {
  display: block;
  padding-bottom: 0.5rem;
  color: #333;
}
.page-artist .artist-list-view a:hover {
  background-color: #fffccc;
}
.page-artist .artist-list-view a:hover .photo {
  transform: scale(1.1);
}
.page-artist .artist-list-view .img-wrap {
  display: block;
  position: relative;
  overflow: hidden;
}
.page-artist .artist-list-view .img-wrap img {
  display: block;
  width: auto;
  transition: transform 0.3s ease-in-out;
}
.page-artist .artist-list-view .img-wrap .no {
  position: absolute;
  margin-bottom: -0.1em;
  bottom: 0;
  left: 0;
  font-family: "Jost", sans-serif;
  font-size: 44px;
  line-height: 1;
  color: #fff;
  -webkit-text-stroke: 4px #000;
  paint-order: stroke;
}
.page-artist .artist-list-view .name1 {
  display: block;
  margin-top: 0.5rem;
  font-family: "Jost", sans-serif, "Noto Sans JP", sans-serif;
  font-weight: 800;
  line-height: 1;
}
.page-artist .artist-list-view .name2 {
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
}
.page-artist .artist-list-view .info-icon {
  margin-top: 0.5em;
  display: flex;
  gap: 0.5em;
}
.page-artist .artist-detail .photo {
  padding: 0 1em;
}
.page-artist .artist-detail .area-name {
  margin-top: 1rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: end;
}
.page-artist .artist-detail .area-name .no {
  font-family: "Jost", sans-serif;
  font-size: 44px;
  line-height: 1;
  color: #fff;
  -webkit-text-stroke: 4px #000;
  paint-order: stroke;
}
.page-artist .artist-detail .area-name .url {
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.5em;
  background-color: #000;
  font-size: 14px;
  font-weight: 500;
  border-radius: 0.5em;
}
.page-artist .artist-detail .area-name .url a {
  color: #fff;
}
.page-artist .artist-detail .area-name .url a:hover {
  color: #e1000f;
}
.page-artist .artist-detail .area-name h3 {
  width: 100%;
  color: #333;
}
.page-artist .artist-detail .area-name h3 .name1 {
  display: block;
  font-family: "Jost", sans-serif, "Noto Sans JP", sans-serif;
}
.page-artist .artist-detail .area-name h3 .name2 {
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
}
.page-artist .artist-detail .catch_jp {
  font-size: 18px;
  font-weight: 600;
}
.page-artist .artist-detail .catch_en {
  font-weight: 600;
  line-height: 1.5;
  text-align: inherit;
}
.page-artist .artist-detail .text_en {
  font-size: 14px;
  line-height: 1.5;
  text-align: inherit;
}
.page-artist .artist-detail .info-icon {
  display: flex;
  gap: 1em;
}
.page-artist .artist-detail .info-icon-sub {
  display: flex;
  justify-content: space-around;
  flex-direction: column;
}
.page-artist-icon .icon-list {
  padding: 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1em;
  list-style: none;
}
.page-artist-icon .icon-list li {
  width: 30%;
  text-align: center;
}
.page-artist-icon .icon-list img {
  width: 90px;
  height: auto;
}
.page-artist-icon .icon-list p {
  margin: 0;
  font-size: 14px;
  line-height: 1.4;
  font-weight: 600;
  letter-spacing: 0;
}
.page-artist-icon .new-comers {
  margin: 1.5rem 0 2rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: nowrap;
  align-items: center;
}
.page-artist-icon .new-comers picture {
  margin-right: 1rem;
}
.page-artist-icon .new-comers p {
  width: 100%;
  margin: 0;
  font-size: 14px;
  line-height: 1.4;
  font-weight: 600;
  letter-spacing: 0;
}

.page-showten {
  padding-bottom: 100px;
  background-image: url(../img/showten/bg-showten.png);
}
.page-showten h2 {
  margin: 0;
}
.page-showten h3 {
  color: #ECEA64;
}
.page-showten p {
  color: #fff;
}
.page-showten p strong {
  font-weight: 500;
  color: #ECEA64;
}
.page-showten .start, .page-showten .goal {
  position: relative;
  display: flex;
  margin: 2em 0;
  color: #333;
  font-weight: 700;
  background-color: #fff;
}
.page-showten .start span, .page-showten .goal span {
  display: block;
  margin-right: 1em;
  width: 5em;
  background-color: #e1000f;
  font-family: "Jost", sans-serif;
  color: #fff;
  text-align: center;
}
.page-showten .start::after {
  content: "";
  width: 0;
  height: 0;
  border-top: 15px solid #ECEA64;
  border-right: 15px solid transparent;
  border-left: 15px solid transparent;
  /* 三角形の位置調整 */
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%); /* 自身の幅の半分だけ左に戻し、完全に中央揃えにする */
  bottom: -25px;
}
.page-showten .photo {
  height: 420px;
  background: no-repeat url(../img/showten/bg-photo.png);
  background-size: cover;
  background-position: bottom;
  text-align: center;
}
.page-showten .photo img {
  width: 80%;
}
.page-showten .info {
  padding-bottom: 2em;
  text-align: center;
}
.page-showten .youtube {
  padding: 2em 0 2em 1em;
  text-align: center;
}
.page-showten + footer {
  margin-top: -120px;
}

.page-stamp {
  padding-bottom: 100px;
  background-image: url(../img/stamp/bg-stamp.png);
}
.page-stamp h2 {
  margin: 0;
}
.page-stamp h3 {
  padding: 0.2em;
  background-color: #e1000f;
  color: #fff;
  text-align: center;
}
.page-stamp-prize {
  display: block;
  margin: 1rem 0;
}
.page-stamp-info h4 {
  margin: 1em 0 0.5em;
  padding: 0.2em;
  background-color: #fff;
  border: solid 2px #e1000f;
  border-radius: 0.8em;
  font-size: 18px;
  color: #e1000f;
  letter-spacing: 0.2em;
  text-align: center;
}
.page-stamp-info p {
  margin: 0.5em 0 2em;
  font-weight: 600;
  letter-spacing: 0;
  text-align: center;
}
.page-stamp-info strong {
  color: #e1000f;
}
.page-stamp-point .red, .page-stamp-point .blue {
  margin: 1em 0 0.5em;
  padding: 1em;
  background-color: #fff;
  border-radius: 0.8em;
}
.page-stamp-point .red h4, .page-stamp-point .blue h4 {
  margin: 0;
  padding-bottom: 0.2em;
  letter-spacing: 0.2em;
  text-align: center;
}
.page-stamp-point .red p, .page-stamp-point .blue p {
  font-weight: 600;
  letter-spacing: 0;
}
.page-stamp-point .red {
  position: relative;
  border: solid 2px #e1000f;
}
.page-stamp-point .red h4 {
  border-bottom: solid 1px #e1000f;
  color: #e1000f;
}
.page-stamp-point .red .req {
  color: #e1000f;
}
.page-stamp-point .red::after {
  content: "+";
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  background-color: #005c9e;
  color: white;
  border-radius: 50%;
  font-size: 28px;
  font-weight: 900;
  line-height: 1;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -22px;
  z-index: 10;
}
.page-stamp-point .blue {
  border: solid 2px #005c9e;
}
.page-stamp-point .blue h4 {
  border-bottom: solid 1px #005c9e;
  color: #005c9e;
}
.page-stamp-map {
  margin: 2rem 0;
  text-align: center;
}
.page-stamp-map h3 {
  margin: 1rem 0;
}
.page-stamp-map img {
  width: 100%;
}
.page-stamp-goal {
  margin: 2rem 0;
}
.page-stamp-goal p {
  margin-top: 0;
  padding: 0.5em 8%;
  background-color: #fff;
  border: solid 1px red;
  font-weight: 700;
}
.page-stamp + footer {
  margin-top: -100px;
}

.page-kids {
  padding-bottom: 100px;
  background-image: url(../img/kids/bg-r.png);
}
.page-kids h2 {
  margin: 0;
}
.page-kids h3 {
  color: #005c9e;
  text-align: center;
}
.page-kids h3.catch {
  color: #ECEA64;
  text-align: left;
}
.page-kids h4 {
  margin: 1em 0;
  color: #e1000f;
}
.page-kids p.lead {
  color: #fff;
}
.page-kids p strong {
  color: #e1000f;
}
.page-kids .image .icon {
  position: relative;
  display: block;
}
.page-kids .image .icon::after {
  content: "";
  width: 50px;
  height: 50px;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  bottom: 0;
  right: -10px;
}
.page-kids .image .icon.free::after {
  background-image: url(../img/kids/icon-free.png);
}
.page-kids .image .icon.paid::after {
  background-image: url(../img/kids/icon-paid.png);
}
.page-kids .image .note {
  margin: 0;
  font-size: 12px;
  line-height: 1.2;
}
.page-kids .event-date {
  display: flex;
  justify-content: space-between;
  margin-top: 0.5em;
  padding: 0;
}
.page-kids .event-date li {
  display: block;
  width: 24%;
  padding: 0.2em;
  background-color: #ccc;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  text-align: center;
}
.page-kids .event-date li.hold {
  background-color: #005c9e;
}
.page-kids .event-date li.hold-playland {
  background-color: #e1000f;
}
.page-kids-point {
  position: relative;
  margin: 50px 0 2rem;
  padding: 1em;
  background-color: #fff;
  border-radius: 0.8em;
}
.page-kids-point.point-no::before {
  content: "";
  display: flex;
  justify-content: center;
  align-items: center;
  width: 52px;
  height: 70px;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -30px;
}
.page-kids .point5 {
  padding-top: 2em;
}
.page-kids .point5::before {
  background-image: url(../img/kids/fig-point5.png);
}
.page-kids .point5 .schedule-table {
  min-width: 100%;
  border-collapse: separate; /* セル間隔を有効化 */
  width: calc(100% - 1rem); /* ラッパーの調整と相殺 */
}
.page-kids .point5 .schedule-table thead {
  background-color: #005c9e;
  color: #fff;
  position: sticky;
  top: 0;
  z-index: 10;
}
.page-kids .point5 .schedule-table thead th {
  padding: 0.5em 1em;
  font-size: 13px;
  font-weight: 600;
}
.page-kids .point5 .schedule-table tbody {
  /* ストライプ（偶数行のセルの背景色） */
}
.page-kids .point5 .schedule-table tbody tr:nth-child(even) td {
  background-color: #ECEA64;
}
.page-kids .point5 .schedule-table tbody td {
  margin-right: 0.5em;
  padding: 0.5em;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 600;
  text-align: center;
}
.page-kids .point5 .info {
  padding: 0.5em;
  background-color: #ECEA64;
  border: solid 1px #005c9e;
  border-radius: 0.8em;
  color: #005c9e;
  font-size: 14px;
  line-height: 1.4;
  letter-spacing: 0;
}
.page-kids .point5 .about {
  text-align: center;
}
.page-kids .point5 .about > p {
  font-size: 13px;
  line-height: 1.4;
  letter-spacing: 0;
  text-align: left;
}
.page-kids .point6 {
  padding-top: 2em;
  padding-bottom: 80px;
}
.page-kids .point6::before {
  background-image: url(../img/kids/fig-point6.png);
}
.page-kids .point6 .flex-box {
  display: flex;
  justify-content: space-between;
  margin: 1em 0;
}
.page-kids .point6 .flex-box .second {
  width: 48%;
}
.page-kids .point6 .peformance {
  padding: 0;
}
.page-kids .point6 .peformance li .text {
  text-align: center;
}
.page-kids .point6 .peformance li .text h4 {
  margin: 0 0 0.5em;
  line-height: 1.4;
}
.page-kids .point6 .peformance li .text p {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
}
.page-kids .point6 .peformance li .text p.date {
  background-color: #005c9e;
  color: #fff;
  text-align: center;
}
.page-kids .point6 .peformance li .text p.time {
  display: inline-block;
}
.page-kids .point6 .peformance li .text p.time .no {
  color: #005c9e;
}
.page-kids .point6 .event {
  margin: 2rem 0 0;
  padding: 0;
}
.page-kids .point6 .event li {
  display: block;
}
.page-kids .point6 .event li h4 {
  margin-bottom: 0.5em;
}
.page-kids .point6 .event li h4 img {
  vertical-align: middle;
}
.page-kids .point6 .event li .text {
  width: 48%;
  margin: 0 1em 0 0;
  font-size: 14px;
}
.page-kids .playland {
  position: relative;
}
.page-kids .playland::before {
  content: "";
  width: 280px;
  height: 147px;
  background-image: url(../img/kids/photo-clown.webp);
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  top: -147px;
  left: calc(50% - 140px);
}
.page-kids .booth h3 {
  display: flex;
  align-items: center;
  text-align: left;
}
.page-kids .booth h3 img {
  display: block;
  margin-right: 0.2em;
}
.page-kids .booth p {
  margin: 0.5em 0;
}
.page-kids .booth .place {
  color: #005c9e;
}
.page-kids + footer {
  margin-top: -100px;
}

.page-guidemap select.point-list {
  width: 100%;
  margin: 0.5em 0;
  padding: 0.2em 0.4em;
  border: solid 2px #333;
  font-size: 16px;
  font-weight: 600;
}
.page-guidemap:not(.timetable) select.point-list {
  margin-bottom: 2em;
}

.timetable ol {
  list-style: none;
  padding: 0;
}
.timetable .map iframe {
  width: 100%;
  height: 420px;
}
.timetable .tabs {
  display: flex;
  flex-wrap: wrap;
  margin: 1rem 0 2rem;
}
.timetable .tab_label {
  position: relative;
  flex: 1;
  padding: 4px 0;
  margin: 0 2px;
  background-color: #e9e9e9;
  border-radius: 0.6em 0.6em 0 0;
  line-height: 1.2;
  font-weight: 700;
  text-align: center;
  z-index: 1;
  cursor: pointer;
}
.timetable .tab_label:hover {
  opacity: 0.4;
}
.timetable .tab_label .day {
  font-size: 0.9em;
  font-weight: 600;
  letter-spacing: -0.1em;
}
.timetable .tab_label .holiday {
  font-size: 0.6em;
}
.timetable .tab_content {
  position: relative;
  flex: 100%;
  display: none;
  overflow: hidden;
  margin: 0;
  border-top: solid 2px #000;
  border-bottom: solid 2px #000;
  animation: fadeIn 1s ease;
}
.timetable .tab_content > li {
  border-bottom: solid 1px #999;
}
.timetable .tab_content > li:last-child {
  border-bottom: none;
}
.timetable .tab_content > li.single-line {
  padding: 0.2em;
  min-height: 40px;
  display: flex;
  align-items: center;
}
.timetable .tab_content > li.ws {
  background-color: #CDEBA3;
}
.timetable .tab_content > li.seat {
  background-color: #005c9e;
  color: #fff;
}
.timetable .tab_content > li.stage {
  color: #fff;
  background-color: #e1000f;
}
.timetable .tab_content > li a {
  display: block;
  color: inherit;
  transition: all 0.2s ease-in;
}
.timetable .tab_content > li a:hover {
  color: #333;
  background-color: #fffccc;
}
.timetable input[name=tab_switch] {
  display: none;
}
.timetable input:checked + .tab_label {
  background-color: #000;
  color: #fff;
  opacity: 1;
}
.timetable #tab1031:checked ~ #tab1031_content,
.timetable #tab1101:checked ~ #tab1101_content,
.timetable #tab1102:checked ~ #tab1102_content,
.timetable #tab1103:checked ~ #tab1103_content,
.timetable #tab1104:checked ~ #tab1104_content {
  display: block;
}
.timetable ul.performance {
  display: flex;
  list-style: none;
  padding: 0.5em 0;
}
.timetable ul.performance li {
  font-weight: 500;
}
.timetable ul.performance li.time {
  width: 8em;
  border-right: solid 1px #999;
  text-align: center;
}
.timetable ul.performance li.id {
  padding-left: 1em;
}
.timetable ul.performance li.name {
  width: 100%;
  padding-left: 0.5em;
}

.c-point-info {
  padding: 0;
  list-style: none;
  font-size: 14px;
}
.c-point-info li {
  margin-top: 0.6em;
  padding: 0.4em;
}
.c-point-info li a {
  color: #fff;
}
.c-point-info li a:hover {
  text-decoration: underline;
}
.c-point-info .ws {
  background-color: #CDEBA3;
}
.c-point-info .seat {
  background-color: #005c9e;
}
.c-point-info .stage {
  background-color: #e1000f;
}

.page-frame .section-b main.page-news .news-list {
  list-style: none;
  padding: 0;
}
.page-frame .section-b main.page-news .news-list-item {
  border-bottom: solid 1px #333;
}
.page-frame .section-b main.page-news .news-list-item > a {
  position: relative;
  display: block;
  padding: 1em 0;
  min-height: 6em;
}
.page-frame .section-b main.page-news .news-list-item > a:hover {
  background-color: #ddeeff;
}
.page-frame .section-b main.page-news .news-list-item > a::after {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  background-image: url("../img/index/icon-arrow_gray.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  right: 0.2em;
  top: 50%;
}
.page-frame .section-b main.page-news .news-list-link {
  padding: 0 1.8em 0 0;
}
.page-frame .section-b main.page-news .news-detail-title {
  padding: 0 0 0.5em;
  border-bottom: solid 1px #333;
}/*# sourceMappingURL=styles.css.map */