@charset "utf-8";
@font-face {
    font-family: 'BLG';
    src: url(../font/bleage_font.ttf);
    font-weight: normal;
}
img{
  vertical-align: bottom;
  width: 100%;
  height: auto;
}
p,span,h1,h2,h3,h4,div,nav{
  font-family: 'Noto Sans JP', sans-serif;
  font-style: normal;
  font-feature-settings: "palt";
}
html {
  scroll-padding-top: 0px; /* 固定ヘッダの高さ分 */
  font-size: 62.5%;
  overflow-x: hidden;
}
body {
  line-height: 1.6875;
}
.module_title{
  display: none;
}
.blg-font{
  font-family: 'BLG';
  src: url(font/bleage_font.ttf);
  background-size: cover;
}
.color-white{
  color: white;
}
@media (min-width: 700px) {
.sp-br{
  display: none;
}
}
.pc-br{
  display: none;
}
@media (min-width: 700px) {
.pc-br{
  display: block;
}
}


@font-face {
  font-family: 'BN';
  src: url(../font/BebasNeue-Regular.ttf);
  font-weight: normal;
  }
  @font-face {
  font-family: 'GS';
  src: url(../font/GeneralSans-Semibold.ttf);
  }

.ocher-color {
    color: #A9A087;
}
/* /*================================================== */
/* KV */
/* /*================================================== */

.bn-txt{
  font-family:'BN';
}
.kv-contents{
  position: relative;
}
.kv-ttl{
  position: absolute;
  align-items: baseline;
  top: 50%;
  transform: translateY(-50%);
  margin-left: 15px;
  font-weight: normal;
}
@media (min-width: 700px) {
  .kv-ttl{
    margin-left: 15%;
  }
}

.kv-ttl h1{
  font-size: 8rem;
  font-weight: normal;
  line-height: 6rem;
  letter-spacing: 0.2rem;
}
@media (min-width: 700px) {
  .kv-ttl h1{
    font-size: 15rem;
    line-height: 13rem;
    letter-spacing: 0.5rem;
  }
}
.kv-ttl h2{
  font-size: 1.8rem;
  letter-spacing: 0.2rem;
}
@media (min-width: 700px) {
  .kv-ttl h2{
    font-size: 3rem;
    letter-spacing: 1.2rem;
  }
}


/* ---------------------------------------------------- */
/* スライダー*/
/* ---------------------------------------------------- */
.swipeBanner_spc {
  background-color:#ffffff ;
	padding: 50px 0;
  z-index: 20;
  position: relative;
}

.swipeBanner_spc_wrap {
	max-width: 1080px;
	margin: 0 auto;
	/* padding: 18px 0; */
}

.swipeBanner_spc img {
	width: 100%;
	max-width: 100%;
}

/* general
--------------- */
.onlySP {display: block;}
.onlySP_il {display: inline;}
.onlyPC, .onlyPC_il {display: none;}

/* style.css終わり */

/* pc.css始まり */
@media screen and (min-width: 640px) {

  .wrap_swipeCards1 h3 {
    font-size: 2rem;
  }
  
  .spc_swipeCards1 {	
    overflow-x: visible;
  }
  
  .inner_swipeCards1 {
    width: 100%;
  }
  
  .swipeCard1 {
    width: calc(33.33% - 10px);
  }
  
  /* general PC
  ------------------ */
  
  .onlyPC {display: block;}
  .onlyPC_il {display: inline;}
  .onlySP, .onlySP_il {display: none;}
  
  }
  
  
  @media screen and (min-width: 980px) {
    
  .swipeCard1 {
    width: calc(20% - 10px);
  }
  
  .player_blk {
    width: calc(33.33% - 20px);
  }
  
  }
/* ---------------------------------------------------- */
/* KV */
/* ---------------------------------------------------- */

/* ---------------------------------------------------- */
/* about */
/* ---------------------------------------------------- */
.wrapper{
  width: calc(100% - 30px);
  margin: 0 auto;
  padding: 5rem 0 5rem; 

}
@media (min-width: 700px) {
  .wrapper{
    max-width: 900px;
    width: calc(100% - 0px);
  }
}
.about-ttl{
  font-size: 2.8rem;
  text-align: center;
  color: #A9A087;
  line-height: 3.2rem;
}
@media (min-width: 700px) {
  .about-ttl{
    font-size: 4rem;
  }
}

@media (min-width: 700px) {
  .about h2{
    font-size: 5rem;
    padding-bottom: 30px;
  }
}
.about-txt{
  font-size: 1.5rem;
  line-height: 3.5rem;
  padding: 3rem 2rem 0;
  color: #A9A087;
}
@media (min-width: 700px) {
  .about-txt{
    font-size: 1.6rem;
    line-height: 5rem;
    text-align: center;
  }
}
.about-container{
  color: #ffffff;
  background-repeat: repeat;
  background-size: cover;
  /* background-image: url(../img/top-bg.jpg); */
  background-color: #000;
}
@media (min-width: 700px) {
  .about-container{
    background-size: contain;
    /* background-image: url(../img/noise_bgcolor.jpg); */
  }
}
/* ---------------------------------------------------- */
/* スライダー */
/* ---------------------------------------------------- */
.slider-wrapper {
  display: flex; /* スライドのグループを横並び */
  overflow: hidden; /* はみ出たスライドを隠す */
  transform: rotate(1.5deg) translateX(0);
}
.slider-wrapper2 {
  display: flex; /* スライドのグループを横並び */
  overflow: hidden; /* はみ出たスライドを隠す */
  transform: rotate(-1.5deg) translateX(0);
}

.slider {
  animation: scroll-left 180s infinite linear .5s both;
  display: flex; /* スライド3枚を横並び */
}
.slider2 {
  animation: scroll-right 180s infinite linear .5s both;
  display: flex; /* スライド3枚を横並び */
  padding: 50px 0;
}
.slide {
  width: 100%;
  list-style: none;
}
.slide img {
  display: block;
  width: auto;
  height: 100px;
}
@media (min-width: 700px) {
  .slide img {
    height: 160px;
    opacity: 0.8;
  }
}
.slide2{
  list-style: none;
}
.slide2 img {
  display: block;
  width: auto;
  height: 100px;
}
@media (min-width: 700px) {
  .slide2 img {
    height: 160px;
    opacity: 1;
  }
}
/* CSSアニメーション */
@keyframes scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes scroll-right {
    from {
      transform: translateX(-100%);
    }
      to {
      transform: translateX(0%);
    }
}

/* ---------------------------------------------------- */
/* news */
/* ---------------------------------------------------- */
.news-ttl{
  font-size: 7rem;
  line-height: 4rem;
  font-weight: normal;
  letter-spacing: 0.5rem;
  text-align: center;
}
@media (min-width: 700px) {
  .news-ttl{
    font-size: 10rem;
    line-height: 6rem;
  }
}

.news-sub-ttl{
  font-size: 2rem;
  padding-top: 1.5rem;
  letter-spacing: 0.5rem;
  text-align: center;
}
@media (min-width: 700px) {
.news-sub-ttl{
  padding-top: 20px;
  font-size: 2rem;
  letter-spacing: 0.5rem;
}
}

.accordion {
  max-width: 900px;
  margin: 0 auto;
  width: calc(100% - 30px);
}
.accordion-item {
  margin-top: 10px;
  cursor: pointer;
}
.accordion-title2{
  padding: 15px 60px 15px 20px;
  font-weight: bold;
  cursor: pointer;
  font-size: 1.5rem;
  font-weight: normal;
  border: 1px solid #ffffff !important;
}
.accordion-title2::before, .accordion-title2::after{
  content: "";
    position: absolute;
    right: 20px;
    top: 0;
    bottom: 0;
    margin: auto 0;
    background-image: url(../img/icon_arrowR3.svg) !important;
    width: 30px;
    height: 30px;
    transition: all 0.3s;
}

.accordion-title {
  position: relative;
  padding: 15px 60px 15px 20px;
  font-weight: bold;
  cursor: pointer;
  font-size: 1.5rem;
  font-weight: normal;
  border: 1px solid #A9A087 !important;
  color: #000000;
}

.accordion-title::before,
.accordion-title::after {
  content: "";
  position: absolute;
  right: 20px;
  top: 0;
  bottom: 0;
  margin: auto 0;
  background-image: url(../img/icon_arrowR3.svg);
  width: 30px;
  height: 30px;
  transition: all 0.3s;
}

.accordion-content {
  padding: 0 20px 0px 20px;
  display: none;
  cursor: pointer;
  background-color: #ffffff;
  border: 1px solid #11111122;
}
.accordion-content img{
  padding: 50px 0;
}
.accordion-txt2{
  padding: 50px 0;
}
.accordion-txt{
  font-size: 1.5rem;
  padding-bottom: 50px;
  color: black;
}
.accordion-content.is-open {
  display: block;
}

.accordion-item.is-active .accordion-title::before {
  transform: rotate(90deg);
}

.accordion-item.is-active .accordion-title::after {
  transform: rotate(90deg);
  opacity: 0;
}

.news-btn{
  position: relative;
  padding: 13px 50px;
  color: #fff;
  background-color: #000000;
  text-decoration: none;
  font-size: 1.5rem;
  display: block;
  margin: 0 auto;
  max-width: 300px;
  font-weight: bold;
  letter-spacing: 0.2rem;
  text-align: center;
  margin-bottom: 3rem;
}

.news-btn::after {
  content: '';
  position: absolute;
  right: 20px;
  top: 35%;
  width: 15px;
  height:15px;
  background-image: url(../img/icon_arrowR2.svg);
  transform: translate(0, 0%) rotate(0deg);
}

/*==================================
動きの設定
===================================*/
/*背景色が伸びて出現（左から・右から）*/
.bgextend{
	animation-name:bgextendAnimeBase;
	animation-duration:1s;
	animation-fill-mode:forwards;
	position: relative;
	overflow: hidden;/*はみ出た色要素を隠す*/
	opacity:0;
}

@keyframes bgextendAnimeBase{
  from {
    opacity:0;
  }

  to {
    opacity:1;  
}
}

.bgextend2{
	animation-name:bgextendAnimeBase;
	animation-duration:1s;
	animation-fill-mode:forwards;
	position: relative;
	overflow: hidden;/*はみ出た色要素を隠す*/
	opacity:0;
}

/*中の要素*/
.bgappear{
	animation-name:bgextendAnimeSecond;
	animation-duration:1s;
	animation-delay: 0.6s;
	animation-fill-mode:forwards;
	opacity: 0;
}
.bgappear2{
	animation-name:bgextendAnimeSecond;
	animation-duration:1s;
	animation-delay: 0.6s;
	animation-fill-mode:forwards;
	opacity: 0;
}

@keyframes bgextendAnimeSecond{
	0% {
	opacity: 0;
	}
	100% {
	opacity: 1;
}
}

/*背景色が伸びて出現（左から）*/
.bgLRextend::before{
	animation-name:bgLRextendAnime;
	animation-duration:1s;
	animation-fill-mode:forwards;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #272727;/*伸びる背景色の設定*/
}
@keyframes bgLRextendAnime{
	0% {
		transform-origin:left;
		transform:scaleX(0);
	}
	50% {
		transform-origin:left;
		transform:scaleX(1);
	}
	50.001% {
		transform-origin:right;
	}
	100% {
		transform-origin:right;
		transform:scaleX(0);
	}
}

.bgLRextend2::before{
	animation-name:bgLRextendAnime;
	animation-duration:1s;
	animation-fill-mode:forwards;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #918871;/*伸びる背景色の設定*/
}

/*背景色が伸びて出現（右から）*/
.bgRLextend::before{
	animation-name:bgRLextendAnime;
	animation-duration:1s;
	animation-fill-mode:forwards;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #111;/*伸びる背景色の設定*/
}
@keyframes bgRLextendAnime{
	0% {
		transform-origin:right;
		transform:scaleX(0);
	}
	50% {
		transform-origin:right;
		transform:scaleX(1);
	}
	50.001% {
		transform-origin:left;
	}
	100% {
		transform-origin:left;
		transform:scaleX(0);
	}
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.bgappearTrigger,
.bgUDextendTrigger,
.bgDUextendTrigger,
.bgRLextendTrigger,
.bgLRextendTrigger{
    opacity: 0;
}

.bgappearTrigger2,
.bgUDextendTrigger2,
.bgDUextendTrigger2,
.bgRLextendTrigger2,
.bgLRextendTrigger2{
    opacity: 0;
}

/* fadeup */
.fadeUp{
  animation-name:fadeUpAnime;
  animation-duration:0.5s;
  animation-fill-mode:forwards;
  opacity:0;
  }
  
  @keyframes fadeUpAnime{
    from {
      opacity: 0;
    transform: translateY(100px);
    }
  
    to {
      opacity: 1;
    transform: translateY(0);
    }
  }
  .fadeUpTrigger{
      opacity: 0;
  }

  /* 左から */
.fadeLeft{
  animation-name:fadeLeftAnime;
  animation-duration:0.5s;
  animation-fill-mode:forwards;
  opacity:0;
  }
  
  @keyframes fadeLeftAnime{
    from {
      opacity: 0;
    transform: translateX(-100px);
    }
  
    to {
      opacity: 1;
    transform: translateX(0);
    }
  }
  

/* 上から */

.fadeDown{
  animation-name:fadeDownAnime;
  animation-duration:0.5s;
  animation-fill-mode:forwards;
  opacity:0;
  }
  
  @keyframes fadeDownAnime{
    from {
      opacity: 0;
    transform: translateY(-100px);
    }
  
    to {
      opacity: 1;
    transform: translateY(0);
    }
  }


.partners-bg{
  background-color: #fff !important;
}

.sponser1{
  width: 340px;
  display: block;
  margin: 0 auto;
}
.sponser1 img{
  width: 100%;
}
.sponser2{
  width: 230px;
  display: block;
  margin: 0 auto;
  padding-bottom: 5rem;
}
.sponser2 img{
  width: 100%;
}

@media (min-width: 700px) {
  .sponser2{
    width: 300px;
  }
}
@media (min-width: 700px) {
  .sponser1{
    width: 490px;
  }
}

/* ---------------------------------------------------- */
/* アナウンスのタブ */
/* ---------------------------------------------------- */
/*タブ切り替え全体のスタイル*/
.map-img{
  padding-top: 3rem;
}
@media (min-width: 700px) {
  .map-img{
    padding-top: 0rem;
  }
}
.tabs {
  margin-top: 50px;
  padding-bottom: 40px;
  background-color: #fff;
  max-width: 900px;
  margin: 0 auto;
  width: calc(100% - 50px);
}

.tab_item {
  width: calc(100%/2);
  gap: 10px;
  height: 50px;
  background-color: #d9d9d9;
  line-height: 50px;
  font-size: 1.3rem;
  text-align: center;
  color: #000000;
  display: block;
  float: left;
  text-align: center;
  font-weight: bold;
  transition: all 0.2s ease;
  cursor: pointer;
}

@media (min-width: 700px) {
  .tab_item {
    padding: 10px 0;
    font-size: 1.5rem;
  }
}
.tab_item:hover {
  opacity: 0.75;
}

input[name="tab_item"] {
  display: none;
}

/*タブ切り替えの中身のスタイル*/
.tab_content {
  display: none;
  clear: both;
  overflow: hidden;
}

@media (min-width: 700px) {
  .tab_content {
    padding: 40px 40px 0;
  }
}
#all:checked ~ #all_content,
#programming:checked ~ #programming_content,
#design:checked ~ #design_content {
  display: block;
}

.tabs input:checked + .tab_item {
  background-color: #A9A087;
  color: #fff;
}

.map-txt{
  border-bottom: 1px solid #dedede;
  font-size: 1.3rem;
  padding: 10px 0;
  text-align: center;
}
@media (min-width: 700px) {
  .map-txt{
    font-size: 1.5rem;
  }
}
.map-ttl{
  margin: 2rem 0;
  font-weight: bold;
  text-align: center;
  font-size: 1.8rem;
}

.map-link{
  text-align: center;
  font-size: 1.3rem;
  display: block;
  text-decoration: underline;
  color: #000000;
}

@media (min-width: 700px) {
  .map-link{
    text-align: center;
    font-size: 1.5rem;
  }
}
/* ---------------------------------------------------- */
/* contact */
/* ---------------------------------------------------- */
.question{
  color: #A9A087;
  font-size: 1.8rem;
  padding-right: 1rem;
}
.answer{
  color: #A9A087;
  font-size: 1.8rem;
  padding-right: 1rem;
}
.accordion-txt2{
  font-size: 1.5rem;
  padding: 30px 0 30px;
  color: black;
}
.accordion-txt2 a{
  text-decoration: underline;
  color: #A9A087;
}
.accordion-bg{
  
}
.contact-contents{
  padding-top: 8rem;
}
@media (min-width: 700px) {
  .contact-contents{
    padding-top: 10rem;
  }
}
.accordion2{
  margin-bottom: 0 !important;
}
.form-txt{
  padding-top: 5rem;
  font-size: 1.5rem;
  width: calc(100% - 50px);
  margin: 0 auto;
  letter-spacing: 0.2rem;
  padding-bottom: 1.5rem;
}
@media (min-width: 700px) {
  .form-txt{
  max-width: 900px;
  width: calc(100% - 0);
  text-align: center;
  padding-bottom: 3rem;
  }
}
.form-btn{
  background-color: #000000;
  color: white;
  display: flex;
  margin: 0 auto;
  padding: 15px 20px 15px 15px;
  box-sizing: border-box;
  letter-spacing: 0.2rem;
  font-size: 1.5rem;
  width: calc(100% - 50px);
  align-items: center;
  justify-content: space-between;
  max-width: 450px;
}
@media (min-width: 700px) {
.form-btn{
padding: 20px 25px 20px 20px;
}
}
.form-btn:hover{
  opacity: 0.2;
  cursor: pointer;
}
.form-btn img{
  width: 20px;
}




/* ---------------------------------------------------- */
/* アナウンス */
/* ---------------------------------------------------- */
.announce-bg{
  background-image: url(../img/noise_bgcolor.jpg);
  background-size: contain;
  padding-bottom: 5rem;
  margin: 5rem 0;
}
.announce-contents{
  padding-top: 5rem;
}
.announce-wrap{
  width: calc(100% - 50px);
  margin: 0 auto;
}
@media (min-width: 700px) {
  .announce-wrap{
    width: calc(100% - 0px);
    max-width: 900px;
  }
}

.announce-ttl{
  font-size: 1.6rem;
  font-weight: 500;
  padding-bottom: 1rem;
}
@media (min-width: 700px) {
  .announce-ttl{
    font-size: 1.8rem;
  }
}
.announce-txt{
  font-size: 1.5rem;
}
@media (min-width: 700px) {
.announce-txt-pc{
  font-size: 1.6rem;
  font-weight: 500;
  padding-bottom: 1rem;
}
}
.announce-item{
  border-bottom: 1px solid #A9A087;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
}
@media (min-width: 700px) {
  .announce-item{
  margin-bottom: 2rem;
  }
}
.text-underline{
  color: #A9A087;
  border-bottom: 1px solid #A9A087;
}
.announce-btn{
  border-bottom:1px solid rgb(0, 0, 0) ;
  font-size: 1.5rem;
  color:black;
}
@media (min-width: 700px) {
  .announce-btn{
    font-weight: 500;
    font-size: 1.6rem;
  }
}
.announce-btn:hover{
  color: #A9A087;
}



/* ---------------------------------------------------- */
/* movie */
/* ---------------------------------------------------- */
.movie_bg{
  background-image: url(../img/black_noise.jpg);
  margin-top: 5rem;
  padding-bottom: 5rem;
  background-repeat: repeat;
  background-size: 200px auto;
}
.coming-soon{
  width: 100%;
}
.movie-bg{
  background-color: #1C1107;
  padding-top: 8rem;
}
@media (min-width: 700px) {
  .movie-bg{
    padding-top: 16rem;
  }
}
.bg{
  background-color: #1C1107;
}
.gold-line2{
  position: absolute;
  width: 100%;
  bottom: -4.5rem;
}
@media (min-width: 700px) {
  .gold-line2{
    bottom: -16.6rem;
  }
}
.thumbnail{
  width: 100%;
}
.movie-item{
  padding-bottom: 3rem;
  width: calc(100% - 50px);
  margin: 0 auto;
}
@media (min-width: 700px) {
  .movie-item{
    width: calc(100% - 0px);
    width: 100%;
  }
}
.movie-list{
  width: calc(100% - 40px);
  margin: 0 auto;
  display: block;
  max-width: 1100px;
}
@media (min-width: 700px) {
  .movie-list{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
}
.movie-txt{
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0.3rem;
  padding-bottom: 0.5rem;
  max-width: 800px;
  margin: 0 auto;
  width: calc(100% - 30px);
}
@media (min-width: 700px) {
  .movie-txt{
  font-size: 2.3rem;
    font-weight: bold;
  }
}
.thumbnail{
  width: 100%;
  display: block;
}
.gold-line3{
  width: 100%;
  vertical-align: bottom;
}
.movie-bottom{
  width: 100%;
}
.modaal-inner-wrapper{
  padding: 0 !important;
}
.modaal-close:focus:after, .modaal-close:focus:before, .modaal-close:hover:after, .modaal-close:hover:before{
  background-color: #A9A087 !important;
}
.modaal-video-wrap {
  margin: 0 auto !important;
  max-width: 800px;
}

.video_contents{
  width: calc(100% - 30px);
  margin: 0 auto;
}
.video_contents{
  max-width: 800px;
  margin: 0 auto;
}
.video {
  width: 100%;
  position: relative;
  aspect-ratio: 16 / 9; /* ✅ 一番確実な比率指定 */
  background-color: #000; /* optional: 黒背景を追加 */
}

.video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.p-t{
  padding-top: 1.5rem;
}  


/* ---------------------------------------------------- */
/* Loop */
/* ---------------------------------------------------- */
.loop-wrap {
  overflow: hidden;
  white-space: nowrap;
  width: 100%;
}

.loop {
  display: flex;
  animation: loopScroll 40s linear infinite;
}

.loop img {
  width: auto;
  height: 100%;
  flex-shrink: 0;
}

/* アニメーション定義 */
@keyframes loopScroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}