@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/


/* ------------------------------------- */
/* 2. 曜日の色分け */
/* ------------------------------------- */

/* 日曜・祝日（赤） */
.holiday {
  color: #CC0000; /* 赤色 */
  font-weight: bold;
}

/* 土曜日（青） */
.saturday {
  color: #0000CC; /* 青色 */
  font-weight: bold;
}

.post-title{
  padding-left: 16px;
}

.post-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  display: block;
	background-color: #003366;
  width: 6px;	
	
}




/*　以前追加CSSにあったもの　*/


#cf-tbl p {
    margin: 0 !important;
    padding: 0 !important;
}

#cf-tbl h5 {
    margin: 0 0 10px 0; /* 上下左右のマージンを調整 */
}




/* Contact Form 7 Multi-Step フォームの幅調整と中央寄せ */
.fieldset-cf7mls {
    /* PC表示時の最大幅を設定 (任意: フォームが広がりすぎるのを防ぐ) */
    max-width: 800px;
    
    /* 画面幅に応じて可変する幅を設定 (スマホでの切れを防ぐため80%より広く設定) */
    width: 95% !important; 
    
    /* 左右のマージンを自動にして、フォーム全体を中央寄せにする */
    margin-left: auto !important;
    margin-right: auto !important;
}

/* 補足: フォーム内のテーブルが親要素の幅を超えるのを防ぐ */
#cf-tbl table {
    width: 100%;
}



/************************************
** お問い合わせフォームの入力
************************************/
#cf-tbl{
width: 100%;
margin:0px;
}

#cf-tbl table{
table-layout: fixed; /* テーブルレイアウトを固定にする */
width: 100%;
border-collapse: collapse;
border-spacing: 0;
border: solid #CCC;
border-width: 1px;
color: #444;
}
#cf-tbl table tr th,
#cf-tbl table tr td{
padding: 0.5em 0.5em 0.5em 0.5em;
text-align: left;
border: solid #CCC;
border-width: 1px;
vertical-align: middle;
}

#cf-tbl table tr th{
width: 40%;
background: #f7f7f7;
}

#cf-tbl table td.h7{
	text-align: center;
  vertical-align: bottom;
	font-size: medium;
	font-weight: bold;
}



/*「必須」文字デザイン*/
.required{
font-size:.8em;
padding: 5px;
background: #F57500;
color: #fff;
border-radius: 3px;
margin-right: 5px;
}

/*「任意」文字デザイン*/
.optional{
font-size:.8em;
padding: 5px;
background: #000080;
color: #fff;
border-radius: 3px;
margin-right: 5px;
}

/* 入力項目を見やすく */
input.wpcf7-form-control.wpcf7-text,
textarea.wpcf7-form-control.wpcf7-textarea {
  /* --- 以下の2行を追加/修正 --- */
  box-sizing: border-box; /* paddingとborderをwidthに含める */
  width: 100%;             /* セル（<td>）の幅いっぱいに広げる */
  /* -------------------------- */
  
  padding: 8px 15px;
  /* margin-right: 10px; は不要になるため削除推奨、または 0 に */
  margin-right: 0; 
  margin-top: 10px;
  border: 1px solid #d0d5d8;
  border-radius: 3px;
  background-color: #eff1f5;
}


/************************************
** モバイル表示用カスタマイズ
************************************/
@media screen and (max-width: 768px) {
  /* テーブルの項目名（th）内のフォントサイズを小さくする */
  #cf-tbl table tr th {
    /* フォントサイズを小さく指定 (例: 85% や 14px など) */
    font-size: 75%; 
    /* * 備考：
     * width: 25%; は前回の修正で既に全体に適用されているため、
     * ここには記述せず、サイズ変更に特化させます。
     */
  }

  /* 「必須」ラベルのフォントサイズも一緒に小さくする */
  .required {
    font-size: .6em; /* .8em から .7em などに調整 */
  }

  /* 「任意」ラベルのフォントサイズも一緒に小さくする */
  .optional {
    font-size: .6em; /* .8em から .7em などに調整 */
  }

}


/************************************
** fieldset要素の余白リセット（必須）
************************************/
/* 画像で示されたcf7mlsのfieldset要素を対象 */
.fieldset.cf7mls-wrapper,
.fieldset.cf7mls-current_fs {
    /* ブラウザのデフォルトの余白（パディングとマージン）をリセット */
    padding: 0 !important;
    margin: 0 !important;
    /* fieldsetの枠線も不要であれば消す */
    border: none !important;
}

/* fieldsetが持つテーブルの親要素 #cf-tbl の幅を確保 */
#cf-tbl {
    /* 以前のCSSにある width: 100%; margin: auto; を維持 */
    width: 100%;
    margin: auto;
}

/* fieldset要素全体のリセット（念のため） */
fieldset {
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
}



/* 「送信する」ボタン */
input.wpcf7-submit {
    display: block;
    padding: 15px;
    width: 400px;
    background: #ffaa56;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    border-radius: 2px;
    margin: 15px auto 0
}
@media screen and (max-width:768px){
input.wpcf7-submit {
width: 200px;
}
}

input.wpcf7-submit:hover {
	box-shadow: 0 15px 30px -5px rgba(0,0,0,.15), 0 0 5px rgba(0,0,0,.1);
	transform: translateY(-4px);
	opacity:0.7;
}
/* エラーメッセージを見やすく */
span.wpcf7-not-valid-tip,
.wpcf7-response-output.wpcf7-validation-errors {
	color: red;
	font-weight: 600;
}



#cf-tbl table {
    border-collapse: collapse;
    border-spacing: 0;
}
#cf-tbl table th,
#cf-tbl table td {
    padding: 0.5em 0.5em;
    border-bottom: 1px solid #CCCCCC !important;
}
#cf-tbl table th {
    border-top: 1px solid #CCCCCC !important;
}
#cf-tbl table tr th,
#cf-tbl table tr td {
    border-left: none !important;
    border-right: none !important;
    border-top: none !important;
}
#cf-tbl table tr:first-child th,
#cf-tbl table tr:first-child td {
    border-top: 1px solid #CCCCCC !important;
}



.small-text {
  /* 小さく表示したいテキストのスタイル */
  font-size: 0.6em;
/*	color: #666; */
  /* 縦方向の微調整が必要な場合は vertical-align を使う */
  vertical-align: middle; 
}







/* ================================
   競技会テーブル（competition-table）
   ================================ */
.competition-table-wrapper {
  width: 100%;
  overflow-x: auto;
  margin: 20px 0;
  box-sizing: border-box;
}

.competition-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
}

.competition-table th,
.competition-table td {
  border: 1px solid #ccc;
  padding: 8px 10px;
}

/* ヘッダー行 */
.competition-table thead th {
	background-color: #fff7d1; /* 薄黄色 */
  font-weight: bold;
  text-align: left;
}

/* 偶数・奇数行 */
.competition-table tbody tr:nth-child(odd) {
  background-color: #fff;
}
.competition-table tbody tr:nth-child(even) {
  background-color: #fafafa;
}

        /* -------------------------------------- */
        /* 競技会ラベル装飾 (幅の統一版) */
        /* -------------------------------------- */
        .event-label-pro,
        .event-label-ama,
        .event-label-senior,
        .event-label-junior {
            /* PCではinline-blockを維持 */
            display: inline-block;
            
            /* 1. 幅の統一: 最も長い文字列に合わせて最小幅を設定 */
            min-width: 80px; 
            text-align: center; 

            /* 2. パディング・形状の統一（前回設定を維持） */
            padding: 5px 12px; 
            border-radius: 0; 
            font-size: 0.85em; 
            font-weight: bold; 
            line-height: 1;
            margin: 1px 0; /* PC表示ではマージンを維持 */
            box-sizing: border-box; /* PCではborder-boxを維持 */
        }

        /* 1. 【プロ】: 塗りつぶしと枠線を黒で統一 */
        .event-label-pro {
            background-color: #000000;
            color: #ffffff;
            border: 1px solid #000000;
        }

        /* 2. 【アマ】: 白抜きを維持するため、塗りつぶしと枠線を白で統一 */
        .event-label-ama {
            background-color: #ffffff;
            color: #000000;
            border: 1px solid #000000;
        }

        /* 3. 【シニア】: 塗りつぶしと枠線を濃い緑で統一 */
        .event-label-senior {
            background-color: #157347;
            color: #ffffff;
            border: 1px solid #157347;
        }

        /* 4. 【ジュニア】: 塗りつぶし（薄ピンク）と枠線（薄ピンク）を統一 */
        .event-label-junior {
            background-color: #F8D7DA; 
            color: #e83e8c; 
            border: 1px solid #F8D7DA; 
        }

        /* ---------------------------------
            モバイル時：1行＝1カード形式 (@media max-width: 768px)
            --------------------------------- */
        @media screen and (max-width: 768px) {
            
            /* ... ラッパーとテーブルの基本的な設定は前回のまま ... */
            .competition-table-wrapper {
                width: 100% !important;
                max-width: 100vw !important;
                overflow-x: hidden !important;
                margin: 0 auto 20px auto;
                padding: 0;
                border: none;
                box-shadow: none;
                display: block; 
            }
            .competition-table {
                width: 100% !important;
                max-width: 100% !important;
                border-collapse: collapse;
                margin: 0 auto;
                box-sizing: border-box;
                overflow: hidden;
            }
            .competition-table, .competition-table thead, .competition-table tbody, .competition-table th, .competition-table td, .competition-table tr {
                display: block;
                width: 100%;
                box-sizing: border-box;
                background-color: #fff;
                border: 0;
                border-radius: 0;
                margin-bottom: 0;
                padding: 0;
            }
            .competition-table thead { display: none; }
            .competition-table tbody tr {
                background-color: #fff !important;
                border: 1px solid #ddd;
                border-radius: 8px; 
                margin-bottom: 15px;
                padding: 0;
                overflow: hidden;
            }


            /* td全体に黄色い背景を設定し、flexコンテナにする */
            .competition-table td {
                /* ★修正1: td全体に黄色い背景を設定 (これで隙間なく黄色になる) */
                background-color: #fff7d1 !important; 
                display: flex;
                flex-wrap: nowrap;
                /* ★修正5: 子要素をtdの高さ全体に引き伸ばす */
                align-items: stretch; 
                padding: 0;
                border: none;
                /* 行間の区切り線を維持 */
                border-bottom: 1px solid #eee; 
            }
            /* 各カードの最後のtdは線を消す */
            .competition-table tbody tr td:last-child {
                border-bottom: none !important; 
            }


            /* 左ラベル (::before) の役割変更：テキストの整形と区切り線の表示のみ */
            .competition-table td::before {
                content: attr(data-label);
                display: block;
                /* ★修正6: height: auto を削除し、Flexboxに高さを任せる */
                flex: 0 0 var(--label-width, 6em); 
                min-width: 100px; 
                white-space: nowrap;
                padding: 8px 10px;
                font-weight: bold;
                /* ★修正2: 背景色は削除 (tdが持つため) */
                background-color: transparent; 
                color: #333;
                box-sizing: border-box;
                /* 黄色いラベルと右側の白い値の間の区切り線 */
                border-right: 1px solid #ddd;
            }

            /* 値部分（右側）の役割変更：白い背景を重ねて、黄色を上書きする */
            .competition-table td span.value {
                flex: 1 1 auto;
                /* min-height: 100% は Flexbox で stretch されたため不要だが、残しておく */
                min-height: 100%; 
                
                /* ★修正3: 白い背景を設定して、tdの黄色を上書きする */
                background-color: #fff !important; 
                padding: 8px 10px; 
                box-sizing: border-box;
                display: flex; 
                flex-direction: column; 
                align-items: flex-start; 
                word-break: break-word;
                line-height: 1.4;
                /* align-self: flex-start; を align-self: stretch; に変更 */
                align-self: stretch; 
                box-shadow: none; /* 不要なシャドウは削除 */
            }

            
            /* タグ要素のスタイル調整は前回のまま */
            .event-label-pro, .event-label-ama, .event-label-senior, .event-label-junior {
                padding: 5px 12px; 
                margin: 0; 
                box-sizing: content-box; 
                border-radius: 0; 
                line-height: 1;
                min-width: 80px;
            }
            .tag-room, .tag-latin {
                padding: 0;
                margin: 0; 
                font-weight: bold;
                line-height: 1.4; 
                display: inline;
            }
            .link {
                margin-right: 10px; 
                margin-left: 0; 
            }

            /* 不要な影響を打ち消す */
            .competition-table tbody tr {
                background-color: transparent !important; 
            }
            
            /* 最後の行の線の問題を解決するために、tdにbottom-borderを設定する */
            .competition-table tbody tr:not(:last-child) td {
                border-bottom: 1px solid #eee !important; 
            }
            /* 各カードの最後のtdは線を消す */
            .competition-table tbody tr td:last-child {
                border-bottom: none !important; 
            }
        }



/* リンク/ボタンのスタイル調整 (span.value内で正しく表示させる) */
    .competition-table a {
        text-decoration: none;
    }
    .competition-table .entry-button,
    .competition-table .pdf-link {
        display: inline-flex; /* flexにしてアイコンと文字を中央寄せ */
        align-items: center;
        gap: 5px; 
        white-space: nowrap;
        background-color: #007bff; /* 例: ボタンの背景色 */
        color: #fff; /* 例: ボタンの文字色 */
        padding: 5px 10px;
        border-radius: 4px;
    }

    /* 申込がない/結果がない時の '－' のスタイルをリセット */
    .competition-table td.no-entry span.value {
        font-weight: normal;
        color: #000;
    }













/* 内部のボタンは既存通り */
.post-buttons {
  display: flex;
  gap: 5px;
  margin-top: 5px;
}

.btn {
  display: inline-block;
  padding: 6px 10px;
  font-size: 12px;
  border-radius: 6px;
  text-decoration: none;
  color: #fff;
}

/*
.btn-active {
  background-color: #007bff;
}

.btn-active:hover {
  background-color: #0056b3;
}

.btn-disabled {
  background-color: #ccc;
  cursor: not-allowed;
  pointer-events: none;
}


*/



/* モバイルで下に回す */
@media screen and (max-width: 768px) {
    #secondary {
        width: 100% !important;
        margin-top: 20px;
        order: 2;
    }
    #sidebar-event-inner {
        position: static;
    }
}

/* 競技会一覧カスタムテンプレート用スタイル（SWELLクラス名に修正済） */

/* 投稿アイテム全体 (.c-postList__item) */
.c-postList__item {
    color: #333;
    border: 1px solid #ddd;
    padding: 15px;
    margin-bottom: 20px;
    background-color: #fffaf4; /* ←ここをお好みの色に */
    transition: box-shadow 0.2s ease;
}

.c-postList__date {
    font-size: 18px;
    font-weight: bold;
    color: #333 ; /* 💡 濃いグレーに強制 */
    text-decoration: none !important; /* 💡 下線も消す */
}

.c-postList__item:hover {
    box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* ホバー時の影 */
}

/* サムネイル画像 (.c-postList__thumb の img) */
.c-postList__thumb img {
    max-width: 100%;
    border-radius: 4px;
    margin-bottom: 10px;
}

/* タイトル */
.c-postList__title {
    font-size: 24px;
    font-weight: bold;
    color: #333;
    margin: 5px 0;
}

/* メタ情報ラッパー (ul.c-postList__metas) */
/* 投稿メタ情報（主催・会場など） */
ul.c-postList__metas {
    /* 🚨 Flexboxを有効にし、横並びにする（!importantでSWELLのスタイルを上書き） */
    display: flex !important; 
    
    /* 画面幅が足りなくなったら折り返す */
    flex-wrap: wrap;
    
    /* リストのデフォルトの余白や装飾をリセット */
    list-style: none;
    margin: 0;
    padding: 0;
}

/* メタ情報の各リストアイテム（li） */
ul.c-postList__metas li {
    color: #333 !important;
    /* アイテム間の横方向の隙間（右側に15pxの余白） */
    margin-right: 15px;
    
    /* 縦方向に折り返したときの行間の隙間 */
    margin-bottom: 5px;
    
    /* テキストの折り返しを許可 */
    white-space: normal;
    
    /* フォントサイズを修正 (.post-fields li) */
    font-size: 14px;
}

/* 抜粋文 (.c-postList__excerpt) */
.c-postList__excerpt {
    font-size: 12px;
    font-weight: normal;
    color: #555;
    margin-bottom: 0px;
}





/* ================================================= */
/* 1. 基本となるカード (.c-postList__item) の設定 */
/* (お客様よりご提示いただいた内容に、不備防止のため z-index に !important を追加) */
/* ================================================= */
.c-postList__item {
    position: relative !important; 
    overflow: hidden !important; 
    z-index: 10 !important; 
    background-color: #ffffff !important; 
    padding: 20px !important; 
    transition: box-shadow 0.3s ease-in-out; /* トランジションを長くして滑らかに */
    
    /* 💡 枠線は削除し、影を強調する */
    border: none !important; 
    
    /* 💡 影を大きく、濃くして浮かび上がらせる（値が大きいほど浮き上がって見える） */
    box-shadow: 
        0 8px 25px rgba(0, 0, 0, 0.15), /* 広くて薄い影 (下に落ちる影) */
        0 2px 5px rgba(0, 0, 0, 0.05);  /* シャープな影 (真下に落ちる影) */
}

/* ホバー時の影をさらに強調（オプション） */
.c-postList__item:hover {
    box-shadow: 
        0 15px 35px rgba(0, 0, 0, 0.2), /* さらに大きく広がり、強く浮き上がる */
        0 5px 10px rgba(0, 0, 0, 0.1); 
}

/* カード内のコンテンツとロゴの設定は変更なし */

/* ================================================= */
/* 2. 背景の右側にロゴを薄く浮かび上がらせる (::before) */
/* ================================================= */
.c-postList__item::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 5 !important; 

    /* 💡 クリックイベントを無視し、下のリンク要素にイベントを渡す */
    pointer-events: none;
    
    background-image: url('http://dance-entry.com/ejbdf/wp-content/uploads/2025/11/cropped-ejbdflogo.png');
    background-repeat: no-repeat; 
    background-position: right center; 
    background-size: 70% auto; 
    opacity: 0.085 !important; 
}


/* ================================================= */
/* 3. フェードアウト (::after) は不要になるため削除（もし記述があれば） */
/* ================================================= */
/* `.c-postList__item::after` のスタイルは全て削除してください */


/* ================================================= */
/* 4. コンテンツの色の調整 (文字色を黒に戻す) */
/* ================================================= */
/* 日付、タイトル、メタ情報、抜粋文を全て黒に */
.c-postList__item .c-postList__date, 
.c-postList__item .c-postList__title, 
.c-postList__item ul.c-postList__metas li,
.c-postList__item .c-postList__excerpt {
    color: #333333 !important; /* 濃いグレーの黒に */
}

/* リンク色 (SWELLテーマのデフォルト設定に任せるか、必要ならここで再指定) */
/* .c-postList__date がリンクの場合、青に戻すなど */
.c-postList__date a {
    color: #007bff !important; /* 例: SWELLのデフォルトリンク色 */
}


/* ================================================= */
/* 4. 日付の視認性再確保 (元のCSSを流用) */
/* ================================================= */
.c-postList__date {
    color: #000000 !important; 
    font-size: 20px !important; 
    text-decoration: none !important; 
}



/* 投稿用ボタン（ボタン群のラッパー） */
/* 注意: あなたのPHPコードにこのクラス (.post-buttons) が含まれている必要があります */
.post-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 5px;
    justify-content: flex-start;
}

/* 投稿用ボタン (.post-buttons 内のボタン) */
.post-buttons .btn,
.post-buttons button.btn {
    white-space: nowrap;
    flex-basis: auto;
    flex-grow: 0;
    flex-shrink: 0;
    margin-bottom: 5px;
    padding: 4px 8px;
    font-size: 12px;
    font-weight: bold;
    border-radius: 6px;
    text-decoration: none;
    color: #fff;
    background-color: #007bff;
    border: 1px solid #ccc;
    transition: all 0.3s ease;
}

.post-buttons .btn:hover {
    background-color: #0056b3;
    transform: translateY(-2px);
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}

/* 無効なボタンのスタイル */
.post-buttons .btn-disabled,
.post-buttons button.btn-disabled:disabled {
    background-color: #ccc;
    border-color: #aaa;
    color: #888;
    cursor: not-allowed;
    opacity: 0.8;
    pointer-events: none; /* クリック無効 */
    box-shadow: none;
    transform: none; /* ホバー時の動きも無効 */
}



/* サイドバー専用ボタン */
#sidebar-event-inner .sidebar-btn {
  display: block;          /* 幅いっぱい */
  width: 100%;
  box-sizing: border-box; /* パディング込みで幅を計算 */
  padding: 10px 15px;
  margin-bottom: 10px;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  color: #fff;
  background-color: #3399ff;  /* 薄めブルー */
  border: 1px solid #ccc;
  border-radius: 6px;
  transition: all 0.3s ease;
}

#sidebar-event-inner .sidebar-btn:hover {
  background-color: #007acc; /* 濃いブルー */
  color: #fff;
  text-decoration: none;
  transform: translateY(-2px); /* ちょっと浮かせる */
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}

/* 無効ボタン */
#sidebar-event-inner .sidebar-btn.disabled {
  background-color: #e0e0e0;
  color: #888;
  pointer-events: none;
  border-color: #ccc;
  box-shadow: none;
}


/* サイドバー */

.sidebar-monthly-archive h3 {
  font-size: 22px;
  margin-bottom: 10px;
}

.sidebar-monthly-archive ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.sidebar-monthly-archive ul li {
  margin-bottom: 5px;
}



/* モバイル対応 */
@media screen and (max-width: 768px) {
  .flex-layout {
    flex-direction: column;
  }

  .flex-layout #content,
  .flex-layout #sidebar-event {
    flex: 1 1 100%;
    max-width: 100%;
  }
}


/* 届出書式アーカイブ用　archive-format.php 用のカスタムスタイル */
.p-formatList {
    width: 100%;
    border-collapse: collapse; /* 罫線を結合 */
    margin-top: 20px;
}

.p-formatList th,
.p-formatList td {
    border: 1px solid #ddd; /* 罫線 */
    padding: 10px;
    text-align: left;
}

.p-formatList th {
    background-color: #f7f7f7; /* ヘッダーの背景色 */
    font-weight: bold;
    white-space: nowrap; /* テキストの折り返しを防ぐ */
}

/* 各列の幅を調整（必要に応じて） */
.p-formatList__titleHead,
.p-formatList__title {
    width: 50%;
}

.p-formatList__dateHead,
.p-formatList__date {
    width: 15%;
    text-align: center;
    white-space: nowrap;
}

.p-formatList__subtitleHead,
.p-formatList__subtitle {
    width: 35%;
}

/* タイトルリンクのスタイル調整 */
.p-formatList__title a {
    text-decoration: none;
    font-weight: bold;
    color: var(--swell-link-color, #1e73be); /* SWELLのリンク色を継承または設定 */
}

/* 見出しH3の調整 */
.p-archive__title {
    margin-top: 0;
    margin-bottom: 20px;
    border-left: 5px solid var(--swell-main-color, #333); /* SWELLのメインカラーなどを利用 */
    padding-left: 10px;
}


/* single-format.php 用のカスタムフィールド表示 */
.p-formatMeta {
    border-top: 1px solid #eee;
    padding-top: 10px;
    margin-top: 15px;
}

.p-formatMeta__item {
    display: inline-block; /* 横に並べる */
    margin-right: 20px;
    margin-bottom: 5px;
    font-size: 0.9em;
}

.p-formatMeta__label {
    font-weight: bold;
    color: #444;
    margin-right: 5px;
}

/* PDFボタンのSWELLに合わせたスタイル */
a.c-button__filled {
    display: block; /* ボタン全体をブロック要素にする */
    width: fit-content; /* 内容の幅に合わせる */
    padding: 10px 20px;
    text-align: center;
    text-decoration: none;
    background-color: var(--color-main); /* テーマのメインカラー */
    color: #fff;
    border-radius: 4px;
    font-weight: bold;
}


/* ========================================= */
/* 届出書式 (report) シングルページ用スタイル */
/* ========================================= */

/* eventpodsのCSSを参考に、サイドバー非表示のロジックを継承 
.l-content__wrap .l-content__side,
#l-sidebar,
.sidebar,
.l-sidebar { 
    display: none !important;
}
*/

/* report メタ情報エリアの調整 */
.entry-content .report-meta {
    padding-left: 0 !important; 
    margin-left: 0 !important; 
    list-style: none !important; 
    margin-top: 10px !important;
    margin-bottom: 20px !important;
    border-bottom: 1px solid #ccc; 
    padding-bottom: 10px !important; 
    font-size: 0.95em;
}

.entry-content .report-meta li {
    margin-bottom: 5px;
}

.entry-content .report-meta strong {
    min-width: 80px; /* ラベル幅を揃える */
    display: inline-block;
}




/* ================================================= */
/* 最終ロゴ設定：PC/モバイル統合版 (表示を強制) */
/* ================================================= */

/* ================================================= */
/* 1. PC（デフォルト）でのロゴ設定 */
/* ================================================= */
.single-eventpods .l-content.l-container {
    z-index: 1 !important; 
    background-color: #ffffff !important; 

    /* 背景画像を定義 (グラデーションオーバーレイとロゴ本体) */
    background-image: 
        linear-gradient(to bottom, rgba(255, 255, 255, 0.85), rgba(255, 255, 255, 0.85)),
        url('../../uploads/2025/11/cropped-ejbdflogo.png') !important;

    background-repeat: no-repeat !important;
    background-position: right 30px !important; 
    /* PCでは、親要素の幅に対する割合で設定 */
    background-size: 40% auto !important; 
}

/* コンテンツのZ-INDEXは維持 */
.single-eventpods .l-content.l-container > * {
    position: relative;
    z-index: 2 !important; 
}





/* ==========================================================
// A. ユーザー定義のレスポンシブ切り替えと基本設定
========================================================== */

/* PCメニュー（メガメニュー）の基本位置調整: 親要素を基準にする */
.parent-menu-pc {
  /* position: relative を削除し、SWELLのデフォルト動作に戻す */
  position: unset !important; 
}

/* ★★★ レスポンシブ設定を1200px境界に統一 ★★★ */

/* 1. PC幅 (1200px以上) でスマホメニューを非表示にする */
@media screen and (min-width: 1200px) {
    .parent-menu-sp {
        display: none !important; 
    }
}

/* 2. モバイル幅 (1199px以下) でPCメニュー（メガメニュー）を非表示にする */
@media screen and (max-width: 1199px) { 
    .parent-menu-pc {
        display: none !important;
    }
}




.parent-menu-pc .sub-menu {
    position: absolute;
    left: 0;
    width: 100vw; /* ビューポート全幅に設定 */
    padding: 0 !important; /* !important で強制 */
    margin-top: 0 !important;
    margin-bottom: 0 !important; /* 下側のマージンを消す */
}

.parent-menu-pc .sub-menu a {
  padding: 0em;
}
.parent-menu-pc .sub-menu a:before {
  display : none;
}
.c-gnav .parent-menu-pc a::after {
width: 0%;
}


/* ==========================================================
// 1. メガメニューコンテナ (.sub-menu) の調整
// (サブメニュー全体、特に上下左右の白い余白を消す)
========================================================== */

.parent-menu-pc .sub-menu {
    /* メニュー全体のマージンとパディングをゼロに */
    margin: 0 !important;
    padding: 0 !important;
    
    /* 境界線と影を消す */
    border: none !important;
    box-shadow: none !important;
    background-color: transparent !important;
    
    /* 左端に寄せる設定 */
    display: flex;
    justify-content: flex-start; /* 左寄せ */
    align-items: flex-start;
}

/* サブメニュー直下のSWELLブロック（.swell-block-fullwideなど）の余白を消す */
.parent-menu-pc .sub-menu > *,
.parent-menu-pc .sub-menu .swell-block-fullwide {
    margin: 0 !important;
    padding: 0 !important;
}


/* ==========================================================
// 2. カラムコンテナ (.no-gap-columns) の調整
// (カラム間の隙間と高さを揃えるための設定)
========================================================== */

.no-gap-columns {
    /* 必須：Flexboxを適用し、高さを揃える */
    display: flex !important;
    align-items: stretch !important;
    flex-wrap: nowrap !important; /* 横並びを維持 */
    
    /* 必須：横方向の隙間（gap）と上下マージンをゼロに */
    gap: 0 !important; 
    margin: 0 !important;
    padding: 0 !important;
    
    /* 境界線と影を消す */
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    background-color: transparent !important; /* 背景色も透明に */
    
    /* メニュー全体の幅の制限を解除し、画面幅いっぱいにする */
    max-width: none !important; 
    width: 100% !important; 
}


/* ==========================================================
// 3. 子カラム (.wp-block-column) と内部コンテンツの調整
// (カラム間の隙間と、コンテンツの余白を完全にゼロにする)
========================================================== */

/* 究極の優先度で子カラムの余白をすべてゼロに */
.no-gap-columns > .wp-block-column {
    /* 左右の隙間を消すために最も重要 */
    margin: 0 !important;
    padding: 0 !important;
    
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    background-color: transparent !important; 

    /* カラム自体もFlexにして、中身を縦に伸ばす準備をする */
    display: flex !important;
    flex-direction: column !important; /* 縦方向に要素を並べる */
    justify-content: flex-start !important; /* 要素を上から配置 */
}


/* ★★★ 1列目 (青い背景・可変幅) ★★★ */
.no-gap-columns > .wp-block-column:nth-child(1) {
    background-color: #3200f8 !important; 
    padding: 30px !important; 
    
    /* 可変部分 */
    flex-grow: 1 !important; 
    flex-basis: 0 !important;
    min-width: 0 !important;
}

/* ★★★ 2列目 (青い背景・固定幅) ★★★ */
.no-gap-columns > .wp-block-column:nth-child(2) {
    background-color: #3200f8 !important; 
    padding: 30px !important; 
    
    /* 固定幅 (250px) */
    flex-basis: 250px !important; 
    flex-grow: 0 !important; 
    max-width: 250px !important; 
    flex-shrink: 0 !important; /* 縮小させない */
}


/* ★★★ 3列目以降 (画像カラム・固定幅) ★★★ */
.no-gap-columns > .wp-block-column:nth-child(n + 3) {
    /* 固定幅 (250px) */
    flex-basis: 225px !important;
    flex-grow: 0 !important; 
    max-width: 225px !important; 
    flex-shrink: 0 !important; /* 縮小させない */
}


/* カラム内のすべての直接の子要素 (見出し、リンク、バナーなど) の余白をゼロに */
.no-gap-columns > .wp-block-column > *,
.no-gap-columns > .wp-block-column > * > * {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
}

/* ==========================================================
// 3.5. 青いカラム内のコンテンツ配置 (下揃え)
========================================================== */

/* 青いカラム内に配置した、最も下部に表示したい要素に
   「bottom-aligned-link」クラスを付与してください。 */
.bottom-aligned-link {
    /* 上側に自動マージンを適用し、残りのスペースを全て占有させることで底に押し付ける */
    margin-top: auto !important; 
}


/* ==========================================================
// 4. SWELLバナーリンク (.c-linkBox) のスタイル調整
// 【構造の前提】
//   .wp-block-column (固定幅カラム)
//     └── .c-linkBox (SWELLバナーリンクブロック)
========================================================== */

/* SWELLバナーリンク全体を親カラムの高さまで引き伸ばす */
.no-gap-columns > .wp-block-column .c-linkBox {
    height: 100% !important; /* 親カラムの高さを継承 */
    display: flex;
    flex-direction: column; /* 画像とテキストを縦に並べる場合 */
    justify-content: flex-end;
    border-radius: 0 !important; /* 角丸を消す */
    margin: 0 !important; /* マージンを消す */
    position: relative !important;
}

/* 画像コンテナを確保 */
.no-gap-columns > .wp-block-column .c-linkBox__figure {
    flex-grow: 1 !important; /* ★最重要：残りの高さをすべて占有 */
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible;
}

/* 画像自体の調整 */
.no-gap-columns > .wp-block-column .c-linkBox__figure img {
    height: 100% !important; 
    width: 100% !important;
    object-fit: cover !important; /* 縦横比を保ちつつ、領域を埋める */
    display: block !important; 
    margin: 0 !important;
    padding: 0 !important;
}

/* オーバーレイを強制的に前面に出すためのz-index設定 */
.no-gap-columns > .wp-block-column .c-linkBox::before,
.no-gap-columns > .wp-block-column .c-linkBox::after {
    z-index: 10 !important; /* オーバーレイを前面に */
}

/* テキスト部分の調整（必要に応じて） */
.no-gap-columns > .wp-block-column .c-linkBox__title,
.no-gap-columns > .wp-block-column .c-linkBox__desc {
    flex-grow: 0 !important; /* テキスト部分は高さを増やさない */
    /* ここにテキストの見た目に関するCSSを追加できます（例: color, padding, text-align） */
    z-index: 11 !important; /* テキストをオーバーレイの上に */
}


/* ==========================================================
// 5. レスポンシブ対応 (ブレイクポイント調整)
// === モバイルでの縦積み切り替えのCSSをすべて削除しました ===
========================================================== */


/* ==========================================================
// ★★★ 6. 新しいメニュー (赤) のカスタム設定 (.red-menu) ★★★
========================================================== */

/* ----------------------------------------------------------
// 6-1. 背景色の変更
---------------------------------------------------------- */
/* 青メニューでの背景色設定を上書き */
.red-menu > .wp-block-column:nth-child(1),
.red-menu > .wp-block-column:nth-child(2) {
    background-color: #d9534f !important; /* 赤系 */
}

/* ----------------------------------------------------------
// 6-2. カラム構成の変更 (全4カラム: 赤(可変)1 + 赤(固定)1 + 画像2)
---------------------------------------------------------- */

/* 全カラムの固定幅をリセット (既存の青メニューの設定を上書きするための準備) */
.red-menu > .wp-block-column {
    flex-basis: auto !important; 
    flex-grow: 0 !important;
    max-width: none !important;
    flex-shrink: 1 !important;
    width: auto !important;
    /* paddingはデフォルトの30pxを継承（2列目以降はpaddingなし） */
    padding: 0 !important;
}

/* ★★★ 1列目 (赤・空の可変幅) ★★★ */
.red-menu > .wp-block-column:nth-child(1) {
    background-color: #d9534f !important; /* 背景色を強制的に赤に設定 */
    
    /* 可変部分 */
    flex-grow: 1 !important; 
    flex-basis: 0 !important;
    min-width: 0 !important;
    
    /* 1列目のみ内側のコンテンツに合わせるためのパディング */
    padding: 30px !important; 
}

/* ★★★ 2列目 (赤・メニューコンテンツの固定幅) ★★★ */
.red-menu > .wp-block-column:nth-child(2) {
    background-color: #d9534f !important; /* 背景色を強制的に赤に設定 */
    
    /* 固定幅 (250px) */
    flex-basis: 350px !important; 
    flex-grow: 0 !important; 
    max-width: 350px !important; 
    flex-shrink: 0 !important;
    
    /* 2列目もコンテンツに合わせるためのパディング */
    padding: 30px !important; 
}

/* ★★★ 3列目と4列目 (画像カラム・固定幅) ★★★ */
.red-menu > .wp-block-column:nth-child(3),
.red-menu > .wp-block-column:nth-child(4),
.red-menu > .wp-block-column:nth-child(5)
 {
    /* 固定幅 (250px) を再設定 */
    flex-basis: 225px !important;
    flex-grow: 0 !important; 
    max-width: 225px !important; 
    flex-shrink: 0 !important;
    
    /* バナーリンクが入るため、パディングはゼロを維持 */
}

/* ★★★ 5列目以降の非表示 (カラムは4つのみを想定) ★★★ */
.red-menu > .wp-block-column:nth-child(n + 5) {
    /* 5列目以降の要素を非表示にする */
    display: none !important;
}


/* ==========================================================
// ★★★ 7. 新しいメニュー (オレンジ) のカスタム設定 (.orange-menu) ★★★
========================================================== */

/* ----------------------------------------------------------
// 7-1. 背景色の変更
---------------------------------------------------------- */
/* 青メニューでの背景色設定を上書き */
.orange-menu > .wp-block-column:nth-child(1),
.orange-menu > .wp-block-column:nth-child(2) {
    background-color: #F09F4D !important; /* 橙系 */
}



/*　メガメニュー内の文字を浮かび上がらせる　 */
.floating-text {
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); /* 水平方向のオフセット、垂直方向のオフセット、ぼかし半径、色 */
}




/* ページID 3892 のみ、コンテンツの最大幅を1200pxに強制的に設定 */

.page-id-3892 .site-content .container,
.page-id-3892 .site-main,
.page-id-3892 .entry-content,
.page-id-3892 #content .wrap,
.page-id-3892 .container {
    /* ページのコンテナ要素の最大幅を強制的に上書き */
    max-width: 1200px !important;
    
    /* 確実に中央寄せにするための設定 */
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 15px !important; /* 左右の余白（パディング）を確保 */
    padding-right: 15px !important;
}

/* 念のため、ショートコードの div が正しく機能するように再確認 */
.page-id-3892 .entry-list-table {
    width: 100%;
}




/* 競技会申込データ管理のテーブル調整　entry-edit */

/* --- 1. テーブル全体の基本設定 --- */
/* テーブルの幅指定を有効にするための必須設定 */
.entry-list-table {
    width: 100%;
    table-layout: fixed !important; /* 強制的に固定 */
}

/* ヘッダーセルのテキスト配置を修正 */
.entry-list-table thead th {
    white-space: nowrap; /* ヘッダーの文字が折り返さないようにする */
}

/* --- 2. ヘッダー（<th>）の強調スタイル --- */
.entry-list-table thead th {
    /* 画像の青色を再現 */
    background-color: #0073aa; 
    color: white; /* 文字色を白に */
    font-weight: bold;
    text-align: left;
    padding: 8px 12px;
    
    /* 縦線と横線を明確にする */
    border: 1px solid #005680; 
    vertical-align: middle;
}

/* --- 3. データ行（<td>）のスタイル --- */
.entry-list-table tbody td {
    padding: 8px 12px;
    border: 1px solid #eee; /* 薄いボーダーで区切る */
/*    text-align: center; */
    vertical-align: middle;
    font-size: 14px; /* 見やすいフォントサイズに */
}

/* 偶数行に背景色を適用し、縞模様にする */
.entry-list-table tbody tr:nth-child(even) {
    background-color: #f9f9f9;
}

/* --- 4. 個別列の幅調整 --- */

/* --- 1. 固定幅の列を設定 --- */

/* 大会日 (1番目) */
.entry-list-table th:nth-child(1),
.entry-list-table td:nth-child(1) {
    width: 100px !important;
}

/* 競技タイプ (4番目) - 固定幅 */
.entry-list-table th:nth-child(4),
.entry-list-table td:nth-child(4) {
    width: 100px !important;
}

/* セクション (5番目) - 固定幅 */
.entry-list-table th:nth-child(5),
.entry-list-table td:nth-child(5) {
    width: 120px !important;
}

/* 登録番号 (6番目) - 固定幅 */
.entry-list-table th:nth-child(6),
.entry-list-table td:nth-child(6) {
    width: 90px !important;
}

/* L氏名/P氏名 (7番目/8番目) - 最小幅と折り返し防止 */
.entry-list-table th:nth-child(7),
.entry-list-table td:nth-child(7),
.entry-list-table th:nth-child(8),
.entry-list-table td:nth-child(8) {
    width: 140px !important; /* L氏名/P氏名が結合されているため、この幅で姓名を収める */
    min-width: 85px !important; 
/*    white-space: ; /* 氏名の折り返し防止 */
}

/* 級の列 (9番目から14番目) - 40px固定 */
.entry-list-table th:nth-child(n+9):nth-child(-n+14),
.entry-list-table td:nth-child(n+9):nth-child(-n+14) {
    width: 80px ; 
    min-width: 80px ; 
    padding: 4px ; /* パディングも最小限に */
    font-size: 0.8em;
    text-align: center;
/*    white-space: normal; */
}


/* 操作 (15番目) - 固定幅 */
.entry-list-table th:nth-child(15),
.entry-list-table td:nth-child(15) {
    width: 70px !important;
}


/* --- 2. auto幅の列 (会場と大会名) に余白を集中させる --- */

/* 会場 (2番目) - auto */
.entry-list-table th:nth-child(2),
.entry-list-table td:nth-child(2) {
    width: auto !important; /* 残り幅を割り当て */
    text-align: left;
}


/* 大会名 (3番目) - auto */
.entry-list-table th:nth-child(3),
.entry-list-table td:nth-child(3) {
*   width: auto !important; /* 残り幅を割り当て */
    text-align: left;
}