/* ---------------------------------------------------------------------------------------------------------
 トップページ - メインビジュアル
--------------------------------------------------------------------------------------------------------- */
.t_tv {
  height: 100vh;
  width: 100vw;
}

/* スライドショー */
.overlap-slider {
  position: fixed!important;
}
.t_tv .overlap-slider-slide__bg img {
  width: 100%;
  /* height: 100%; */
}
.t_tv .overlap-slider-slide__bg video {
  width: 100%;
  /* height: 100%; */
}
.t_tv .item_01 .credit {
  transition: 1s;
}
.t_tv .item_01 .credit img {
  width: 80%;
  max-width: 400px;
  margin-top: 100px;
  margin-right: auto;
  margin-left: auto;
  /* position: absolute;
  top: 25%;
  left: 50%;
  transform: translate(-50%,-50%); */
  filter: blur(calc(var(--blur)* 30px));
  opacity: 1;
  --blur: 0;
}
.t_tv .item_01 .credit .phase3 {
  width: 90%;
  max-width: 550px;
}
.credit_hide {
  opacity: 0;
  filter: blur(calc(var(--blur)* 30px));
  --blur: 1;
}

/* スライドなし */
.t_tv .item_01 {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.t_tv .item_01 .kv {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.t_tv .item_01 .kv video {
  width: 100%;
}

/* スライドショー */
#viewer,
#viewer_p,
#viewer_b,
#viewer_m,
#viewer_w {
  position: relative;
  overflow: hidden;
  /* height: 100%; */
}
.slideItem {
  width: 100%;
  height: 100%;
  opacity: 0;
  transform: scale(1);
  transition: opacity 1s linear, transform 15s linear;  /*秒数に注意*/
  position: relative;
  z-index: 1;
}
.slideItem img {
  width: 100%;
  height: 100%;
}
.slideItem:not(:first-child) {
  position: absolute;
  top: 0;
  left : 0;
}
/* スライド用 */
.show {
  opacity: 1;
}
.zoom {
  /* transform: scale(1.3); */
  transform: scale(1);
}


/* -----------------------------------
 トップページ - アバウト
----------------------------------- */
.t_about {
  /* padding: 60px 0; */
  background: rgba(212,236,234,0.8);
  z-index: 3;
  position: relative;

  height: 100vh;
  display: flex;
  width: 100%;
  align-items: center;
}
.t_about .copy img {
	margin-bottom: 35px;
}
.t_about .copy .text {
  font-size: 1.4rem;
  font-weight: 800;
  line-height: 45px;
}

/* .t_about_fixed {
  position: fixed;
  top: 0;
} */

/* -----------------------------------
 トップページ - ラインナップ
----------------------------------- */
.t_lineup,
.t_lineup a {
  /* color: #fff; */
}
.t_lineup {
  /* background-image: url(../image/bg/mb/bg_yellow.jpg); */
  background: var(--bg_common);
  background-size: contain;
  padding-top: 60px;
  position: relative;
  padding-bottom: calc(var(--bottom_margin_2) + 30px);
  /* border-top: 1px solid var(--line_gray); */
}
.t_lineup .artist_list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.t_lineup .artist_list li {
  width: 48%;
  margin-bottom: 20px;
}
.t_lineup .artist_list li h4 {
  margin-top: 5px;
}

/* -----------------------------------
 トップページ - タイムテーブル
----------------------------------- */
.t_timeteble {
  /* border-top: 1px solid #dfdfdf; */
  /* background-image: url(../image/bg/mb/bg_yellow.jpg); */
  background: var(--bg_common);
  background-size: contain;
  padding-top: var(--top_padding);
  position: relative;
  padding-bottom: var(--bottom_margin_2);
}
.t_timeteble .img ul li:not(:last-child) {
  margin-bottom: 20px;
}

/* -----------------------------------
 トップページ - ニュース
----------------------------------- */
.t_news {
  /* background-image: url(../image/bg/mb/bg_common.jpg); */
  background: var(--bg_common);
  background-size: cover;
  z-index: 4;
  position: relative;
}
.t_news .inner {
  padding-top: var(--top_padding);
  padding-bottom: var(--bottom_margin_2);
}
.t_news ul a:hover h3 {
  /* color: var(--pink); */
}
.t_news li {
  width: 75%;
}
.t_news .thumbnail {
  margin-bottom: 15px;
}
.t_news .content time {
  font-size: 1.2rem;
  display: block;
  margin-bottom: 4px;
  font-weight: 500;
}
.t_news .content h3 {
  font-size: 1.8rem;
  line-height: 3rem;
  margin-bottom: 12px;
  transition: .3s;
}
.t_news .content .text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.t_news .content a {
  color: #0000EE;
  text-decoration: underline;
  display: inline;
}

/* 流れる文字 */
.flow_txt {
  display: flex;
	position: absolute;
  width: 100vw;
	bottom: -50px;
	width: 100%;
	/* height: 110px;
	line-height: 110px; */
	overflow: hidden;
	z-index: 1;
}
.flow_txt div {
  flex: 0 0 auto;
  white-space: nowrap;
	padding-right: 15px;
	color: rgba(0,0,0,0);
	font-size: 9rem;
	font-weight: 700;
	-webkit-text-stroke: 2px #727171;
}
.flow_txt div:nth-child(odd) {
  animation: loop 40s -20s linear infinite;
}
.flow_txt div:nth-child(even) {
  animation: loop2 40s linear infinite;
}

@keyframes loop {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes loop2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}

/* -----------------------------------
 トップページ - チケット
----------------------------------- */
.t_ticket {
  z-index: 1;
  position: relative;
}

/* -----------------------------------
 ヒストリー
----------------------------------- */
.t_after_movie .inner {
  /* border-top: 1px solid #dfdfdf; */
}
.t_after_movie .inner {
  position: relative;
}
.t_after_movie,
.t_after_movie a {
  /* color: #fff; */
}
.t_after_movie .inner {
  /* background-image: url(../image/bg/mb/bg_black.jpg); */
  background: var(--bg_common);
  background-size: contain;
  padding-top: 60px;
  padding-bottom: 240px;
}
.t_after_movie .g_head_01 {
  margin-bottom: 80px;
}
.t_after_movie .movie h3 {
  margin-bottom: 10px;
}
.t_after_movie .thumbnail {
  position: relative;
  text-align: center;
  /* margin-bottom: 15px; */
}
.t_after_movie .thumbnail .anchor {
  position: relative;
  text-align: center;
  /* margin-bottom: 15px; */
}
.t_after_movie .thumbnail .btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 40px;
}
.t_after_movie .link {
  position: absolute;
  right: var(--side_padding);
  bottom: 50px;
}
.t_after_movie .read_more {
  display: inline-block;
}
.t_after_movie .read_more:after {
  background: #fff;
}

.t_after_movie .line_up {
  font-size: 1.6rem;
  font-weight: 600;
  margin-bottom: 60px;
}
.t_after_movie .line_up ul {
  display: flex;
  flex-wrap: wrap;
}
.t_after_movie .line_up ul li:not(:last-child) {
  margin-right: 10px;
}
.t_after_movie .line_up .day_1 {
  margin-bottom: 20px;
}

/* -----------------------------------
 トップページ - POOL
----------------------------------- */
.t_pool {
  /* background: var(--sky_blue); */
  /* background: #fff; */
  /* background-image: url(../image/bg/mb/bg_yellow.jpg); */
  background: var(--bg_common);
  background-size: cover;
  z-index: 0;
  position: relative;
  padding-top: calc(var(--top_padding) + 30px);
  padding-bottom: var(--bottom_padding);
}
.t_pool .text,
.t_beach .text,
.t_market .text{
  margin-bottom: 20px;
}

/* -----------------------------------
 トップページ - MUSIC LINE in POOL
----------------------------------- */
.t_mlp {
  /* border-top: 1px solid #dfdfdf; */
  /* background-image: url(../image/bg/mb/bg_yellow.jpg); */
  background: var(--bg_common);
  background-size: cover;
  z-index: 0;
  position: relative;
  padding-top: calc(var(--top_padding) + 30px);
  padding-bottom: var(--bottom_padding);
}
.t_mlp .img .sub {
  margin: 10px 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.t_mlp .img .sub li {
  width: calc((100% - 10px) / 2);
}
.t_mlp .text b {
  display: inline-block;
  margin-bottom: 8px;
  font-style: 1.6rem;
}

/* -----------------------------------
 トップページ - BEACH
----------------------------------- */
.t_beach {
  background: var(--sky_blue);
  background-size: cover;
  z-index: 0;
  position: relative;
  padding-top: calc(var(--top_padding) + 30px);
  padding-bottom: var(--bottom_padding);
}

/* -----------------------------------
 トップページ - MARKET
----------------------------------- */
.t_market {
  /* border-top: 1px solid var(--line_gray); */
  background: var(--sky_blue);
  /* background: #fff; */
  /* background-image: url(../image/bg/mb/bg_yellow.jpg);
  background: var(--bg_common); */
  background-size: cover;
  z-index: 0;
  position: relative;
  padding-top: calc(var(--top_padding) + 30px);
  padding-bottom: var(--bottom_padding);
}
.t_market .content {
  /* position: relative; */
}
.t_market .content ul {
  margin-bottom: 100px;
}
.t_market .read_more {
  position: absolute;
  right: 0px;
  bottom: 0px;
}

/* -----------------------------------
 トップページ - BEACHSIDE Lounge
----------------------------------- */
.t_bsl {
  /* border-top: 1px solid var(--line_gray); */
  background: var(--sky_blue);
  background-size: cover;
  z-index: 0;
  position: relative;
  padding-top: calc(var(--top_padding));
  padding-bottom: var(--bottom_padding);
}
.t_bsl .inner {
  padding-right: 0px;
}
.t_bsl .t_news_swiper {
  padding-right: var(--side_padding);
}

/* -----------------------------------
 トップページ - AREA MAP
----------------------------------- */
.t_areamap {
  /* background-image: url(../image/bg/mb/bg_yellow.jpg); */
  background: var(--bg_common);
  background-size: cover;
  z-index: 0;
  position: relative;
  padding-top: calc(var(--top_padding) + 30px);
  padding-bottom: var(--bottom_padding);
}

/* -----------------------------------
 トップページ - What's OP?
----------------------------------- */
.t_about2 {
  /* border-top: 1px solid var(--line_gray); */
  /* background-image: url(../image/bg/mb/bg_yellow.jpg); */
  background: var(--bg_common);
  background-size: cover;
  z-index: 0;
  position: relative;
  padding-top: calc(var(--top_padding) + 30px);
  padding-bottom: var(--bottom_padding);
}
.t_about2 .text {
  margin-top: 20px;
  margin-bottom: 100px;
}
.t_about2 .read_more {
  position: absolute;
  right: 0px;
  bottom: 0px;
}

/* -----------------------------------
 トップページ - ACCESS
----------------------------------- */
.t_access {
  /* border-top: 1px solid #dfdfdf; */
  /* background-image: url(../image/bg/mb/bg_common.jpg); */
  background: var(--bg_common);
  background-size: cover;
  z-index: 0;
  position: relative;
  padding-top: calc(var(--top_padding) + 30px);
  padding-bottom: var(--bottom_padding);
  margin-bottom: 0px!important;
}
.t_pool .content {
  margin-top: 20px;
}

/* -----------------------------------
 トップページ - SPONSOR
----------------------------------- */
.t_sponsor {
  background: #fff;
  background-size: cover;
  z-index: 0;
  position: relative;
  padding-top: calc(var(--top_padding) + 30px);
  padding-bottom: var(--bottom_padding);
  text-align: center;
  /* border-top: 1px solid var(--line_gray); */
}
.sponsor_list li {
  margin-right: auto;
  margin-left: auto;
}
.sponsor_list li img {
  margin-bottom: 50px;
}
.sponsor_list .list_b li img {
  margin-bottom: 0px;
}
.sponsor_list .size_a {
  width: 200px;
}
.sponsor_list .size_b {
  width: 150px;
}
.sponsor_list .size_c {
  width: 80px;
}
.sponsor_list .size_d {
  width: 50px;
}
.sponsor_list img {
  width: 100%;
}



/****************************** 600px ******************************/
@media (min-width: 600px){

  /* -----------------------------------
   トップページ - メインビジュアル
  ----------------------------------- */
  .t_tv .item_01 .credit img {
    /* max-width: 550px; */
  }

  /* -----------------------------------
   トップページ - アバウト
  ----------------------------------- */
  .t_about .copy .text {
    font-size: 1.6rem;
  }
  .t_about .copy img {
    width: 70%;
  }

  /* -----------------------------------
   トップページ - ニュース
  ----------------------------------- */
  .t_news .content h3 {
    margin-bottom: 15px;
    padding-bottom: 15px;
  }

  /* -----------------------------------
   トップページ - ラインナップ
  ----------------------------------- */
  .t_lineup .artist_list li {
    width: 32%;
  }

}

/****************************** 1025px ******************************/
@media (min-width: 1025px){

  /* -----------------------------------
   トップページ - メインビジュアル
  ----------------------------------- */
  .t_tv .item_01 .credit img {
    /* max-width: 650px; */
    /* margin-top: 100px; */
    /* top: 30%; */
  }
  .t_tv .item_01 .credit .phase3 {
    /* width: 90%; */
    max-width: 950px;
  }

  /* -----------------------------------
   トップページ - アバウト
  ----------------------------------- */
  .t_about .inner {
    padding-left: var(--side_padding);
  }
  .t_about .copy {
  }
  .t_about .copy img {
    margin-bottom: 40px;
  }
  .t_about .copy .text {
    font-size: 2rem;
    font-weight: 600;
    line-height: 48px;
  }
  /* 流れる文字 */
  .flow_txt {
  	bottom: -90px;
  }
  .flow_txt div {
  	font-size: 15rem;
  }

  /* -----------------------------------
   トップページ - ニュース
  ----------------------------------- */
  .t_news {
    /* background-image: url(../image/bg/pc/bg_common.jpg); */
  }
  .t_news .inner {
    /* padding-top: 100px; */
    /* padding-bottom: 200px; */
  }
  .t_news ul {
    /* padding: 0 40px; */
    box-sizing: border-box;
  }
  .t_news ul li a {
    display: flex;
    align-items: flex-start;
  }
  .t_news li {
    width: 100%;
  }
  .t_news .thumbnail {
    width: 35%;
    margin-bottom: 0px;
  }
  .t_news .content {
    width: 65%;
    padding-left: 40px;
  }
  .t_news .content h3 {
    font-size: 3.2rem;
    line-height: 4rem;
    margin-bottom: 20px;
    padding-bottom: 20px;
  }
  .t_news .content .text {
    font-size: 1.8rem;
    line-height: 36px;
  }
  .t_news .content time {
    font-size: 1.6rem;
  }

    /* 投稿2つ以上の場合 */
  .t_news .has_multiple {
    padding: 0 40px;
    box-sizing: border-box;
  }
  .t_news .has_multiple li {
    width: 23%!important;
  }
  .t_news .has_multiple li a {
    display: block;
  }
  .t_news .has_multiple .thumbnail {
    width: 100%;
    margin-bottom: 20px;
  }
  .t_news .has_multiple .content {
    width: 100%;
    padding-left: 0px;
  }
  .t_news .has_multiple .content h3 {
    font-size: 1.8rem;
    line-height: 3rem;
    margin-bottom: 12px;
    transition: .3s;
  }
  .t_news .has_multiple .content .text {
    font-size: 1.4rem;
    line-height: 2.2rem;
  }
  .t_news .has_multiple .content time {
    font-size: 1.2rem;
  }
  .t_news {
    /* background-image: url(../image/bg/pc/bg_common.jpg); */
  }
  .t_news .inner {
    /* padding-top: 100px;
    padding-bottom: 200px; */
  }

  /* -----------------------------------
   トップページ - ラインナップ
  ----------------------------------- */
  /* .t_lineup {
    background-image: url(../image/bg/pc/bg_yellow.jpg);
    padding-top: 150px;
    padding-bottom: 220px;
  } */
  .t_lineup .artist_list li {
    width: 19%;
  }


  /* -----------------------------------
   トップページ - プール
  ----------------------------------- */
  .t_pool .content,
  .t_beach .content,
  .t_about2 .content,
  .t_access .content,
  .t_market .content {
    display: flex;
    justify-content: space-between;
  }
  .t_pool .content .img,
  .t_beach .content .img,
  .t_about2 .content .img,
  .t_access .content .map,
  .t_market .content .img {
    width: 48%;
    order: 0;
  }
  .t_pool .content .text,
  .t_beach .content .text,
  .t_about2 .content .text,
  .t_access .content .detail,
  .t_market .content .text {
    width: 48%;
    order: 1;
  }

  /* -----------------------------------
  トップページ - MUSIC LINE in POOL
  ----------------------------------- */
  .t_mlp {
  }
  .t_mlp .img{
    display: flex;
    gap: 20px;
    align-items: stretch;
    margin-bottom: 20px;
  }

  .t_mlp .img .main img {
    height: 100%;
  }
  .t_mlp .img .main,
  .t_mlp .img .sub{
    flex: 1;
  }

  .t_mlp .img .sub{
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin: 0;
  }

  /* 孫要素（.sub の直下が4つ想定） */
  .t_mlp .img .sub > *{
    flex: 0 0 calc((100% - 20px) / 2); /* 2列 */
  }

  .t_mlp .text {
    text-align: center;
    line-height: 32px;
  }
  .t_mlp .text b {
    /* display: inline-block; */
    /* margin-bottom: 8px; */
    font-size: 1.8rem;
  }



  /* -----------------------------------
   トップページ - BEACHSIDE Lounge
  ----------------------------------- */
  .t_bsl {
    /* border-top: 1px solid var(--line_gray);
    background: var(--sky_blue);
    background-size: cover;
    z-index: 0;
    position: relative;
    padding-top: calc(var(--top_padding));
    padding-bottom: var(--bottom_padding); */
  }
  .t_bsl .inner {
    padding-right: var(--side_padding);
  }
  .t_bsl .list ul {
    display: flex;
    justify-content: space-between;
  }
  .t_bsl .list li {
    width: 31%;
  }
  /* .t_bsl .t_news_swiper {
    padding-right: var(--side_padding);
  } */


  /* -----------------------------------
   トップページ - マーケット
  ----------------------------------- */
  .t_market .content .text {
    /* position: relative; */
  }
  .t_market .content ul {
    margin-bottom: 0px;
  }
  .t_market .read_more {
    position: absolute;
    right: 0px;
    bottom: 0px;
  }

  /* -----------------------------------
   トップページ - What's OP
  ----------------------------------- */
  .t_about2 .read_more {
    right: 0;
  }
  .t_about2 .text {
    margin-top: 0px;
    margin-bottom: 0px;
  }

  /* -----------------------------------
   トップページ - タイムテーブル
  ----------------------------------- */
  /* .t_timeteble {
    border-top: 1px solid #dfdfdf;
    background-image: url(../image/bg/mb/bg_yellow.jpg);
    background: var(--bg_common);
    background-size: contain;
    padding-top: var(--top_padding);
    position: relative;
    padding-bottom: var(--bottom_margin_2);
  } */
  .t_timeteble .img {
    padding: 0 40px;
  }


  /* -----------------------------------
   ヒストリー
  ----------------------------------- */
  .t_after_movie .inner {
    /* background-image: url(../image/bg/pc/bg_black.jpg); */
    background-size: contain;
    padding-top: 60px;
    padding-bottom: 120px;
  }
  .t_after_movie .inner > div {
    max-width: 750px;
  }
  .t_after_movie .inner {
    padding-top: 100px;
  }
  .t_after_movie h2 br {
    display: none;
  }
  .t_after_movie .g_head_01 time {
    /* font-size: 2rem; */
  }
  .t_after_movie .g_head_01 .date {
    margin-top: 0px;
    font-size: 3rem;
  }
  .t_after_movie .thumbnail {
    display: flex;
  }
  .t_after_movie .thumbnail .btn {
    width: 50px;
  }
  .t_after_movie .link {
    bottom: 120px;
  }

  .t_after_movie .line_up {
    font-size: 1.7rem;
    margin-bottom: 120px;
  }
  .t_after_movie .line_up time,
  .t_after_movie .line_up ul {
    line-height: 3rem;
  }
  .t_after_movie .line_up ul li:not(:last-child) {
    margin-right: 15px;
  }

  /* -----------------------------------
   トップページ - FOOD
  ----------------------------------- */
  .t_event .content,
  .t_pool .content,
  .t_location .content,
  .t_location .access {
    display: flex;
    justify-content: space-between;
  }
  .t_event .content .img,
  .t_pool .content .img,
  .t_location .content .img {
    width: 48%;
  }
  .t_event .content .text,
  .t_pool .content .text,
  .t_location .content .text,
  .t_location .access iframe,
  .t_location .access .detail {
    width: 48%;
  }

  /* -----------------------------------
   トップページ - ACCESS
  ----------------------------------- */
  .t_access .content .detail {
    line-height: 32px;
  }

  /* -----------------------------------
   トップページ - SPONSOR
  ----------------------------------- */
  .sponsor_list .list_a {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    margin-bottom: 30px;
  }
  .sponsor_list .list_a li {
    margin-right: inherit;
    margin-left: inherit;
  }
  .sponsor_list li img {
    margin-bottom: 0px;
  }
  .sponsor_list .size_a {
    width: 20%;
  }
  .sponsor_list .size_b {
    width: 17%;
  }
  .sponsor_list .size_c {
    width: 9%;
  }
  .sponsor_list .size_d {
    width: 6%;
  }


}

/****************************** 1400px ******************************/
@media (min-width: 1400px){

  /* -----------------------------------
   トップページ - メインビジュアル
  ----------------------------------- */
  .t_tv .item_01 .credit img {
    max-width: 450px;
    /* top: 30%; */
  }

  /* -----------------------------------
   トップページ - アバウト
  ----------------------------------- */
  .t_about {
  }
  .t_about .copy img {
    width: 800px;
  }
  .t_about .text {
    /* font-size: 1.8rem;
    line-height: 36px; */
  }

  /* -----------------------------------
   トップページ - ニュース
  ----------------------------------- */
  .t_news .content p {
    font-size: 1.8rem;
    /* line-height: 2.4rem; */
  }

}
