/* ===== カード2列コンテナ ===== */
.gokaku-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 32px;
    max-width: 1200px;
    margin: 40px auto;
}

/* ===== カード本体 ===== */
.gokaku-card {
    flex: 1 1 540px;
    padding: 32px 40px 36px;
    border-radius: 32px;
    box-shadow: 0 6px 16px rgba(0,0,0,0.12);
    box-sizing: border-box;
}

/* 背景色 */
.gokaku-public  { background: #fbdde2; }  /* ピンク */
.gokaku-private { background: #e3f0ff; }  /* 水色 */

/* 一行目（キャッチ） */
.catch {
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 2px;
}
.catch-public  { color: #d3394c; }
.catch-private { color: #004a9f; }

/* 二行目（メインタイトル） */
.main-title {
    text-align: center;
    font-size: 34px;
    font-weight: 800;
    margin: 0 0 6px;
}
.main-public  { color: #e60033; }
.main-private { color: #0055b8; }

/* 年度テキスト：背景付きバー（角丸なし） */
.year-text {
    display: block;
    max-width: 520px;
    margin: 0 auto;
    padding: 8px 10px;
    text-align: center;
    font-size: 13px;
    font-weight: 600;
    border-radius: 0;          /* 角丸なし */
    color: #fff;
}

/* 公立・私立で背景色を変える */
.gokaku-public .year-text {
    background: #e4586b;      /* 赤系バー */
}
.gokaku-private .year-text {
    background: #3572d4;      /* 青系バー */
}

/* 白ボックス（大学リスト） */
.list-wrapper {
    background: #ffffff;
    border-radius: 0 0 20px 20px;  /* 上の角丸をなくす */
    padding: 10px 20px 6px;
    margin-top: 0;                 /* 年度バーとくっつける */
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 28px;
    box-shadow: 0 3px 8px rgba(0,0,0,0.08);
}

.list-column ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.list-column li {
    display: flex;
    justify-content: space-between;
    padding: 6px 0;
    border-bottom: 1px dotted #ccc;
    font-size: 14px;
}
.list-column li:last-child {
    border-bottom: none;
}

.u-name { text-align: left; }
.u-num  { white-space: nowrap; }

/* 合計バー（三行目） */
.sum-footer {
    margin-top: 14px;
    background: #f3f3f3;
    border-radius: 16px;
    padding: 8px;
    text-align: center;
    font-weight: 800;
    font-size: 17px;
}
.sum-public  { color: #c62828; }
.sum-private { color: #1565c0; }

/* 管理画面用スイッチ */
.er-switch {
    position: relative;
    display: inline-block;
    width: 48px;
    height: 24px;
}
.er-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}
.er-slider {
    position: absolute;
    inset: 0;
    background: #ccc;
    border-radius: 24px;
    cursor: pointer;
    transition: .3s;
}
.er-slider:before {
    content: "";
    position: absolute;
    height: 18px;
    width: 18px;
    left: 3px;
    bottom: 3px;
    background: #fff;
    border-radius: 50%;
    transition: .3s;
}
.er-switch input:checked + .er-slider {
    background: #2ea2cc;
}
.er-switch input:checked + .er-slider:before {
    transform: translateX(24px);
}

/* スマホ */
@media (max-width: 768px) {
    .gokaku-container {
        flex-direction: column;
        gap: 24px;
        padding: 0 12px;
    }
    .gokaku-card {
        padding: 24px 18px 26px;
    }
    .list-wrapper {
        grid-template-columns: 1fr;
    }
}
