@charset "UTF-8";

.ntv-main img {
  width: 100%;
  vertical-align: bottom;
  display: block;
}
/* 背景 */
.ntv-wrapper {
  background: url(../images/bg.png) lightgray 0% 0% / 50px 50px repeat;
}
/*==================================

 Layout

==================================*/

.teaser-main-mainImg img {
  display: block;
  width: 100%;
}
/* MV下見出し */
.teaser-main-onair {
  background-color: #e32723;
  color: #fff;
  text-align: center;
  font-size: 14px;
  font-size: 1.4rem;
  letter-spacing: 1px;
  font-weight: bold;
  padding: 10px;
}

/* メニューボタン */
ul.teaser-main-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  gap: 15px;
  align-self: stretch;
  flex-wrap: wrap;
  margin-top: 20px;
}

ul.teaser-main-nav li {
  width: 30%;
}

.teaser-main-nav li a:hover {
  opacity: 0.7;
  transition: 0.3s;
}

/* ブロック */
.teaser-block {
  color: #333;
  word-break: break-all;
  margin-top: 40px;
}
.teaser-block-inner {
  padding: 28px 10px 20px;
  border-top: 8px solid #0ea4cd;
  background: rgba(255, 255, 255, 0.9);
}

/* ブロックタイトル */
.teaser-block-title {
  width: 43%;
  margin: 0 auto;
}
.teaser-block-title#link-map {
  width: 26%;
}

/* ブロック内テキスト */
.teaser-block p {
  color: #333;
  line-height: 170%;
  font-size: 1.4rem;
  margin-bottom: 15px;
}

.teaser-block#content p {
  text-align: center;
}

/* イベント内容 */

.teaser-block#content .teaser-block-inner {
  padding-top: 24px;
  padding-bottom: 15px;
}
.teaser-block#content p.content-img01 {
  margin: 0 auto;
  width: 80%;
}
.teaser-block#content p.content-img02 {
  margin: 25px auto 0;
  width: 80%;
}

span.txtDeco01 {
  font-weight: bold;
}
span.txtDeco02 {
  font-size: 1.3rem;
  font-weight: bold;
  color: #e32723;
}
/* イベント概要 */
/* DL, DT, DDタグのデフォルトスタイルをリセットまたは調整 */
dl,
dt,
dd {
  margin: 0;
  padding: 0;
}

/* Flexboxの親要素をDLタグにする */
.info-container dl {
  display: block; /* Flexアイテムのコンテナとしてではなく、ブロック要素として扱う */
}

/* DTとDDを横並びにするためのFlexboxを親要素に設定 */
.info-item {
  display: flex;
  align-items: flex-start;
  margin-bottom: 20px;
}

.info-item:last-child {
  margin-bottom: 0; /* 最後のセクションは下余白なし */
}

.info-label-wrapper {
  /* Flexアイテムとしての設定を調整 */
  flex-shrink: 0;
  margin-right: 12px;
  /* 幅を固定する設定 */
  width: 80px;
}

.info-label {
  display: flex; /* 子要素を中央揃えにするためにFlexboxを使用 */
  justify-content: center; /* 水平方向の中央揃え */
  align-items: center; /* 垂直方向の中央揃え */
  color: #e32723;
  font-weight: bold;
  border-radius: 37px;
  border: 1px solid var(--red, #e32723);
  /* 親要素の幅に合わせてpaddingを調整 */
  padding: 1px 0; /* 左右のpaddingを0にすると、widthが基準になる */
  text-align: center; /* フォントを中央揃えにするための代替策 */
  font-size: 1.3rem;
}

.info-content {
  line-height: 1.5;
}

.info-content p {
  margin: 0;
  padding: 0;
}

.info-content strong {
  font-weight: bold;
  /* display: block; */
}

.info-content .address {
  font-size: 12px;
}

.info-content .note {
  font-size: 12px;
}

/* MAP */
.teaser-block#map .teaser-block-inner,
.teaser-block#lineup .teaser-block-inner {
  /*ラインナップも同様*/
  background: none;
  padding: 0;
}
.teaser-block#map .teaser-block-inner {
  position: relative;
}
/* .bubble {
  top: 32vw;
  right: 2vw;
  width: 35vw;
  position: absolute;
} */
.bubble {
  position: absolute;
}

.list-section {
  list-style: none;
  padding: 20px 12px 20px 10px;
  font-weight: bold;

  font-size: 1.1rem;
}

.blue {
  background-color: #e7faff;

  color: #007899;
}

.red {
  background-color: #fff4f4;
  color: #e32723;
}

.list-section li {
  padding: 4px 0;
  display: flex; /* Flexboxコンテナにする */
  align-items: flex-start; /* 項目が複数行になっても番号は上部に揃える */
}

.number {
  color: #222;
  min-width: 12px; /* 番号の最小幅を確保（必要に応じて調整） */
  font-weight: bold;
  margin-right: 5px; /* 番号とテキストの間のスペース */
  flex-shrink: 0; /* 番号部分が縮まないようにする */
  /* 数字の幅に合わせて調整が必要な場合あり */
}
/* ラインナップ */

.teaser-block#lineup .teaser-block-inner img {
  width: 100%;
}

/* イベント情報 */

.container {
  max-width: 624px; /* 変更: 600px から 624px へ */
  width: 100%;
}

.info-section {
  margin-bottom: 11px; /* 各セクション間の余白 */
  text-align: center;
}

.info-section:last-child {
  margin-bottom: 0; /* 最後のセクションは下余白なし */
}

.info-title {
  font-size: 1.6rem;
  display: inline-flex; /* 画像とテキストを横並びにするため */
  align-items: center; /* 垂直方向中央揃え */
  font-weight: bold;
}

.info-title::before {
  content: "";
  display: inline-block;
  width: 25px; /* point-img.png の幅に合わせて調整 */
  height: 24px; /* point-img.png の高さに合わせて調整 */
  background-image: url("../images/point-img.png"); /* 画像2を指定 */
  background-size: contain; /* 画像を要素内に収める */
  background-repeat: no-repeat;
  margin-right: 4px; /* 画像とテキストの間に余白 */
  vertical-align: middle; /* 垂直方向中央揃え */
}

.info-text {
  font-size: 1.4rem; /* テキストのフォントサイズ */
  text-align: center; /* 中央揃え */
}

.info-text a {
  /* color: #3f6eb3; リンクの色 */
  text-decoration: underline; /* 下線 */
}

.info-text a:hover {
  color: #2a4a77; /* ホバー時の色 */
}

/* ---------------------------------
 SP用
--------------------------------- */
@media screen and (max-width: 992px) {
  .ntv-box-title {
    /* background: #0a9abe; */
    background-color: #0a9abe;
  }
  /* メニューボタン */
  ul.teaser-main-nav {
    gap: 9px;
  }
  /* イベント内容 */
  .teaser-block#content p.content-img02 {
    width: 90%;
  }
  p.txtmini {
    font-size: 1.1rem;
    line-height: 180%;
  }
  /* イベント情報 */
  .info-title::before {
    width: 22px; /* point-img.png の幅に合わせて調整 */
    height: 20px; /* point-img.png の高さに合わせて調整 */
  }
}
/* MAPのみ調整 */
@media screen and (max-width: 600px) {
  .bubble {
    top: 32vw;
    right: 4vw;
    width: 31vw;
  }
}

/* ---------------------------------
 tablet用(SP設定を上書き）
--------------------------------- */
@media screen and (min-width: 601px) and (max-width: 992px) {
  .sponly {
    display: none;
  }

  /* MAP */
  .bubble {
    top: max(192px, 32vw);
    right: min(20px, 5vw);
    width: max(186px, 27vw);
  }

  .list-section {
    padding: 12.5px 20px;
    font-size: 1.3rem;
  }

  .list-section li {
    padding: 7.5px 0;
  }
}
/* ---------------------------------
 PC用
--------------------------------- */
@media screen and (min-width: 993px) {
  .sponly {
    display: none;
  }
  /* ブロック */
  .teaser-block {
    margin-top: 20px;
  }
  .teaser-block-inner {
    padding: 48px 20px 40px;
  }
  /* ブロックタイトル */
  .teaser-block-title {
    padding: 40px 20px 0px;
  }

  .teaser-main-onair {
    font-size: 1.8rem;
  }
  .teaser-contents {
    margin-top: 20px;
  }

  /* ブロック内テキスト */
  .teaser-block p {
    color: #333;
    line-height: 170%;
    font-size: 1.6rem;
    margin-bottom: 15px;
  }
  /* イベント内容 */
  p.txtmini {
    font-size: 1.6rem;
  }
  .teaser-block#content .teaser-block-inner {
    padding-top: 38px;
    padding-bottom: 30px;
  }
  span.txtDeco02 {
    font-size: 1.8rem;
  }
  /* イベント概要 */
  .info-label-wrapper {
    width: 95px;
  }

  .info-label {
    font-size: 1.5rem;
  }

  .info-content p {
    margin-bottom: 0;
  }
  .info-content .address {
    font-size: 14px;
  }

  .info-content .note {
    font-size: 14px;
  }

  /* MAP */
  .bubble {
    /* position: absolute; */
    top: max(10vw, 212px);
    right: max(0vw, 36px);
    width: 27%;
  }

  .list-section {
    padding: 12.5px 20px;
    font-size: 1.3rem;
  }

  .list-section li {
    padding: 7.5px 0;
  }

  /* イベント情報 */

  .info-title {
    font-size: 1.8rem; /* 見出しのフォントサイズ */
  }
  .info-text {
    font-size: 1.6rem; /* テキストのフォントサイズ */
  }
  .info-section {
    margin-bottom: 20px; /* 各セクション間の余白 */
  }
}

/* ---------------------------------
 右カラム設定
--------------------------------- */

/* 右カラム　タイトル */
.ntv-box-title {
  /* background: #0a9abe; */
  background-color: #0a9abe;
}

.ntv-box-title.title-base {
  /* background: #e90d28; */
}
.drama-box-title.title-base {
  /* background-color: #e90d28; */
}

/*==================================

 Template-Module
 不使用の場合は削除してください

==================================*/

/* ---------------------------------
 メニュー（UNIT04タイプ）設定
--------------------------------- */
.teaser-main-nav {
  margin: 20px 0 30px;
  padding: 0 10px;
  z-index: 2;
  position: relative;
}
.teaser-main-nav ul {
  display: flex;
  flex-flow: row wrap;
  gap: 5px;
  width: 100%;
  margin: 0 auto;
}
.teaser-main-nav ul li {
  position: relative;
  vertical-align: top;
  background: #ffffff;
}
.teaser-main-nav ul li .label {
  font-size: 1rem;
  position: absolute;
  top: -2px;
  left: 50%;
  z-index: 30;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 95%;
  background-color: #fff844;
  border-radius: 5px;
  transform: translateX(-50%);
}
.teaser-main-nav ul li a {
  text-indent: -9999px;
  display: block;
  overflow: hidden;
  line-height: 0;
  font-size: 0;
  height: 100px;
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}
.teaser-main-nav ul li.is-coming a {
  pointer-events: none;
  opacity: 0.6;
}
.teaser-main-nav ul li:nth-of-type(1) a {
  background-image: url("../images/nav/nav_intro.png");
}
.teaser-main-nav ul li:nth-of-type(2) a {
  background-image: url("../images/nav/nav_cast.png");
}
.teaser-main-nav ul li:nth-of-type(3) a {
  background-image: url("../images/nav/nav_staff.png");
}
.teaser-main-nav ul li:nth-of-type(4) a {
  background-image: url("../images/nav/nav_topics.png");
}
.teaser-main-nav ul li:nth-of-type(5) a {
  background-image: url("../images/nav/nav_intro.png");
}
.teaser-main-nav ul li:nth-of-type(6) a {
  background-image: url("../images/nav/nav_cast.png");
}
.teaser-main-nav ul li:nth-of-type(7) a {
  background-image: url("../images/nav/nav_staff.png");
}
.teaser-main-nav ul li:nth-of-type(8) a {
  background-image: url("../images/nav/nav_topics.png");
}

/* row-4（4列） */
/* .teaser-main-nav ul.row-4 li {
  width: calc((100% - 15px) / 4);
} */

/* row-3（3列） */
.teaser-main-nav ul.row-3 li {
  width: calc((100% - 10px) / 3);
}

@media screen and (max-width: 992px) {
  .ntv-main a:hover {
    opacity: 1;
  }
  .teaser-main-nav {
    margin: 15px 0 18px;
  }
  .teaser-main-nav ul li a {
    height: 70px;
  }
}

@media screen and (min-width: 601px) {
  .teaser-main-nav {
    padding: 0 20px;
  }
  .teaser-main-nav ul {
    gap: 10px;
  }

  /* row-4（4列） */
  /* .teaser-main-nav ul.row-4 li {
    width: calc((100% - 30px) / 4);
  } */

  /* row-3（3列） */
  .teaser-main-nav ul.row-3 li {
    width: calc((100% - 20px) / 3);
  }
}

/* ---------------------------------
 動画
--------------------------------- */
/* .teaser-contents .movie-player{
  width: 100%;
  padding-top: 56.25%;
  position: relative;
  margin: 0 auto;
}
.teaser-contents .movie-player iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
} */

/* ---------------------------------
 Twitter
--------------------------------- */

/* タイムライン */
.teaser-contents .twitter-area {
}
.teaser-contents .twitter-area .twitter-timeline {
}

/* ボタン */
.teaser-contents .official-sns-block {
  margin-top: 0;
  border-top: none;
}
.teaser-contents .teaser-btn + .teaser-btn {
  margin-top: 20px;
}
.teaser-contents .teaser-btn a {
  width: 100%;
  display: block;
}
.teaser-contents .teaser-btn a {
  padding: 1.3em 0 1.2em;
  text-align: center;
  color: #ffffff;
  font-weight: bold;
  line-height: 1;
}
.teaser-contents .teaser-btn#btn-follow-twitter a {
  background-color: #1da1f2;
}
.teaser-contents .teaser-btn#btn-follow-facebook a {
  background-color: #3b5998;
}
.teaser-contents .teaser-btn#btn-follow-instagram a {
  position: relative;
  background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
  background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
}
.teaser-contents .teaser-btn#btn-follow-instagram a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: -webkit-linear-gradient(
      15deg,
      #ffdb2c,
      rgb(249, 118, 76) 25%,
      rgba(255, 77, 64, 0) 50%
    )
    no-repeat;
  background: linear-gradient(
      15deg,
      #ffdb2c,
      rgb(249, 118, 76) 25%,
      rgba(255, 77, 64, 0) 50%
    )
    no-repeat;
}
.teaser-contents .teaser-btn#btn-follow-line a {
  background-color: #00b900;
}
.teaser-contents .teaser-btn#btn-follow-tiktok a {
  background-color: #000000;
}
