@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c&family=Noto+Sans+JP:wght@100..900&display=swap');

* { box-sizing: border-box; margin: 0; padding: 0; }
html { background-color: #e9e4d4; height: 100%; }
body { background-color: #ffffff; display: flex; flex-direction: column; font-family: "M PLUS Rounded 1c", sans-serif; min-height: 100%; }
a, button { user-select: none; -webkit-tap-highlight-color: transparent; }
button, input, select, textarea { font-size: inherit; }
hr { border: 0; border-top: 1px dashed #999999; }
input, select, textarea { background-color: #ffffff; border: 0; height: 100%; padding: 0.5em; width: 100%; }
iframe { border: 0; display: block; height: 50vh; margin: 0; width: 100%; }
textarea { display: block; }

button { align-items: center; background: conic-gradient( from -45deg, #dddddd, #333333, #dddddd ); border-radius: 1.5em; box-shadow: 1px 1px 2px black; color: #000000; cursor: pointer; display: flex; height: 3em; justify-content: center; margin: 1em auto; padding: 0 1em; position: relative; text-decoration: none; text-shadow: 1px 1px 1px #ffffff; white-space: nowrap; z-index: 0; }
button:active { background: conic-gradient( from -45deg, #000000, #aaaaaa, #000000 ); box-shadow: none; color: #ffffff; left: 1px; position: relative; text-shadow: 1px 1px 1px #000000; top: 1px; }
button::before { background: conic-gradient( from 135deg, #eeeeee, #aaaaaa, #eeeeee ); border-radius: 1.5em; content: ''; inset: 0.3em; position: absolute; z-index: -1; }
button:active::before { background: conic-gradient( from 135deg, #888888, #cccccc, #888888 ); }

img.icon { height: 1em; margin-right: 0.3em; }
.center { text-align: center; }
.red { color: red; }
.blue { color: blue; }

header { background-color: #ffd900; padding: 0.3em; text-align: center; }
header a { margin: 0 0.3em; }
header img { height: 3em; }

nav { width: 100%; }
nav ul { display: flex; list-style: none; }
nav ul li { flex: 1; font-weight: bold; text-align: center; }
nav ul li.selected { background-color: #666699; color: #ffffff; text-shadow: 1px 1px 2px #000000; }
nav ul li a { color: #000000; cursor: pointer; display: block; flex-direction: column; text-decoration: none; width: 100%; -webkit-tap-highlight-color: transparent; }
nav ul li .label { font-size: 70%; font-weight: normal; }

main { flex: 1; padding: 0.3em; }
main div.table { display: flex; flex-wrap: wrap; justify-content: center; }
main div.photo { align-items: center; border-radius: 0.6em; display: flex; margin: 1%; position: relative; width: 16%; }
main div.photo img { border-radius: 0.3em; display: block; width: 100%; }
main div.photo form { position: absolute; right: 0; top: 0; }
main div.photo form button { margin: 0; }

table { border: 1px solid #cccccc; border-width: 1px 0 0 1px; border-collapse: separate; border-spacing: 0; width: 100%; }
th { background-color: #eeeeee; text-align: left; vertical-align: top; }
th, td { border: 1px solid #cccccc; border-color: #ffffff #cccccc #cccccc #ffffff; padding: 0.3em; }

footer { background-color: #ffd900; font-weight: bold; padding: 0.3em; text-align: center; }
footer .brand1 { color: #d75792; text-shadow: 0px 2px 2px #ffffff, 2px 0px 2px #ffffff, 0px -2px 2px #ffffff, -2px 0px 2px #ffffff, 2px 2px 2px #ffffff, -2px 2px 2px #ffffff, 2px -2px 2px #ffffff, -2px -2px 2px #ffffff; }
footer .brand2 { color: #e41236; text-shadow: 0px 2px 2px #ffffff, 2px 0px 2px #ffffff, 0px -2px 2px #ffffff, -2px 0px 2px #ffffff, 2px 2px 2px #ffffff, -2px 2px 2px #ffffff, 2px -2px 2px #ffffff, -2px -2px 2px #ffffff; }
footer p a { color: #000000; font-size: 90%; font-weight: normal; text-decoration: none; }
