/*
Theme Name: Twenty Twenty-one Child
Version: 1.6
Template: twentytwentyone
*/
:root {
  --viewport-width: min(100vw, 2000px);
  --b: calc(var(--viewport-width) / 160);
}

#sidebar {
  position: fixed;
  bottom: 0;
  right: 0;
  transform: translateX(100%);
  width: max(65rem, 525px);
  height: 100%;
  max-height: calc(100% - max(8rem, 70px));
  padding: max(8.5rem, 50px) max(5rem, 30px) max(8.5rem, 50px) max(6rem, 35px);
  box-shadow: 0 3px 26px rgba(0, 0, 0, 0.15);
  background: #fff;
  z-index: 999;
}
@media screen and (max-width: 550px) {
  #sidebar {
    width: 100%;
    padding: 50px 5%;
  }
}
#sidebar button.sidebar__btn {
  position: absolute;
  bottom: 0;
  right: 100%;
  padding: 20px;
  background: #3c2e32;
  border-radius: 10px 0 0 0;
}
@media screen and (max-width: 550px) {
  #sidebar button.sidebar__btn {
    padding: 5px 20px;
  }
}
#sidebar button.sidebar__btn span {
  display: inline-block;
  color: #fff;
  font-size: max(1.6rem, 14px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
  text-wrap: nowrap;
}
#sidebar .sidebar__wrapper {
  position: relative;
  height: 100%;
  padding-left: 1.5em;
  overflow-y: auto;
  scrollbar-width: none; /* Firefox */
}
#sidebar .sidebar__wrapper::-webkit-scrollbar {
  display: none;
}
#sidebar .sidebar__wrapper .sidebar__inner {
  position: relative;
}
#sidebar .sidebar__wrapper .sidebar__inner .lineBox {
  position: absolute;
  top: 1em;
  left: -1.1em;
  bottom: 0;
  width: max(0.3rem, 2px);
  height: auto;
  z-index: 0;
}
#sidebar .sidebar__wrapper .sidebar__inner .lineBox::before {
  content: "";
  position: absolute;
  left: -8px;
  right: -8px;
  width: auto;
  height: 6.5em;
  bottom: 0;
  background: #fff;
  z-index: 1000;
}
#sidebar .sidebar__wrapper .sidebar__inner .lineBox__line {
  position: absolute;
  width: 100%;
  background-size: max(0.3rem, 2px) max(0.7rem, 7px);
  background-repeat: repeat-y;
}
#sidebar .sidebar__wrapper .sidebar__inner .lineBox__line--base {
  height: calc(100% - 6.5em);
  background-image: linear-gradient(to bottom, rgba(60, 46, 50, 0.8) max(0.4rem, 4px), transparent max(0.3rem, 3px));
  z-index: -1;
}
#sidebar .sidebar__wrapper .sidebar__inner .lineBox__line--progress {
  height: 0%;
  background-image: linear-gradient(to bottom, #b8183f max(0.4rem, 4px), transparent max(0.3rem, 3px));
  z-index: 1;
  animation: blinking 2s ease-in-out infinite;
}
@keyframes blinking {
  0%, 100% {
    filter: drop-shadow(0 0 5px rgba(184, 24, 63, 0));
  }
  50% {
    filter: drop-shadow(0 0 5px #b8183f);
  }
}
#sidebar .sidebar__wrapper .sidebar__inner .sidebar__content {
  position: relative;
}
#sidebar .sidebar__wrapper .sidebar__inner .sidebar__content:not(:last-of-type) {
  margin-bottom: max(4.5rem, 40px);
}
#sidebar .sidebar__wrapper .sidebar__inner .sidebar__content b {
  position: relative;
}
#sidebar .sidebar__wrapper .sidebar__inner .sidebar__content b::before {
  content: "";
  position: absolute;
  top: 0.25em;
  left: 0;
  display: inline-block;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  vertical-align: baseline;
  transition: all 0.3s ease-out;
  transform: translateX(-150%) scale(0.7);
  background: linear-gradient(135deg, black, black);
}
#sidebar .sidebar__wrapper .sidebar__inner .sidebar__content b.arrived {
  color: #b8183f;
}
#sidebar .sidebar__wrapper .sidebar__inner .sidebar__content b.arrived::before {
  transform: translateX(-150%) scale(1);
  background: linear-gradient(135deg, white, #b8183f);
}
#sidebar .sidebar__wrapper .sidebar__inner .sidebar__content ul {
  display: flex;
  flex-direction: column;
  gap: max(1rem, 10px) 0;
  margin-top: 10px;
}
#sidebar .sidebar__wrapper .sidebar__inner .sidebar__content ul li {
  position: relative;
  transition: all 0.3s ease;
}

#admission #requirements .requirements__wrapper span.attention {
  text-align: right;
}
@media screen and (max-width: 1300px) {
  #admission #requirements .requirements__wrapper span.attention {
    text-align: left;
  }
}
#admission #requirements .requirements__wrapper .requirements__inner {
  display: flex;
  gap: max(6rem, 20px);
}
@media screen and (max-width: 1300px) {
  #admission #requirements .requirements__wrapper .requirements__inner {
    align-items: start;
    flex-direction: column;
  }
}
#admission #requirements .requirements__wrapper .requirements__inner .requirements__title {
  flex: 1;
}
#admission #requirements .requirements__wrapper .requirements__inner .requirements__content {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: max(4rem, 20px);
}
@media screen and (max-width: 768px) {
  #admission #requirements .requirements__wrapper .requirements__inner .requirements__content {
    grid-template-columns: 1fr;
    width: 100%;
  }
}
#admission #requirements .requirements__wrapper .requirements__inner .requirements__content .btnBox {
  margin: 0;
}
#admission #requirements .requirements__wrapper .requirements__inner .requirements__content .btnBox h3 {
  font-size: max(2rem, 16px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin-bottom: max(1rem, 10px);
}
#admission #requirements .requirements__wrapper .requirements__inner .requirements__content .btnBox .btn {
  margin: 0;
}
#admission #requirements .requirements__about {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: max(3.5rem, 30px);
  padding: max(6rem, 40px) 10%;
  margin-top: max(5rem, 30px);
  border: 1px solid #b8183f;
}
@media screen and (max-width: 550px) {
  #admission #requirements .requirements__about {
    padding: 30px 5%;
  }
}
#admission #requirements .requirements__about b {
  color: #b8183f;
  font-size: max(2rem, 18px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
#admission #faculty .faculty__wrapper {
  margin-top: max(19.5rem, 100px);
}
#admission #faculty .faculty__wrapper .faculty__content .faculty__inner:not(:first-of-type) {
  margin-top: max(20rem, 80px);
}
#admission #faculty .faculty__wrapper .faculty__content .faculty__inner .faculty__table {
  width: 100%;
  overflow: auto;
}
#admission #faculty .faculty__wrapper .faculty__content .faculty__inner .faculty__table table {
  width: 100%;
  min-width: 700px;
  border-spacing: max(0.6rem, 4px);
  border-collapse: separate;
  overflow: auto;
}
#admission #faculty .faculty__wrapper .faculty__content .faculty__inner .faculty__table table thead.table__head {
  background: #f7e4e9;
}
#admission #faculty .faculty__wrapper .faculty__content .faculty__inner .faculty__table table thead.table__head tr th {
  width: 100%;
}
#admission #faculty .faculty__wrapper .faculty__content .faculty__inner .faculty__table table thead.table__head tr th .table__title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: max(1rem, 10px);
  padding: max(2rem, 15px) max(2.5rem, 20px);
}
#admission #faculty .faculty__wrapper .faculty__content .faculty__inner .faculty__table table thead.table__head tr th .table__title h3 {
  color: #b8183f;
  font-size: max(2rem, 18px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
#admission #faculty .faculty__wrapper .faculty__content .faculty__inner .faculty__table table thead.table__head tr th .table__title ul.table__head-list {
  display: flex;
  align-items: center;
  justify-content: start;
  gap: max(0.5rem, 5px);
}
#admission #faculty .faculty__wrapper .faculty__content .faculty__inner .faculty__table table thead.table__head tr th .table__title ul.table__head-list li.table__head-item {
  color: #b8183f;
  font-size: max(1.4rem, 12px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding: 3px max(0.5rem, 5px);
  border: 1px solid #b8183f;
}
#admission #faculty .faculty__wrapper .faculty__content .faculty__inner .faculty__table table thead.table__head tr th .table__title ul.table__head-list li.table__head-item--primary {
  color: #fff;
  background: #b8183f;
}
#admission #faculty .faculty__wrapper .faculty__content .faculty__inner .faculty__table table tbody.table__body tr th,
#admission #faculty .faculty__wrapper .faculty__content .faculty__inner .faculty__table table tbody.table__body tr td {
  font-size: max(1.6rem, 14px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.1em;
  padding: max(1rem, 5px) max(2.5rem, 20px);
  vertical-align: middle;
}
#admission #faculty .faculty__wrapper .faculty__content .faculty__inner .faculty__table table tbody.table__body tr th > *,
#admission #faculty .faculty__wrapper .faculty__content .faculty__inner .faculty__table table tbody.table__body tr td > * {
  font-family: inherit;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}
#admission #faculty .faculty__wrapper .faculty__content .faculty__inner .faculty__table table tbody.table__body tr th {
  background: #f4efef;
}
#admission #faculty .faculty__wrapper .faculty__content .faculty__inner .faculty__table table tbody.table__body tr th.row-title {
  text-align: center;
  background: #e5e0e0;
  width: max(9%, 85px);
  min-width: 85px;
}
@media screen and (max-width: 550px) {
  #admission #faculty .faculty__wrapper .faculty__content .faculty__inner .faculty__table table tbody.table__body tr th.row-title {
    width: 60px;
    min-width: 60px;
    max-width: 60px;
  }
}
#admission #faculty .faculty__wrapper .faculty__content .faculty__inner .faculty__table table tbody.table__body tr th.table__body-cell {
  width: 25%;
  max-width: 200px;
}
#admission #faculty .faculty__wrapper .faculty__content .faculty__inner .faculty__table table tbody.table__body tr td {
  background: #fff;
}
#admission #faculty .faculty__wrapper .faculty__content .faculty__inner .faculty__table table tbody.space tr {
  height: max(1rem, 5px);
}
#admission #faculty .faculty__wrapper .faculty__content .faculty__inner .faculty__btn {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: max(3rem, 20px);
  margin-top: max(5rem, 30px);
}
@media screen and (min-width: 1600px) {
  #admission #faculty .faculty__wrapper .faculty__content .faculty__inner .faculty__btn {
    grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
  }
}
#admission #faculty .faculty__wrapper .faculty__content .faculty__inner .faculty__btn .btnBox h3 {
  font-size: max(2rem, 16px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
  margin-bottom: max(1rem, 10px);
}
#admission #faculty .faculty__wrapper .faculty__content .faculty__inner .faculty__btn .btnBox .btn {
  margin: 0;
}
#admission #questions .questions__wrapper {
  margin-top: max(19rem, 100px);
}
#admission #questions .questions__wrapper .questions__list .questions__item:not(:last-of-type) {
  padding-bottom: max(2rem, 15px);
  margin-bottom: max(3.5rem, 30px);
  border-bottom: 1px solid #e9e5e5;
}
#admission #questions .questions__wrapper .questions__list .questions__item-title {
  display: flex;
  align-items: center;
  gap: max(2rem, 15px);
}
#admission #questions .questions__wrapper .questions__list .questions__item-title .icon-question {
  width: max(4rem, 30px);
  text-align: center;
  align-self: baseline;
  font-family: YakuHanJP, "EB Garamond", "Noto Serif JP", sans-serif;
  color: #b8183f;
  font-size: max(4rem, 30px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
}
#admission #questions .questions__wrapper .questions__list .questions__item-title p {
  flex: 1;
}
#admission #questions .questions__wrapper .questions__list .questions__item-content {
  display: flex;
  align-items: center;
  gap: max(2rem, 15px);
  margin-top: max(2rem, 20px);
}
#admission #questions .questions__wrapper .questions__list .questions__item-content p {
  flex: 1;
}
#admission #questions .questions__wrapper .questions__list .questions__item-content p b {
  color: #b8183f;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}
#admission #questions .questions__wrapper .questions__list .questions__item-content p a {
  color: #b8183f;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  text-decoration: underline;
}
#admission #questions .questions__wrapper .questions__list .questions__item-content .icon-answer {
  width: max(4rem, 30px);
  text-align: center;
  align-self: baseline;
  font-family: YakuHanJP, "EB Garamond", "Noto Serif JP", sans-serif;
  font-size: max(3rem, 26px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
}
#admission #questions .questions__wrapper .questions__list .questions__item-content .item__inner .tableBox {
  width: 100%;
  overflow: auto;
}
#admission #questions .questions__wrapper .questions__list .questions__item-content .item__inner .tableBox table {
  width: 100%;
  min-width: 700px;
  margin-top: max(2rem, 15px);
  border-spacing: max(0.6rem, 4px);
  border-collapse: separate;
  overflow: auto;
}
#admission #questions .questions__wrapper .questions__list .questions__item-content .item__inner .tableBox table thead.table__head {
  background: #e5e0e0;
}
#admission #questions .questions__wrapper .questions__list .questions__item-content .item__inner .tableBox table thead.table__head tr th {
  text-align: center;
  padding: max(1rem, 5px) max(2.5rem, 20px);
}
#admission #questions .questions__wrapper .questions__list .questions__item-content .item__inner .tableBox table thead.table__head tr th.corner-cell {
  position: relative;
  text-align: left;
  z-index: 0;
}
#admission #questions .questions__wrapper .questions__list .questions__item-content .item__inner .tableBox table thead.table__head tr th.corner-cell::before {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -webkit-clip-path: polygon(0 0, 100% 100%, 0 100%);
          clip-path: polygon(0 0, 100% 100%, 0 100%);
  background: #f4efef;
  z-index: -1;
}
#admission #questions .questions__wrapper .questions__list .questions__item-content .item__inner .tableBox table tbody.table__body tr th,
#admission #questions .questions__wrapper .questions__list .questions__item-content .item__inner .tableBox table tbody.table__body tr td {
  font-size: max(1.6rem, 14px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.1em;
  padding: max(1rem, 5px) max(2.5rem, 20px);
  vertical-align: middle;
}
#admission #questions .questions__wrapper .questions__list .questions__item-content .item__inner .tableBox table tbody.table__body tr th > *,
#admission #questions .questions__wrapper .questions__list .questions__item-content .item__inner .tableBox table tbody.table__body tr td > * {
  font-family: inherit;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}
#admission #questions .questions__wrapper .questions__list .questions__item-content .item__inner .tableBox table tbody.table__body tr th {
  background: #f4efef;
}
#admission #questions .questions__wrapper .questions__list .questions__item-content .item__inner .tableBox table tbody.table__body tr th.row-title {
  text-align: center;
  background: #e5e0e0;
}
#admission #questions .questions__wrapper .questions__list .questions__item-content .item__inner .tableBox table tbody.table__body tr td {
  background: #fff;
}
#admission #questions .questions__wrapper .questions__list .questions__item-content .item__inner .tableBox table tbody.space tr {
  height: max(1rem, 5px);
}/*# sourceMappingURL=schedule.css.map */