@charset "UTF-8";
@media screen and (min-width: 1025px) {
  .is-sp {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .is-pc {
    display: none !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .is-pc {
    display: none !important;
  }
}

html,
body {
  scroll-behavior: smooth;
}

body {
  font-family: "Inter", "Noto Sans JP", sans-serif;
  color: #1f1f1f;
  background: #4D0712;
}

figure {
  margin: 0;
}

.text__bold {
  font-weight: bold;
}

.text__red {
  color: #8e1828;
}

.top__contents__container {
  background: #4D0712;
  padding: 16px 16px 0;
  gap: 16px;
}
@media screen and (min-width: 1025px) {
  .top__contents__container {
    display: grid; /* Grid レイアウトを有効にする */
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    grid-template-areas: "area1 area1 area1 area1 area2" "area1 area1 area1 area1 area2" "area1 area1 area1 area1 area5" "area1 area1 area1 area1 area5" "area3 area4 area4 area4 area5" "area3 area4 area4 area4 area6" "area3 area4 area4 area4 area6" "area7 area7 area7 area7 area7";
  }
}
@media screen and (max-width: 767px) {
  .top__contents__container {
    display: flex;
    flex-direction: column;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .top__contents__container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "area1 area1" "area1 area1" "area1 area1" "area2 area5" "area6 area3" "area4 area4" "area7 area7";
  }
}

.kv__wrapper {
  margin: 36px 36px 32px;
}
@media screen and (max-width: 767px) {
  .kv__wrapper {
    margin: 15px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .kv__wrapper {
    margin: 15px;
  }
}

.kv__contents {
  position: relative;
  height: 200px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .kv__contents {
    height: 150px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .kv__contents {
    height: 150px;
  }
}

.kv__img {
  margin: 0;
  height: 100%;
  width: 100%;
  position: relative;
  display: block;
}
.kv__img::after {
  content: "";
  position: absolute;
  inset: 0; /* top:0; right:0; bottom:0; left:0; の省略 */
  border-radius: 8px;
  background: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), linear-gradient(rgba(142, 24, 40, 0.05), rgba(142, 24, 40, 0.05));
}
.kv__img img {
  border-radius: 8px;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.kv__title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 40px;
  color: #fff;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.4px;
  width: 100%;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .kv__title {
    font-size: 32px;
    letter-spacing: 0.32px;
  }
}

.section__wrapper {
  background: #fff;
  padding: 32px;
  border-radius: 8px;
  max-width: 1000px;
  width: 100%;
}
.section__wrapper.--schedule {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 1025px) {
  .section__wrapper.--schedule {
    width: 35%;
  }
}
@media screen and (max-width: 767px) {
  .section__wrapper {
    padding: 24px;
  }
}

.section__wrapper__top {
  margin-bottom: auto;
}

.section__items {
  display: flex;
  flex-direction: column;
  gap: 50px;
}
@media screen and (max-width: 767px) {
  .section__items {
    gap: 40px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .section__items {
    gap: 40px;
  }
}
.section__items.--gapBig {
  gap: 96px;
}
@media screen and (max-width: 767px) {
  .section__items.--gapBig {
    gap: 64px;
  }
}

.section__item ol {
  list-style-type: decimal;
  padding-left: 1.5em;
}
.section__item.--mt {
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .section__item.--mt {
    margin-top: 25px;
  }
}

.section__item--list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.section__btn {
  padding: 16px 57px;
  display: inline-block;
  border-radius: 900px;
  border: 1px solid rgba(31, 31, 31, 0.15);
  font-family: "Inter", sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.14px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .section__btn {
    padding: 12px 54px;
  }
}
.section__btn::after {
  position: absolute;
  content: "";
  background: transparent url(/img/common/diagonal-arrow.svg) no-repeat center center/contain;
  top: 50%;
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
  right: 20px;
}
@media screen and (max-width: 767px) {
  .section__btn::after {
    width: 10px;
    height: 10px;
  }
}

.section__title {
  padding-left: 14px;
  color: #8e1828;
  font-family: "Inter", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.2px;
  font-size: 20px;
  position: relative;
  margin-bottom: 16px;
}
.section__title.--schedule {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .section__title {
    line-height: 1.4;
    padding-left: 12px;
    margin-bottom: 14px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .section__title {
    line-height: 1.4;
    padding-left: 12px;
    margin-bottom: 14px;
  }
}
.section__title::before {
  position: absolute;
  content: "";
  width: 2px;
  height: 100%;
  background: #8e1828;
  top: 0;
  left: 0;
}

.section__text {
  font-size: 14px;
  font-family: "Inter", sans-serif;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.14px;
}
.section__text span, .section__text a {
  font: inherit;
}

.section__contact {
  display: flex;
  flex-direction: column;
}

.section__contact--item {
  padding-top: 16px;
  padding-bottom: 16px;
  display: flex;
  align-items: center;
  border-bottom: 1px solid rgba(31, 31, 31, 0.15);
}

.section__contact--item:first-child {
  border-top: 1px solid rgba(31, 31, 31, 0.15);
}

.section__contact--img {
  width: 25px;
  margin-right: 10px;
}

.section__contact--text {
  font-family: "Inter", sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.14px;
}

.section__btn__container {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.section__lead {
  width: 100%;
  font-family: "Inter", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.14px;
  padding: 16px 20px;
  border-radius: 6px;
  background: rgba(31, 31, 31, 0.05);
}

.section__text a,
.section__lead a {
  color: #8e1828;
  text-decoration: underline;
  text-underline-offset: 20%;
}

.section__wrapper--row {
  background: #fff;
  padding: 32px;
  border-radius: 8px;
  width: calc((100% - 32px) / 2);
  align-self: stretch;
}
@media screen and (min-width: 1025px) {
  .section__wrapper--row {
    max-width: 484px;
  }
}
@media screen and (max-width: 767px) {
  .section__wrapper--row {
    width: 100%;
    padding: 24px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .section__wrapper--row {
    width: 100%;
    padding: 24px;
  }
}

.links__btn__container {
  margin-top: 20px;
}

.links__btn {
  padding-top: 16px;
  padding-bottom: 16px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.14px;
  display: inline-block;
  border-bottom: 1px solid rgba(31, 31, 31, 0.15);
  width: 100%;
  position: relative;
}
.links__btn::after {
  position: absolute;
  content: "";
  width: 12px;
  height: 12px;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  background: transparent url(/img/common/diagonal-arrow.svg) no-repeat center center/contain;
}

.links__btn__container li:first-child .links__btn {
  border-top: 1px solid rgba(31, 31, 31, 0.15);
}

.section__bulletlist {
  padding-left: 1em;
  text-indent: -1em;
}
.section__bulletlist > li::before {
  display: inline;
  content: "・";
}

.section__question__qtitle,
.section__question__answer {
  display: flex;
  align-items: baseline;
}
.section__question__qtitle > *,
.section__question__answer > * {
  font: inherit;
}

.section__question__qtitle {
  margin-bottom: 12px;
  font-size: 18px;
  line-height: 1.4;
  font-weight: bold;
}

.section__question__answer {
  font-size: 14px;
  line-height: 1.8;
  font-weight: normal;
}

.section__question__qtitle::before,
.section__question__answer::before {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  content: "";
  margin-right: 12px;
  width: 25px;
  height: 25px;
  background: #1f1f1f;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.4;
  border-radius: 50%;
}

.section__question__qtitle::before {
  content: "Q";
  background: #8e1828;
}

.section__question__answer::before {
  content: "A";
  background: #8f8f8f;
}

.section__question__inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}

.breadcrumbs {
  margin-left: 16px;
  color: #fff;
  display: flex;
  flex-direction: row;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}

.breadcrumbs__item__link {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: underline;
}
.breadcrumbs__item__link span {
  font-weight: inherit;
}

.breadcrumbs__item {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
}

.section__container {
  display: flex;
  margin-left: 36px;
  margin-right: 36px;
  gap: 32px;
  justify-content: center;
  margin-bottom: 32px;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .section__container {
    margin-left: 15px;
    margin-right: 15px;
    flex-direction: column;
    gap: 16px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .section__container {
    margin-left: 15px;
    margin-right: 15px;
    flex-direction: column;
    gap: 16px;
  }
}
.section__container.--flex {
  display: flex;
  align-items: stretch;
}

.section__sidebar {
  color: #fff;
  width: 100%;
}
@media screen and (min-width: 1025px) {
  .section__sidebar {
    position: sticky;
    width: 20%;
    top: 32px;
    min-width: 230px;
  }
}
@media screen and (max-width: 767px) {
  .section__sidebar {
    margin-top: 21px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .section__sidebar {
    margin-top: 21px;
  }
}

.sidebar__accordion:first-of-type:not(:last-of-type) {
  margin-bottom: 50px;
}

.section__sidebar__title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.2px;
  margin-bottom: 20px;
}

.section__sidebar__items {
  display: flex;
  flex-direction: column;
}
.section__sidebar__items.--pl40 {
  padding-left: 40px;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.section__sidebar__items.--pl40 .section__sidebar__item:first-of-type {
  border-top: 0;
}

.section__sidebar__item {
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.section__sidebar__item--link {
  display: block;
  width: 100%;
  padding-top: 24px;
  padding-bottom: 24px;
  padding-right: 40px;
  font-weight: 700;
  letter-spacing: 0.16px;
  line-height: 1.4;
}

a.section__sidebar__item--link {
  position: relative;
  width: 100%;
}
a.section__sidebar__item--link::after {
  position: absolute;
  content: "";
  width: 14px;
  height: 14px;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  background: transparent url(/img/common/arrow-white-next.svg) no-repeat center center/contain;
}

.section__sidebar__item:first-child {
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.sidebar__accordion + .sidebar__member__title {
  margin-top: 24px;
}

.section__sidebar__item__list__wrapper {
  padding: 24px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 8px;
}
@media screen and (min-width: 1025px) {
  .section__sidebar__item__list__wrapper {
    overflow-y: scroll;
    max-height: 40vh;
  }
}

.section__sidebar__item__list {
  padding-left: 28px;
  gap: 17px;
  display: flex;
  flex-direction: column;
  position: relative;
}
.section__sidebar__item__list::before {
  position: absolute;
  content: "";
  background: rgba(255, 255, 255, 0.15);
  width: 1px;
  height: 100%;
  left: 4px;
  top: 0;
}

.section__sidebar__item__list--item a {
  color: #fff;
  position: relative;
  font-size: 14px;
  line-height: 1.8;
  font-weight: 700;
  text-decoration: underline;
}
.section__sidebar__item__list--item a::before {
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #fff;
  top: 0.6em;
  transform: translateY(-50%);
  left: -28px;
}

.box-big1 {
  grid-area: area1;
}

.box-big2 {
  grid-area: area2;
}

.box-big3 {
  grid-area: area3;
}

.box-big4 {
  grid-area: area4;
}

.box-big5 {
  grid-area: area5;
}

.box-big6 {
  grid-area: area6;
}

.box-big7 {
  grid-area: area7;
}

.top__container__wrapper {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.top__container__wrapper__title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.2px;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .top__container__wrapper__title {
    margin-bottom: 8px;
    margin-top: 16px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .top__container__wrapper__title {
    margin-bottom: 8px;
    margin-top: 16px;
  }
}

.top__container {
  background: #fff;
  border-radius: 8px;
  height: 100%;
}
@media screen and (min-width: 1025px) {
  .top__container.--w360 {
    min-width: 360px;
  }
}

@media screen and (min-width: 1230px) {
  .header {
    position: fixed;
    bottom: 32px;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: 100;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 1210px;
  }
}

.header__contents {
  padding-left: 28px;
  padding-right: 12px;
  color: rgba(255, 255, 255, 0.6);
  background: rgba(77, 7, 18, 0.85);
  border-radius: 8px;
  box-shadow: 0 0 14px 2px rgba(0, 0, 0, 0.35);
  -webkit-backdrop-filter: blur(14px);
          backdrop-filter: blur(14px);
  display: flex;
  align-items: center;
  width: auto;
  height: 68px;
  margin: 0 auto;
}
@media screen and (max-width: 1229px) {
  .header__contents {
    display: none !important;
  }
}

.header__nav {
  display: flex;
  flex-direction: row;
  gap: 24px;
}

.header__nav__item {
  position: relative;
  transition: background 0.3s ease;
}
.header__nav__item:hover::after, .header__nav__item.--selected::after {
  position: absolute;
  content: "";
  width: 100%;
  bottom: 0;
  height: 6px;
  background: #fff;
  border-radius: 9999px 9999px 0 0;
  left: 0;
}

.header__nav__item.--selected .header__nav__item__link {
  color: #fff;
}

.header__nav__item__link {
  display: block;
  padding-top: 24px;
  padding-bottom: 24px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.14px;
}

.header__btn {
  margin-left: 28px;
  padding: 12px 0;
}

.header__blog {
  display: inline-flex;
  padding: 12px 46px 12px 48px;
  background: #fff;
  color: #8e1828;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.14px;
  border-radius: 9999px;
  position: relative;
}
.header__blog::after {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  background: transparent url(/img/common/diagonal-arrow.svg) no-repeat center center/contain;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
}

.header__contact {
  background: #8e1828;
  border-radius: 900px;
  padding: 12px 43px;
  color: #fff;
  font-size: 14px;
  line-height: 1.4;
  letter-spacing: 0.14px;
  font-weight: 700;
  position: relative;
  margin-left: 12px;
}
.header__contact::after {
  position: absolute;
  content: "";
  width: 12px;
  height: 12px;
  top: 50%;
  transform: translateY(-50%);
  right: 17px;
  background: transparent url(/img/common/arrow-white-next.svg) no-repeat center center/contain;
}

.header__contents__sp {
  background: #fff;
  margin-left: 16px;
  margin-right: 16px;
  border-radius: 8px;
  display: none;
  position: fixed;
  top: 16px;
  left: 0;
  width: calc(100% - 32px);
  height: calc(100vh - 36px);
  height: calc(100dvh - 36px);
  background: #fff;
  z-index: 40;
  overflow-y: auto;
  padding: 24px 24px 128px 24px;
  overscroll-behavior: none;
}
@media screen and (min-width: 1230px) {
  .header__contents__sp {
    display: none;
  }
}

.hamburger__menu {
  margin-top: 72px;
}
@media screen and (max-width: 767px) {
  .hamburger__menu {
    margin-top: 50px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .hamburger__menu {
    margin-top: 50px;
  }
}

.hamburger__blog {
  padding: 12px 54px;
  border-radius: 900px;
  background: #fff;
  color: #8e1828;
  border: 1px solid #8e1828;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.14px;
  position: relative;
  display: inline-block;
  margin-top: 40px;
  margin-bottom: 40px;
}
.hamburger__blog::after {
  position: absolute;
  content: "";
  background: transparent url(/img/common/diagonal-arrow.svg) no-repeat center center/contain;
  width: 10px;
  height: 10px;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}

.nav__btn {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.25);
  position: fixed;
  transform: translateX(-50%);
  left: 50%;
  bottom: 42px;
  background: rgba(77, 7, 18, 0.85);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  z-index: 50;
}
@media screen and (min-width: 1230px) {
  .header__contents__sp:not([style*="display: block"]) + .nav__btn {
    display: none;
  }
}

.nav__btn__line {
  position: relative;
  width: 24px;
  height: 16px;
  margin-bottom: 10px;
}

.nav__btn__line--bar {
  position: absolute;
  width: 100%;
  height: 2px;
  border-radius: 2px;
  background: #fff;
  transition: all 0.6s ease;
}
.nav__btn__line--bar:nth-child(1) {
  top: 0;
}
.nav__btn__line--bar:nth-child(2) {
  top: 7px;
}
.nav__btn__line--bar:nth-child(3) {
  top: 14px;
}

.nav__btn.is-open .nav__btn__line--bar:nth-child(1) {
  transform: rotate(37deg);
  top: 7px;
}
.nav__btn.is-open .nav__btn__line--bar:nth-child(2) {
  opacity: 0;
}
.nav__btn.is-open .nav__btn__line--bar:nth-child(3) {
  transform: rotate(-37deg);
  top: 7px;
}

.nav__btn__text {
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.12px;
}

.nav__bg {
  background: #4D0712;
  width: 100%;
  height: 100vh;
  z-index: 39;
  position: fixed;
  top: 0;
  left: 0;
  display: none;
}
@media screen and (min-width: 1230px) {
  .nav__bg {
    display: none;
  }
}

@media screen and (min-width: 1025px) {
  .fv {
    max-height: 410px;
    height: 100%;
  }
}

.fv__pic {
  position: relative;
  height: 100%;
  width: 100%;
}
.fv__pic figure {
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 1025px) {
  .fv__pic {
    aspect-ratio: 1032/410;
  }
}
@media screen and (max-width: 767px) {
  .fv__pic {
    aspect-ratio: 361/440;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .fv__pic {
    aspect-ratio: 361/440;
  }
}
.fv__pic img {
  border-radius: 8px;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.fv__pic::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.3); /* ← ここで薄い黒オーバーレイ */
  pointer-events: none;
  border-radius: 8px;
}

.fv__contents {
  position: relative;
  height: 100%;
}

.fv__logo {
  position: absolute;
  z-index: 2;
  top: -1px;
  left: -1px;
  background: transparent url(/img/common/fv-logo-bg.svg) no-repeat left center/contain;
}
.fv__logo a {
  display: inline-block;
  padding: 12px 28px 28px 14px;
}
@media screen and (max-width: 767px) {
  .fv__logo a {
    padding: 8px 20px 20px 4px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .fv__logo a {
    padding: 8px 20px 20px 4px;
  }
}
.fv__logo img {
  width: 222px;
}
@media screen and (max-width: 767px) {
  .fv__logo img {
    width: 166px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .fv__logo img {
    width: 166px;
  }
}

.fv__title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  width: 67px;
}
@media screen and (max-width: 767px) {
  .fv__title {
    width: 13.2315521628vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .fv__title {
    width: 13.2315521628vw;
  }
}

.fv__btn__wrapper {
  position: absolute;
  display: inline-flex;
  z-index: 2;
  width: -moz-max-content;
  width: max-content;
}
@media screen and (min-width: 1025px) {
  .fv__btn__wrapper {
    right: 28px;
    bottom: 28px;
  }
}
@media screen and (max-width: 767px) {
  .fv__btn__wrapper {
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .fv__btn__wrapper {
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
  }
}

.swiper-pointer-events {
  height: 100%;
}

.fv__btn {
  font-family: "Zen Old Mincho", serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.14px;
  color: #fff;
  border-radius: 900px;
  border: 0.5px solid #fff;
  padding: 10px 46px;
  position: relative;
}
.fv__btn::after {
  position: absolute;
  content: "";
  width: 12px;
  height: 12px;
  background: transparent url(/img/common/arrow-white-next.svg) no-repeat center center/contain;
  right: 16px;
  transform: translateY(-50%);
  top: 50%;
}

.fv__card {
  height: 100%;
}

.fv__card__inner {
  height: 100%;
}

.fv__card__swiper {
  height: 100%;
}

.fv__card__swiper-container {
  position: relative;
  height: 100%;
}

.fv-swiper-pagination {
  position: absolute;
  text-align: left;
}

.top__title {
  font-size: 20px;
  color: #8e1828;
  line-height: 1;
  letter-spacing: 0.2px;
  border-bottom: 1px solid rgba(31, 31, 31, 0.15);
}
@media screen and (max-width: 767px) {
  .top__title {
    font-size: 18px;
    letter-spacing: 0.18px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .top__title {
    font-size: 18px;
    letter-spacing: 0.18px;
  }
}

.top__title a {
  position: relative;
}
.top__title a::after {
  position: absolute;
  content: "";
  background: transparent url(/img/top/arrow-red.svg) no-repeat center center/contain;
  width: 18px;
  height: 18px;
  transform: translateY(-50%);
  top: 50%;
  right: 20px;
}

.top__title__link {
  display: block;
  padding: 20px;
  font-weight: 700;
}

.top__contents {
  padding: 20px;
}
.top__contents.--footer {
  padding: 24px 24px 104px;
}
@media screen and (min-width: 1025px) {
  .top__contents.--footer {
    padding: 32px 32px 104px;
  }
}

.top__sub__title {
  color: #1f1f1f;
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: 0.14px;
  font-family: "Inter", sans-serif;
  font-weight: 700;
}
.top__sub__title span {
  font-family: "Inter", sans-serif;
  font-weight: 700;
}
.top__sub__title.--game {
  position: relative;
  display: block;
}
.top__sub__title.--game::after {
  position: absolute;
  content: "";
  width: 14px;
  height: 14px;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  background: transparent url(/img/common/arrow-red-next.svg) no-repeat center center/contain;
}

.result__contents {
  margin-top: 20px;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .result__contents {
    margin-top: 24px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .result__contents {
    margin-top: 24px;
  }
}

.result__univ {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  width: 80px;
}

.result__univ--img {
  width: 100%;
}

.team-logo__fallback {
  opacity: 0.5;
  width: 100%;
  aspect-ratio: 80/44;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(31, 31, 31, 0.15);
  background: rgba(31, 31, 31, 0.05);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.18px;
}

.result__univ--name {
  display: flex;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.12px;
  text-align: left;
}

.result__point {
  display: flex;
  flex-direction: column;
  gap: 12px;
  text-align: center;
}

.result__point--number {
  font-family: "Inter", sans-serif;
  font-size: 56px;
  font-weight: 700;
  line-height: 1;
}

.result__point--date {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.12px;
  font-family: "Inter", sans-serif;
  padding: 8px 16px;
  border-radius: 8px;
  border: 1px solid rgba(31, 31, 31, 0.15);
  margin: 0 auto;
}
.result__point--date span {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
}

.calendar {
  margin: -8px -11px -8px;
  /* コンテナクエリー */
  container-type: inline-size;
}
.calendar table {
  border-collapse: separate;
  border-spacing: 11px 8px;
  margin: 0 auto;
  width: 100%;
}
.calendar td {
  width: auto;
  height: 36px;
  border-radius: 50%;
  text-align: center;
  position: relative;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.4;
  line-height: 36px;
}
.calendar td:hover .popup {
  display: block;
}
.calendar td:hover .popup__triangle {
  display: block;
}
.calendar td.event {
  color: #8e1828;
  cursor: default;
  position: relative;
}
.calendar td.event::after {
  position: absolute;
  content: "";
  width: 36px;
  height: 36px;
  background: rgba(142, 24, 40, 0.1);
  border-radius: 50%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.week {
  width: 36px;
  height: 36px;
  text-align: center;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.4;
  line-height: 36px;
}

.calendar__title {
  font-size: 18px;
  letter-spacing: 0.18px;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 9px;
}

.popup {
  display: none;
  position: absolute;
  color: #fff;
  background: #8e1828;
  padding: 4px 8px;
  top: 100%;
  left: 0;
  max-width: 200px;
  word-break: break-word;
  min-width: 150px;
  text-align: left;
  z-index: 2;
  border-radius: 4px;
}
.popup p {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
}
.popup a {
  font: inherit;
  text-decoration: underline;
}
.popup::before {
  content: "";
  position: absolute;
  top: -6px;
  left: 15px;
  width: 12px;
  height: 10px;
  background: transparent url(/img/top/popup-triangle.svg) no-repeat center center/contain;
}
@media screen and (max-width: 767px) {
  .popup::before {
    left: 6vw;
    left: calc((100cqi - 48px) / 7 / 2);
    right: auto;
    transform: translateX(-50%);
  }
}

.calendar tbody tr td:nth-of-type(n + 4) .popup {
  left: auto;
  right: 0;
  transform: none;
}
.calendar tbody tr td:nth-of-type(n + 4) .popup::before {
  left: auto;
  right: 15px;
  transform: none;
}
@media screen and (max-width: 767px) {
  .calendar tbody tr td:nth-of-type(n + 4) .popup::before {
    left: auto;
    right: calc((100cqi - 48px) / 7 / 2);
    transform: translateX(50%);
  }
}

.thin {
  color: rgba(31, 31, 31, 0.5);
}

.next__game__contents {
  margin-top: 20px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}

.next__game__vs {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.12px;
  margin-right: 12px;
}

.next__game__date {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-left: 24px;
}

.next__game__date--schedule {
  font-size: 48px;
  font-family: "Inter", sans-serif;
  line-height: 1;
  font-weight: 700;
  letter-spacing: -0.96px;
}
.next__game__date--schedule span {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.4;
  letter-spacing: 0.6px;
  font-size: 20px;
  font-weight: 700;
}

.next__game__date__tag {
  display: inline-flex;
  align-items: center;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.12px;
  padding: 8px 16px;
  border-radius: 8px;
  border: 1px solid rgba(31, 31, 31, 0.15);
  width: -moz-fit-content;
  width: fit-content;
}
.next__game__date__tag span {
  font-family: "Inter", sans-serif;
  margin-right: 8px;
  font-weight: 700;
}

.news__items {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.news__items.--pb32 {
  padding-bottom: 32px;
}

.news__item a {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: center;
}

.news__item__img {
  position: relative;
  width: 100%;
  display: block;
  overflow: hidden;
  width: 98px;
  flex-shrink: 0;
}
.news__item__img::before {
  content: "";
  padding-top: 100%;
  display: block;
}
.news__item__img img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 8px;
}

.news__item__right {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.news__item__category {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.12px;
  color: #8e1828;
}

.news__item__text {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.16px;
  display: -webkit-box; /* 必須 */
  -webkit-box-orient: vertical; /* 必須 */
  -webkit-line-clamp: 2; /* 行数を制限 */
  overflow: hidden; /* はみ出た部分を非表示 */
}

.news__item__date {
  color: rgba(31, 31, 31, 0.5);
  font-family: "Inter", sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.12px;
}

.member__card__swiper-container {
  position: relative;
  /* コンテナクエリー */
  container-type: inline-size;
}

.member__card__swiper,
.member__card__swiper-wrapper,
.member__card__swiper-slide {
  position: relative;
  width: 180px;
  max-width: calc(100cqi - 40px);
}
@media screen and (max-width: 767px) {
  .member__card__swiper,
  .member__card__swiper-wrapper,
  .member__card__swiper-slide {
    width: 147px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .member__card__swiper,
  .member__card__swiper-wrapper,
  .member__card__swiper-slide {
    width: calc(100% - 80px);
  }
}
.member__card__swiper img,
.member__card__swiper-wrapper img,
.member__card__swiper-slide img {
  border-radius: 8px;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
}

.member__card {
  position: relative;
  aspect-ratio: 180/239;
}
@media screen and (max-width: 767px) {
  .member__card {
    aspect-ratio: 147/195;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .member__card {
    aspect-ratio: 147/195;
  }
}
.member__card img {
  border-radius: 8px;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
}

.card__swiper-container {
  position: relative;
}

.member__card__swiper-slide img {
  border-radius: 8px;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
}

.member__text {
  padding: 0 16px;
  position: absolute;
  left: 0;
  bottom: 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: flex-start;
}

.member__tag {
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.12px;
  background: #8e1828;
  padding: 3px 6px;
  border-radius: 2px;
}

.member__name {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.18px;
  color: #fff;
}

/* =============================
   ナビゲーションボタン
============================= */
/* デフォルトのボタンを初期化 */
.member .swiper-button-prev::after,
.member .swiper-button-next::after {
  content: ""; /* デフォルトのものを初期化 */
}

/* 各ボタンのカスタマイズ */
.member .swiper-button-prev,
.member .swiper-button-next {
  top: 50%;
  translate: 0 -50%;
  width: 40px;
  height: 100%;
}

.member .swiper-button-prev {
  left: -20px;
}

.member .swiper-button-next {
  right: -20px;
}

/* =============================
   ページネーション (bullets)
============================= */
/* それぞれのページネーション */
.swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet {
  opacity: 1;
  width: 6px;
  height: auto;
  aspect-ratio: 1;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.5);
}

/* activeな部分 */
.swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet-active {
  background: #fff;
}

.swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
  text-align: center;
  position: relative;
  bottom: 24px !important;
  z-index: 2;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 6px) !important;
}

.top__banner {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.top__banner__item {
  height: 80px;
}
.top__banner__item a {
  height: 80px;
  display: block;
}
.top__banner__item a img {
  height: 100%;
}

.footer {
  background: #4D0712;
  padding: 16px;
}

.footer__contents {
  display: flex;
  flex-direction: row;
  gap: 80px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .footer__contents {
    flex-direction: column;
  }
}

.footer__logo {
  width: 226px;
  margin-bottom: 40px;
}

.footer__sns {
  display: flex;
  flex-direction: row;
  gap: 16px;
  margin-bottom: 40px;
}

.footer__sns__icon {
  border-radius: 50%;
  border: 1px solid rgba(31, 31, 31, 0.15);
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.footer__sns__icon img {
  width: 20px;
  display: block;
}
.footer__sns__icon a {
  display: block;
}

.footer__menu__items {
  display: flex;
  flex-direction: row;
  gap: 40px;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .footer__menu__items.--sp-nav {
    flex-direction: column;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .footer__menu__items.--sp-nav {
    flex-direction: row;
  }
}
@media screen and (max-width: 767px) {
  .footer__menu__items {
    flex-direction: column;
  }
}

.footer__menu__item--title {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.16px;
}
.footer__menu__item--title a {
  font: inherit;
}

.footer__menu__item--links {
  margin-top: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.footer__menu__item--link {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.12px;
  padding-left: 16px;
  position: relative;
}
.footer__menu__item--link::before {
  position: absolute;
  content: "";
  width: 8px;
  height: 1px;
  background: #1f1f1f;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}

.copyright {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  display: block;
  width: 100%;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .copyright {
    text-align: left;
  }
}
.copyright small {
  font: inherit;
}

.section__main__category {
  font-size: 24px;
  position: relative;
  padding-bottom: 16px;
  margin-bottom: 50px;
  line-height: 1.4;
  letter-spacing: 0.24px;
  font-weight: 700;
}
.section__main__category.--mbSmall {
  margin-bottom: 32px;
}
.section__main__category.--grade {
  font-size: 18px;
  font-weight: 900;
  letter-spacing: 0.18px;
}
.section__main__category.--grade::first-letter {
  font-size: 40px;
  font-weight: 600;
  line-height: 1;
}
.section__main__category::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 1px;
  width: 100%;
  background: linear-gradient(to right, #1f1f1f 32px, rgba(31, 31, 31, 0.15) 32px);
}

.member__list {
  display: grid;
  gap: 20px;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .member__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .member__list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (min-width: 1025px) {
  .member__list {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (min-width: 1400px) {
  .member__list {
    grid-template-columns: repeat(5, 1fr);
  }
}

.member__list--others {
  display: grid;
  gap: 20px;
  margin-top: 20px;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .member__list--others {
    grid-template-columns: repeat(3, 1fr);
  }
}

.sidebar__member__title {
  display: flex;
  gap: 12px;
  align-items: center;
  padding-bottom: 24px;
  cursor: pointer;
}
.sidebar__member__title.--padding {
  padding: 24px 0;
}
.sidebar__member__title.--border-none {
  border-bottom: none;
}
.sidebar__member__title::after {
  content: "";
  width: 14px;
  height: 20px;
  margin-left: auto;
  background: transparent url(/img/common/arrow-end.svg) no-repeat center/contain;
}
.sidebar__member__title.is-open::after {
  background: transparent url(/img/common/arrow-top.svg) no-repeat center/contain;
}
.sidebar__member__title.--small {
  padding-top: 28px;
}

.sidebar__member__title--icon {
  width: 28px;
}

.sidebar__member__title--text {
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.2px;
}
.sidebar__member__title--text.--small {
  font-size: 16px;
}

.sidebar__accordion {
  display: none;
}

.sidebar__member__category__list {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-bottom: 48px;
}

.sidebar__member__category__list__item__title {
  color: rgba(255, 255, 255, 0.5);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.12px;
  margin-bottom: 24px;
}

.sidebar__member__category__list__item__contents {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.sidebar__member__category__item {
  display: flex;
  align-items: center;
  flex-direction: row;
}

.sidebar__member__category__item--box {
  width: 22px;
  height: 22px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.1);
}

.checkbox {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  height: 22px;
  width: 22px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.1);
  position: relative;
}

.checkbox:checked {
  background-color: #fff;
}

.checkbox:checked::before {
  content: "";
  width: 12px;
  height: 8px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  position: absolute;
  background: transparent url(/img/members/checkmark.svg) no-repeat center center/contain;
}

.sidebar__member__category__item--text {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.16px;
  margin-left: 12px;
}

.member__checkbox {
  display: flex;
  align-items: center;
}

.member__list__wrapper {
  display: flex;
  flex-direction: column;
  gap: 100px;
}

.member__list__items {
  display: flex;
  flex-direction: column;
  gap: 50px;
}

.sidebar__member__btn {
  display: flex;
  gap: 16px;
}
@media screen and (max-width: 767px) {
  .sidebar__member__btn {
    margin-bottom: 16px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .sidebar__member__btn {
    margin-bottom: 16px;
  }
}

.sidebar__member__btn__item {
  width: 142px;
  height: 44px;
  border-radius: 900px;
  border: 1px solid #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.14px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.--clear {
  color: #fff;
}
@media screen and (max-width: 767px) {
  .--clear {
    width: calc((100% - 16px) / 2);
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .--clear {
    width: calc((100% - 16px) / 2);
  }
}

.--confirm {
  background: #fff;
  color: #8e1828;
}
@media screen and (max-width: 767px) {
  .--confirm {
    width: calc((100% - 16px) / 2);
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .--confirm {
    width: calc((100% - 16px) / 2);
  }
}

.member__detail__wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-areas: "area1 area2 area2" "area1 area2 area2" "area1 area3 area3" "area1 area3 area3";
}
@media screen and (max-width: 767px) {
  .member__detail__wrapper {
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "area1 ." "area1 area2" "area3 area3" "area3 area3" "area3 area3";
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .member__detail__wrapper {
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "area1 ." "area1 area2" "area3 area3" "area3 area3" "area3 area3";
  }
}

.box-number1 {
  grid-area: area1;
}

.box-number2 {
  grid-area: area2;
}

.box-number3 {
  grid-area: area3;
}

.members__pic {
  width: 22.2222222222vw;
  flex-shrink: 0;
}
.members__pic img {
  border-radius: 8px;
}
@media screen and (min-width: 1025px) {
  .members__pic {
    margin-right: 50px;
  }
}
@media screen and (max-width: 767px) {
  .members__pic {
    width: 30.534351145vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .members__pic {
    width: 30.534351145vw;
  }
}

.members__detail__right {
  width: 100%;
}

.member__tag__row {
  display: flex;
  gap: 12px;
  margin-bottom: 28px;
}

@media screen and (max-width: 767px) {
  .member__wrapper {
    margin-top: 32px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .member__wrapper {
    margin-top: 32px;
  }
}

.members__name {
  display: flex;
  align-items: baseline;
}
@media screen and (min-width: 1025px) {
  .members__name {
    margin-bottom: 28px;
    gap: 16px;
  }
}
.members__name h2 {
  font-size: 36px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.36px;
}
@media screen and (max-width: 767px) {
  .members__name h2 {
    font-size: 32px;
    letter-spacing: 0.32px;
    white-space: nowrap;
  }
}
.members__name p {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.14px;
  padding-bottom: 7px;
}
@media screen and (max-width: 767px) {
  .members__name p {
    padding-bottom: 4px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .members__name p {
    padding-bottom: 4px;
  }
}
@media screen and (max-width: 767px) {
  .members__name {
    flex-direction: column-reverse;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .members__name {
    flex-direction: column-reverse;
  }
}

.members__detail__info {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 32px;
       column-gap: 32px;
  margin-bottom: 50px;
}

.members__detail__info__item {
  padding-top: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(31, 31, 31, 0.15);
}
.members__detail__info__item dt {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.12px;
  margin-bottom: 10px;
  color: #8e1828;
}
.members__detail__info__item dd {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.16px;
}

.members__detail__info__item:nth-child(1),
.members__detail__info__item:nth-child(2) {
  border-top: 1px solid rgba(31, 31, 31, 0.15);
}

.btn__return__wrapper {
  text-align: center;
}
@media screen and (min-width: 1025px) {
  .btn__return__wrapper.--left {
    text-align: left;
  }
}

.btn__return {
  padding: 16px 62px;
  border-radius: 900px;
  border: 1px solid #8e1828;
  color: #8e1828;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.14px;
  position: relative;
  display: inline-block;
  text-align: left;
}
.btn__return::before {
  position: absolute;
  content: "";
  width: 12px;
  height: 12px;
  background: transparent url(/img/common/arrow-red-prev.svg) no-repeat center center/contain;
  top: 50%;
  transform: translateY(-50%);
  left: 20px;
}

.other__members__title {
  font-size: 20px;
  color: #fff;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.2px;
  margin-bottom: 20px;
}

.other__members {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.schedule__list {
  display: flex;
  flex-direction: column;
}

.schedule__list__item {
  border-bottom: 1px solid rgba(31, 31, 31, 0.15);
}

.schedule__list__item:first-child {
  border-top: 1px solid rgba(31, 31, 31, 0.15);
}

.schedule__list__item--link {
  display: flex;
}

.schedule__time {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 12px;
  background: rgba(31, 31, 31, 0.05);
  text-align: center;
  justify-content: center;
  width: 62px;
  flex-shrink: 0;
}
.schedule__time.--sunday {
  color: #e40000;
}

.schedule__time__date {
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
}

.schedule__time__week {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.12px;
}

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

.schedule__contents {
  width: 100%;
  padding: 16px;
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .schedule__contents {
    flex-direction: column;
    gap: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .schedule__contents {
    flex-direction: column;
    gap: 20px;
  }
}
.schedule__contents.--camp {
  background: rgba(142, 24, 40, 0.05);
  height: 100%;
}
@media screen and (min-width: 1025px) {
  .schedule__contents.--camp {
    align-items: center;
  }
}

.schedule__contents + .schedule__contents {
  border-top: 1px solid rgba(31, 31, 31, 0.15);
}

.schedule__contents__category {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
@media screen and (max-width: 767px) {
  .schedule__contents__category {
    flex-direction: row;
    flex-wrap: wrap;
  }
}

.schedule__list__item--link:has(.schedule__time__month) .schedule__contents {
  padding: 22px 16px;
}

.schedule__contents__tag {
  padding: 4px 6px;
  color: #fff;
  background: #8e1828;
  border-radius: 2px;
  min-width: 87px;
  text-align: center;
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: 0.12px;
  font-weight: 700;
  line-break: strict;
}
@media screen and (max-width: 767px) {
  .schedule__contents__tag {
    border-radius: 4px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .schedule__contents__tag {
    border-radius: 4px;
  }
}
@media screen and (min-width: 1025px) {
  .schedule__contents__tag {
    max-width: 87px;
  }
}

.schedule__contents.--camp .schedule__contents__tag {
  color: #8e1828;
  background: #fff;
  border: 1px solid #8e1828;
}

.schedule__contents__text {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.schedule__contents__text--title {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.16px;
}
.schedule__contents__text--title a {
  color: #8e1828;
  font-weight: 700;
}
@media screen and (min-width: 1025px) {
  .schedule__contents__text--title {
    font-size: 18px;
  }
}

.schedule__contents__text--time {
  color: rgba(31, 31, 31, 0.5);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.12px;
}
.schedule__contents__text--time.--restDay {
  padding: 4px 8px;
  border-radius: 2px;
  background: rgba(31, 31, 31, 0.05);
}
@media screen and (min-width: 1025px) {
  .schedule__contents__text--time {
    font-size: 13px;
  }
}

.schedule__top {
  display: flex;
  margin-bottom: 20px;
}

.schedule__prev {
  margin-right: auto;
  padding-left: 17px;
  position: relative;
  display: flex;
  align-items: center;
}
.schedule__prev p {
  color: #8e1828;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.14px;
}
.schedule__prev::before {
  position: absolute;
  content: "";
  width: 7px;
  height: 12px;
  background: transparent url(/img/top/arrow-red-02-prev.svg) no-repeat center center/contain;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .schedule__prev::before {
    width: 10px;
    height: 16px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .schedule__prev::before {
    width: 10px;
    height: 16px;
  }
}

.schedule__next {
  margin-left: auto;
  padding-right: 17px;
  position: relative;
  display: flex;
  align-items: center;
}
.schedule__next p {
  color: #8e1828;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.14px;
}
.schedule__next::before {
  position: absolute;
  content: "";
  width: 7px;
  height: 12px;
  background: transparent url(/img/top/arrow-red-02-next.svg) no-repeat center center/contain;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .schedule__next::before {
    width: 10px;
    height: 16px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .schedule__next::before {
    width: 10px;
    height: 16px;
  }
}

.custom-select {
  border: none !important;
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.4px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding: 0;
}
.custom-select.--year {
  width: 114px;
}
.custom-select.--month {
  width: 69px;
}

.unit {
  font-size: 16px;
  letter-spacing: 0.16px;
  line-height: 1.4;
  font-weight: 700;
  position: absolute;
  pointer-events: none;
  bottom: 0;
  right: 19px;
}

.date__container__wrapper {
  display: flex;
  gap: 24px;
  align-items: center;
}
.date__container__wrapper.--detail {
  gap: 16px;
}

.date__container {
  display: flex;
  align-items: baseline;
  position: relative; /* 子要素のabsolute配置の基準にする */
  /* 矢印を配置するためのスペースを確保 */
  cursor: pointer;
}

/* selectタグのデフォルトスタイルを無効化 */
.custom-select {
  -webkit-appearance: none; /* Safari, Chrome */
  -moz-appearance: none; /* Firefox */
  appearance: none; /* 標準 */
  border: none;
  background-color: transparent;
  cursor: pointer;
}

/* 独自の矢印を疑似要素で作成 */
.date__container::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background: transparent url(/img/common/pulldown.svg) no-repeat center center/contain;
  width: 12px;
  height: 12px;
  pointer-events: none;
}

.schedule__time__month {
  text-align: center;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.12px;
}

.schedule__contents__top {
  display: flex;
  -moz-column-gap: 16px;
       column-gap: 16px;
  row-gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

.schedule__contents__text--result {
  display: flex;
  align-items: center;
  gap: 4px;
}

.schedule__contents__text--result--tag {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.12px;
  padding: 0 2px;
  border-radius: 4px;
  color: #fff;
  background: #8e1828;
}
@media screen and (min-width: 1025px) {
  .schedule__contents__text--result--tag {
    font-size: 14px;
    width: 20px;
    height: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}

a.schedule__contents__text--result--score {
  text-decoration-line: underline;
  text-underline-offset: 15%;
  margin-top: -2px;
}

.schedule__contents__text--result--score {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.14px;
  color: #8e1828;
}
@media screen and (min-width: 1025px) {
  .schedule__contents__text--result--score {
    font-size: 16px;
  }
}

.schedule__contents__text--memo {
  color: #8e1828;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.12px;
}

.schedule__contents__text--memo span,
.schedule__contents__text--memo p,
.schedule__contents__text--memo a {
  font-weight: inherit;
}

.schedule__contents__bottom {
  display: flex;
  -moz-column-gap: 16px;
       column-gap: 16px;
  row-gap: 8px;
  flex-wrap: wrap;
}

.date__container__wrapper__tag {
  color: #fff;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.14px;
  background: #8e1828;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 14px;
}

.schedule__detail__tag {
  display: flex;
  flex-direction: row;
  gap: 12px;
  margin-top: 40px;
  margin-bottom: 30px;
  flex-wrap: wrap;
}

.schedule__detail__tag__item {
  padding: 3px 6px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.12px;
  border-radius: 4px;
  background: rgba(31, 31, 31, 0.05);
}
.schedule__detail__tag__item span {
  color: rgba(31, 31, 31, 0.5019607843);
}

.score__table__wrapper {
  overflow-x: auto;
}

.score-table {
  border-collapse: collapse;
  width: -moz-max-content;
  width: max-content;
  margin-bottom: 24px;
  border-bottom: 1px solid #e0e0e0;
}
@media screen and (max-width: 767px) {
  .score-table {
    min-width: 100%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .score-table {
    min-width: 100%;
  }
}

/* theadの下に線を追加 */
.score-table thead tr {
  border-bottom: 1px solid #e0e0e0;
}

/* tbodyの各行の間にも線を追加 */
.score-table tbody tr:not(:last-child) {
  border-bottom: 1px solid #e0e0e0;
}

.score-table th,
.score-table td {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.14px;
  text-align: center;
  padding: 10px 9px;
}

td.team-name {
  width: 120px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.14px;
  text-align: left;
}

.score-table th:first-child,
.score-table td:first-child {
  position: sticky;
  left: 0;
  background: #fff;
  z-index: 1;
}

.score__title th {
  color: rgba(31, 31, 31, 0.5);
}

.schedule__detail__text {
  margin-bottom: 62px;
  font-weight: 700;
  font-size: 12px;
  line-height: 1.8;
  justify-content: flex-end;
  display: flex;
  flex-wrap: wrap;
}
.schedule__detail__text.--left {
  justify-content: left;
  margin-bottom: 0;
}

.schedule__detail__text__link {
  color: #8e1828;
  font-weight: inherit;
  margin-right: 9px;
  margin-left: 8px;
  display: inline-flex;
  align-items: center;
  position: relative;
}
.schedule__detail__text__link::after {
  position: absolute;
  content: "";
  background: #8e1828;
  width: 100%;
  height: 1px;
  left: 0;
  bottom: 2px;
}
.schedule__detail__text__link span {
  font-weight: 700;
  font-size: 12px;
  line-height: 1.4;
}
.schedule__detail__text__link img {
  width: 7px;
  height: 7px;
  margin-left: 4px;
}

.schedule__section + .schedule__section {
  margin-top: 40px;
}

.story__wrapper {
  display: flex;
  flex-direction: column;
  gap: 100px;
  margin-bottom: 100px;
}

.story__wrapper__item__person {
  display: flex;
  gap: 32px;
  margin-top: 34px;
  margin-bottom: 32px;
  align-items: baseline;
}

.story__wrapper__item__person--img {
  width: 11.4583333333vw;
  flex-shrink: 0;
  border-radius: 6px;
}
@media screen and (max-width: 767px) {
  .story__wrapper__item__person--img {
    width: 32.1715817694vw;
  }
}
.story__wrapper__item__person--img img {
  border-radius: 8px;
}

.story__wrapper__item__person__tag__01,
.story__wrapper__item__person__tag__02 {
  display: flex;
  flex-direction: row;
  gap: 10px;
}

.story__wrapper__item__person__tag__02 {
  margin-bottom: 24px;
  flex-wrap: wrap;
}

.story__wrapper__item__person__tag__item {
  padding: 3px 6px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.12px;
  border-radius: 4px;
}
.story__wrapper__item__person__tag__item span {
  color: rgba(31, 31, 31, 0.5019607843);
}
.story__wrapper__item__person__tag__item.--red {
  color: #fff;
  background: #8e1828;
}
.story__wrapper__item__person__tag__item.--white {
  background: rgba(31, 31, 31, 0.05);
}

.story__wrapper__item__person__name {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.32px;
  margin-top: 28px;
}

.section__btn.--mb40 {
  margin-bottom: 40px;
}

.join__contents {
  display: flex;
  gap: 16px;
  align-items: stretch;
}
@media screen and (max-width: 767px) {
  .join__contents {
    flex-direction: column;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .join__contents {
    flex-direction: column;
  }
}

.join__contents__item {
  border-radius: 6px;
}
@media screen and (min-width: 1025px) {
  .join__contents__item {
    width: calc((100% - 16px) / 2);
    display: flex;
    flex-direction: column;
  }
}

.join__contents__item__title {
  padding: 12px;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.14px;
  background: rgba(31, 31, 31, 0.5);
  text-align: center;
  border-radius: 6px 6px 0 0;
}

.join__contents__item__text {
  padding: 16px 20px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.12px;
  border: 1px solid rgba(31, 31, 31, 0.15);
  border-radius: 0 0 6px 6px;
  flex-grow: 1;
}

.coach__wrapper {
  display: flex;
  gap: 24px;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .coach__wrapper {
    flex-direction: column;
    gap: 16px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .coach__wrapper {
    flex-direction: column;
    gap: 16px;
  }
}

.coach__img {
  width: 10.3472222222vw;
  flex-shrink: 0;
  aspect-ratio: 149/200;
}
.coach__img img {
  border-radius: 6px;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .coach__img {
    width: 30.534351145vw;
    aspect-ratio: 120/161;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .coach__img {
    width: 30.534351145vw;
    aspect-ratio: 120/161;
  }
}

.coach__content__text {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
@media screen and (max-width: 767px) {
  .coach__content__text {
    gap: 4px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .coach__content__text {
    gap: 4px;
  }
}

.coach__name {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.2px;
}
@media screen and (max-width: 767px) {
  .coach__name {
    font-size: 18px;
    letter-spacing: 0.18px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .coach__name {
    font-size: 18px;
    letter-spacing: 0.18px;
  }
}

.coach__profile {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.12px;
}

.coach__items {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.training__img__wrapper {
  display: flex;
  gap: 16px;
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .training__img__wrapper {
    flex-direction: column;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .training__img__wrapper {
    flex-direction: column;
  }
}

@media screen and (min-width: 1025px) {
  .training__img__item {
    width: calc((100% - 16px) / 2);
  }
}
.training__img__item img {
  border-radius: 6px;
}

.training__time__contents {
  display: flex;
  flex-direction: column;
  gap: 17px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.8;
  position: relative;
}
.training__time__contents::after {
  content: "";
  position: absolute;
  left: 66px;
  top: 0;
  width: 1px;
  height: 100%;
  background: rgba(31, 31, 31, 0.15);
}

.training__time__item {
  display: flex;
  gap: 48px;
  position: relative;
}
.training__time__item::after {
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #8e1828;
  top: 0.9em;
  transform: translateY(-50%);
  left: 62px;
  z-index: 2;
}

.training__time__item__left {
  flex-shrink: 0;
}

.timeline__items {
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  .timeline__items {
    gap: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .timeline__items {
    gap: 20px;
  }
}

.timeline__item {
  display: flex;
  gap: 72px;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .timeline__item {
    flex-direction: column;
    gap: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .timeline__item {
    flex-direction: column;
    gap: 20px;
  }
}

.timeline__item:nth-child(even) {
  flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .timeline__item:nth-child(even) {
    flex-direction: column;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .timeline__item:nth-child(even) {
    flex-direction: column;
  }
}

.parallax {
  width: calc((100% - 72px) / 2);
  padding: 32px 0;
  height: calc(100vh - 32px - 68px);
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.parallax__item {
  width: 100%;
  height: calc((100% - 40px) / 3);
}
.parallax__item img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 4px;
}
@media screen and (max-width: 767px) {
  .parallax__item {
    aspect-ratio: 313/168;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .parallax__item {
    aspect-ratio: 313/168;
  }
}

.timeline__contents {
  display: flex;
  flex-direction: column;
  width: calc((100% - 72px) / 2);
}
@media screen and (max-width: 767px) {
  .timeline__contents {
    width: 100%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .timeline__contents {
    width: 100%;
  }
}

.timeline__contents__item {
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: relative;
  padding-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .timeline__contents__item {
    padding-left: 24px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .timeline__contents__item {
    padding-left: 24px;
  }
}

.timeline__contents__item:first-child {
  padding-top: 20px;
}

.timeline__items > .timeline__item:nth-child(odd) .timeline__contents__item::before {
  position: absolute;
  content: "";
  width: 3px;
  height: 100%;
  background: transparent url(/img/about/timeline-dot.png) repeat-y center center/2px auto;
  top: 0;
  left: -39px;
}
@media screen and (min-width: 1025px) {
  .timeline__items > .timeline__item:nth-child(odd) .timeline__contents__item::before {
    background-position-y: -10px;
  }
}
@media screen and (max-width: 767px) {
  .timeline__items > .timeline__item:nth-child(odd) .timeline__contents__item::before {
    left: 0;
    background-position-y: -12px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .timeline__items > .timeline__item:nth-child(odd) .timeline__contents__item::before {
    left: 0;
    background-position-y: -12px;
  }
}

.timeline__items > .timeline__item:nth-child(even) .timeline__contents__item::before {
  position: absolute;
  content: "";
  width: 3px;
  height: 100%;
  background: transparent url(/img/about/timeline-dot.png) repeat-y center center/2px auto;
  top: 0;
}
@media screen and (min-width: 1025px) {
  .timeline__items > .timeline__item:nth-child(even) .timeline__contents__item::before {
    right: -36px;
    background-position-y: -10px;
  }
}
@media screen and (max-width: 767px) {
  .timeline__items > .timeline__item:nth-child(even) .timeline__contents__item::before {
    left: 0;
    background-position-y: -12px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .timeline__items > .timeline__item:nth-child(even) .timeline__contents__item::before {
    left: 0;
    background-position-y: -12px;
  }
}

.timeline__contents__item__year {
  font-size: 32px;
  font-weight: 600;
  line-height: 1;
  position: relative;
}
.timeline__contents__item__year span {
  font-size: 12px;
  font-weight: 400;
  line-height: 1.6;
}

.timeline__items > .timeline__item:nth-child(odd) .timeline__contents__item__year::before {
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  background: #8e1828;
  border-radius: 50%;
  top: 50%;
  left: -41px;
  z-index: 2;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .timeline__items > .timeline__item:nth-child(odd) .timeline__contents__item__year::before {
    left: -27px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .timeline__items > .timeline__item:nth-child(odd) .timeline__contents__item__year::before {
    left: -27px;
  }
}
.timeline__items > .timeline__item:nth-child(odd) .timeline__contents__item__year::after {
  position: absolute;
  content: "";
  width: 8px;
  height: 20px;
  background: #fff;
  top: 50%;
  left: -41px;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .timeline__items > .timeline__item:nth-child(odd) .timeline__contents__item__year::after {
    left: -27px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .timeline__items > .timeline__item:nth-child(odd) .timeline__contents__item__year::after {
    left: -27px;
  }
}

.timeline__items > .timeline__item:nth-child(even) .timeline__contents__item__year::before {
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  background: #8e1828;
  border-radius: 50%;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}
@media screen and (min-width: 1025px) {
  .timeline__items > .timeline__item:nth-child(even) .timeline__contents__item__year::before {
    right: -38px;
  }
}
@media screen and (max-width: 767px) {
  .timeline__items > .timeline__item:nth-child(even) .timeline__contents__item__year::before {
    left: -27px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .timeline__items > .timeline__item:nth-child(even) .timeline__contents__item__year::before {
    left: -27px;
  }
}
.timeline__items > .timeline__item:nth-child(even) .timeline__contents__item__year::after {
  position: absolute;
  content: "";
  width: 8px;
  height: 20px;
  background: #fff;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (min-width: 1025px) {
  .timeline__items > .timeline__item:nth-child(even) .timeline__contents__item__year::after {
    right: -38px;
  }
}
@media screen and (max-width: 767px) {
  .timeline__items > .timeline__item:nth-child(even) .timeline__contents__item__year::after {
    left: -27px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .timeline__items > .timeline__item:nth-child(even) .timeline__contents__item__year::after {
    left: -27px;
  }
}

.timeline__contents__item__person {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.timeline__contents__item__person__item {
  font-size: 12px;
  font-weight: 400;
  line-height: 1.8;
}
.timeline__contents__item__person__item span {
  color: rgba(31, 31, 31, 0.5019607843);
}

.timeline__contents__item__wrapper {
  display: flex;
  flex-direction: column;
  color: #8e1828;
  font-size: 14px;
  line-height: 1.4;
  gap: 8px;
}

.timeline__contents__item__text {
  font-weight: 700;
}

.timeline__contents__item__text__popup {
  font-weight: 700;
  text-underline-offset: 20%;
  text-decoration: underline;
}

.timeline__card__swiper-slide {
  aspect-ratio: 313/168;
}
.timeline__card__swiper-slide img {
  width: 100%;
  border-radius: 4px;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.timeline-swiper-pagination {
  margin-bottom: -6px;
  line-height: 0;
}

.pagination,
.nav-links {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: center;
  flex-wrap: wrap;
}

.page__btn--number--arrow {
  width: 16px;
  height: 14px;
}
.page__btn--number--arrow img {
  display: block;
  width: 100%;
}
.page__btn--number--arrow.--is-hide {
  display: none;
}

.page-numbers:not(.next, .prev, .dots) {
  color: rgba(31, 31, 31, 0.5);
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.4;
  border-radius: 8px;
  border: 1px solid rgba(31, 31, 31, 0.15);
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.page-numbers.current {
  background: #8e1828;
  color: #fff;
}
.page-numbers.next {
  width: 16px;
  height: 14px;
}
.page-numbers.prev {
  width: 16px;
  height: 14px;
  transform: scale(-1, 1);
}
.page-numbers.dots {
  color: rgba(31, 31, 31, 0.5);
  line-height: 1;
  font-family: sans-serif;
}
.page-numbers img {
  display: block;
  width: 100%;
}

.page__btn--number {
  color: rgba(31, 31, 31, 0.5);
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.4;
  border-radius: 8px;
  border: 1px solid rgba(31, 31, 31, 0.15);
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.page__btn--number.--active {
  background: #8e1828;
  color: #fff;
}

.page__btn--dots img {
  display: block;
}

.news__item__top {
  display: flex;
  gap: 20px;
  align-items: center;
  margin-bottom: 16px;
}

.news__detail__title {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.32px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .news__detail__title {
    font-size: 24px;
    letter-spacing: 0.24px;
    margin-bottom: 32px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .news__detail__title {
    font-size: 24px;
    letter-spacing: 0.24px;
    margin-bottom: 32px;
  }
}

.news__detail__featured-image {
  width: 50%;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .news__detail__featured-image {
    width: 100%;
    margin-bottom: 32px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .news__detail__featured-image {
    width: 100%;
    margin-bottom: 32px;
  }
}

.news__contents img {
  width: 30%;
  margin-bottom: 40px;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .news__contents img {
    width: 100%;
    margin-top: 32px;
    margin-bottom: 32px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .news__contents img {
    width: 100%;
    margin-top: 32px;
    margin-bottom: 32px;
  }
}
.news__contents p {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.14px;
  margin-bottom: 20px;
  overflow-wrap: anywhere;
}
.news__contents a {
  color: #8e1828;
  text-decoration: underline;
  text-underline-offset: 20%;
}

.news__detail__img {
  width: 19.6527777778vw;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .news__detail__img {
    width: 100%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .news__detail__img {
    width: 100%;
  }
}

.siteinfo__list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.page__404__wrapper {
  text-align: center;
  padding: 100px 0px;
}

.page__404__title {
  font-size: 80px;
  font-weight: 700;
  line-height: 1; /* 80px */
  letter-spacing: -0.8px;
  margin-bottom: 24px;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .page__404__title {
    font-size: 64px;
    line-height: 1.15;
    letter-spacing: -0.64px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .page__404__title {
    font-size: 64px;
    line-height: 1.15;
    letter-spacing: -0.64px;
  }
}

.page__404__text {
  color: #fff;
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4; /* 25.2px */
  letter-spacing: 0.18px;
  margin-bottom: 64px;
}
@media screen and (max-width: 767px) {
  .page__404__text {
    font-size: 16px;
    letter-spacing: 0.16px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .page__404__text {
    font-size: 16px;
    letter-spacing: 0.16px;
  }
}

.page__404__link {
  display: inline-block;
  color: #8e1828;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2; /* 16.8px */
  letter-spacing: 0.14px;
  padding: 16px 64px;
  background: #fff;
  position: relative;
  border-radius: 900px;
}
.page__404__link::before {
  position: absolute;
  content: "";
  width: 12px;
  height: 12px;
  top: 50%;
  transform: translateY(-50%);
  background: transparent url(/img/common/arrow-red-prev.svg) no-repeat center center/contain;
  left: 20px;
}

#btn-search {
  width: 12px;
  height: 12px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  left: 12px;
}

#search-input {
  border-radius: 8px;
  border: 1px solid rgba(31, 31, 31, 0.15);
  padding: 7px 11px;
  padding-left: 35px;
  width: 226px;
  line-height: 1.4;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.12px;
}

#search-input::-moz-placeholder {
  color: rgba(31, 31, 31, 0.5);
}

#search-input::placeholder {
  color: rgba(31, 31, 31, 0.5);
}

.search__form {
  position: relative;
}