@charset "UTF-8";
:root {
  --viewport-base-pc: 1420;
  --viewport-base-sp: 375;
  --vpx-ratio: 1;
}

@media screen and (min-width: 769px) and (max-width: 1420px) {
  :root {
    --vpx-ratio: var(--viewport-ratio-pc, calc(100vw / 1420px));
  }
}
@media screen and (max-width: 768px) {
  :root {
    --vpx-ratio: min(var(--viewport-ratio-sp, calc(100vw / 375px)), 1.4814814815);
  }
}
.intro {
  width: 100%;
  padding-bottom: calc(30px * var(--vpx-ratio));
  background: #fff;
}
.intro__ttl {
  width: -moz-fit-content;
  width: fit-content;
  padding-bottom: 8px;
  margin-bottom: 30px;
  margin-inline: auto;
  border-bottom: 1px solid #202121;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-align: center;
}
.intro__lead {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 2;
  text-align: center;
}
.intro__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  -moz-column-gap: 40px;
       column-gap: 40px;
  margin-top: 30px;
}
.intro__action {
  display: flex;
  align-items: center;
  justify-content: center;
  -moz-column-gap: 20px;
       column-gap: 20px;
  width: 100%;
  max-width: 360px;
  padding-block: 17px;
  background: #1b3063;
  text-align: center;
  transition: opacity 0.3s ease;
  will-change: opacity;
}
.intro__action-txt {
  font-size: 16px;
  color: #fff;
  font-weight: 500;
}
.intro__action-icon {
  width: 24px;
  color: #fff;
}
.intro__action:nth-child(2) {
  background: #f0a548;
}
.intro__action:nth-child(2) .intro__action-txt,
.intro__action:nth-child(2) .intro__action-icon {
  color: #202121;
}
.intro__nav {
  display: flex;
  align-items: center;
  justify-content: center;
  -moz-column-gap: 24px;
       column-gap: 24px;
  margin-top: 50px;
}
.intro__nav-item {
  width: -moz-fit-content;
  width: fit-content;
}
.intro__nav-link {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  -moz-column-gap: 12px;
       column-gap: 12px;
  width: 100%;
  padding-bottom: 12px;
  padding-right: 1em;
  border-bottom: 1px solid #202121;
  transition: opacity 0.7s ease;
  will-change: opacity;
}
.intro__nav-icon {
  flex: 0 0 18px;
  margin-top: 2px;
}
.intro__nav-txt {
  flex: 1;
  font-size: 18px;
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  .intro {
    padding-bottom: calc(18px * var(--vpx-ratio));
  }
  .intro__ttl {
    padding-bottom: 5px;
    margin-bottom: 25px;
    font-size: 20px;
  }
  .intro__lead {
    font-size: 14px;
    text-align: start;
  }
  .intro__actions {
    display: flex;
    flex-direction: column;
    row-gap: 18px;
    margin-top: 18px;
  }
  .intro__action-txt {
    font-size: 14px;
  }
  .intro__action-icon {
    width: 22px;
  }
  .intro__nav {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    margin-top: 30px;
  }
  .intro__nav-link {
    display: flex;
    -moz-column-gap: 10px;
         column-gap: 10px;
    padding-bottom: 10px;
  }
  .intro__nav-icon {
    flex: 0 0 16px;
  }
  .intro__nav-txt {
    font-size: 16px;
  }
}
@media (hover: hover) {
  .intro__action:hover,
  .intro__action:focus-visible {
    opacity: 0.7;
  }
  .intro__nav-link:hover,
  .intro__nav-link:focus-visible {
    opacity: 0.7;
  }
}
.admission {
  width: 100%;
  padding-top: calc(30px * var(--vpx-ratio));
  background: #fff;
}
.admission__block + .admission__block {
  margin-top: 120px;
}
.admission__block > *:not(.admission__ttl):not(.admission__subttl) + * {
  margin-top: 32px;
}
.admission__ttl {
  width: -moz-fit-content;
  width: fit-content;
  padding-bottom: 8px;
  margin-bottom: 48px;
  margin-inline: auto;
  border-bottom: 1px solid #202121;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.2em;
  line-height: 1.6;
  text-align: center;
}
.admission__box + .admission__box {
  padding-top: 48px;
  margin-top: 48px !important;
  border-top: 1px solid #d9d8cb;
}
.admission__box > *:not(.admission__subttl) + * {
  margin-top: 36px;
}
.admission__group {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  -moz-column-gap: 50px;
       column-gap: 50px;
}
.admission__group-img {
  flex: 0 0 50%;
  pointer-events: none;
}
.admission__group-content {
  flex: 1;
}
.admission__subttl {
  width: -moz-fit-content;
  width: fit-content;
  padding-inline: 1.62em 1em;
  padding-bottom: 4px;
  text-indent: -1.62em;
  margin-bottom: 32px;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.2em;
  line-height: 1.6;
  border-bottom: 1px dashed #202121;
}
.admission__subttl::before {
  content: "■ ";
}
.admission__txt, .admission__link {
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.15em;
  line-height: 1.6;
}
.admission__link {
  display: inline;
  transition: opacity 0.3s ease;
}
.admission__bold {
  font: inherit;
  font-weight: 600;
}
.admission__underline {
  font: inherit;
  border-bottom: 1px solid #202121;
}
.admission__marker {
  font: inherit;
  background: #fff01a;
}
.admission__notes {
  display: grid;
  row-gap: 1em;
}
.admission__note {
  padding-left: 1.15em;
  text-indent: -1.15em;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.15em;
  line-height: 1.6;
}
.admission__note::before {
  content: "※";
}
.admission__notes--order {
  counter-reset: admission-note-num;
}
.admission__notes--order > .admission__note {
  padding-left: 2.25em;
  text-indent: -2.25em;
  counter-increment: admission-note-num;
}
.admission__notes--order > .admission__note::before {
  content: "※" counter(admission-note-num) " ";
}
.admission__list {
  display: grid;
  row-gap: 1em;
}
.admission__list > .admission__item {
  padding-left: 1.15em;
  text-indent: -1.15em;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.15em;
  line-height: 1.6;
}
.admission__list > .admission__item::before {
  content: "・";
}
.admission__list--order {
  counter-reset: admission-order;
}
.admission__list--order > .admission__item {
  padding-left: 3.03em;
  text-indent: -3.03em;
  counter-increment: admission-order;
}
.admission__list--order > .admission__item::before {
  content: "（" counter(admission-order) "）";
}
.admission__list--requirement {
  counter-reset: admission-circle;
}
.admission__list--requirement > .admission__item {
  padding-left: 1.15em;
  text-indent: -1.15em;
  counter-increment: admission-circle;
}
.admission__list--requirement > .admission__item::before {
  content: counter(admission-circle, circled-decimal);
}
.admission__table {
  --head-width: 25%;
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}
.admission__table--two-col {
  --head-width: 50%;
}
.admission__col--head {
  width: var(--head-width);
}
tbody .admission__row:last-child > .admission__label,
tbody .admission__row:last-child > .admission__data {
  border-bottom: none;
}
.admission__head, .admission__label, .admission__data {
  padding: 12px;
  border-bottom: 1px solid #202121;
  border-left: 1px solid #202121;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  text-align: start;
  vertical-align: middle;
}
.admission__head:first-child, .admission__label:first-child, .admission__data:first-child {
  border-left: none;
}
.admission__head {
  background: #f2f2f2;
  text-align: center;
}
.admission__data--num {
  text-align: end;
}
.admission__btn {
  position: relative;
  width: 100%;
  max-width: 320px;
  padding-block: 17px;
  margin-top: 48px !important;
  margin-inline: auto;
  background: #595757;
  box-shadow: 3px 3px 0 #D9D8CB;
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.3s ease;
}
.admission__btn-txt {
  font-size: 16px;
  color: #fff;
  font-weight: 500;
}
.admission__btn-arrow {
  position: absolute;
  top: 50%;
  right: 24px;
  transform: translateY(-50%);
  width: 6px;
}

@media screen and (max-width: 768px) {
  .admission {
    padding-top: calc(18px * var(--vpx-ratio));
  }
  .admission__block + .admission__block {
    margin-top: 72px;
  }
  .admission__block > *:not(.admission__ttl):not(.admission__subttl) + * {
    margin-top: 24px;
  }
  .admission__ttl {
    padding-bottom: 5px;
    margin-bottom: 24px;
    font-size: 20px;
  }
  .admission__box + .admission__box {
    padding-top: 24px;
    margin-top: 24px !important;
  }
  .admission__box > *:not(.admission__subttl) + * {
    margin-top: 24px;
  }
  .admission__group {
    display: flex;
    flex-direction: column;
    row-gap: 24px;
  }
  .admission__group-img {
    flex: 1;
  }
  .admission__subttl {
    padding-bottom: 2px;
    margin-bottom: 24px;
    font-size: 18px;
  }
  .admission__txt, .admission__link {
    font-size: 14px;
  }
  .admission__note {
    font-size: 14px;
  }
  .admission__list > .admission__item {
    font-size: 14px;
  }
  .admission__table-wrap {
    width: 100%;
    overflow-x: scroll;
  }
  .admission__table {
    --head-width: 20%;
    width: 900px;
  }
  .admission__table--two-col {
    --head-width: 50%;
    width: 100%;
  }
  .admission__col--head {
    width: var(--head-width);
  }
  .admission__head, .admission__label, .admission__data {
    padding: 10px;
    font-size: 14px;
  }
  .admission__btn {
    margin-top: 36px !important;
  }
}
@media (hover: hover) {
  .admission__link:hover,
  .admission__link:focus-visible {
    opacity: 0.7;
  }
  .admission__btn:hover,
  .admission__btn:focus-visible {
    box-shadow: none;
    opacity: 0.7;
    transform: translate(3px, 3px);
  }
}
@counter-style circled-decimal {
  system: fixed;
  symbols: "①" "②" "③" "④" "⑤" "⑥" "⑦" "⑧" "⑨" "⑩";
  suffix: "";
}
/*# sourceMappingURL=guide.css.map */
