@media only screen and (min-width: 768px) and (max-width: 1214px) {
  .section__wrap {
    width: calc(100% - 30px);
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
  }

  /* メインビジュアルのタイトルを調整 */
  .mainvisual .mainvisual__inner .mainvisual__title {
    width: calc(100% - 30px);
  }

  /* メインビジュアルの主催者リスト */
  .mainvisual .mainvisual__inner .mainvisual__sponsored ul {
    width: calc(100% - 30px);
    margin: 20px auto 0;
    justify-content: center;
  }
  .mainvisual .mainvisual__inner .mainvisual__sponsored ul li {
    width: calc(50% - 20px);
    margin: 0 10px 15px;
  }

  /* ヘッダーナビゲーション */
  header .header__inner .header_nav {
    width: auto;
    margin-left: 20px;
  }
  header .header__inner .header_nav ul li a {
    font-size: 1em;
  }

  /* ニュースフィード */
  .news__wrap .news .news__feed {
    width: calc(100% - 220px);
  }
  .news__wrap .news .news__feed ul li a dl {
    padding-left: 15px;
  }
  .news__wrap .news .news__feed ul li a dl dd {
    width: auto;
    padding: 30px 15px 30px 0;
  }

  /* モーダルコンテンツ */
  .modal .modal-content {
    width: calc(100% - 60px);
    padding: 80px 30px;
  }

  /* CONTENTSセクションのフレックスレイアウト */
  .contents__wrap .contents__inner .flex__wrap {
    display: block;
  }
  .contents__wrap .contents__inner .flex__wrap .banner,
  .contents__wrap .contents__inner .flex__wrap .detail {
    width: 100%;
  }
  .contents__wrap .contents__inner .flex__wrap .banner {
    margin-bottom: 30px;
  }
  /* 詳細セクションのddの幅調整 */
  .contents__wrap .contents__inner .flex__wrap .detail dl dd {
    width: calc(100% - 120px);
  }

  /* エントリーセクションのリンク */
  .contents__wrap .contents__inner .entry__wrap a {
    width: calc(100% - 30px);
    padding: 25px 25px 20px;
  }
  .contents__wrap .contents__inner .entry__wrap a dl dd {
    width: auto;
  }
  /* エントリーセクションのbefore擬似要素の位置調整 */
  .contents__wrap .contents__inner .entry__wrap a::before {
    top: -295px;
    right: -20px;
    width: 200px;
    height: 600px;
  }

  /* ARCHIVEボタンの幅 */
  .archive__wrap .btn__wrap {
    width: calc(100% - 30px);
  }

  /* 概要チケットのテキスト */
  .overview__ticket .overview__ticket--text p {
    width: calc(100% - 30px);
  }

  /* CASTセクション - 5カラムレイアウトの調整 */
  .cast__wrap .cast__inner .flex__col5Wrap {
    justify-content: space-around;
  }
  .cast__wrap .cast__inner .flex__col5Wrap .cast__col5 {
    width: calc(33.33% - 20px);
    margin-right: 15px;
    margin-bottom: 20px;
  }
  .cast__wrap .cast__inner .flex__col5Wrap .cast__col5:nth-child(3n) {
    margin-right: 0;
  }
  .cast__wrap .cast__inner .flex__col5Wrap .cast__col5:nth-child(5n) {
    margin-right: 15px;
  }

  /* CASTセクション - SpecialWrapの調整 */
  .cast__wrap .cast__inner .flex__SpecialWrap {
    width: calc(100% - 30px);
    padding: 30px 15px 10px;
    display: block;
  }
  .cast__wrap .cast__inner .flex__SpecialWrap .cast__Special__col {
    width: 100%;
    margin-right: 0;
    margin-bottom: 20px;
    display: block;
  }
  .cast__wrap .cast__inner .flex__SpecialWrap .cast__Special__col .img {
    width: 100%;
    margin: 0 0 15px;
  }
  .cast__wrap .cast__inner .flex__SpecialWrap .cast__Special__col .text__box {
    width: 100%;
    margin: 0;
  }
  .cast__wrap .cast__inner .flex__SpecialWrap .cast__Special__col .text__box .ttl,
  .cast__wrap .cast__inner .flex__SpecialWrap .cast__Special__col .text__box .country {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }
  .cast__wrap .cast__inner .flex__SpecialWrap .cast__Special__col .text__box .ttl small {
    display: inline;
  }
  .cast__wrap .cast__inner .flex__SpecialWrap .cast__Special__col .text__box .ttl .tag {
    display: inline-block;
    margin-right: 10px;
  }

  .contents__wrap .contents__link li a dl dt {
    width: 120px;
    margin: 0 auto;
    font-size: 20px;
    padding: 5px 0; 
    line-height: 1.2; 
  }
  .contents__wrap .contents__link li a dl dt small {
    display: block; 
    font-size: 14px; 
    line-height: 1.2;
  }

  /*----------------------------------------------
	フッターの主催セクションの調整 
--------------------------------------------------*/
  .footer .ponsorship__wrap .section__wrap ul li {
    width: calc(50% - 20px); 
    margin-left: 10px; 
    margin-right: 10px; 
    margin-top: 15px; 
    min-height: 85px; 
  }
  .footer .ponsorship__wrap .section__wrap ul li:nth-child(2n+1) {
    margin-left: 0;
  }
  .footer .ponsorship__wrap .section__wrap ul li:nth-child(2n) {
    margin-right: 0;
  }
  .footer .ponsorship__wrap .section__wrap ul li:nth-child(1),
  .footer .ponsorship__wrap .section__wrap ul li:nth-child(2) {
    margin-top: 0;
  }

  .footer .ponsorship__wrap .section__wrap ul li:first-child a {
    padding: 30px 15px; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    height: 100%; 
    box-sizing: border-box;
  }
  .footer .ponsorship__wrap .section__wrap ul li:first-child a span {
    font-size: 18px;
    line-height: 1.2;
    padding-right: 20px;
    text-align: center; 
  }
  .footer .ponsorship__wrap .section__wrap ul li:first-child a.blank::after {
    right: 15px; 
    width: 18px;
    height: 18px;
  }

  .footer .ponsorship__wrap .section__wrap ul li:nth-child(2) a.img01 {
    padding: 15px 15px; 
    display: flex; 
    align-items: center;
    justify-content: center;
    height: 100%; 
    box-sizing: border-box;
  }
  .footer .ponsorship__wrap .section__wrap ul li:nth-child(2) a.img01 span img {
    width: auto; 
    height: auto; 
    max-width: 200px; 
    max-height: 50px;
    object-fit: contain; 
    margin-right: 20px; 
  }

  .footer .ponsorship__wrap .section__wrap ul li:nth-child(2) a.img01.blank::after {
    right: 15px; 
    width: 18px;
    height: 18px;
  }

  .footer .ponsorship__wrap .section__wrap ul li:nth-child(3) a.img01 {
    padding: 15px 15px; 
    display: flex; 
    flex-direction: column; 
    align-items: center; 
    justify-content: center; 
    height: 100%; 
    box-sizing: border-box;
  }
  .footer .ponsorship__wrap .section__wrap .logo_expo img {
    width: auto !important; 
    max-width: 100px;
    height: auto;
    max-height: 50px; 
    object-fit: contain;
  }
  .footer .ponsorship__wrap .section__wrap .logo_expo p {
    font-size: 10px; 
    margin-top: 5px; 
  }	

  /*ーーーーーーーーーーーーーーーーー
	Entry wrap エリアの調整
ーーーーーーーーーーーーーーーーーーー*/
    .contents__wrap .contents__inner .entry__wrap a {
    width: calc(100% - 30px);
    max-width: 830px; 
    min-width: 700px; 
    margin: 25px auto 0; 
    padding: 30px 50px 20px;
    box-sizing: border-box;
    background-size: cover; 
    background-position: center;
    background-repeat: no-repeat;
  }

  .contents__wrap .contents__inner .entry__wrap a dl dt {
    display: flex;
    flex-wrap: nowrap;
    align-items: center; 
    justify-content: flex-start;
    width: 100%;
  }

  .contents__wrap .contents__inner .entry__wrap a dl dt .ttl {
    font-size: 44px; 
    line-height: 1; 
    white-space: nowrap; 
    margin-right: 20px; 
    flex-shrink: 0; 
  }
  .contents__wrap .contents__inner .entry__wrap a dl dt .btn {
    font-size: 16px; 
    padding: 3px 10px 3px 20px; 
  }
  .contents__wrap .contents__inner .entry__wrap a dl dd {
    font-size: 16px;
    line-height: 1.8; 
    width: 100%; 
    text-align: left; 
    margin-top: 15px; 
  }
  .contents__wrap .contents__inner .entry__wrap a::before {
    top: -295px;
    right: -20px;
    width: 200px;
    height: 600px;
  }

/*ーーーーーーーーーーーーーーーーーーーーーーー
ーーーーーーーーーーーーーーーーーーーーーーーー
	　　　　　　　　下層ページ
ーーーーーーーーーーーーーーーーーーーーーーーー
ーーーーーーーーーーーーーーーーーーーーーーーー*/

   /* メインビジュアルセクションの再調整 */
  .mainvisual__detail .mainvisual__inner {
    width: auto; /* innerの幅を自動調整に戻し、section__wrapの制御に任せる */
    padding: 100px 0 60px; /* 上部パディングを調整し、よりコンパクトに */
  }

  /* ページタイトル (h1) の調整 */
  .mainvisual__detail .mainvisual__inner h1 {
    font-size: 40px; /* タイトルのフォントサイズをさらに小さく */
    line-height: 1.2;
    margin: 20px auto 30px; /* マージンを調整 */
    white-space: normal; /* タイトルが折り返すようにする */
    text-align: center; /* タイトルを中央寄せ */
  }

  /* バナーと詳細セクションのFlexboxの調整 */
  .mainvisual__detail .mainvisual__inner .flex__wrap {
    display: block; /* 前回と同じく、縦に積み重ねる */
    width: calc(100% - 30px); /* flex__wrap自体もパディングを含めて全幅に */
    margin: 0 auto; /* 中央寄せ */
  }

  /* バナー（画像）の調整 */
  .mainvisual__detail .mainvisual__inner .flex__wrap .banner {
    width: 100%; /* 親要素のflex__wrapの幅に合わせる */
    margin: 0 auto 30px; /* 中央寄せにし、下マージンを追加 */
  }
  .mainvisual__detail .mainvisual__inner .flex__wrap .banner img {
    width: 100%; /* 画像の幅を親要素に合わせる */
    height: auto; /* 高さは自動調整 */
    display: block; /* 画像をブロック要素にする */
  }
  .mainvisual__detail .mainvisual__inner .flex__wrap .banner p a { /* PDFダウンロードボタン */
    width: 100%; /* ボタンの幅をバナーに合わせて100%に */
    max-width: 200px; /* ただし最大幅は200pxに制限 */
    margin: 10px auto; /* 中央寄せ */
  }

  /* 詳細セクション（テキストブロック）の調整 */
  .mainvisual__detail .mainvisual__inner .detail {
    width: 100%; /* 親要素のflex__wrapの幅に合わせる */
    margin: 0; /* 不要なマージンをリセット */
  }
  .mainvisual__detail .mainvisual__inner .detail p.lead {
    font-size: 22px; /* リードテキストのフォントサイズをさらに調整 */
    line-height: 1.5; /* 行の高さを調整 */
    padding-bottom: 20px; /* 下部パディングを調整 */
  }
  .mainvisual__detail .mainvisual__inner .detail p.lead02 {
    font-size: 16px; /* lead02テキストのフォントサイズをさらに調整 */
    line-height: 1.8; /* 行の高さを調整 */
    margin-bottom: 20px; /* マージンを調整 */
  }
  /* スケジュールdl dt, ddの調整 */
  .mainvisual__detail .mainvisual__inner .detail .schedule {
    padding: 20px; /* スケジュールブロックのパディングを調整 */
  }
  .mainvisual__detail .mainvisual__inner .detail .schedule dl dt {
    width: 80px; /* dtの幅を固定（必要に応じて調整） */
    font-size: 16px; /* dtのフォントサイズを調整 */
    padding: 5px 0; /* dtのパディングを調整 */
  }
  .mainvisual__detail .mainvisual__inner .detail .schedule dl dd {
    width: calc(100% - 100px); /* ddの幅をdtの幅（80px）と余白を考慮して調整 */
    font-size: 15px; /* ddのフォントサイズを調整 */
  }

  /* 「チケット情報はこちら」ボタンの調整 */
  .mainvisual__detail .mainvisual__inner .mainvisual__btn {
    width: calc(100% - 30px); /* パディングを含めて全幅に */
    max-width: 400px; /* ボタンの最大幅を設定し、大きくなりすぎないようにする */
    margin: 40px auto 0; /* 上部マージンを調整し中央寄せ */
  }
  /* CASTセクション内の「OPENING SHOWCASE」や「GUEST SHOWCASE」の各項目調整 */
  .cast__wrap .cast__inner .flex__wrap.cast__col .text__box .ttl {
    font-size: 26px; /* 文字サイズを元の26pxに戻す */
     display: block; /* 中央寄せのためにブロック要素を維持 */
    word-break: break-word; /* 長い単語の途中でも改行を許可する */
    overflow-wrap: break-word; /* word-breakの新しい標準プロパティ（互換性のため両方記述推奨） */
  }
}