html[lang="en"] [data-lang="ja"],
html[lang="ja"] [data-lang="en"] { display: none; }

body {
  margin: 0;
  background: #fff;
  color: #222;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial,
    "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
  font-size: 15px;
  line-height: 1.7;
}

.container {
  max-width: 760px;
  margin: 0 auto;
  padding: 40px 20px 60px;
}

a { color: #1f3f73; text-decoration: none; }
a:hover { text-decoration: underline; }

.lang { text-align: right; margin: 0; font-size: 14px; }

h1 { font-size: 26px; font-weight: 600; margin: 8px 0 8px; }

.affil { margin: 0 0 8px; color: #444; }
.contact { margin: 0; }

section { margin-top: 32px; }

h2 {
  font-size: 18px;
  font-weight: 600;
  margin: 0 0 12px;
  padding-bottom: 4px;
  border-bottom: 2px solid #1f3f73;
}

h3 { font-size: 15px; font-weight: 600; margin: 16px 0 4px; }

p { margin: 0 0 10px; }

.item { margin-bottom: 14px; }
.item p { margin: 0 0 2px; }
.item-title { font-weight: 600; }
.date { font-weight: normal; color: #666; }

ol, ul { margin: 0; padding-left: 24px; }
li { margin-bottom: 6px; }

table.cv { border-collapse: collapse; }
table.cv td { padding: 2px 0; vertical-align: top; }
table.cv td:first-child { white-space: nowrap; padding-right: 20px; color: #555; }

footer { margin-top: 48px; font-size: 13px; color: #888; }

@media (max-width: 600px) {
  .container { padding-top: 24px; }
  table.cv, table.cv tbody, table.cv tr, table.cv td { display: block; }
  table.cv tr { margin-bottom: 6px; }
  table.cv td:first-child { padding: 0; font-size: 13px; }
}
