﻿/* アルムナイ・ハブ 完全版スタイルシート
   作成者: エスィー
*/

/* 1. 全体レイアウト */
body {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    line-height: 1.6;
    color: #333;
    max-width: 900px;
    margin: 0 auto;
    padding: 20px;
    background-color: #f8f9fa;
}

h1, h2 { color: #004a99; border-bottom: 2px solid #004a99; padding-bottom: 5px; }

.card {
    background: #fff;
    padding: 20px;
    margin-bottom: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

/* 2. 登録案内（追加分） */
.intro { 
    background: #fff9e6; 
    border-left: 5px solid #ffcc00; 
    font-size: 0.9em; 
}
.intro p { margin: 5px 0; }

/* 3. 一覧テーブル（追加分） */
.list-table { 
    width: 100%; 
    border-collapse: collapse; 
    margin-bottom: 30px; 
    background: #fff; 
    font-size: 0.9em;
}
.list-table th, .list-table td { 
    border: 1px solid #ddd; 
    padding: 12px 10px; 
    text-align: left; 
}
.list-table th { 
    background: #004a99; 
    color: #fff; 
    white-space: nowrap;
}
/* style.css に追加 */
.list-table td {
    max-width: 300px;    /* セルの最大幅を制限 */
    overflow: hidden;    /* はみ出しを隠す */
    text-overflow: ellipsis; /* 三点リーダーを表示 */
    white-space: nowrap; /* 強制的に1行にする */
}
.list-table tr:nth-child(even) { background-color: #f2f2f2; }
.list-table tr:hover { background-color: #e9f2ff; }

/* 4. 縦幅圧縮フォーム（修正分） */
.compact-form input, .compact-form textarea { 
    margin-bottom: 5px; 
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 8px;
    box-sizing: border-box;
}
.form-row { 
    display: flex; 
    gap: 10px; 
    margin-bottom: 5px; 
    align-items: center; 
}
.form-row input { flex: 1; }
.compact-form textarea { width: 100%; }

/* 5. 個別ページ用（追加分） */
.desc-box { 
    background: #f0f7ff; 
    padding: 20px; 
    border-radius: 4px; 
    margin: 20px 0; 
    border: 1px solid #cfe2ff;
    white-space: pre-wrap; /* 改行を維持 */
}

/* 6. ボタンと共通要素 */
.btn {
    display: inline-block;
    background-color: #004a99;
    color: #fff;
    padding: 8px 16px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    text-decoration: none;
    font-size: 0.9em;
}
.btn:hover { background-color: #003366; }
.btn-danger { background-color: #d9534f; }
.btn-danger:hover { background-color: #c9302c; }

#counter {
    background: #e9ecef;
    padding: 10px;
    font-size: 0.85em;
    border-radius: 4px;
    text-align: right;
    color: #666;
}

/* 7. レスポンシブ対応 */
@media (max-width: 600px) {
    .form-row { flex-direction: column; gap: 5px; }
    .list-table { font-size: 0.8em; }
    .list-table th:nth-child(3), .list-table td:nth-child(3) { display: none; } /* スマホでは紹介文を隠す */
}