/* サイドメニューのスタイル */ nav { width: 250px; height: 100vh; position: fixed; top: 0; left: 0; background-color: #7289da; padding: 20px; box-shadow: 2px 0 5px rgba(0, 0, 0, 0.1); display: flex; flex-direction: column; justify-content: space-between; z-index: 1; } nav ul { list-style-type: none; padding: 0; } nav ul li { margin: 20px 0; } nav ul li a { text-decoration: none; color: #fff; font-weight: bold; } nav ul li a:hover { color: #dcdfe3; } /* 全体のリセットスタイル */ html, body { margin: 0; padding: 0; height: 100%; background-color: #f4f4f4; /* 背景色を指定 */ box-sizing: border-box; } * { box-sizing: inherit; /* 子要素にもbox-sizingの設定を適用 */ } /* メインコンテンツのスタイル */ main.with-sidebar { margin-left: 270px; /* サイドメニューがある場合に適用 */ padding: 20px; background-color: #f4f4f4; /* トップページの背景色と同じ */ min-height: 100vh; box-sizing: border-box; } main.full-width { margin-left: 0; /* サイドメニューがない場合に適用 */ padding: 20px; background-color: #f4f4f4; /* トップページの背景色と同じ */ min-height: 100vh; box-sizing: border-box; } /* フッターのスタイル */ footer { background-color: #f4f4f4; /* トップページと同じ背景色 */ padding: 10px; text-align: center; position: fixed; width: 100%; bottom: 0; } footer ul { list-style-type: none; padding: 0; margin: 10px 0; } footer ul li { display: inline; margin: 0 10px; } footer ul li a { text-decoration: none; color: #333; /* フッターのリンク色 */ } footer ul li a:hover { color: #5b6eae; /* ホバー時の色 */ } footer p { margin: 10px 0; color: #666; } /* ボタンのスタイル */ .button { display: inline-block; padding: 10px 20px; background-color: #7289da; /* トップページのボタンと同じ色 */ color: #fff; border: none; border-radius: 5px; text-decoration: none; transition: background-color 0.3s ease; } .button:hover { background-color: #5b6eae; /* ホバー時の色 */ } /* レスポンシブ対応 */ @media (max-width: 768px) { nav { width: 100%; height: auto; position: relative; } main.with-sidebar { margin-left: 0; padding-top: 100px; } footer { position: relative; } }