header {
    background-color: #2c3e50;
    color: #ecf0f1;
    padding: 10px 0;
    position: fixed; /* ヘッダーを固定 */
    top: 0;  /* 上端に配置 */
    left: 0; /* 左端に配置 */
    width: 100%; /* 幅は100% */
    z-index: 1000; /* 他のコンテンツの上に表示 */
}
.spacer {
    height: 70px; /* ヘッダーの高さ分だけスペースを作成 */
}

#header-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.container {
    display: flex;
    flex-direction: row;
    max-width: 1200px;
    margin: 20px auto;
    padding: 0 20px;
}

.left-column {
    width: 250px;
    margin-right: 20px;
}

main {
    flex: 1;
}

footer {
    background-color: #2c3e50;
    color: #ecf0f1;
    text-align: center;
    padding: 10px 0;
}