header.top-navigation {
  width: 100%;
  position: fixed;
  top: 0;
  z-index: 5;
  background-color: rgb(253, 161, 178);
  box-shadow: rgba(0, 0, 0, 0.13) 0px 0px 10px 4px;
}

div.container {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: rgba(255, 255, 255, 0);
  box-shadow: 0 0 10px 4px #00000000;
  transition: background-color 0.2s ease;
  padding: 0.5rem 1rem;
}

div.top-navigation-wrap {}

div.top-navigation-wrap > img.chocopalette-logo {
  height: 70px;
  width: 150px;
}

div.top-navigation-wrap > a:link {
  font-size: 28px;
  font-weight: bold;
  color: #D77A87;
}

div.top-navigation-main {}

nav.main-nav {}

ul.main-menu {
  display: flex;
  align-items: center;
  justify-content: space-between;
  list-style: none;
  gap: 1rem;
}

li.top-level-entry-container {
  position: relative;
}

li.top-level-entry-container > a:link,
li.top-level-entry-container > a:visited,
li.top-level-entry-container.active > a:link,
li.top-level-entry-container.active > a:visited {
  font-family: "Titan One", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 28px;
  color: #FFF;
}

div.members {
  display: flex;
  justify-content: center;
  gap: 3rem;
  margin-top: 8rem;
}

div.members > div.members-1,
div.members > div.members-2 {
  display: flex;
  justify-content: center;
  gap: 3rem;
}

div.members a.member {
  position: relative;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  overflow: hidden;
  text-align: center;
}

div.members a.member > span.name {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #FFF;
  font-size: 1.5rem;
  font-weight: bold;
  opacity: 0;
  z-index: 3;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

div.members a.member:hover > span.name {
  opacity: 1;
}

div.members a.member.selected {
  border: 5px solid #CCC !important;
}

div.members a.member::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(215, 122, 135, 0.6);
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 2;
}

div.members a.member:hover::before {
  opacity: 1;
}

div.members a.member > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

div.members a.member:has(img.yuta) {
  border: 5px solid #00A760;
  border-radius: 50%;
}

div.members a.member:has(img.hiroki) {
  border: 5px solid #0068B7;
  border-radius: 50%;
}

div.members a.member:has(img.ren) {
  border: 5px solid #FFF;
  border-radius: 50%;
}

div.members a.member:has(img.futo) {
  border: 5px solid #FFF33F;
  border-radius: 50%;
}

div.members a.member:has(img.reo) {
  border: 5px solid #E83828;
  border-radius: 50%;
}

div.members a.member:has(img.arata) {
  border: 5px solid #714F9D;
  border-radius: 50%;
}

div.members > div.members-1 > a.member > img.yuta {
  object-position: center 30%;
}

div.members > div.members-1 > a.member > img.hiroki {
  object-position: center 30%;
}

div.members > div.members-1 > a.member > img.ren {
  object-position: center 15%;
}

div.members > div.members-2 > a.member > img.futo {
  object-position: center 20%;
}

div.members > div.members-2 > a.member > img.reo {
  object-position: center 15%;
}

div.members > div.members-2 > a.member > img.arata {
  object-position: center 30%;
}

main.main-content {
  width: 100%;
  display: flex;
  flex-direction: column;
}

article.main-page-content {
  margin-bottom: 0;
  padding: 0;
}

div.section-wrapper > section > h2 {
  text-align: center;
}

div.section-wrapper > section > h2 > a:link,
div.section-wrapper > section > h2 > a:visited {
  color: #D77A87;
}

div.section-wrapper {
  display: flex;
  justify-content: center;
}

section {
  width: 60vw;
  display: flex;
  border-radius: 10px;
  background-color: #FFF;
  margin: 2rem;
  padding: 2rem;
}

section > div.section-content-image {
  width: 100%;
}

section > div.section-content-image > img {
  border-radius: 10px;
}

section > div.section-content-infomation {
  width: 100%;
  padding: 1rem;
}

section > div.section-content-infomation > header.profile-name {
  font-size: 2rem;
}

section > div.section-content-infomation > div.profile-sns {
  display: flex;
  gap: 1rem;
  border-top: 1px solid #CCC;
  border-bottom: 1px solid #CCC;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

section > div.section-content-infomation > div.profile-sns > a > i {
  color: #000;
}

section > div.section-content-infomation > div.profile-content {
}

section > div.section-content-infomation > div.profile-content > dl.row > dt.title {
  font-size: clamp(14px, 1vw, 30px);
}

section > div.section-content-infomation > div.profile-content > dl.row > dd.text {
  font-size: clamp(14px, 0.9vw, 30px);
  color: #333;
}

div.section-content.overflow {
  height: 300px;
  overflow: scroll;
  overflow-x: visible;
}

div.section-content > ul > li.list-item {
  margin-top: 0.5rem;
  margin-bottom: 1rem;
}

div.section-content > ul > li.list-item > a > div.date {
  font-weight: bold;
}

footer.page-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #383937;
  color: #FFF;
}

footer.page-footer > p.page-footer-legal-text {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

@media screen and (max-width: 1450px) {
  div.members {
    display: grid;
  }

  section {
    width: 80vw;
  }
}

@media screen and (max-width: 767px) {
  div.top-navigation-wrap > img.chocopalette-logo {
    height: 50px;
    width: 100px;
  }

  li.top-level-entry-container > a:link,
  li.top-level-entry-container > a:visited,
  li.top-level-entry-container.active > a:link,
  li.top-level-entry-container.active > a:visited {
    font-size: 20px;
  }

  div.members {
    margin-top: 6rem;
    gap: 1.5rem;
  }

  div.members > div.members-1,
  div.members > div.members-2 {
    gap: 1.5rem;
  }

  div.members a.member {
    width: 150px;
    height: 150px;
  }

  div.members a.member > span.name {
    font-size: 1rem;
  }

  section {
    width: 100vw;
  }

  section > div.section-content-infomation > header.profile-name {
    font-size: 1.5rem;
  }

  section > div.section-content-infomation > div.profile-sns {
    margin-top: 0.3rem;
    margin-bottom: 0.3rem;
    padding-top: 0.3rem;
    padding-bottom: 0.3rem;
  }

  section > div.section-content-infomation > div.profile-sns > a {
    display: flex;
    align-items: center;
  }

  .fa-2x {
    font-size: 1.5em !important;
  }

  footer.page-footer > p.page-footer-legal-text {
    font-size: 14px;
  }
}

@media screen and (max-width: 530px) {
  div.members {
    margin-top: 5rem;
    gap: 1rem;
  }

  div.members > div.members-1,
  div.members > div.members-2 {
    gap: 1rem;
  }

  div.members a.member {
    width: 100px;
    height: 100px;
  }

  div.members a.member > span.name {
    font-size: 0.8rem;
  }

  section {
    display: block;
  }

  section > div.section-content-infomation {
    padding-left: 0;
    padding-right: 0;
  }
}
