/**
 * モバイル版CSS抽出
 * style.css から 767px以下、479px以下、600px以下のメディアクエリを抽出
 * 元ファイル: css2026/style.css
 */

/* ========================================
   モバイル版（767px以下）
   ======================================== */

/* モバイル版：bodyのフォントサイズ調整 */
@media screen and (max-width: 767px) {
  body {
    font-size: calc(14px - 2pt); /* 基本フォントを14px-2ptに縮小 */
  }
}

/* モバイル版：レイアウト・オーバーフロー制御 */
@media screen and (max-width: 767px) {
  .only-sp {
    display: block; /* スマホ専用要素を表示 */
  }
  html, body {
    overflow-x: hidden; /* 横スクロールを非表示 */
    width: 100%; /* 幅を100%に */
    max-width: 100vw; /* ビューポート幅を上限に */
  }
  #container, #contents {
    max-width: 100%; /* コンテナ幅を100%に */
    overflow-x: hidden; /* 横オーバーフローを隠す */
  }
  .sec {
    width: 100%; /* セクション幅を100%に */
  }
  #kamban {
    margin: 2rem 0; /* 看板エリアの上下余白 */
  }
}

/* モバイル版：ヘッダーナビゲーション */
@media screen and (max-width: 767px) {
  .head-nav {
    border-bottom: #fff 4px solid; /* 下ボーダーを4pxに */
  }
  .head-nav .__sp {
    display: list-item; /* スマホ用メニューを表示 */
  }
  .head-nav .__pc {
    display: none; /* PC用メニューを非表示 */
  }
  .head-nav ul {
    flex-wrap: wrap; /* メニューを折り返し */
  }
  .head-nav li {
    width: 33.33%; /* 通常メニューを3列に */
  }
  .head-nav li.v--ev,
  .head-nav li.v--d1,
  .head-nav li.v--d2,
  .head-nav li.v--d3 {
    width: 25%; /* イベント・日付メニューを4列に */
  }
  .head-nav li a {
    font-size: 14px; /* リンク文字サイズ */
    line-height: 28px; /* 行の高さ */
  }
  .head-nav li.v--ev a,
  .head-nav li.v--d1 a,
  .head-nav li.v--d2 a,
  .head-nav li.v--d3 a {
    font-size: 16px; /* 日付メニューの文字サイズ */
    line-height: 32px; /* 行の高さ */
  }
  .head-nav li.v--ap a {
    padding-top: 2px; /* アプリリンクの上余白 */
    font-size: 13px; /* 文字サイズ */
  }
}

/* モバイル版：看板エリア（#kamban） */
@media screen and (max-width: 767px) {
  #kamban {
    height: 82px; /* 看板エリアの高さ */
  }
  .kamban-h1 {
    margin: 0 8px; /* 左右余白 */
    width: 100%; /* 幅100% */
    max-width: 560px; /* 最大幅560px */
    box-sizing: border-box; /* paddingを幅に含める */
  }
  .kamban-sub {
    padding: 8px 0; /* 看板下テキストの上下余白 */
  }
  .kamban-sub > div {
    flex-direction: column; /* 縦並び */
    align-items: center; /* 中央揃え */
  }
  .kamban-info {
    font-size: 16px; /* 看板情報の文字サイズ */
  }
  .kamban-text {
    font-size: 14px; /* 看板テキストの文字サイズ */
  }
  .kamban-text::before {
    display: none; /* 疑似要素を非表示 */
  }
  .kamban-info {
    font-size: 14px; /* 看板情報の文字サイズ（上書き） */
  }
}

/* モバイル版：セクション見出し */
@media screen and (max-width: 767px) {
  .sec h1 {
    font-size: 32px; /* 見出し文字サイズ */
  }
}

/* モバイル版：メインコンテンツ・スケジュール */
@media screen and (max-width: 767px) {
  .wrap-w {
    padding: 0.6em; /* コンテンツラッパーの余白 */
  }
  .wrap-schedule {
    margin-top: 3rem; /* スケジュール上余白 */
    padding-top: 15px; /* スケジュール上パディング */
    background: transparent; /* 背景を透明に */
  }
  .kamban-sub-text {
    font-size: calc(1em + 4pt); /* 看板下テキストの文字サイズ */
    padding: 0 15px; /* 左右余白 */
  }
}

/* モバイル版：ニュース一覧 */
@media screen and (max-width: 767px) {
  .news-ul li {
    display: block; /* 横並びから縦並びに変更 */
  }
  .news-ul {
    margin: 8px auto 20px; /* 上下左右余白 */
  }
  .news-ul .__date,
  .news-ul .__icn {
    display: inline-block; /* 日付・アイコンを横並び */
    padding: 0; /* パディングをリセット */
  }
  .news-ul .__date{
    width: auto; /* 幅を自動に */
    margin-bottom: 0.3em; /* 下余白 */
  }
  .news-ul .__icn {
    margin-top: -0.9em; /* アイコンを上に寄せる */
    width: 2.7em; /* アイコン幅 */
    height: 2.7em; /* アイコン高さ */
    vertical-align: top; /* 上揃え */
    min-width: 0; /* 最小幅を0に */
  }
  .news-ul .__icn img {
    width: 100%; /* 画像幅100% */
    height: auto; /* 高さはアスペクト比に従う */
  }
  .news-ul .__wrap {
    padding-left: 0; /* 左パディングを0に */
  }
  .news-ul .__thumb  {
    width: 120px; /* サムネイル幅 */
    margin-left: 5px; /* 左余白 */
  }
}

/* モバイル版：カラムレイアウト（ul-col） */
@media screen and (max-width: 767px) {
  .ul-col h2 {
    font-size: 1.0em; /* 見出しサイズ */
  }
  .ul-col p {
    font-size: 0.9em; /* 段落サイズ */
  }
  .ul-col .archive-ul li {
    width: 8.5em; /* アーカイブリンク幅 */
    font-size: 0.9em; /* 文字サイズ */
  }
  .ul-col.v--c2 {
    display: block; /* 2カラムを1カラムに */
    margin: 0; /* マージンリセット */
  }
  .ul-col.v--c2 > li {
    margin: 0; /* マージンリセット */
    width: 100%; /* 幅100% */
  }
  .ul-col.v--c3,
  .ul-col.v--c4 {
    margin-left: -2%; /* ネガティブマージンで中央寄せ */
  }
  .ul-col.v--c3 > li,
  .ul-col.v--c4 > li {
    width: 48%; /* 2列レイアウト */
    margin-left: 2%; /* 左右の余白 */
  }
}

/* モバイル版：アーカイブ一覧 */
@media screen and (max-width: 767px) {
  .archive-ul {
    text-align: left; /* 左揃え */
  }
  .archive-col2 {
    display: block; /* 2カラムを1カラムに */
  }
  .archive-col2 div {
    width: 100%; /* 幅100% */
  }
  /* 過去の開催レポート：2008年・2007年を縦並びに（改行表示） */
  .archive-li-sp > div {
    flex-direction: column;
    align-items: flex-start;
  }
  .archive-li-sp > div > div:first-child {
    margin-right: 0;
    margin-bottom: 0.25em;
  }
}

/* モバイル版：スケジュールメニュー */
@media screen and (max-width: 767px) {
  .schedule-menu-ul > li h2 {
    font-size: 21px; /* 日付見出しサイズ */
    width: 3.5em; /* 幅 */
    margin: 0; /* マージンリセット */
  }
  .schedule-menu-ul > li .__prog .__date {
    padding: 0.3em 0em 0.3em 7.5rem; /* 日付バッジの余白 */
  }
  .schedule-menu-ul > li .__prog .__date em {
    width: 8em; /* 日付部分の幅 */
  }
  .schedule-banner {
    flex-direction: column; /* バナーを縦並びに */
    align-items: unset; /* 中央揃えを解除 */
  }
  .schedule-banner_bnr {
    margin-left: auto; /* 左右中央寄せ */
    margin-right: auto;
    width: 66%; /* バナー幅を66%に */
  }
  .schedule-banner_txt {
    display: flex !important; /* フレックス表示 */
    flex: 1; /* 残りスペースを占有 */
    flex-direction: column !important; /* 縦並び */
    align-items: flex-start !important; /* 左揃え */
    justify-content: flex-start !important; /* 上揃え */
  }
  .schedule-banner_txt > div {
    margin-bottom: 0.5em; /* 下余白 */
    width: 100%; /* 幅100% */
  }
  .schedule-banner_txt > a {
    margin-left: 0 !important; /* 左余白を0に */
    margin-top: 0.5em; /* 上余白 */
    align-self: flex-start; /* 左寄せ */
  }
  /* 過去作品はこちら（モバイル版） */
  .past-works-link {
    font-size: calc(1em - 0.5pt); /* リンク文字サイズ */
  }
  .past-works-icon {
    width: 21.6px; /* アイコン幅 */
    height: 21.6px; /* アイコン高さ */
    font-size: 0.72em; /* アイコン内文字サイズ */
  }
  .prog-menu-dl dt {
    padding-left: 0; /* 左パディングを0に */
  }
  .prog-menu-dl dt.__null::after {
    content: ''; /* 空の疑似要素（非表示用） */
  }
  .prog-menu-dl dd {
    margin: 0 0 0.5em; /* 下余白 */
    padding: 0em 0 0.3em; /* パディング */
  }
  .prog-menu-dl dd.prog-dd-flex {
    display: flex !important; /* フレックス表示 */
    flex-direction: column !important; /* 縦並び */
    align-items: flex-start !important; /* 左揃え */
    justify-content: flex-start !important; /* 上揃え */
  }
  .prog-menu-dl dd.prog-dd-flex > div {
    margin-bottom: 0.5em; /* 下余白 */
    width: 100%; /* 幅100% */
  }
  .prog-menu-dl dd.prog-dd-flex > a {
    margin-left: 0 !important; /* 左余白を0に */
    margin-top: 0.5em; /* 上余白 */
    align-self: flex-start; /* 左寄せ */
  }
  .schedule-menu-ul {
    padding: 0.75em; /* パディング */
    margin: 8px auto 20px; /* 上下左右余白 */
  }
  .wrap-cont > .contents-in,
  .wrap-schedule > .contents-in,
  .archive-wrap > .contents-in {
    padding-left: 1rem; /* 左右パディング */
    padding-right: 1rem;
  }
}

/* モバイル版：コンテンツ見出し（c-h1-2） */
@media screen and (max-width: 767px) {
  .c-h1-2 {
    font-size: 14px; /* 見出し文字サイズ */
    height: 46px; /* 高さ */
    border-radius: 23px; /* 角丸 */
  }
  .c-h1-2 strong {
    width: 5em; /* 日付部分の幅 */
    height: 46px; /* 高さ */
    border-radius: 23px; /* 角丸 */
  }
  .c-h1-2 span {
    font-size: 0.7em; /* テキスト部分の相対サイズ */
  }
  .c-h1-2 p .__md {
    display: block; /* モバイル用テキストを表示 */
  }
}

/* モバイル版：ステージ・プロフィール */
@media screen and (max-width: 767px) {
  .stg-wrap .rm-label{
    font-size: 14px; /* 「プロフィール・講演内容を読む」ボタンの文字サイズ */
  }
  #container2 {
    background-size: contain; /* 背景を要素内に収める */
  }
  .c-h1 {
    font-size: 16px; /* 日付見出しサイズ */
  }
  .secStage h1 {
    padding: 4px; /* パディング */
    font-size: 21px; /* 見出しサイズ */
  }
  .secStage h1::before {
    width: 6px; /* 左ボーダー代わりの幅 */
    min-width: 6px; /* 最小幅 */
    height: 56px; /* 高さ */
  }
  .secStage h1 img {
    width: 1.6em; /* アイコン幅 */
    height: 1.6em; /* アイコン高さ */
  }
  .stg-wrap {
    padding: 8px; /* パディング */
  }
  .stg-wrap p {
    font-size: 14px; /* 段落文字サイズ */
  }
  .stg-wrap p.__ttl {
    font-size: 16px; /* タイトル文字サイズ */
  }
  .stg-wrap.v--l2 p.__ttl {
    font-size: 15px; /* 2列レイアウト時のタイトルサイズ */
  }
  .stg-wrap h2,
  .stg-wrap h3 {
    font-size: 16px; /* 見出しサイズ */
  }
  .stg-wrap h4 {
    font-size: 14px; /* 小見出しサイズ */
  }
  .stg-wrap .__prof.v--l2 {
    flex-direction: column; /* プロフィールを縦並びに */
  }
  .stg-wrap .__pht {
    margin-right: 6px; /* 写真右余白 */
    width: 80px; /* 写真幅 */
    min-width: 80px; /* 最小幅 */
  }
  .stg-wrap.v--l2 .__pht {
    width: 130px; /* 2列時の写真幅 */
    min-width: 130px; /* 最小幅 */
  }
  .stg-wrap .__prof.v--l2 .__pht {
    width: 100%; /* 2列レイアウト時は幅100% */
    min-width: auto; /* 最小幅を自動に */
  }
  .stg-wrap .__nam {
    font-size: 18px; /* 名前の文字サイズ */
  }
  .stg-wrap.v--l2 .__nam {
    font-size: 21px; /* 2列時の名前サイズ */
  }
}

/* モバイル版：続きを読むボタン */
@media screen and (max-width: 767px) {
  .readmore-label{
    font-size: 14px; /* 「続きを読む」ボタンの文字サイズ */
  }
}


/* ========================================
   モバイル版（479px以下）
   ======================================== */

/* モバイル版（479px以下）：看板エリア */
@media screen and (max-width: 479px) {
  #kamban {
    height: auto; /* 高さを自動に（コンテンツに合わせる） */
  }
  .kamban-h1 {
    margin: 2vw 0; /* 上下余白をビューポート幅の2%に */
    width: 100%; /* 幅100% */
    box-sizing: border-box; /* paddingを幅に含める */
  }
  .kamban-sub {
    padding: 2vw 0; /* 上下余白をビューポート幅の2%に */
  }
  .kamban-text::before {
    display: none; /* 疑似要素を非表示 */
  }
  .kamban-info {
    font-size: 12px; /* 看板情報の文字サイズ */
  }
  .kamban-text {
    font-size: 12px; /* 看板テキストの文字サイズ */
  }
}

/* モバイル版（479px以下）：メインコンテンツ・スケジュール */
@media screen and (max-width: 479px) {
  .wrap-w {
    padding: 0.5em; /* コンテンツラッパーの余白をさらに縮小 */
  }
  .wrap-schedule {
    margin-top: 0rem; /* スケジュール上余白を0に */
    padding-top: 10px; /* パディングを縮小 */
  }
  .kamban-sub-text {
    font-size: calc(1em + 2pt); /* 看板下テキストの文字サイズ */
    padding: 0 10px; /* 左右余白 */
  }
  .sec h1 {
    font-size: 26px; /* セクション見出しをさらに縮小 */
  }
}

/* モバイル版（479px以下）：ニュース一覧 */
@media screen and (max-width: 479px) {
  .news-ul li {
    padding: 0.5em; /* リストアイテムの余白 */
    font-size: 1.1em; /* 文字サイズ */
  }
  .news-ul .__thumb-wrap {
    flex-direction: column-reverse; /* サムネイルを上に配置 */
  }
  .news-ul .__thumb  {
    width: 100%; /* サムネイル幅を100%に */
    margin: 0 auto 0.3em; /* 中央寄せ・下余白 */
  }
}

/* モバイル版（479px以下）：スケジュールメニュー */
@media screen and (max-width: 479px) {
  .schedule-menu-ul {
    padding: 0.5em; /* パディングを縮小 */
    margin: 6px auto 15px; /* 上下左右余白 */
  }
  .wrap-cont {
    padding-left: 20px;
    padding-right: 20px;
  }
  .wrap-schedule > .contents-in,
  .archive-wrap > .contents-in {
    padding-left: 0.75rem; /* 左右パディングを縮小 */
    padding-right: 0.75rem;
  }
}

/* モバイル版（479px以下）：コンテンツ見出し（c-h1-2） */
@media screen and (max-width: 479px) {
  .c-h1-2 {
    font-size: 13px; /* 見出し文字サイズをさらに縮小 */
    height: 36px; /* 高さを縮小 */
    border-radius: 18px; /* 角丸を調整 */
  }
  .c-h1-2 strong {
    width: 5em; /* 日付部分の幅 */
    height: 36px; /* 高さを縮小 */
    border-radius: 18px; /* 角丸を調整 */
  }
  .c-h1-2 span {
    /* テキスト部分（デフォルト継承） */
  }
}


/* ========================================
   モバイル版（600px以下）
   ======================================== */

/* モバイル版（600px以下）：アーカイブリンク */
@media screen and (max-width: 600px) {
  .archive-wrap .archive-li-sp {
    margin-left: calc(0.5rem + 10px); /* 下のタブ（UC-win/Road協議会等）と同じ位置 */
  }
  /* 過去の開催レポート：2段組みのリンクを全体的に右に50px */
  .archive-wrap .index_item_prize_content_split4 > ul {
    margin-left: calc(1rem + 50px);
  }
}
