@charset "utf-8";
@import url("layout.css");
/******************* Information*/
#main .inner {
  padding: 25px 35px 30px 35px;
}
#main h2 {
  position: relative;
  display: inline-block;
  width: 200px;
  margin: 0px;
  padding: 15px 0px 0px 0px;
  text-align: center;
  background-color: #fff;
  border-radius: 10px 10px 0px 0px;
  box-shadow: 0px 0px 15px -3px #777;
}
#main h2 span {
  display: block;
  font-size: 160%;
  color: #79A1E2;
  background: -webkit-linear-gradient(0deg, #79A1E2, #94B4E8);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
#main h2::before {
  position: absolute;
  content: "";
  top: 50px;
  left: 0;
  width: 200px;
  height: 30px;
  background-color: #fff;
}
#main .info-box {
  padding: 30px;
  background-color: #fff;
  border-radius: 0px 10px 10px 10px;
  box-shadow: 0px 0px 15px -3px #777;
}
#main .info-box div {
  height: 400px;
  overflow: auto;
}
#main .info-box div table {
  position: relative;
  z-index: 100;
  width: 530px !important;
  border-collapse: collapse;
  border-top: 2px solid #94B4E8;
}
#main .info-box div table th, #main .info-box div table td {
  margin: 0px;
  padding: 12px 5px;
  border-bottom: 1px solid #ccc;
  height: auto !important;
}
#main .info-box div table th {
  width: 20% !important;
  color: var(--text-color);
}
/**/
#main .info-box div table td a {
  text-decoration: underline;
  color: #1558d6 !important;
}
/* --------------------------- poster*/
#main .poster {
  position: relative;
}
/******************************2408 追加*/
/*youtube_banner*/
/*.youtube_banner {
  position: absolute;
  top: 335px;
  right: -30px;
  display: block;
}
.youtube_banner img {
  border-radius: 100%;
  -webkit-box-shadow: 0 3px 10px 0 #555;
  -moz-box-shadow: 0 3px 10px 0 #555;
  box-shadow: 0 3px 10px 0 #555;
}
.youtube_banner a:hover {
  opacity: 1;
}
.youtube_banner a:hover img {
  opacity: 1;
  -webkit-box-shadow: 0 0 5px 0 #777;
  -moz-box-shadow: 0 0 5px 0 #777;
  box-shadow: 0 0 5px 0 #777;
}*/
/******************************2603 追加*/
/*invitation_banner*/
#main .poster .invitation_banner {
  position: absolute;
  z-index: 1;
  top: 500px;
  right: -20px;
  width: 170px;
}
@media screen and (max-width: 1100px) {
  #main .poster .invitation_banner {
    top: 580px;
    right: auto;
    left: 30px;
  }
}
#main .poster .invitation_banner img {
  display: block;
  border-radius: 100vh;
  box-shadow: 0 3px 12px 0 rgba(85, 85, 85, 0.5);
}
#main .poster .invitation_banner a:hover {
  opacity: 1;
}
#main .poster .invitation_banner a:hover img {
  opacity: 1;
  box-shadow: 0 0 5px 0 rgba(119, 119, 119, 0.5);
}
/******************* 2604追加 */
/* --------------------------- event_info_wrap*/
#main .event_info_wrap {
  position: relative;
  margin: -50px 0 0 0; /*配信ボタン表示なし*/
  /*margin: -330px 0 0 0;*/ /*配信ボタン表示あり（調整する）*/
}
/*英語*/
#main .event_info_wrap.en {
  margin: -50px 0 0 0;
}
/******************* 2304追加 */
/* --------------------------- event_btn*/
#main .event_btn {
  margin: 20px 0 0 0;
}
/*----------btn*/
#main .event_btn .btn {
  display: flex;
  list-style: none;
  width: 100%;
  margin: 10px auto;
  padding: 0 30px;
}
/*バナー2つの場合*/
#main .event_btn .btn li {
  width: 50%;
  margin: 0 10px;
  background-color: #ee6426;
  border-radius: 10px;
  position: relative;
  transition: .4s;
  filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.3));
}
#main .event_btn .btn li:nth-child(2) {
  background-color: #269fee;
}
#main .event_btn .btn li:hover {
  background-color: #d14c10;
}
#main .event_btn .btn li:nth-child(2):hover {
  background-color: #1085d1;
}
#main .event_btn .btn li span {
  color: #fff;
  font-size: 18px;
}
#main .event_btn .btn li a {
  color: #fff;
  font-size: 16px;
  padding: 18px 20px 18px 20px;
  display: block;
  text-decoration: none;
  font-family: 'Yu Gothic Medium', '游ゴシック体', 'YuGothic', 'NotoSans JP', sans-serif;
  font-weight: normal;
}
#main .event_btn .btn li a::after {
  display: block;
  content: '';
  position: absolute;
  top: 42%;
  right: 16px;
  width: 7px;
  height: 7px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  transition: .4s;
}
#main .event_btn .btn li:hover a::after {
  right: 12px;
}
/*----------time_btn*/
#main .event_btn .time_btn {
  width: 310px;
  margin: 1em auto;
}
#main .event_btn .time_btn a {
  margin: 0 auto;
  width: 100%;
  background: #2b9886;
  color: #fff;
  font-size: 18px;
  padding: 18px 20px 18px 20px;
  display: block;
  text-decoration: none;
  font-family: 'Yu Gothic Medium', '游ゴシック体', 'YuGothic', 'NotoSans JP', sans-serif;
  transition: .4s;
  font-weight: bold;
  filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.3));
  border-radius: 10px;
}
#main .event_btn .time_btn a::after {
  display: block;
  content: '';
  position: absolute;
  top: 42%;
  right: 16px;
  width: 7px;
  height: 7px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  transition: .4s;
}
#main .event_btn .time_btn a:hover {
  opacity: 1;
  background-color: #195c51;
}
#main .event_btn .time_btn:hover a::after {
  right: 12px;
}
/* --------------------------- event_info*/
#main .event_info {
  margin: 20px 30px;
  padding: 10px 20px;
  border: 2px solid #BC404B;
  color: #BC404B;
  background-color: #FFF;
}
#main .event_info p {
  color: #BC404B;
}
#main .event_info p span {
  text-decoration: underline;
  color: #BC404B;
}
/**/
/* --------------------------- search*/
nav .search {
  /*下に移動する場合、margin: 32px 0;*/
  margin: 0;
  padding: 0;
  background-color: #fcfcfc;
}
nav .search form {
  margin: 0;
  padding: 20px;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  border-radius: 3px;
  background-color: #fcfcfc;
}
/*入力*/
nav .search form #search {
  width: 100%;
  border: none;
  background-color: #EAEFEA;
  font-size: 13px;
  border-radius: 100vh;
  padding: 5px 5px 5px 15px;
}
/*検索ボタン*/
nav .search form #btn {
  width: 30px;
  height: 30px;
  background-color: #fcfcfc;
  margin: 0 0 0 2px;
  padding: 10px 0;
  border: none;
  cursor: pointer;
  background-image: url("../img/icon_search.png");
  background-repeat: no-repeat;
  background-position: right;
  text-indent: 100%;
}
nav .search form #btn:hover {}
/******************************2305 追加*/
#main {
  position: relative;
}
#main .info-wrap {}
#main .info-wrap.en {
  /*height: 300px;*/
}
#main .info-wrap .inner {
  position: relative;
  z-index: 1;
  margin: 0;
  /*width: 100%;
  position: absolute;
  content: "";
  z-index: 100;*/
  /*top: 930px;*/
  /*opacity: 0;*/ /*最初は消しておく*/
  /*animation-duration: 5s;*/ /* アニメーションの時間 */
  /*animation-delay: .1s;*/ /* 開始時間 */
}
#main .info-wrap .info-box div {
  height: 300px;
  overflow-x: hidden;
}
#main .info-wrap.en .info-box div {
  height: 300px;
}
/**/
aside .accordion-container ul {
  /*padding: 0 0 200px 0;*/
}
/******************************2403 追加*/
/*フッター固定用*/
#footer {
  position: sticky;
  top: 100vh;
  width: 100%;
}
/******************************2403 追加*/
/*トップぺージバナー*/
.index_banner {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin: 0 40px 20px;
  padding: 0;
  z-index: 1;
}
.index_banner li {
  list-style: none;
  margin: 0 10px;
  padding: 0;
  width: calc(100% / 3 - 20px);
}
.index_banner li a.hover {
  opacity: 0.4;
}