@charset "utf-8";

html,body{
  background: #000;
}


.ils2022demo a img{
  width: 100%;
  max-width: 760px;
  height: auto;
}

section h2{
  padding-left: 2px;
}

.for-pc{
  display: block !important;
}
.for-sp{
  display: none !important;
}

/*-----------    fixbanner    -----------------*/
.ils2022demo{
  text-align: right;
}
.ils2022demo span.ico_close{
  width: 20px;
  height: 20px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  transition: all ease .7s;
}
.ils2022demo span.ico_close img{
  width: 12px;
  height: auto;
}
.ils2022demo span.ico_close:hover{
  cursor: pointer;
  opacity: .7;
}

/*-----------    head news ticker    -----------------*/
.ticker {
  width: 100%;
  height: 32px;
  line-height: 32px;
  overflow: hidden;
  display: block;
  text-align: center;
}
.ticker ul {
  position: relative;
  list-style: none;
  height: 100%;
  padding: 0;
  margin: 0;
}
.ticker-item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding-right: 0;
  opacity: 0;
}
.ticker-item a {
  display: inline-block;
  font-size: 16px;
  width: auto;
  color: #fff;
  white-space: nowrap;
  text-decoration: underline;
  transition: transform 5s linear;
}
.ticker-date {
  font-weight: bold;
}
.ticker-title {
  margin-left: 10px;
}
.ticker-new {
  color: red;
  margin-left: 10px;
  animation: blink 1s ease-in-out infinite alternate;
}
.fadeInDown {
  opacity: 0;
}
.fadeInDown.run {
  animation: fadeInDown 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) forwards;
}
.fadeOutDown {
  opacity: 1;
}
.fadeOutDown.run {
  animation: fadeOutDown 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) forwards;
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(-30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeOutDown {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(30px);
  }
}
@keyframes blink {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
}
/*-----------    header    -----------------*/
.header{
  /*width: 100%;*/
  /*max-width: 1700px;*/
  /*margin: 0 auto;*/
  /*z-index: 100;*/
  /*left: 50%;*/
  /*transform: translate(-50%, 0);*/
}
.header-msg{
  width: 100%;
  background: linear-gradient(90deg, #F43B47, #453A94);
  padding: 0 20px;
  height: 35px;
  overflow: hidden;
  box-sizing: border-box;
}
/* .header-msg p{
  position: relative;
  height: 100%;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
}
.header-msg p a{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  display: inline-block;
  text-decoration: underline;
  font-size: 1.15vw;
  line-height: 1.3;
  opacity: 0;
} */

.header_in,
.logo img,
.header-msg p a,
.header_links ul li a.header_contact{
  transition: all ease .7s;
}

.header.is-scroll .header_in{
  padding: 10px 20px;
}
.header.is-scroll .header-msg p a{
  font-size: 1.1vw;
}

.header_links ul li{
  margin-left: 10px;
}

.header_links ul li a {
    font-size: 1rem;
}

.header.is-scroll .header_links ul li a{
  font-size: 0.9vw;
  font-weight: normal;
}

.header.is-scroll .header_links ul li a.header_contact{
  padding: 5px 0;
  font-size: 1.1vw;
}
.header.is-scroll .logo img {
  width: 110px;
}


/*-----------    kv    -----------------*/
.kv{
  width: 100%;
  background: #000;
  padding-bottom: 0;
}
.kv .btnanimeWrap{
  max-width: 28vw;
  min-width: 28vw;
  /*margin: 0 auto;*/
}
.kv .kv_mainWrap{
  position: relative;
  width: 100%;
  padding: 4.4vw 2.6vw 2.2vw;
  /* min-height: 660px; */
  box-sizing: border-box;
  /* background: url(../../kickoff/images/kickoff2023_main_bg.jpg) no-repeat;
  background-size: cover;
  background-position: top center; */
  display: block;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  overflow: hidden;
}
.kv .kv_mainWrap video{
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 177.77777778vh;
  height: 56.25vw;
  min-height: 100%;
  min-width: 100%;
}
.kv .kv_mainWrap_textWrap{
  position: relative;
  z-index: 1;
  text-shadow: #000 1px 0 10px;
}

.kv .kv_mainWrap_btn{
  margin: 4.0vw auto 0;
  padding: 1.2vw 1.5vw;
  box-sizing: border-box;
  text-align: center;
}
.kv .kv_mainWrap_btn a:hover{
  opacity: 1;
}
.kv .kv_mainWrap_btn .txt{
  display: block;
  text-align: center;
  font-size: 1.14vw;
  color: #fff;
}
.kv .kv_mainWrap_btn .linktxt{
  display: block;
  text-align: center;
  font-size: 1.56vw;
  margin-top: .5em;
  color: #fff;
  text-decoration: underline;
}
.kv .kv_mainWrap_btn .linktxt img{
  margin-left: 10px;
}
.kv .kv_title{
  width: 100%;
}
.kv .kv_title .kv_title_sub{
  width: 100%;
  font-size: 3.4vw;
  line-height: 1.4;
  color: #fff;
  display: block;
  text-align: left;
}
.kv .kv_title .area{
  padding-top: 1.8vw;
  font-size: 2.2vw;
  color: #fff;
  display: block;
  text-align: left;
}
.kv .kv_title .small{
  font-size: 1.5vw;
  color: #fff;
  display: inline-block;
}
.kv .kv_sub{
  width: 100%;
  padding: 2vw 2vw;
  box-sizing: border-box;
}
.kv .kv_sub_achievement_list{
  position: relative;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
}
.kv .kv_sub_achievement_list_box{
  position: relative;
  width: 19.5%;
  transition: all ease .7s;
}
.kv .kv_sub_achievement_list_box:hover{

  opacity: .7;
}
.kv .kv_sub_achievement_list_box figure{
  margin: 0;
}
.kv .kv_sub_achievement_list_box figure img{
  width: 100%;
  height: auto;
}
.kv .kv_sub_achievement_list_box .item{
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.kv .kv_sub_achievement_list_box .kv_sub_achievement_list_tit{
  display: block;
  text-align: center;
  font-size: 1.1vw;
  color: #fff;
  font-weight: bold;
}
.kv .kv_sub_achievement_list_box .counter {
  display: block;
  text-align: center;
}
.kv .kv_sub_achievement_list_box .counter span{
  font-family: 'Impact';
  font-size: 4.17vw;
}

/*-----------    about    -----------------*/
.about{
  width: 100%;
  background: #EAEAEA;
  padding-bottom: 6vw;
}
.about h2{
  color: #121212;
}
.about .titleSubWrap span{
  line-height: 1;
  color: #121212;
  font-size: 2.08vw;
  display: inline-block;
  border-bottom: 4px solid #D61B1F;
  padding-top: 0.5em;
  padding-bottom: 12px;
  font-family: "Noto Sans JP","Noto Sans Japanese", sans-serif;
}
.about .titleSubWrap + p{
  display: block;
  text-align: left;
  color: #121212;
  padding-top: 2.4vw;
  font-size: 1.56vw;
}
.about .about_flex{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: flex-end;
  margin-top: 5.2vw;
}
.about .about_flex.reverse{
  flex-direction: row-reverse;
}
.about .about_flex.reverse .about_flex_text{
  padding-right: 0;
  padding-left: 3.4vw;
}
.about .about_flex .about_flex_text {
  width: 50%;
  padding-right: 3.4vw;
  box-sizing: border-box;
}
.about .about_flex .about_flex_text h3 {
  position: relative;
  font-size: 2.2vw;
  font-weight: bold;
  color: #121212;
  white-space: nowrap;
}
.about .about_flex .about_flex_text p {
  font-size: 18px;
  color: #121212;
  line-height: 2.2;
  margin-top: 4vw;
}
.about .about_flex .about_flex_text h3:before {
  content: '';
  display: inline-block;
  width: 12.24vw;
  height: 10px;
  background: #D61B1F;
  position: absolute;
  bottom: -24%;
  left: 0;
}
.about .about_flex .about_flex_item {
  width: 50%;
}
.about .about_flex .about_flex_item img {
  width: 100%;
  height: auto;
}

/*-----------    member    -----------------*/
.member{
  width: 100%;
  background: #EAEAEA;
  padding-top: 0;
}
.member h2{
  font-size: 2.6vw;
}
.member p{
  line-height: 1.8;
  margin-top: 0;
}
.member .infiniteslide_wrap{
  margin-top: 1vw;
}
.member p.member_cap{
  font-size: 1.15vw;
  margin-top: 1em;
  padding-bottom: 2em;
}

.slider-image img{
  max-height: 250px;
}

/*-----------    program    -----------------*/
.program{
  width: 100%;
  background: #000;
  padding: 4.2vw 3.65vw 13vw;
  box-sizing: border-box;
}
.program h2{
  font-family: impact, "Anton", "Noto Sans Japanese", sans-serif;
  font-size: 5.7vw;
  font-weight: bold;
  color: #fff;
  letter-spacing: 0.03em;
}
.program .titleSubWrap span{
  line-height: 1;
  color: #fff;
  font-size: 2.08vw;
  display: inline-block;
  border-bottom: 4px solid #D61B1F;
  padding-top: 0.5em;
  padding-bottom: 12px;
  font-family: "Noto Sans JP","Noto Sans Japanese", sans-serif;
}
.program .program_list{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.program .program_list_box{
  width: 47.5%;
  margin-top: 8vw;
  display: flex;
  flex-wrap: wrap;
}
.program .program_list_box:nth-child(1),
.program .program_list_box:nth-child(2){
  margin-top: 4.8vw;
}
.program .program_list_box:nth-child(2n){
  margin-left: 5%;
}
.program .program_list_box figure{
  margin: 2.5vw auto 0;
}
.program .program_list_box figure img{
  width: 100%;
  height: auto;
}
.program .program_list_box h3{
  font-size: 2.35vw;
  color: #fff;
}
.program .program_list_box p{
  font-size: 1.15vw;
  color: #fff;
}
.program .program_list_box p.transparent{
  opacity: 0;
}
.program .program_list_box p a{
  background: #fff;
  display: inline-block;
  padding: 0.59vw 1.1vw;
  box-sizing: border-box;
  font-size: 1.25vw;
  color: #121212;
  font-weight: bold;
  border: 1px solid #707070;
  margin-top: .3em;
}
.program .program_list_box h3 .item{
  display: inline-block;
  font-family: impact, "Anton", "Noto Sans Japanese", sans-serif;
  font-weight: bold;
  font-size: 2.9vw;
  color: #fff;
}

.program .program_list_box h3 span.cap{
  display: inline-block;
  font-weight: bold;
  font-size: 1.18vw;
  color: #fff;
}

/*-----------    outline    -----------------*/
.outline{
  width: 100%;
  background: #EAEAEA;
  padding: 4.2vw 3.65vw 6vw;
  box-sizing: border-box;
}
.outline h2{
  font-family: impact, "Anton", "Noto Sans Japanese", sans-serif;
  font-size: 5.7vw;
  font-weight: bold;
  color: #121212;
  letter-spacing: 0.03em;
}
.outline .titleSubWrap span{
  line-height: 1;
  color: #121212;
  font-size: 2.08vw;
  display: inline-block;
  border-bottom: 4px solid #D61B1F;
  padding-top: 0.5em;
  padding-bottom: 12px;
  font-family: "Noto Sans JP","Noto Sans Japanese", sans-serif;
}
.outline .outline_map{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 2.9vw;
}
.outline .outline_map .outline_map_text {
  width: 50%;
  padding-right: 3.4vw;
  box-sizing: border-box;
}
.outline .outline_map .outline_map_text p.bold {
  font-size: 1.6vw;
  font-weight: bold;
  color: #121212;
  line-height: 1.5;
}
.outline .outline_map .outline_map_text p.outline_map_txt {
  font-size: 1.25vw;
  color: #121212;
  font-weight: normal;
  line-height: 1.8;
  padding-left: .5em;
}
.outline .outline_map .outline_map_text p.outline_map_txt.big {
  font-size: 1.35vw;
  color: #121212;
  font-weight: normal;
  line-height: 1.8;
  padding-left: 0;
}
.outline .outline_map .outline_map_text p.outline_map_txt.cap {
  font-size: 1.09vw;
  color: #121212;
  font-weight: normal;
  line-height: 1.8;
  padding-left: 0;
}
.outline .outline_map .outline_map_iframe {
  width: 50%;
  position: relative;
  padding-bottom: 36.25%;
  height: 0;
  overflow: hidden;
}
.outline .outline_map .outline_map_iframe iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*-----------    bookpass    -----------------*/
.bookpass{
  width: 100%;
  background: #EAEAEA;
  padding: 6vw 3.65vw 0;
  box-sizing: border-box;
  margin-top: -1px;
  padding-bottom: 30px;
}
.bookpass h2{
  position: relative;
  font-family: impact, "Anton", "Noto Sans Japanese", sans-serif;
  font-size: 4.4vw;
  line-height: 1;
  font-weight: bold;
  color: #121212;
  letter-spacing: 0.03em;
  display: block;
  text-align: center;
  max-width: 1380px;
  margin: 0 auto;
}
.bookpass .titleBorder{
  display: block;
  width: 100%;
  max-width: 1380px;
  margin: 0 auto;
  height: 18px;
  background: url(../../2023/images/h2_bg.png) no-repeat;
  background-size: 100%;
  background-position: center center;
  margin-top: 28px;
}
.bookpass .titleSubWrap .sub{
  display: block;
  font-size: 2vw;
  color: #121212;
  text-align: center;
  margin-top: 20px;
  line-height: 1;
}


.bookpass p.bookpass_lead{
  display: block;
  font-size: 1.1vw;
  color: #121212;
  text-align: center;
  margin-top: 2vw;
  line-height: 2;
}
.bookpass p.bookpass_lead a{
  text-decoration: underline;
}
.bookpass p.bookpass_lead.redText{
  color: #D61B1F;
}
  .bookpass p.bookpass_lead span{
    font-size: 70%;
  }

.bookpass .bookpass_box{
  width: 80%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.bookpass .bookpass_box_coupon{
  position: relative;
  background: #F5F5F5;
  width: 34%;
  margin-top: 4.4vw;
  padding-bottom: 8vw;
  box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.16);
}
.bookpass .bookpass_box_coupon:last-of-type{
  width: 26%;
}
.bookpass .bookpass_box_coupon_band{
  /* position: relative; */
  background-color: #D61B1F;
  width: 100%;
  padding: 1vw 2vw;
  text-align: center;
  margin-top: 25px;
}
.bookpass .bookpass_box_coupon_band.ico:after{
  content: '';
  display: inline-block;
  width: 56%;
  height: 95px;
  background-image: url(../../2023/images/ico_band.png);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: top center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.bookpass .bookpass_box_coupon_band .date{
  color: #fff;
  font-size: 1.7vw;
  font-weight: bold;
  line-height: 1;
}
.bookpass .bookpass_box_coupon_band .date .small{
  color: #fff;
  font-size: 1.4vw;
}
.bookpass .bookpass_box_coupon h3{
  margin-top: 1.45vw;
  color: #121212;
  display: block;
  text-align: center;
  font-size: 2.1vw;
}
.bookpass .bookpass_box_coupon h3 .en{
  display: block;
  text-align: center;
  font-weight: normal;
  font-size: 1.6vw;
  color: #121212;
  margin-bottom: .5em;
}
.bookpass .bookpass_box_coupon p.price{
  display: block;
  text-align: center;
  font-size: 3vw;
  color: #121212;
  font-weight: bold;
  margin-top: 1.2vw;
}
.bookpass .bookpass_box_coupon ul{
  width: 80%;
  margin: 1.4vw auto 0;
}
.bookpass .bookpass_box_coupon ul li{
  position: relative;
  font-size: 1.5vw;
  color: #121212;
  margin-top: .4em;
  padding-left: 1.3em;
  text-indent: -1.3em;
}
.bookpass .bookpass_box_coupon ul li:first-child{
  margin-top: 0;
}
.bookpass .bookpass_box_coupon ul li img{
  width: 1.5vw;
  height: auto;
  display: inline-block;
  margin-right: 10px;
}
.bookpass .bookpass_box_coupon a{
  position: absolute;
  bottom: 2vw;
  left: 50%;
  transform: translate(-50%, 0);
  width: 90%;
  margin: 0 auto;
  background: #D61B1F;
  color: #fff;
  font-size: 1.4vw;
  padding: 1vw;
  box-sizing: border-box;
  font-weight: bold;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  z-index: 1;
}
.bookpass .bookpass_box_coupon a .ico{
  width: 25%;
  border-right: 4px dotted #fff;
}
.bookpass .bookpass_box_coupon a .ico img{
  width: 3vw;
  height: auto;
}
.bookpass .bookpass_box_coupon a .txt{
  width: 75%;
  display: block;
  text-align: center;
  white-space: nowrap;
}
.bookpass .bookpass_box_coupon a.disabled{
  pointer-events: none;
  background: #B7B5B5;
}


.bookpass .bookpass_ticketWrap{
  width: 70%;
  max-width: 1250px;
  margin: 4vw auto 0;
}
.bookpass p.bookpass_ticket_cap{
  display: block;
  text-align: right;
  font-size: 1vw;
  color: #000;
}
.bookpass .bookpass_ticketWrap.only_pc{
  display: block;
}
.bookpass .bookpass_ticket{
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-top: 10px;
}
.bookpass .bookpass_ticket_list{
  width: calc(37.5% - 10px);
  margin-right: 10px;
  box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.12);
}
.bookpass .bookpass_ticket_list.first{
  box-shadow: unset;
  margin-right: 0;
}
.bookpass .bookpass_ticket_list.second,
.bookpass .bookpass_ticket_list.last{
  background: #fff;
}
.bookpass .bookpass_ticket_list.second .bookpass_ticket_list_icoCol,
.bookpass .bookpass_ticket_list.second .bookpass_ticket_list_titCol,
.bookpass .bookpass_ticket_list.last .bookpass_ticket_list_icoCol,
.bookpass .bookpass_ticket_list.last .bookpass_ticket_list_titCol{
  background: #fff;
}
.bookpass .bookpass_ticket_list.last{
  width: 25%;
  margin-right: 0;
}
.bookpass .bookpass_ticket_list_head{
  width: 100%;
  position: relative;
  font-size: 1.4vw;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-weight: bold;
  min-height: 3.5vw;
}
.bookpass .bookpass_ticket_list_head.headRed{
  background-color: #D61B1F;
}
.bookpass .bookpass_ticket_list_head.lightBlue{
  background-color: #8AA3AF;
}
.bookpass .bookpass_ticket_list_head.ico:after{
  content: '';
  display: inline-block;
  width: 40%;
  height: 90px;
  background-image: url(../../2023/images/ico_band.png);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: top center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.bookpass .bookpass_ticket_list_priceBox{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 6vw;
}
.bookpass .bookpass_ticket_list_priceBox p{
  width: 100%;
  text-align: center;
}
.bookpass .bookpass_ticket_list_priceBox.bgWhite{
  background: #fff;
}
.bookpass .bookpass_ticket_list_priceBox .mainPrice{
  position: relative;
  display: block;
  text-align: center;
  font-size: 1.3vw;
  color: #000;
}
.bookpass .bookpass_ticket_list_priceBox .mainPrice:after{
  content: '';
  display: block;
  width: 50%;
  height: 3px;
  background: #EB1D1D;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.bookpass .bookpass_ticket_list_priceBox .cap{
  position: relative;
  display: block;
  text-align: center;
  font-size: 1.1vw;
  color: #D61B1F;
}
.bookpass .bookpass_ticket_list_priceBox .floatText{
  display: inline-block;
  font-size: 0.9vw;
  position: absolute;
  top: 50%;
  left: 10px;
  transform: translate(0, -50%);
}
.bookpass .bookpass_ticket_list_priceBox .price{
  display: inline-block;
  font-size: 1.8vw;
  color: #000;
}
.bookpass .bookpass_ticket_list_priceBox .yen{
  font-size: 1.1vw;
}
.bookpass .bookpass_ticket_list_titCol{
  display: flex;
  justify-content: flex-start;
  align-items: center;
  min-height: 3.2vw;
  padding: 0 1vw;
}
.bookpass .bookpass_ticket_list_titCol p{
  font-size: 0.9w;
  color: #000;
  font-weight: bold;
}
.bookpass .bookpass_ticket_list_icoCol,
.bookpass .bookpass_ticket_list_titCol,
.bookpass .bookpass_ticket_list_textCol{
  position: relative;
}
/* .bookpass .bookpass_ticket_list_icoCol.bgWrap:after,
.bookpass .bookpass_ticket_list_titCol.bgWrap:after,
.bookpass .bookpass_ticket_list_textCol.bgWrap:after{
  content: '';
  display: block;
  width: 100%;
  min-height: 3.5vw;
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(0,0,0,0.12);
  z-index: 1;
} */
.bookpass .bookpass_ticket_list_icoCol.bgWrap,
.bookpass .bookpass_ticket_list_titCol.bgWrap,
.bookpass .bookpass_ticket_list_textCol.bgWrap{
  background: rgba(0,0,0,0.12) !important;
}


/* .bookpass .bookpass_ticket_list.first .bookpass_ticket_list_titCol.bgWrap:after{
  width: calc(100% + 10px);
}
.bookpass .bookpass_ticket_list_textCol.bgWrap:after{
  width: calc(100% + 20% + 23px);
  left: calc(-20% + -13px);
} */

.bookpass_notes{
  width: 80%;
  margin: 1vw auto 1vw;
  border: 1px solid #707070;
  background: #fff;
  padding: 2vw 4.5vw;
  box-sizing: border-box;
  color: #000;
}
.bookpass_notes .bookpass_notes_tit{
  display: block;
  text-align: center;
  font-size: 1.8vw;
  color: #000;
}
.bookpass_notes .bookpass_notes_text{
  display: block;
  text-align: left;
  font-size: 0.9vw;
  line-height: 1.5;
  color: #000;

}


.bookpass .bookpass_ticket_list_icoCol{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 3.5vw;
}
.bookpass .bookpass_ticket_list_icoCol.borderT:before{
  content: '';
  display: block;
  width: calc(100% + 10px);
  height: 1px;
  background: #707070;
  position: absolute;
  top: 0;
  left: -10px;
}
.bookpass .bookpass_ticket_list_icoCol img{
  width: 2vw;
  height: auto;
}
.bookpass .bookpass_ticket_list_icoCol img.batsu{
  width: 1.6vw;
}
.bookpass .bookpass_ticket_list_textCol{
  width: 100%;
  padding-left: 20%;
  min-height: 3.2vw;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.bookpass .bookpass_ticket_list_textCol.borderT{
  position: relative;
}
.bookpass .bookpass_ticket_list_textCol.borderT:before{
  content: '';
  display: block;
  width: calc(100% - 20%);
  height: 1px;
  position: absolute;
  top: 0;
  right: 0;
  background: #707070;
}
.bookpass .bookpass_ticket_list_textCol p{
  font-size: 0.8vw;
  color: #000;
}
.bookpass .bookpass_ticket_list_btnCol{
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  min-height: 11vw;
  padding-top: 1.5vw;
}
.bookpass .bookpass_ticket_list_btnCol.bgWhite{
  background: #fff;
}
.bookpass .bookpass_ticket_list_btn{
  width: 90%;
  margin: 0 auto;
  background: #B7B5B5;
  color: #fff;
  font-size: 1.4vw;
  padding: 1vw;
  box-sizing: border-box;
  font-weight: bold;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  z-index: 1;
}
.bookpass .bookpass_ticket_list_textLink{
  display: block;
  text-align: center;
  text-decoration: underline;
  color: #D61B1F;
  font-size: 1.1vw;
  line-height: 1.5;
}
.bookpass .bookpass_ticket_list_btn .ico{
  width: 25%;
  border-right: 4px dotted #fff;
}
.bookpass .bookpass_ticket_list_btn .ico img{
  width: 2.4vw;
  height: auto;
}
.bookpass .bookpass_ticket_list_btn .txt{
  width: 75%;
  display: block;
  text-align: center;
  white-space: nowrap;
  font-size: 1vw;
}


.bookpass .bookpass_list_box{
  width: 100%;
  box-sizing: border-box;
}

.bookpass .bookpass_list_box .txt{
  margin-top: 3vw;
  margin: 0 auto;
  color: #000;
  width: 70%;
  padding: 10px 8px;
}

.bookpass .dotted{
  border: 1px #D61B1F dotted;
}

/*-----------    entry    -----------------*/
.entry{
  width: 100%;
  background: #EAEAEA;
  padding-top: 1em;
}
.entry #sec8{
  width: 100%;
  margin: 1vw auto 0;
  padding-bottom: 5vw;
}
.entry #sec8 h2{
  font-size: 1.5vw;
  color: #FFF;
}
.entry #sec8 .form{
  max-width: 820px;
  margin-top: 0;
}
.entry h2.entry_tit{
  font-size: 2.5vw;
  line-height: 1.6;
  display: block;
  text-align: center;
  color: #121212;
  font-weight: bold;
  padding-top: 2.65vw;
}

.entry img{
  margin: 10px auto 0;
}

.bookpass_box_msg{
  font-size: 1.1vw;
  line-height: 1.8;
  display: block;
  text-align: center;
  color: #121212;
  font-weight: bold;
  margin-top: 3vw;
}


/*-----------    member    -----------------*/
.member{
  margin-top: -1px;
}
.member .member_entry{
  margin-top: 0;
}
.member .member_entry_box{
  position: relative;
  width: 46%;
  height: 45vw;
}
.member .member_entry_box h3{
  font-size: 1.8vw;
}
.member .member_entry_box p{
  margin-top: 5vw;
  line-height: 2;
}
.member .member_entry_box .member_entry_box_btn{
  width: 85%;
  height: auto;
  min-height: unset;
  position: absolute;
  bottom: 2.5vw;
  left: 50%;
  transform: translate(-50%, 0);
}
.member p.member_entry_box_cap{
  width: 100%;
  display: block;
  text-align: center;
  font-size: 1.7vw;
  color: #DE0606;
  margin-bottom: .5em;
  margin-top: 0;
}

/*-----------    gallery    -----------------*/
.gallery{
  width: 100%;
  background: #000;
  padding: 4.2vw 3.65vw 12vw;
  box-sizing: border-box;
}
.gallery h2{
  font-family: impact, "Anton", "Noto Sans Japanese", sans-serif;
  font-size: 5.7vw;
  font-weight: bold;
  color: #fff;
  letter-spacing: 0.03em;
}
.gallery .titleSubWrap span{
  line-height: 1;
  color: #fff;
  font-size: 2.08vw;
  display: inline-block;
  border-bottom: 4px solid #D61B1F;
  padding-top: 0.5em;
  padding-bottom: 12px;
  font-family: "Noto Sans JP","Noto Sans Japanese", sans-serif;
}
.gallery .gallery_list{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 2.5vw;
}
.gallery .gallery_list_box{
  position: relative;
  width: 32%;
  margin-top: 2%;
}
.gallery .gallery_list_box figure{
  margin: 0;
}
.gallery .gallery_list_box figure img{
  width: 100%;
  height: auto;
}
.gallery .gallery_list_box h3{
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, .74);
  color: #fff;
  line-height: 1.5;
  padding: .5vw;
}

/*-----------    animation    -----------------*/
.kv .kv_title {
  overflow: hidden;
  transform: translate(-100%, 0);
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) .8s;
}
.kv .kv_title .animeWrap {
  display: block;
  transform: translate(100%, 0);
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) .8s;
}
.kv .kv_title.visible,
.kv .kv_title.visible .animeWrap{
  transform: translate(0, 0);
}

.kv .btnanimeWrap {
  overflow: hidden;
  transform: translate(-100%, 0);
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) .8s;
}
.kv .btnanimeWrap .kv_mainWrap_btn {
  display: block;
  transform: translate(100%, 0);
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) .8s;
}
.kv .btnanimeWrap.visible,
.kv .btnanimeWrap.visible .kv_mainWrap_btn{
  transform: translate(0, 0);
}
.kv .btnanimeWrap.visible .kv_mainWrap_btn{
  background: #000;
}
.kv .btnanimeWrap.visible:hover{
  transform: translate(0, 0) scale(1.2);
  opacity: 1;
}

/*section title*/
.about .titleWrap,
.program .titleWrap,
.outline .titleWrap,
.gallery .titleWrap{
  overflow: hidden;
  display: inline-block;
  transform: translate(-100%, 0);
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
}

.bookpass .titleWrap {
  overflow: hidden;
  display: block;
  transform: translate(-100%, 0);
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
}
.about .titleWrap h2,
.program .titleWrap h2,
.outline .titleWrap h2,
.bookpass .titleWrap h2,
.gallery .titleWrap h2{
  display: block;
  transform: translate(100%, 0);
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
}

.about .titleSubWrap,
.program .titleSubWrap,
.outline .titleSubWrap,
.gallery .titleSubWrap{
  overflow: hidden;
  display: inline-block;
  transform: translate(-100%, 0);
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
}
.bookpass .titleSubWrap {
  overflow: hidden;
  display: block;
  transform: translate(-100%, 0);
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
}
.about .titleSubWrap span,
.program .titleSubWrap span,
.outline .titleSubWrap span,
.bookpass .titleSubWrap span,
.gallery .titleSubWrap span {
  display: block;
  transform: translate(100%, 0);
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
}
.about .titleWrap.visible,
.about .titleSubWrap.visible,
.about .titleWrap.visible h2,
.about .titleSubWrap.visible span,
.program .titleWrap.visible,
.program .titleSubWrap.visible,
.program .titleWrap.visible h2,
.program .titleSubWrap.visible span,
.outline .titleWrap.visible,
.outline .titleSubWrap.visible,
.outline .titleWrap.visible h2,
.outline .titleSubWrap.visible span,
.bookpass .titleWrap.visible,
.bookpass .titleSubWrap.visible,
.bookpass .titleWrap.visible h2,
.bookpass .titleSubWrap.visible span,
.gallery .titleWrap.visible,
.gallery .titleSubWrap.visible,
.gallery .titleWrap.visible h2,
.gallery .titleSubWrap.visible span {
  transform: translate(0, 0);
}

.swiper {
  width: 600px;
  height: 140px;
  padding-right: 10px!important;
}

.swiper-pagination-bullet{
  background: inherit!important;
  opacity: 1!important;
  border: 1px solid white;
}
.kv_bannerWrap{
  display: flex;
  justify-content: space-between;
}

.kv_banner_slide_wrap{
  background: linear-gradient(90deg, #F43B47, #453A94);
  margin-top: 4.4vw;
  padding: 5px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  width: 400px;
  border-radius: 10px;
}
.kv_banner_slide_whatsnew{
  width: 4vh;
}

.kv_banner_slide_item_image{
  flex: 2;
  padding: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.kv_banner_slide_item_image img{
  max-height: 140px;
}
.kv_banner_slide_item_detail{
  flex: 5;
  padding: 5px;
}
.kv_banner_slide_item{
  display: flex;
  align-items: center;
  width: 100%;
}
.kv_banner_slide_item_title_box{
  font-size: 14px;
  display: flex;
  align-items: center;
  padding-bottom: 8px;
  border-bottom: 1px solid;
}
.kv_banner_slide_item_title_icon{
  padding-right: 5px;
}
.kv_banner_slide_item_title{
  line-height: 1.2;
}
.kv_banner_slide_item_explanation{
  font-size: 12px;
}
.kv_banner_slide_item_explanation div{
  line-height: 1.2;
}
.kv_banner_slide_item_title_icon{
  display: flex;
  align-items: center;
}
.kv_banner_slide_item_explanation_date{
  margin: 3px 0;
}

.swiper-pagination-vertical.swiper-pagination-bullets, .swiper-vertical>.swiper-pagination-bullets{
  right: var(--swiper-pagination-right,0px)!important;
}
.swiper-slide{
  display: flex!important;
  align-items: center!important;
}
.swiper-pagination-bullet-active {
  background: white!important;
}

.speaker_inner{
  margin-top: 3rem;
}
.speaker_inner .titleWrap{
  display: block;
}
.speaker_inner h2{
  text-align: center;
}
.speaker_inner h3{
  font-size: 2.35vw;
  color: #fff;
  text-align: center;
}
.speaker_inner hr {
  margin: 0 0 1em 0;
}
.speaker_inner .speaker_list{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 3rem;
}

.speaker_inner .speaker_list .speaker_list_box{
  flex-basis: calc(20% - 40px);
  margin-bottom: 40px;
}

.speaker_list_box figure{
  max-width: 100%;
  height: auto;
  margin-bottom: 20px;
}

.speaker_list_box_name{
  font-size: 1.3vw;
  color: #fff;
}
.speaker_list_box_division{
  font-size: 0.9vw;
  color: #fff;
}

.speaker_inner_more{
  font-size: 2.00vw;
  color: #fff;
  text-align: center;
  margin-top: 2rem;
}

.speaker_txt{
  width:100%; 
  text-align: center; 
  font-size: 1.4vw;
}

#programs{
	background: #eae8e8;
	padding: 40px 0;
	color: #000;
}
.program_in{
	margin: 0 50px;
}
.program_slider .slick-slide{
	padding: 0 10px;
	height: auto;
}
.program_img{
	position: relative;
}
.program_img span{
	position: absolute;
	right: 0px;
	top: 0px;
	padding: 3px 0;
	width: 170px;
	text-align: center;
	font-size: 12px;
	color: #fff;
	background: #000;
}
.program_one h3{
	font-size: 20px;
	line-height: 1.4;
	margin: 20px 0 12px;
	display: block;
	display: -webkit-box;
	max-width: 100%;
	height: 2.8em;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}
.program_one p{
	padding-top: 5px;
	font-size: 13px;
	line-height: 1.4;
}
.program_one p:nth-child(3){
	border-top: 2px solid #6c6c6c;
}
.program_one p:last-child{

	font-weight: bold;
}
.program_btn{
	margin-top: 40px;
	text-align: right;
	font-size: 24px;
	font-weight: bold;
}
.program_btn span{
	margin-right: 20px;
}

.program_slider .slick-prev:before, .program_slider .slick-next:before{
	content: none;
}
.program_slider .slick-prev, .program_slider .slick-next{
	width: 17px;
	height: 54px;
}
.program_slider .slick-prev{
	background: url(../img/prev.png) no-repeat;
	background-position: center;
	background-size: contain;
}
.program_slider .slick-next{
	background: url(../img/next.png) no-repeat;
	background-position: center;
	background-size: contain;
}
.program_slider .slick-dots li button:before{
	content: none;
}
.program_slider .slick-dots li button{
	width: 14px;
	height: 14px;
	border: 1px solid #000;
	border-radius: 50%;
	background: transparent;
}
.program_slider .slick-dots li.slick-active button{
	background: #000;
}
.program_slider .slick-dots li{
	width: 14px;
	height: 14px;
	margin: 0 10px;
}
.program h2.title{
  font-size: 4vw;
}


@media screen and (max-width: 1920px){
  .about .about_flex .about_flex_text p {
    font-size: 1.36vw;
  }
  .gallery .gallery_list_box h3{
    font-size: 13px;
  }
}
@media screen and (max-width: 1600px){
  .about .about_flex .about_flex_text p {
    font-size: 18px;
  }
}
@media screen and (max-width: 1366px){
  .gallery .gallery_list_box h3{
    font-size: .9vw;
  }
}

@media screen and (max-width: 768px){
  .for-pc{
    display: none !important;
  }
  .for-sp{
    display: block !important;
  }
  .header.is-scroll .header_in {
    padding: 10px 10px;
  }
  .header.is-scroll .ticker-item a {
    font-size: 10px;
  }
  .header.is-scroll .logo img {
    width: 26vw;
  }
  .ticker-item a {
    font-size: 10px;
  }
  .header_links ul li a.header_contact {
    font-size: 12px;
  }
  .header-msg{
    height: 20px;
  }
  .ticker {
  height: 18px;
  line-height: 18px;
  }
  .hidden-sp{
    display: none!important; 
  }
  .kv .btnanimeWrap{
    margin: -15vw auto 0;
    max-width: 70%;
    min-width: 70%;
  }
  .kv .kv_mainWrap{
    padding: 8.5vw 2.6vw 12vw;
  }
  .kv .kv_mainWrap video{
    height: 78vw;
  }
  .kv_sub_achievement{
    padding-top: 5vw;
  }
  .kv .kv_mainWrap_btn{
    margin: 0 auto;
    padding: 2vw 2vw;
  }
  .kv .kv_mainWrap_btn .txt{
    font-size: 2vw;
  }
  .kv .kv_mainWrap_btn .linktxt{
    font-size: 3.2vw;
  }
  .kv .kv_mainWrap_btn .linktxt img{
    margin-left: 8px;
    width: 8px !important;
  }
  .kv .kv_title{
    width: 100%;
  }
  .kv .kv_title .kv_title_sub{
    font-size: 5.4vw;
    line-height: 1.6;
    margin-bottom: 2.5vw;
    text-align: center;
  }
  .kv .kv_title .area{
    display: none;
  }
  .kv .kv_title .small{
    font-size: 2.5vw;
    color: #fff;
    display: inline;
  }
  .kv .kv_sub{
    position: relative;
    z-index: 1;
    width: 100%;
    padding: 2.6vw 2vw;
    box-sizing: border-box;
  }
  .kv .kv_sub_achievement_list{
    justify-content: center;
  }
  .kv .kv_sub_achievement_list_box{
    width: 31%;
    margin: 1%;
  }
  .kv .kv_sub_achievement_list_box .kv_sub_achievement_list_tit{
    font-size: 2vw;
  }
  .kv .kv_sub_achievement_list_box .counter span{
    font-size: 6.2vw;
  }
  
  .kv_bannerWrap{
    justify-content: center;
  }
  .kv_banner_slide_wrap{
    max-width: 70%;
    margin: 4.4vw auto 0;
  }
  /*-----------    about    -----------------*/
  .about{
    padding-top: 10vw;
  }
  .about h2{
    font-size: 10.8vw;
    line-height: 1;
  }
  .about .titleSubWrap span{
    font-size: 5.48vw;
    margin-top: .5em;
  }
  .about .titleSubWrap + p{
    text-align: left;
    padding-top: 6vw;
    font-size: 3.46vw;
    line-height: 1.8;
  }
  .about .about_flex{
    margin-top: 10vw;
    flex-direction: column-reverse;
  }
  .about .about_flex.reverse{
    flex-direction: column-reverse;
  }
  .about .about_flex.reverse .about_flex_text{
    padding-right: 0;
    padding-left: 0;
  }
  .about .about_flex .about_flex_text {
    width: 100%;
    padding-right: 0;
  }
  .about .about_flex .about_flex_text h3 {
    font-size: 4.6vw;
  }
  .about .about_flex .about_flex_text p {
    text-align: left;
    padding-top: 4vw;
    font-size: 3.46vw;
    line-height: 1.8;
  }
  .about .about_flex .about_flex_text h3:before {
    width: 18vw;
    height: 6px;
    bottom: -20%;
  }
  .about .about_flex .about_flex_item {
    width: 100%;
  }
  
  /*-----------    member    -----------------*/
  .member{
    padding-top: 50vw;
  }
  .member h2{
    font-size: 5vw;
    margin-top: 5vw;
  }
  .member p{
    font-size: 3.46vw;
    line-height: 1.8;
  }
  .member .infiniteslide_wrap{
    margin-top: 1vw;
  }
  .member p.member_cap{
    width: 100%;
    box-sizing: border-box;
    padding: 0 4.5vw;
    font-size: 2.4vw;
  }

  /*-----------    program    -----------------*/
  .program{
    width: 100%;
    background: #000;
    padding: 6vw 4.5vw 12vw;
    box-sizing: border-box;
  }
  .program h2{
    font-size: 10.8vw;
    line-height: 1;
  }
  .program .titleSubWrap span{
    font-size: 5.48vw;
    margin-top: .5em;
  }
  .program .program_list{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
  .program .program_list_box{
    width: 100%;
    margin-top: 10vw;
  }
  .program .program_list_box:nth-child(1),
  .program .program_list_box:nth-child(2){
    margin-top: 10vw;
  }
  .program .program_list_box:nth-child(2n){
    margin-left: 0;
  }
  .program .program_list_box figure{
    margin: 2.5vw auto 0;
  }
  .program .program_list_box figure img{
    width: 100%;
    height: auto;
  }
  .program .program_list_box h3{
    font-size: 4.6vw;
  }
  .program .program_list_box p{
    font-size: 3.46vw;
    line-height: 1.8;
  }
  .program .program_list_box p.transparent{
    display: none;
  }
  .program .program_list_box p a{
    padding: 1.5vw 2vw;
    font-size: 2.8vw;
    margin-top: .5em;
  }
  .program .program_list_box h3 .item{
    font-size: 6vw;
  }
  
  .program .program_list_box h3 span.cap{
    font-size: 2.5vw;
  }
  
  /*-----------    outline    -----------------*/
  .outline{
    padding: 6vw 4.5vw 12vw;
  }
  .outline h2{
    font-size: 10.8vw;
    line-height: 1;
  }
  .outline .titleSubWrap span{
    font-size: 5.48vw;
    margin-top: .5em;
  }
  .outline .outline_map{
    margin-top: 8vw;
    flex-direction: column-reverse;
  }
  .outline .outline_map .outline_map_text {
    width: 100%;
    padding-right: 0;
    margin-top: 5vw;
  }
  .outline .outline_map .outline_map_text p.bold {
    font-size: 3.8vw;
    line-height: 1.8;
  }
  .outline .outline_map .outline_map_text p.outline_map_txt {
    font-size: 3.46vw;
    line-height: 1.8;
  }
  .outline .outline_map .outline_map_text p.outline_map_txt.big {
    font-size: 3.8vw;
    line-height: 1.8;
  }
  .outline .outline_map .outline_map_text p.outline_map_txt.cap {
    font-size: 3.46vw;
    margin-top: .3em;
  }
  .outline .outline_map .outline_map_iframe {
    width: 100%;
    padding-bottom: 56.25%;
  }
  
  /*-----------    bookpass    -----------------*/
  .bookpass{
    padding: 6vw 4.5vw 0;
  }
  .bookpass h2{
    font-size: 10.8vw;
  }
  .bookpass .titleBorder{
    margin-top: 12px;
  }
  .bookpass .titleSubWrap .sub{
    font-size: 5.48vw;
    margin-top: 12px;
  }
  .bookpass p.bookpass_lead{
    font-size: 3.46vw;
    line-height: 1.8;
    margin-top: 5vw;
  }
  .bookpass .bookpass_box{
    width: 100%;
    justify-content: space-around;
    margin-top: 4vw;
  }
  .bookpass .bookpass_box_coupon{
    position: relative;
    background: #F5F5F5;
    width: 47%;
    margin-top: 3vw;
    padding-bottom: 12vw;
  }
  .bookpass .bookpass_box_coupon:last-of-type{
    width: 47%;
  }
  .bookpass .bookpass_box_coupon_band{
    padding: 2vw 3vw;
    text-align: center;
    margin-top: 10px;
  }
  .bookpass .bookpass_box_coupon_band.ico:after{
    content: '';
    display: inline-block;
    width: 56%;
    height: 95px;
    background-image: url(../../2023/images/ico_band.png);
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: top center;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
  }
  .bookpass .bookpass_box_coupon_band .date{
    font-size: 3.6vw;
  }
  .bookpass .bookpass_box_coupon_band .date .small{
    font-size: 2.8vw;
  }
  .bookpass .bookpass_box_coupon h3{
    font-size: 3.8vw;
  }
  .bookpass .bookpass_box_coupon h3 .en{
    font-size: 3.6vw;
    margin-bottom: .3em;
  }
  .bookpass .bookpass_box_coupon p.price{
    font-size: 4.8vw;
  }
  .bookpass .bookpass_box_coupon ul{
    width: 90%;
    margin: 3.4vw auto 0;
  }
  .bookpass .bookpass_box_coupon ul li{
    font-size: 3vw;
  }
  .bookpass .bookpass_box_coupon ul li:first-child{
    margin-top: 0;
  }
  .bookpass .bookpass_box_coupon ul li img{
    width: 2.8vw;
    margin-right: 8px;
  }
  .bookpass .bookpass_box_coupon a .ico img{
    width: 5vw;
  }
  .bookpass .bookpass_box_coupon a .txt{
    font-size: 3vw;
  }
  .bookpass .bookpass_box_coupon a.disabled{
    pointer-events: none;
    background: #B7B5B5;
  }

  .bookpass .bookpass_list_box .txt{
    width: 90%;
  }


  /*-----------    entry    -----------------*/
  .entry{
    margin-top: -5px;
    padding-top: 5px;
  }
  .entry h2.entry_tit{
    font-size: 4vw;
    padding-top: 6vw;
  }
  .entry .bookpass_box_msg{
    font-size: 3.0vw;
    line-height: 1.2;
    margin-top: 6vw;
  }
  
  /*-----------    member    -----------------*/
  .member{
    padding-bottom: 10vw;
    padding-top: 0;
  }
  .member .member_entry{
    margin-top: 0;
  }
  .member .member_entry_box{
    position: relative;
    width: 100%;
    height: auto;
    padding: 3.9vw 4.5vw;
  }
  .member .member_entry_box h3{
    font-size: 3.8vw;
  }
  .member .member_entry_box p{
    font-size: 3vw;
  }
  .member .member_entry_box .member_entry_box_btn{
    width: 85%;
    height: auto;
    min-height: unset;
    position: static;
    transform: unset;
  }
  .member p.member_entry_box_cap{
    font-size: 2.8vw;
  }
  
  /*-----------    gallery    -----------------*/
  .gallery{
    padding: 6vw 4.5vw 12vw;
  }
  .gallery h2{
    font-size: 10.8vw;
    line-height: 1;
  }
  .gallery .titleSubWrap span{
    font-size: 5.48vw;
    margin-top: .5em;
  }
  .gallery .gallery_list{
    margin-top: 8vw;
  }
  .gallery .gallery_list_box{
    position: relative;
    width: 49%;
    margin-top: 2%;
  }
  .gallery .gallery_list_box figure{
    margin: 0;
  }
  .gallery .gallery_list_box figure img{
    width: 100%;
    height: auto;
  }
  .gallery .gallery_list_box h3{
    font-size: 2.5vw;
    min-height: 35px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
  }
  .swiper {
    width: 600px;
    height: 85px;
    padding-right: 10px!important;
  }
  .kv_banner_slide_item_image{
    flex: 2;
    padding-right: 0;
    padding-left: 0;
  }
  .kv_banner_slide_item_title_box{
    font-size: 11px;
    padding-bottom: 3px;
  }
  .kv_banner_slide_item_explanation{
    font-size: 9px;
  }
  .kv_banner_slide_item_title_icon{
    padding-right: 3px;
  }
  .kv_banner_slide_item_image img{
    max-height: 70px;
  }
  .speaker_inner .speaker_list .speaker_list_box{
    flex-basis: calc(50% - 10px);
    margin-bottom: 40px;
  }
  .speaker_inner h3{
    font-size: 4.6vw;
  }
  .speaker_list_box_name{
    font-size: 3.46vw;
  }
  .speaker_list_box_division{
    font-size: 2.46vw;
  } 
  .speaker_inner_more{
    font-size: 3.46vw;
  }
  .speaker_txt{
  width:100%; 
  text-align: center; 
  font-size: 3vw;
}
}

@media screen and (min-width: 1180px){
  .bookpass .bookpass_ticket_list_priceBox{
    min-height: 6vw;
  }
  .bookpass p.bookpass_ticket_cap{
    font-size: 1vw;
  }
  .bookpass .bookpass_ticket_list_head {
    font-size: 1.4vw;
  }
  .bookpass .bookpass_ticket_list_titCol p{
    font-size: 0.9vw;
  }
  .bookpass .bookpass_ticket_list_textCol p{
    font-size: 0.8vw;
  }
  .bookpass .bookpass_ticket_list_textLink{
    font-size: 1vw;
  }
  .bookpass .bookpass_ticket_list_icoCol img{
    width: 1.6vw;
  }
  .bookpass .bookpass_ticket_list_icoCol img.batsu {
    width: 1.2vw;
  }
  .bookpass .bookpass_ticket_list_head.ico:after{
    width: 50%;
  }
  .bookpass .bookpass_ticket_list_titCol,
  .bookpass .bookpass_ticket_list_icoCol,
  .bookpass .bookpass_ticket_list_textCol{
    min-height: 3.0vw;
  }
  .bookpass .bookpass_ticket_list_btnCol{
    min-height: 11.5vw;
  }
  .bookpass .bookpass_ticket_list_head{
    min-height: 3.5vw;
  }
  .bookpass .bookpass_ticket_list_textCol.bgWrap:after{
    width: calc(100% + 20% + 28px);
    left: calc(-20% + -18px);
  }
  .bookpass .bookpass_ticket_list_icoCol.bgWrap:after, .bookpass .bookpass_ticket_list_titCol.bgWrap:after, .bookpass .bookpass_ticket_list_textCol.bgWrap:after{
    min-height: 3.5vw;
  }
}

@media screen and (max-width: 1380px){
  .bookpass .bookpass_ticket_list_textCol.bgWrap:after {
    width: calc(100% + 20% + 25px);
    left: calc(-20% + -15px);
  }
}
@media screen and (max-width: 1240px){
  .bookpass .bookpass_ticket_list_textCol.bgWrap:after {
    width: calc(100% + 20% + 24px);
    left: calc(-20% + -14px);
  }
}


@media screen and (max-width: 768px){
  .bookpass .bookpass_ticketWrap{
    width: 100%;
    max-width: 767px;
    margin: 7vw auto 0;
  }
  .bookpass .bookpass_ticket_list{
    width: 100%;
    margin-right: 0;
  }
  .bookpass .bookpass_ticket_list.last{
    width: 100%;
  }
  .bookpass .bookpass_ticket_list_head{
    font-size: 4vw;
    min-height: unset;
    padding: 2vw;
  }
  .bookpass .bookpass_ticket_list_head.ico:after{
    width: 32vw;
  }
  .bookpass .bookpass_ticket_list_priceBox{
    min-height: unset;
    padding: 5vw 2vw;
  }
  .bookpass .bookpass_ticket_list_priceBox p{
    width: 100%;
    text-align: center;
  }
  .bookpass .bookpass_ticket_list_priceBox .mainPrice{
    font-size: 5.4vw;
  }
  .bookpass .bookpass_ticket_list_priceBox .mainPrice:after{
    width: 40%;
    height: 2px;
  }
  .bookpass .bookpass_ticket_list_priceBox .cap{
    font-size: 3vw;
  }
  .bookpass .bookpass_ticket_list_priceBox .floatText{
    font-size: 3vw;
  }
  .bookpass .bookpass_ticket_list_priceBox .price{
    font-size: 6.8vw;
  }
  .bookpass .bookpass_ticket_list_priceBox .yen{
    font-size: 3vw;
  }
  .bookpass .bookpass_ticket_list_textCol{
    width: 100%;
    padding: 3vw 0;
    margin-left: 0;
    min-height: unset;
    flex-wrap: wrap;
    display: block;
    background: #fff;
  }
  .bookpass .bookpass_ticket_list_textCol.bgWrap{
    background: #DFDFDF;
  }
  .bookpass .bookpass_ticket_list_textCol .bookpass_ticket_list_textCol_tit{
    font-size: 4.2vw;
    width: 100%;
    padding: 2vw 4vw;
  }
  .bookpass .bookpass_ticket_list_textCol_wrap{
    width: 90%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .bookpass .bookpass_ticket_list_textCol_wrap:last-of-type{
    border-top: 1px solid #707070;
  }
  .bookpass .bookpass_ticket_list_textCol_wrap .bookpass_ticket_list_textCol_txt{
    width: 75%;
    font-size: 3.4vw;
    padding: 2vw 2.5vw;
  }
  .bookpass .bookpass_ticket_list_textCol_wrap .bookpass_ticket_list_textCol_txt:last-of-type{
    border-top: 1px solid #707070;
  }
  .bookpass .bookpass_ticket_list_textCol_wrap .bookpass_ticket_list_textCol_img{
    width: 25%;
    text-align: center;
  }
  .bookpass .bookpass_ticket_list_icoCol.bgWrap:after, .bookpass .bookpass_ticket_list_titCol.bgWrap:after, .bookpass .bookpass_ticket_list_textCol.bgWrap:after{
    display: none;
  }
  .bookpass .bookpass_ticket_list_textCol_titWrap{
    width: 90%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .bookpass .bookpass_ticket_list_textCol_titWrap .bookpass_ticket_list_textCol_tit{
    width: 75%;
    padding: 0;
  }
  .bookpass .bookpass_ticket_list_textCol_titWrap .bookpass_ticket_list_textCol_img{
    width: 25%;
    text-align: center;
  }
  .bookpass .bookpass_ticket_list_btn{
    width: 66%;
  }
  .bookpass .bookpass_ticket_list_btn .txt {
    font-size: 2.5vw;
  }
  .bookpass .bookpass_ticket_list_btn .ico img {
    width: 6.8vw;
  }
  .bookpass .bookpass_ticket_list_btnCol{
    min-height: unset;
    padding: 4vw 2vw;
  }
  .bookpass .bookpass_ticket_list_textLink {
    font-size: 3.4vw;
    margin-top: 2vw;
  }
  .bookpass .bookpass_ticket_list.last{
    margin-top: 8vw;
  }
  .bookpass .bookpass_ticket_list.last .bookpass_ticket_list_btnCol{
    padding: 5vw 2vw 8vw;
  }
  .bookpass .bookpass_ticket_list_textCol_wrap .bookpass_ticket_list_textCol_img img,
  .bookpass .bookpass_ticket_list_textCol_titWrap .bookpass_ticket_list_textCol_img img{
    width: 7.2vw;
  }
  .bookpass .bookpass_ticket_list_textCol_wrap .bookpass_ticket_list_textCol_img img.batsu,
  .bookpass .bookpass_ticket_list_textCol_titWrap .bookpass_ticket_list_textCol_img img.batsu{
    width: 6.8vw;
  }

  .bookpass_notes{
    width: 100%;
    margin: 8vw auto 0;
  }
  .bookpass_notes .bookpass_notes_tit {
    font-size: 4vw;
  }
  .bookpass_notes .bookpass_notes_text {
    font-size: 2.8vw;
    line-height: 1.8;
    margin-top: 4vw;
  }
}

/*-------------sponsor------------*/

#sponsor{
  width: 100%;
  background: #FFF;
  padding: 4.2vw 3.65vw 6vw;
  box-sizing: border-box;
}

#sponsor_area{
    margin:auto;
    padding-top: 20px;
    padding-bottom: 100px;
    max-width: 1200px;
    text-align: center;
    color:#000;
}

#sponsor_area .title_h2{
    font-family: impact, "Anton", "Noto Sans Japanese", sans-serif;
    font-weight: normal;
    background: #000;
    color: #fff;
    margin-top: 100px;
    padding: 40px 0;
    margin-bottom:40px;
}

#sponsor_area .title_h2 h2{
    font-size: 55px !important;
}

#sponsor_area .title_h4{
    padding-top: 50px;
    line-height: 1.4;
    margin-bottom: 1.5rem;
    font-weight: 900;
    position: relative;
}

#sponsor_area .title_h4 h4{
    font-size: 24px !important;
    padding-bottom: 10px;
    border-bottom: 4px solid #000;
    max-width: 300px;
    margin: auto;
}

#sponsor_area .logo_area{
    display: flex;
    justify-content: space-around;
    font-size: 0.8em;
    color: #666;
    margin-bottom: 15px;
}


@media (max-width:480px){
    #sponsor_area .logo_area{
        flex-flow: column;
        justify-content: center;
    }

    #sponsor_area .logo_area > div{
        margin: auto;
        width: 60%;
    }
#sponsor_area .logo_area > div{
    margin-bottom: 20px;
}
}

#sponsor_area .logo_area > div{
/*    flex-basis:25%;*/
}


#sponsor_area .logo_area > div a:hover{
    color: #666;
    text-decoration: underline;
}


#sponsor_area .logo_area > div img{
    max-width: 270px;
}

#sponsor_area .logo_area > div img.mini{
    max-width: 150px;
    margin-bottom: 22px;
}

/*イタリア大使館横長対策*/

.italia2023{
  margin-left:-100px;
}

.dell2023{
  margin-left:-30px;
}

@media (max-width:480px){
.italia2023{
  margin-left:100px;
}

.dell2023{
  margin-left:30px;
}
  }

/* 20231004追加 */

.btn-hover {
    width:60%;
    font-size: 2em;
    font-weight: 600;
    color: #fff;
    cursor: pointer;
    text-align:center;
    border: none;
    background-size: 300% 100%;
    padding: 25px 0;
    border-radius: 50px;
    moz-transition: all .4s ease-in-out;
    -o-transition: all .4s ease-in-out;
    -webkit-transition: all .4s ease-in-out;
    transition: all .4s ease-in-out;
}

.btn-hover:hover {
    background-position: 100% 0;
    moz-transition: all .4s ease-in-out;
    -o-transition: all .4s ease-in-out;
    -webkit-transition: all .4s ease-in-out;
    transition: all .4s ease-in-out;
}

.btn-hover:focus {
    outline: none;
}

.btn-hover.color-7 {
    background-image: linear-gradient(to right, #e50c0c, #852D91, #A3A1FF, #F24645);
    box-shadow: 0 4px 15px 0 rgba(126, 52, 161, 0.75);
}


@media (max-width:480px){
.btn-hover {
    width:90%;
    font-size: 0.9em;
    font-weight: 600;
    color: #fff;
    cursor: pointer;
    text-align:center;
    border: none;
    background-size: 300% 100%;
    padding: 25px 0;
    border-radius: 50px;
    moz-transition: all .4s ease-in-out;
    -o-transition: all .4s ease-in-out;
    -webkit-transition: all .4s ease-in-out;
    transition: all .4s ease-in-out;
    margin-bottom: 20px;
}
}



.g-nav.visible-sp ul li.updated,
.header_links ul li.updated {
	position: relative;
}

.g-nav.visible-sp ul li.updated a:after,
.header_links ul li.updated a:after {
	content: 'updated!';
	font-size: 10px;
	color: #F8B800;
	position: absolute;
	top: -5px;
	right: 10px;
}

@media (max-width:480px) {
	.g-nav.visible-sp ul li.updated a:after{
		right: 50px;
	}
}

@media (max-width:768px) {
	.g-nav.visible-sp ul li.updated a:after{
		font-size: 13px;
		right: 120px;
	}
}

@media (max-width:1000px) {
	.g-nav.visible-sp ul li.updated a:after{
		font-size: 13px;
		right: 180px;
	}
}

@media screen and (max-width:1000px){
	
	#wrapper{
		padding-top: 0;
	}
	
	.visible-sp{
		display:block;
	}
	.hidden-sp{
		display:none !important;
	}
	body{
		font-size: 15px;
		line-height: 1.7;
	}
	main{
		margin-top: calc(50px + 4vw);
	}
	.fixedcontainer{
		width: 90%;
	}
	.medium-btn{
		display: block !important;
		margin-right: 20px;
	}
	.header_links{
		display: flex;
		align-items: center;
	}
	.menu-trigger {	
		position: relative;
		display: block;
	    transition: all .4s;
	    box-sizing: border-box;
	    cursor: pointer;
	    width: 60px;
	    height: 60px;
	    z-index: 11;
	}

	.menu-trigger span {
	    display: inline-block;
	    transition: all .4s;
	    box-sizing: border-box;
	    cursor: pointer;
	    float: right;
	    position: absolute;
	    background: #fff;
	    width: 40px;
	    height: 2.5px;
	    left: 0;
	    right: 0;
	    margin: auto;

	}
	.menu-trigger span:nth-of-type(1) {
	    top: 17px;
	}
	.menu-trigger span:nth-of-type(2) {
	    top: 0;
	    bottom: 0;
	}
	.menu-trigger span:nth-of-type(3) {
	    bottom: 17px;
	}
	.g-nav {
	    display: none;
	    position: fixed;
	    top: 0;   
	    left: 0;
	    right: 0;
	    bottom: 0;
	    background: #000;
	    width: 100%;
	    height: 100vh;
	    z-index: 10;
	    visibility: visible;
	    opacity: 1;
	}
	.g-nav .list {
		margin-top: 70px;
	    padding: 20px;
	    text-align: center;
	}
	.g-nav .list li{
		margin: 0 auto 4vw;
	    width: 60%;
	}
	.g-nav .list li a {
		display: block;
	    text-align: left;
	    font-size: 3.6vw;
	    padding-left: 30px;
	    text-decoration: none;
	    padding: 10px 0;
	    font-weight: bold;
	}
	.menu-trigger.active span:nth-of-type(1) {
	    -webkit-transform: translateY(11.5px) rotate(-45deg);
	    transform: translateY(11.5px) rotate(-45deg);
	}

	.menu-trigger.active span:nth-of-type(2) {
	    opacity: 0;
	}
	.menu-trigger.active span:nth-of-type(3) {
	    -webkit-transform: translateY(-11.5px) rotate(45deg);
	    transform: translateY(-11.5px) rotate(45deg);
	}

	.g-nav .list li a:before {
	    content: '-';
	    font-weight: normal;
	    display: inline-block;
	    margin-right: 2vw;
	}
	.g-nav .list li a.header_contact{
		background: #ed1c24;
		border-radius: 5px;
		padding-left: 0;
		text-align: center;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.g-nav .list li a.header_contact.pamphlet{
		background: #cccccc;
    color: #000;
  }
	.g-nav .list li a.header_contact:before{
		content: none;
	}
	.g-nav .list li a.header_contact span{
		padding: 0.5vw 3vw;
	}
	.g-nav .list li a.header_contact span:first-child{
		border-right: 2px dashed #fff;
	}
	.g-nav .list li a.header_contact span:first-child img{
		width: 6vw;
	}
	.g-nav .list li a.header_contact span:last-child img{
		width: 1.8vw;
	}
	#programs{
		padding: 6vw 0;
	}
	.program_one h3{
		font-size: 16px;
	}
	.program_one p{
		font-size: 14px;
	}
	.program h2.title{
    font-size: 5vw;
  }
}

@media screen and (max-width:640px){
	.menu-trigger {
	    width: 50px;
	    height: 50px;
	}

	.menu-trigger span {
	    width: 30px;
	    height: 3px;
      background-image: linear-gradient(90deg, rgba(255, 0, 165, 1), rgba(191, 200, 255, 1));

	}
	.menu-trigger span:nth-of-type(1) {
	    top: 15px;
	}
	.menu-trigger span:nth-of-type(3) {
	    bottom: 15px;
	}
	.menu-trigger.active span:nth-of-type(1) {
	    -webkit-transform: translateY(9px) rotate(-45deg);
	    transform: translateY(9px) rotate(-45deg);
	}
	.menu-trigger.active span:nth-of-type(3) {
	    -webkit-transform: translateY(-9px) rotate(45deg);
	    transform: translateY(-9px) rotate(45deg);
	}
	#programs{
		padding: 8vw 0;
	}
	.program_btn{
		font-size: 14px;
		margin-top: 60px;
	}
	.program_btn span{
		margin-right: 10px;
	}
	.program_in{
		margin: 0 34px;
	}
	.program h2.title{
    font-size: 7vw;
  }
}

.place_content{
  /*width: calc(100% - 680px);*/
}

.place_content table{
  width: 100%;
  font-size: 30px;
  color: #000;
}
.place_content th{
  width: 200px;
  font-weight: bold;
}
.place_content td{
  padding-bottom: 40px;
  font-weight: bold;
}
.place_content td span{
  font-size: 18px;
  font-weight: normal;
}

.place_content table td a{
  color: #0E69C4;
  text-decoration: underline;
}

@media screen and (max-width:1400px){
  .place_content table{
    font-size: 19px;
  }
  .place_content td span{
    font-size: 15px;
  }
}

@media screen and (max-width:1200px){
  .place_content table{
    font-size: 18px;
  }
  .place_content td span{
    font-size: 14px;
  }
}

@media screen and (max-width:640px){

.place_content table{
    font-size: 16px;
    line-height: 1.4;
  }
  .place_content th{
    width: 100px;
  }
  .place_content td span{
    font-size: 12px;
  }
  .place_content td{
    padding-bottom: 20px;
  }

}

main{
  margin-top: 0;  
}

.header{
  position: relative;
  
}
header{
  position: relative;
}

.font-impact{
  font-family: impact, "Anton", "Noto Sans Japanese", sans-serif;
}

.background-dots{
  background-image: radial-gradient(#BBBBBB 30%, #EAEAEA 25%);
	background-size: 3px 3px;
}

.background-image1{
  background-image: url(/event_2024/asset/images/bg01.png);
  background-size:cover;
}

.background-image2{
  background-image: url(/event_2024/asset/images/bg02.png);
  background-size:cover;
}

.ticket-btn{
  background: rgb(15,21,113);
  background: linear-gradient(90deg, rgba(15,21,113,1) 0%, rgba(237,35,36,1) 100%);
}


#btn_animation .ticket-btn {
  position: relative;
  overflow: hidden;
}

#btn_animation .ticket-btn:hover {
    text-decoration: none;
    color: #fbfbfb;
}

#btn_animation .ticket-btn::before {
    position: absolute;
    content: '';
    display: inline-block;
    top: -180px;
    left: 0;
    width: 40px;
    height: 100%;
    background-color: #fbfbfb;
    animation: btn_animation 2.5s ease-in-out infinite;
}

@-webkit-keyframes btn_animation {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}



.fs-title{
  font-size: 5.5rem !important;
  letter-spacing: 0.3rem;
}

@media screen and (max-width:640px){
  .fs-title{
    font-size: 3.5rem !important;
    letter-spacing: 0.1rem;
  }
}


.fs-number{
  font-size: 3.5rem !important;
}

.fs-title-ticket{
  font-size: 7.5rem !important;
  letter-spacing: 0.3rem;
}
.logo img{
  width: auto;
}

.logo img{
  max-width: 240px;
}

@media screen and (max-width:640px){
 .logo img{
    max-width: 160px;
  } 
  .fs-title-ticket{
    font-size: 3.5rem !important;
    letter-spacing: 0.1rem;
  }
}

.circle-arrow{
  width: 2.25em;
}
.circle-arrow-b{
  width: 2em;
}

.title-second{
  position: relative;
  padding-left: 3rem;
  margin-top: -1rem;
}

.title-second::before{
  position: absolute;
  content: "";
  top: 50%;
  left: 0;
  width: 1.5rem;
  border-top: 2px solid #ed1c24;
}

@media screen and (max-width:640px){
  .fs-1{
    font-size: calc(1.075rem + 1.5vw) !important;
  }
  .fs-15{
    font-size: calc(1.075rem + 1.5vw) !important;
  }
  .fs-3{
    font-size: calc(1.1rem + 0.6vw) !important;
  }
  .fs-5{
    font-size: 1.175rem !important;
  }
  .circle-arrow{
    width: 1.25em;
  }
}

.kv-text-position{
  top: 3.5rem;
  left: 3rem;
}

@media screen and (max-width:640px){
  .kv-text-position{
    width: 100%;
    top: 25px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
}

@media screen and (min-width: 576px){
 .fs-sm-5{
   font-size: 1.25rem !important;  
 }
 .py-sm-25{
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
  }
}

.py-25{
  padding-top: 0.75rem !important;
  padding-bottom: 0.75rem !important;
}