body { position: relative; width: 100vw; height: 100vh; margin: 0; padding: 0; } header { position: relative; width: 100%; height: 30%; display: flex; justify-content: center; align-items: flex-end; } header > img { position: relative; width: auto; height: 70%; } main { position: relative; width: 100%; height: 65%; display: flex; justify-content: center; align-items: center; } footer { position: relative; width: 100%; height: 5%; color: rgb(255, 255, 255); background-color: rgb(164, 164, 165); display: flex; justify-content: center; align-items: center; font-size: 0.9em; } .side-bar { position: relative; width: 35%; height: 100%; display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-end; } .side-bar > button { position: relative; width: 30%; height: 10%; outline: none; border: none; border-radius: 50px; background-image: linear-gradient(to bottom, rgb(250, 250, 250), rgb(220, 220, 220)); box-shadow: 1px 1px 3px rgba(100, 100, 100, 0.6); margin: 5% 0; cursor: pointer; } .side-bar > button:nth-child(2) { color: rgb(255, 255, 255); background-image: linear-gradient(to bottom, rgb(248, 129, 227), rgb(160, 53, 141)); } .side-bar > button:active { position: relative; top: 2px; } .projects { position: relative; width: 65%; height: 100%; } .project { position: relative; width: 60%; height: 20%; border-bottom: 1px solid rgb(0, 0, 0); margin-left: 5%; display: flex; justify-content: left; align-items: flex-end; } .project > .name { position: relative; width: 25%; height: 60%; display: flex; justify-content: center; align-items: center; } .project > .latest { position: relative; width: 60%; height: 60%; display: flex; justify-content: center; align-items: center; } .project > .latest::before { content: "最終更新日:"; position: relative; font-size: 0.9em; } .project > .btn { position: relative; width: 15%; height: 60%; display: flex; justify-content: space-evenly; align-items: center; } .project > .btn > img { position: relative; width: auto; height: 40%; cursor: pointer; } .project > .btn > img:active { position: relative; top: 2px; } div#error { position: absolute; left: 50%; bottom: 0.5em; transform: translateX(-50%); color: rgb(255, 0, 0); } .dialog { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.3); font-size: 0.9em; z-index: 999; display: none; } .dialog.open { display: block; } .dialog-content { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 40%; height: 50%; border: 3px solid rgb(0, 0, 0); border-radius: 30px; background-color: rgb(255, 255, 255); display: flex; flex-direction: column; justify-content: center; align-items: center; } .dialog-img { position: relative; width: 100%; height: 30%; } .dialog-img > img { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: auto; height: 50%; } .dialog-detail { position: relative; width: 100%; height: 40%; display: flex; flex-direction: column; justify-content: center; align-items: center; } .dialog-title { font-size: 2em; font-weight: bold; letter-spacing: 0.2em; padding-left: 0.2em; } .dialog-detail > div:nth-child(2) { font-size: 1em; padding-top: 0.5em; } .dialog-detail > div:nth-child(2) > span:nth-child(2) { margin-right: 0.3em; font-size: 1.1em; text-decoration: underline; } .dialog-detail > div:nth-child(2) > p { color: rgb(255, 0, 0); } .dialog-btn { position: relative; width: 100%; height: 30%; display: flex; justify-content: space-evenly; align-items: center; } .dialog-btn > button { position: relative; width: 20%; height: 40%; outline: none; border: none; border-radius: 50px; background-image: linear-gradient(to bottom, rgb(250, 250, 250), rgb(220, 220, 220)); box-shadow: 1px 1px 3px rgba(100, 100, 100, 0.6); cursor: pointer; } .dialog-btn > button:active { position: relative; top: 2px; }