@charset "UTF-8";

/* ==========================================================================
   1. 共通レイアウト（ヘッダー・ナビ・サイドバー・全体）
   ========================================================================== */
body {
    margin: 0;
    padding: 0;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
/* 🔽 ここから追加・変更 🔽 */
    background-image: url(img/backimg.png); /* 背景に画像を指定 */
    background-repeat: repeat;             /* 画像を縦横にループして並べる */
    /* 🔼 ここまで 🔼 */
    
    color: #333333;
}

#contents {
    width: 852px;
    margin: 0 auto;
}

/* ヘッダー */
#header h1 {
    margin: 0;
    padding: 10px 0;
    font-size: 16px;
    color: #ffffff;
}
#header img {
    display: block;
}

/* ナビゲーションバー */
#navbar {
    width: 852px;
    background-color: #000000;
}
#navbar ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
}
#navbar li {
    flex: 1;
    text-align: center;
}
#navbar li a {
    display: block;
    padding: 12px 0;
    color: #ffffff;
    text-decoration: none;
    font-weight: bold;
    font-size: 20px;
}
#navbar li a:hover {
    background-color: #333333;
}

/* メインコンテンツとサイドバーの配置 */
#main {
    float: left;
    width: 610px;
    margin-top: 15px;
    padding-left: 10px;
    padding-right: 10px;
    background-color: #e0e0e0;
}
#side {
    float: right;
    width: 220px;
    margin-top: 15px;
    box-sizing: border-box;
    padding-left: 10px;
    padding-right: 10px;
background-color: #e0e0e0;
}

/* サイドバー内のスタイル */
#side p {
    font-size: 12px;
    line-height: 1.6;
    margin: 10px 0 20px 0;
}
#side ul {
    margin: 10px 0;
    padding-left: 20px;
}
#side li a {
    color: #0000ee;
    text-decoration: underline;
}

/* フッター代わりの回り込み解除 */
#main::after, 
#contents::after {
    content: "";
    display: block;
    clear: both;
}


/* ==========================================================================
   2. 新しいテキスト見出し（全ページ共通）
   ========================================================================== */
.heading-title {
    display: block;
    box-sizing: border-box;
    width: 610px;
    margin: 0 0 3px 0;
    padding: 6px 10px 6px 15px;
    background-color: #1a1a1a;
    color: #ffffff;
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 0.1em;
    border-left: 8px solid #d90011;
    line-height: 1.4;
}

/* ==========================================================================
   3. 各ページ専用のスタイル（コンポーネント）
   ========================================================================== */

/* テーブルレイアウトのリセット（共通） */
#main table {
    width: 100%;
    border-collapse: collapse;
}

/* 利用料金・営業時間テーブル */
.tbl_style {
    width: 100%;
    border-collapse: collapse;
    margin: 15px 0 30px;
    background-color: #ffffff;
    font-size: 16px;
}

.tbl_style th {
    background-color: #a7c30d;
    color: #ffffff;
    font-weight: bold;
    padding: 5px;
    border: 1px solid #666;
}

.tbl_style td {
    padding: 12px;
    border: 1px solid #999;
    text-align: center;
}

/* 偶数行を薄いグレーに */
.tbl_style tbody tr:nth-child(even) {
    background-color: #f5f5f5;
}

/* マウスを乗せた時 */
.tbl_style tbody tr:hover {
    background-color: #fff8dc;
}

#main td {
    padding: 0;
    vertical-align: top;
}

/* 【page1.html / boshu.html】スタッフ紹介・募集用 */
.staff-block {
    margin-bottom: 20px;
}
.staff-img {
    float: left;
    margin-right: 15px;
    border: 1px solid #ccc;
}
.staff-text {
    font-size: 14px;
    line-height: 1.6;
}
.clear-fix {
    clear: both;
}
hr {
    border: none;
    border-top: 2px dashed #000000;
    margin: 15px 0;
}


/* 【page4.html】アクセス（Googleマップ） */
.map-container {
    margin-top: 15px;
}
.map-container iframe {
    width: 100%;
    max-width: 600px;
    border: 0;
}
/* 新しい見出し（画像風デザイン）のスタイル */
.heading-title2 {
    display: block;             /* 横幅いっぱいに広げる */
    box-sizing: border-box;     /* パディングを含めたサイズ計算 */
    width: 100%;               /* 画像と同じ横幅 */
    margin: 0 0 10px 0;         /* 下に少し隙間をあける */
    padding: 5px 10px 5px 15px; /* 内側の余白（左側を少し広めに） */
    background-color: #1a1a1a;  /* 画像に合わせた黒っぽい背景色 */
    color: #ffffff;             /* 白文字 */
    font-size: 20px;            /* 文字の大きさ（元の画像に合わせたサイズ） */
    font-weight: bold;          /* 太字 */
    letter-spacing: 0.1em;      /* 文字の間隔を少しあけて読みやすく */
    border-left: 8px solid #d90011; /* 左側の赤い縦ラインのアクセント */
    line-height: 1.4;           /* 行間 */
}

/* 【index.html】新設コース・お知らせ用のスタイル */
.notice-list {
    margin: 15px 0;
    padding-left: 20px;
    list-style-type: square; /* お好みで箇条書きのマークを四角に変更 */
}

.notice-list li {
    font-size: 21px; /* 16ptに相当 */
    font-family: "Yu Mincho", "游明朝", "Hiragino Mincho ProN", "MS Mincho", "serif";
    color: #ff0000; /* 赤色 */
    font-weight: bold;
    line-height: 1.6;
    margin-bottom: 8px; /* リスト同士の隙間 */
}
/* 注目情報を引き立てるトラ柄・デンジャー風の枠 */
.pickup-box {
    margin: 25px 0;
    padding: 10px;
    background-color: #ffffff;
    border: 4px solid #d90011; /* 太い赤枠 */
     box-shadow: 5px 5px 0px #000; /* 後ろに黒い影をつけて立体感を出す */
}
/* ==========================================================================
   大会成績（戦績）の強調スタイル
   ========================================================================== */
.results-container {
    padding: 25px 20px;
    background: #111111; /* 背景を重厚感のある黒に */
    border: 3px solid #d4af37; /* ゴールドの枠線 */
    border-radius: 4px;
    color: #ffffff; /* 文字は白 */
    font-family: sans-serif;
    box-shadow: 0 4px 15px rgba(0,0,0,0.5); /* 立体的な影 */
}

/* 各大会タイトルの帯 */
.result-category {
    display: block;
    font-size: 14px;
    font-weight: bold;
    color: #111111;
    background: linear-gradient(90deg, #d4af37, #f3e5ab); /* ゴールドのグラデーション */
    padding: 2px 12px;
    margin: 20px 0 10px 0;
    border-left: 6px solid #fff;
}
.results-container .result-category:first-child {
    margin-top: 0; /* 最初のタイトルの上余白をリセット */
}

/* 戦績（階級・結果・回数）を横並びにする行 */
.result-row {
    display: flex;
    justify-content: space-between; /* 左右に綺麗に振り分け */
    align-items: center;
    padding: 2px 10px;
    border-bottom: 1px dashed #444; /* 行間の区切り線 */
    font-size: 14px;
}
.result-row:last-child {
    border-bottom: none;
}

/* 階級や賞の名前 */
.result-label {
    font-weight: normal;
    color: #cccccc;
}

/* 「優勝」「準優勝」などのハイライト */
.result-badge {
    font-size: 16px;
    font-weight: bold;
    color: #ff3366; /* 優勝などは目立つピンクレッド */
    text-shadow: 0 0 8px rgba(255, 51, 102, 0.4);
    margin-right: auto;
    margin-left: 15px;
}

/* 回数（「〇回」の部分） */
.result-count {
    font-size: 16px;
    font-weight: bold;
    color: #ffffff;
    background-color: #222;
    padding: 1px 1px;
    border-radius: 3px;
    border: 1px solid #d4af37;
}