/* 全体 */
body {
    color: #333333;
    font-family: 'Lucida Grande', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
    background-color: #fef4f4; /* 全体の背景色を #ffccff に設定 */
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
}

p {
    font-size: 14px;
}

h1 {
    font-size: 25px;
    color: #333333;
    padding: 5px;
}

h2 {
    font-size: 20px;
    color: #333333;
    padding: 5px 15px;
}

h3 {
    font-size: 14px;
    color: #333333;
    padding: 5px;
}

#common {
    width: 1020px;
    background-color: #ffffff; /* 中央コンテンツ部分を白に設定 */
    padding: 20px;
    margin: 0;
}

#pagetitle {
    border-left: 4px solid #1e90ff;
}

/* フッター */
footer {
    background-color: #e6f7ff; /* 薄い青色 */
    border-top: solid 3px #f5f9fc;
    margin-top: 30px;
    padding: 10px;
    text-align: center;
    color: #333;
}

/* ナビゲーション */
#navi {
    display: flex;
    justify-content: space-between;
    padding: 0;
    list-style: none;
    background-color: #e6f7ff; /* 薄い青色 */
}

#navi li {
    flex: 1;
    text-align: center;
}

#navi li a {
    display: block;
    padding: 10px 0;
    text-decoration: none;
    color: #353637;
    border-bottom: 3px solid #f5f9fc;
    transition: border-bottom 0.2s ease-in, color 0.3s ease-in;
    font-weight: bold; /* 太字 */
}

#navi li a:hover {
    color: #edf1f4;
    border-bottom: 3px solid #1e90ff;
}

/* ニュースセクション */
#news {
    clear: both;
    border-left: 4px solid #1e90ff;
}

/* その他のスタイル */
/*members*/
#members {
    margin: 0;
    padding: 5px 30px;
}

.membertable {
    width: 100%;
}

.membertable th {
    width: 25%;
    padding: 10px;
    text-align: left;
    border-left: 4px solid #00008b; /* 追加: ダークブルー */
}

.membertable td {
    padding: 2px 30px;
    text-align: left;
}

#theme {
    padding: 10px;
    border-left: 4px solid #00008b; /* ダークブルー */
}

#logo {
    width: 100%;
    position: relative;
}

#logo img {
    width: 100%;
    height: auto;
}

#en {
    position: absolute;
    right: 10px;
    bottom: 10px;
    font-size: 14px;
    background-color: rgba(255, 255, 255, 0.7);
    padding: 5px;
    border-radius: 5px;
}

#en a {
    color: #353637;
    text-decoration: none;
    -webkit-transition: color 0.1s ease-in;
}

#en a:hover {
    color: #edf1f4;
}

#navi li.active a {
    background-color: #87cefa; /* 濃い青 */
    color: black; /* 文字色を黒に */
}

#navi li.active a {
    position: relative;
    color: black; /* 文字色を黒に */
}

#navi li.active a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -3px; /* 青線の位置を調整 */
    width: 100%;
    height: 3px; /* 青線の高さ */
    background-color: #1E90FF; /* ドジャーブルー */
}

/* 中央コンテンツ部分を囲むラッパー要素 */
#container {
    display: flex;
    width: 100%;
}

#side {
    background-color: #ffc; /* #ffccff */
    flex: 1;
}

/* 中央コンテンツ部分を白に設定 */
#common {
    background-color: #ffffff; /* 白色 */
    width: 1020px;
    padding: 20px;
    box-sizing: border-box; /* パディングを含めた幅を計算 */
}

/* 画像の最大幅を親要素に合わせる */
img {
    max-width: 100%;
    height: auto;
    display: block; /* 画像をブロック要素として表示 */
    margin: 0 auto; /* 画像を中央揃え */
}

.membertable th.m2 {
    border-left: 4px solid #ffd700; /* 黄色 */
}

.membertable th.m1 {
    border-left: 4px solid #dc143c; /* 赤色 */
}

.membertable th.b4 {
    border-left: 4px solid #37a34a; /* 緑色 */
}
