@charset "UTF-8";

/* Proチューターズネットワーク - 本家完全準拠版（明るく親しみやすいカラー） */
body{
    font-family: "MS PGothic", "ＭＳ Ｐゴシック", "MS Pゴシック", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", "Meiryo", sans-serif;
    font-size: 12px;
    line-height: 1.4;
    color: #333333;
    background-color: #ffffff;
    margin: 0;
    padding: 0;
}

/* ヘッダー部分 */
.header-desc{
    font-size: 10px;
    color: #333;
    padding: 8px 15px;
    background: linear-gradient(to bottom, #fff8e1, #ffecb3);
    border-bottom: 1px solid #ffc107;
    text-align: left;
}

.main-title{
    font-size: 16px;
    font-weight: bold;
    color: #333;
    text-align: center;
    padding: 12px;
    background: linear-gradient(to bottom, #e3f2fd, #bbdefb);
    border-bottom: 2px solid #2196f3;
    margin: 0;
}

.main-title a{
    color: #333;
    text-decoration: none;
}

.main-title a:hover{
    color: #1976d2;
}

/* レイアウト */
.container{
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    background: #ffffff;
    min-height: 500px;
    position: relative;
}

.menu{
    width: 150px;
    float: left;
    background: linear-gradient(to bottom, #fff3e0, #ffe0b2);
    padding: 10px;
    font-size: 11px;
    border-right: 1px solid #ffcc02;
    min-height: 400px;
}

.content{
    margin-left: 170px;
    margin-right: 180px;
    padding: 15px;
    background: #ffffff;
    min-height: 400px;
}

.sidebar{
    width: 160px;
    float: right;
    background: linear-gradient(to bottom, #e8f5e8, #c8e6c8);
    padding: 10px;
    font-size: 11px;
    border-left: 1px solid #4caf50;
    min-height: 400px;
}

/* 文字スタイル */
h1{
    font-size: 16px;
    font-weight: bold;
    color: #333;
    text-align: center;
    padding: 12px;
    background: linear-gradient(to bottom, #fff8e1, #ffecb3);
    border: 1px solid #ffc107;
    margin: 15px 0;
}

h2{
    font-size: 14px;
    font-weight: bold;
    color: #333;
    padding: 8px 10px;
    background: linear-gradient(to bottom, #e3f2fd, #bbdefb);
    border-left: 3px solid #2196f3;
    margin: 15px 0 10px 0;
}

h3{
    font-size: 13px;
    font-weight: bold;
    color: #333;
    margin: 15px 0 8px 0;
}

p{
    margin-bottom: 12px;
    line-height: 1.5;
    color: #333;
}

a{
    color: #0066cc;
    text-decoration: underline;
}

a:hover{
    color: #ff6600;
}

/* 本家準拠教師一覧テーブル */
.teacher-list-table{
    width: 100%;
    border-collapse: collapse;
    margin: 15px 0;
    border: 1px solid #666;
    font-size: 11px;
    background: #ffffff;
}

.teacher-list-table th{
    background: linear-gradient(to bottom, #f5f5f5, #e0e0e0);
    border: 1px solid #666;
    padding: 4px 3px;
    text-align: center;
    font-weight: bold;
    color: #333;
    font-size: 11px;
    vertical-align: middle;
}

.teacher-list-table td{
    border: 1px solid #666;
    padding: 4px 3px;
    text-align: center;
    background: #ffffff;
    color: #333;
    font-size: 11px;
    vertical-align: middle;
}

.teacher-list-table tr:nth-child(even) td{
    background: #f8f8f8;
}

/* 基本テーブル */
.basic-table{
    width: 100%;
    border-collapse: collapse;
    margin: 15px 0;
    border: 1px solid #666;
}

.basic-table th{
    background: linear-gradient(to bottom, #f5f5f5, #e0e0e0);
    border: 1px solid #666;
    padding: 8px;
    text-align: left;
    font-weight: bold;
    color: #333;
    font-size: 12px;
}

.basic-table td{
    border: 1px solid #666;
    padding: 8px;
    background: #ffffff;
    color: #333;
    font-size: 12px;
}

.basic-table tr:nth-child(even) td{
    background: #f8f8f8;
}

/* システム概要テーブル */
.system-table{
    width: 100%;
    border-collapse: collapse;
    margin: 15px 0;
    border: 1px solid #666;
}

.system-table td{
    border: 1px solid #666;
    padding: 8px 10px;
    background: #ffffff;
    color: #333;
    font-size: 12px;
    vertical-align: top;
}

.system-table tr:nth-child(even) td{
    background: #f8f8f8;
}

/* リスト */
ul{
    list-style: none;
    margin: 10px 0;
    padding: 0;
}

li{
    margin-bottom: 3px;
    padding: 2px 0;
    font-size: 11px;
}

/* フォーム */
.form-container{
    background: linear-gradient(to bottom, #fff3e0, #ffe0b2);
    padding: 15px;
    margin: 15px 0;
    border: 1px solid #ffc107;
}

.form-group{
    margin-bottom: 12px;
}

.form-group label{
    display: block;
    font-weight: bold;
    color: #333;
    margin-bottom: 3px;
    font-size: 12px;
}

.form-group input[type="text"],
.form-group input[type="email"], 
.form-group input[type="tel"],
.form-group select,
.form-group textarea{
    width: 100%;
    padding: 6px;
    border: 1px solid #ccc;
    background: #ffffff;
    font-family: "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
    font-size: 12px;
    box-sizing: border-box;
}

.form-group textarea{
    height: 80px;
    resize: vertical;
}

.form-submit{
    background: linear-gradient(to bottom, #4caf50, #45a049);
    color: white;
    padding: 10px 20px;
    border: 1px solid #4caf50;
    font-size: 12px;
    font-weight: bold;
    cursor: pointer;
    font-family: "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
}

.form-submit:hover{
    background: linear-gradient(to bottom, #45a049, #3d8b40);
}

.form-reset{
    background: linear-gradient(to bottom, #f5f5f5, #e0e0e0);
    color: #333;
    padding: 10px 20px;
    border: 1px solid #ccc;
    font-size: 12px;
    font-weight: bold;
    cursor: pointer;
    margin-left: 10px;
    font-family: "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
}

.form-reset:hover{
    background: linear-gradient(to bottom, #e0e0e0, #d5d5d5);
}

/* 教師詳細リンク */
.teacher-link{
    color: #0066cc;
    text-decoration: underline;
    font-weight: bold;
}

.teacher-link:hover{
    color: #ff6600;
}

/* 強調ボックス */
.highlight-box{
    background: linear-gradient(to bottom, #fff8e1, #ffecb3);
    border: 2px solid #ffc107;
    padding: 12px;
    margin: 15px 0;
    text-align: center;
    font-weight: bold;
    color: #333;
}

/* 連絡先ボックス */
.contact-box{
    background: linear-gradient(to bottom, #e8f5e8, #c8e6c8);
    border: 2px solid #4caf50;
    color: #333;
    padding: 12px;
    text-align: center;
    margin: 15px 0;
    font-weight: bold;
}

.contact-box a{
    color: #2e7d32;
    font-weight: bold;
}

/* フッター */
.footer{
    clear: both;
    background: linear-gradient(to bottom, #f5f5f5, #e0e0e0);
    border-top: 2px solid #ccc;
    padding: 15px;
    text-align: center;
    font-size: 11px;
    color: #333;
}

.footer p{
    font-weight: bold;
    color: #333;
    margin: 5px 0;
}

.footer table{
    width: 100%;
    font-size: 10px;
}

.footer td{
    vertical-align: top;
    padding: 5px;
}

/* その他 */
.clear{
    clear: both;
}

.text-center{
    text-align: center;
}

.font-bold{
    font-weight: bold;
}

/* 教師詳細テーブル */
.teacher-detail-table{
    width: 100%;
    border-collapse: collapse;
    margin: 15px 0;
    border: 1px solid #666;
}

.teacher-detail-table th{
    background: linear-gradient(to bottom, #f5f5f5, #e0e0e0);
    border: 1px solid #666;
    padding: 8px;
    text-align: left;
    font-weight: bold;
    color: #333;
    font-size: 12px;
    width: 25%;
}

.teacher-detail-table td{
    border: 1px solid #666;
    padding: 8px;
    background: #ffffff;
    color: #333;
    font-size: 12px;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
    .container{
        width: 95%;
        margin: 5px auto;
    }

    .menu, .sidebar{
        float: none;
        width: 100%;
        margin: 0;
    }

    .content{
        margin: 0;
        padding: 10px;
    }

    .teacher-list-table{
        font-size: 10px;
    }

    .teacher-list-table th,
    .teacher-list-table td{
        padding: 3px 2px;
    }
}