:root {
  --color-background: #fffdfb;
  --theme1-light: #F6D8CB;
  --theme1-medium: #D0A694;
  --theme1-dim: #B07D67;
  --theme1-dark: #8A5843;
  --theme2-light: #B1B1C2;
  --theme2-medium: #8888A4;
  --theme2-dim: #66658C;
  --theme2-dark: #484776;
  --theme3-light: #FFF8E4;
  --theme3-medium: #EBDFBB;
  --theme3-dim: #C8B887;
  --theme3-dark: #A8955A;
  --theme4-light: #AABEB6;
  --theme4-medium: #7FA093;
  --theme4-dim: #5C8876;
  --theme4-dark: #3D725D;
  --font-dark: #202424;
}

html, body {
  margin: 0;
  padding: 0;
}

body {
  margin: 0 auto;
  font-family: "Poppins", sans-serif;
  background: var(--color-background);
}
body:before {
  display: none;
}

ul, li {
  list-style: none;
  padding: 0;
}

a {
  text-decoration: none;
}

#sidebar {
  display: none;
}

#about, #contents, #footer {
  text-align: center;
}

#about {
  width: 100%;
  z-index: 2;
}
#about .profile-zone {
  width: 100%;
  position: relative;
  margin: 3rem auto;
  background-color: var(--theme4-medium);
}
#about .profile-zone:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 4rem;
  top: -4rem;
  left: 0;
  background: var(--color-background);
}
#about .profile-zone .profile-img {
  width: 192px;
  aspect-ratio: 1;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  border: 4px solid var(--theme3-dark);
}
#about .profile-zone .personal-info {
  width: 100%;
  height: 200px;
  margin: auto;
  columns: 2;
  line-height: 250%;
  padding: 1rem 0;
  display: grid;
  grid-template-rows: repeat(5, 40px);
  grid-template-columns: repeat(2, 50%);
  grid-auto-flow: column;
}
#about .profile-zone .personal-info span {
  color: white;
  display: inline-flex;
  font-size: 0;
  vertical-align: middle;
  clip-path: inset(0 100% 0 0);
  transition: font-size 0.6s ease-in-out, clip-path 0.4s;
  transition-delay: 0s, 0.45s;
  transition-property: font-size, clip-path;
}
#about .profile-zone .personal-info img {
  width: 20px;
  aspect-ratio: 1;
  cursor: pointer;
  vertical-align: middle;
  transition: all 0.75s;
  filter: invert(10%) sepia(4%) saturate(5321%) hue-rotate(201deg) brightness(99%) contrast(90%);
}
#about .profile-zone .personal-info a {
  display: inline-flex;
  cursor: pointer;
}
#about .profile-zone .personal-info a:hover img {
  width: 28px;
  filter: brightness(0) saturate(100%) invert(77%) sepia(47%) saturate(1006%) hue-rotate(358deg) brightness(104%) contrast(105%);
}
#about .profile-zone .personal-info li {
  height: 40px;
}
#about .profile-zone .personal-info li:nth-child(n+1):nth-child(-n+5) {
  text-align: right;
}
#about .profile-zone .personal-info li:nth-child(n+1):nth-child(-n+5) img {
  order: 1;
  margin-right: 0.5rem;
}
#about .profile-zone .personal-info li:nth-child(n+1):nth-child(-n+5) div {
  order: 2;
}
#about .profile-zone .personal-info li:nth-child(n+6):nth-child(-n+10) {
  text-align: left;
}
#about .profile-zone .personal-info li:nth-child(n+6):nth-child(-n+10) img {
  order: 2;
  margin-left: 0.5rem;
}
#about .profile-zone .personal-info li:nth-child(n+6):nth-child(-n+10) div {
  order: 1;
}
#about .profile-zone .personal-info li:nth-child(1) {
  margin-right: 5.25rem;
}
#about .profile-zone .personal-info li:nth-child(2) {
  margin-right: 6.25rem;
}
#about .profile-zone .personal-info li:nth-child(3) {
  margin-right: 6.75rem;
}
#about .profile-zone .personal-info li:nth-child(4) {
  margin-right: 6.25rem;
}
#about .profile-zone .personal-info li:nth-child(5) {
  margin-right: 5.25rem;
}
#about .profile-zone .personal-info li:nth-child(6) {
  margin-left: 5.25rem;
}
#about .profile-zone .personal-info li:nth-child(7) {
  margin-left: 6.25rem;
}
#about .profile-zone .personal-info li:nth-child(8) {
  margin-left: 6.75rem;
}
#about .profile-zone .personal-info li:nth-child(9) {
  margin-left: 6.25rem;
}
#about .profile-zone .personal-info li:nth-child(10) {
  margin-left: 5.25rem;
}
#about .name-zone {
  margin-top: -2rem;
}
#about .name-zone h1,
#about .name-zone h2 {
  margin: 0;
}
#about .name-zone h1 {
  color: var(--theme3-dark);
}
#about .name-zone h2 {
  color: var(--theme4-dark);
}

#contents {
  width: 85%;
  margin-left: 7.5%;
  text-align: left;
}
#contents ul {
  margin-bottom: 3rem;
}
#contents li {
  margin-top: 2rem;
  line-height: 100%;
}
#contents .subject-name {
  margin: 3rem auto;
  color: var(--font-dark);
  position: relative;
  margin-left: -16px;
  margin-bottom: 0;
  padding-bottom: 12px;
  border-bottom: 1px solid;
}
#contents .subject-name div {
  width: 32px;
  aspect-ratio: 1;
  margin-right: 8px;
  margin-left: 0;
  transform: translateY(6px);
  display: inline-flex;
}
#contents .subject-icon {
  width: 32px;
  aspect-ratio: 1;
  vertical-align: sub;
  filter: invert(27%) sepia(2%) saturate(3297%) hue-rotate(8deg) brightness(92%) contrast(82%);
}
#contents .item {
  position: relative;
}
#contents .item:nth-child(1) {
  margin-top: -0.5rem;
}
#contents .content-header + ul {
  margin-top: -1rem;
}
#contents .subject, #contents .item {
  opacity: 0;
  transition: all 0.8s;
  transform: translateY(40px);
}
#contents .appear {
  opacity: 1;
  transform: none;
  transition-delay: 0.3s;
}
#contents .content-header {
  display: table;
  width: 100%;
  position: relative;
  margin: 1rem auto;
}
#contents .content-header:before {
  content: "";
  position: absolute;
  visibility: hidden;
  top: 6px;
  left: -56px;
  width: 16px;
  aspect-ratio: 1;
  background: var(--theme3-dark);
  border-radius: 50%;
}
#contents .content-header p, #contents .content-header span {
  line-height: 150%;
}
#contents .content-header p {
  font-weight: 600;
  font-size: 16px;
  color: var(--font-dark);
}
#contents .content-date {
  font-size: 14px;
  width: 224px;
  text-align: left;
}
#contents .content-date img {
  width: 20px;
  aspect-ratio: 1;
  margin-right: 8px;
  vertical-align: sub;
}
#contents .subitem {
  list-style: square;
  margin-left: 2rem;
  margin-top: 0.5rem;
}
#contents em {
  padding: 0 4px 0 1px;
}
#contents a {
  color: var(--theme4-dark);
  text-decoration: underline 1px;
  text-underline-position: under;
}
#contents p {
  line-height: 150%;
}
#contents code {
  margin: 0 2px;
  padding: 1px 5px;
  font-size: 14px;
  border: 1px solid var(--theme3-dim);
  background-color: var(--color-background);
  border-radius: 3px;
  font-family: "Courier New", Courier, monospace;
  color: var(--font-dark);
  position: relative;
  top: -1px;
  vertical-align: middle;
}
#contents img[alt=devicon] {
  height: 60px;
  width: 60px;
}
#contents ul + p {
  margin-top: -2rem;
}
#contents .content-header + .item {
  margin-top: 0;
}
#contents img {
  aspect-ratio: auto;
  max-width: 320px;
}

#footer {
  padding: 1rem;
  background: var(--theme3-medium);
  font-size: 14px;
}
#footer a {
  color: var(--theme1-dark);
  font-weight: 600;
}

@media (min-width: 768px) {
  body::before {
    content: "";
    display: block;
    position: fixed;
    left: calc(50% - min(512px, 33%) - 50px);
    width: 3px;
    height: 100%;
    margin-top: -64px;
    background: var(--theme3-medium);
  }
  #about {
    margin-bottom: 6rem;
  }
  #about .profile-zone {
    margin: 4rem auto;
  }
  #about .profile-zone .profile-img {
    width: 256px;
  }
  #about .profile-zone .personal-info {
    min-width: 768px;
  }
  #about .profile-zone .personal-info a:hover span {
    font-size: 1rem;
    clip-path: inset(0 0 0 0);
  }
  #about .profile-zone .personal-info li:nth-child(1) {
    margin-right: 7.25rem;
  }
  #about .profile-zone .personal-info li:nth-child(2) {
    margin-right: 8.25rem;
  }
  #about .profile-zone .personal-info li:nth-child(3) {
    margin-right: 8.75rem;
  }
  #about .profile-zone .personal-info li:nth-child(4) {
    margin-right: 8.25rem;
  }
  #about .profile-zone .personal-info li:nth-child(5) {
    margin-right: 7.25rem;
  }
  #about .profile-zone .personal-info li:nth-child(6) {
    margin-left: 7.25rem;
  }
  #about .profile-zone .personal-info li:nth-child(7) {
    margin-left: 8.25rem;
  }
  #about .profile-zone .personal-info li:nth-child(8) {
    margin-left: 8.75rem;
  }
  #about .profile-zone .personal-info li:nth-child(9) {
    margin-left: 8.25rem;
  }
  #about .profile-zone .personal-info li:nth-child(10) {
    margin-left: 7.25rem;
  }
  #contents {
    width: 78%;
    margin-left: 17%;
  }
  #contents img {
    max-width: 640px;
  }
  #contents .subject {
    margin-top: 6rem;
  }
  #contents .item:nth-child(1) {
    margin-top: 2rem;
  }
  #contents .item ul {
    margin-top: 0;
  }
  #contents .subject-name {
    margin-left: auto;
    margin-bottom: 3rem;
    padding: 0;
    border: none;
  }
  #contents .subject-name div {
    background: var(--theme3-dim);
    border-radius: 50%;
    position: absolute;
    top: -16px;
    padding: 8px;
    margin-right: 24px;
    margin-left: -72px;
    transform: none;
    display: inline-table;
  }
  #contents .content-date {
    font-size: 16px;
  }
  #contents .content-date img {
    width: 24px;
  }
  #contents .content-header p {
    font-size: 18px;
  }
  #contents .content-header:before {
    visibility: visible !important;
  }
  #contents .content-header p,
  #contents .content-date {
    display: table-cell;
  }
}
@media (min-width: 1024px) {
  #about {
    margin-bottom: 8rem;
  }
  #sidebar {
    display: block;
    position: fixed;
    width: 128px;
    top: 320px;
    right: 0;
    z-index: 1;
    font-size: 14px;
  }
  #sidebar li {
    margin: 6px;
    margin-right: 0;
    padding: 4px 24px 4px 12px;
    border-radius: 8px 0 0 8px;
    background: var(--theme3-medium);
    transition: all 0.5s;
    cursor: pointer;
  }
  #sidebar li a {
    color: var(--font-dark);
    text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.75);
  }
  #sidebar li:hover, #sidebar li.active {
    padding-left: 24px;
    padding-right: 12px;
    background: var(--theme1-medium);
  }
  #sidebar li:hover a, #sidebar li.active a {
    color: var(--font-dark);
  }
  #contents {
    width: 66%;
    margin: auto;
    max-width: 1024px;
  }
  #contents img {
    max-width: 100%;
  }
}

/*# sourceMappingURL=style.css.map */