@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);
  }
}
.l-container {
  width: 1320px;
  margin-inline: auto;
  zoom: 1;
}
@media screen and (min-width: 769px) and (max-width: 1466.6666666667px) {
  .l-container {
    zoom: calc(100vw / 1466.6666666667px);
  }
}
@media screen and (max-width: 768px) {
  .l-container {
    width: 337.5px;
  }
}
@media screen and (min-width: 360px) and (max-width: 768px) {
  .l-container {
    zoom: min(var(--viewport-ratio-sp, calc(100vw / 375px)), 1.4814814815);
  }
}

.l-container--sm {
  width: 1085px;
  margin-inline: auto;
  zoom: 1;
}
@media screen and (min-width: 769px) and (max-width: 1205.5555555556px) {
  .l-container--sm {
    zoom: calc(100vw / 1205.5555555556px);
  }
}
@media screen and (max-width: 768px) {
  .l-container--sm {
    width: 337.5px;
  }
}
@media screen and (min-width: 360px) and (max-width: 768px) {
  .l-container--sm {
    zoom: min(var(--viewport-ratio-sp, calc(100vw / 375px)), 1.4814814815);
  }
}

.l-container--lg {
  width: 1420px;
  margin-inline: auto;
  zoom: 1;
}
@media screen and (min-width: 1420px) {
  .l-container--lg {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-container--lg {
    width: 375px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1420px) {
  .l-container--lg {
    zoom: var(--viewport-ratio-pc, calc(100vw / 1420px));
  }
}
@media screen and (min-width: 360px) and (max-width: 768px) {
  .l-container--lg {
    zoom: var(--viewport-ratio-sp, calc(100vw / 375px));
  }
}

.header {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  height: calc(135px * var(--vpx-ratio));
  background: #fff;
}
.header__inner {
  height: 100%;
}
.header__body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  padding-left: 90px;
}
.header__logo {
  width: 280px;
  transition: opacity 0.3s ease;
}
.header__logo-img {
  pointer-events: none;
}
.header__actions {
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
  height: 83%;
  margin-bottom: auto;
}
.header__action {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  row-gap: 7px;
  width: 153px;
  transition: opacity 0.3s ease;
  will-change: opacity;
}
.header__action--document {
  background: #1b3063;
}
.header__action--open-campus {
  width: 256px;
  background: #ee807b;
}
.header__action--contact {
  background: #828282;
}
.header__action-icon {
  width: 34px;
}
.header__action-txt, .header__action-sub {
  display: block;
  color: #fff;
  font-weight: 600;
  letter-spacing: 0.2em;
}
.header__action-txt {
  font-size: 16px;
}
.header__action-sub {
  font-size: 10px;
}
.header__ham {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  row-gap: 7px;
  width: auto;
  height: 100%;
  aspect-ratio: 1/1;
  background: #fff;
}
.header__ham-icon {
  position: relative;
  display: block;
  width: 25px;
  aspect-ratio: 1/1;
}
.header__ham-bar {
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 2px;
  background: #202121;
  transition: top 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
}
.header__ham-bar:first-child {
  top: 16%;
}
.header__ham-bar:nth-child(2) {
  top: 50%;
}
.header__ham-bar:last-child {
  top: 84%;
}
.header__ham-txt {
  display: block;
  font-family: "Roboto", sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
}
.header__ham.is-active .header__ham-bar:first-child {
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
.header__ham.is-active .header__ham-bar:nth-child(2) {
  opacity: 0;
}
.header__ham.is-active .header__ham-bar:last-child {
  top: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
}
.header__content {
  position: absolute;
  top: var(--header-h);
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: calc(100vh - var(--header-h));
  height: calc(100dvh - var(--header-h));
  background: #1b3063;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.header__content.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.header__nav {
  width: 90%;
  max-width: 1125px;
  padding-top: 110px;
  margin-inline: auto;
}
.header__nav-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  -moz-column-gap: 36px;
       column-gap: 36px;
}
.header__nav-heading {
  padding-bottom: 7px;
  margin-bottom: 20px;
  border-bottom: 1px solid #fff;
  font-size: 20px;
  color: #fff;
  font-weight: 600;
}
.header__nav-links {
  display: grid;
  row-gap: 17px;
}
.header__nav-link {
  display: inline-block;
  padding-left: 1em;
  text-indent: -1em;
  font-size: 16px;
  color: #fff;
  font-weight: 500;
  line-height: 1.5;
  transition: opacity 0.3s ease;
  will-change: opacity;
}
.header__nav-link::before {
  content: "・";
  font: inherit;
}

@media screen and (max-width: 768px) {
  .header {
    height: calc(90px * var(--vpx-ratio));
  }
  .header__body {
    display: flex;
    padding-left: 30px;
  }
  .header__logo {
    width: 165px;
  }
  .header__actions {
    display: flex;
    height: 100%;
  }
  .header__action {
    display: none;
  }
  .header__ham {
    display: flex;
    row-gap: 5px;
  }
  .header__ham-icon {
    width: 20px;
  }
  .header__ham-txt {
    font-size: 8px;
  }
  .header__content {
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
  .header__nav {
    padding-block: 55px 40px;
  }
  .header__nav-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 18px;
  }
  .header__nav-heading {
    padding-bottom: 5px;
    margin-bottom: 12px;
    font-size: 12px;
    white-space: nowrap;
  }
  .header__nav-links {
    display: grid;
    row-gap: 12px;
  }
  .header__nav-link {
    font-size: 12px;
  }
}
@media (hover: hover) {
  .header__logo:hover,
  .header__logo:focus-visible {
    opacity: 0.7;
  }
  .header__action:hover,
  .header__action:focus-visible {
    opacity: 0.7;
  }
  .header__nav-link:hover,
  .header__nav-link:focus-visible {
    opacity: 0.7;
  }
}
.footer {
  width: 100%;
  padding-top: calc(50px * var(--vpx-ratio));
  background: #fff;
}
.footer__body {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  -moz-column-gap: 140px;
       column-gap: 140px;
  margin-bottom: 70px;
}
.footer__logo {
  flex: 0 0 280px;
  transition: opacity 0.3s ease;
  will-change: opacity;
}
.footer__logo-img {
  pointer-events: none;
}
.footer__content {
  flex: 1;
}
.footer__address {
  margin-bottom: 14px;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.5;
}
.footer__list {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.footer__link {
  font-size: 18px;
  color: #1b3063;
  font-weight: 600;
  transition: opacity 0.3s ease;
}
.footer__copyright {
  padding-block: 15px;
  background: #8d8d8e;
  text-align: center;
}
.footer__copyright-txt {
  font-family: "Roboto", sans-serif;
  font-size: 14px;
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.5;
}

@media screen and (max-width: 768px) {
  .footer {
    padding-top: calc(35px * var(--vpx-ratio));
  }
  .footer__body {
    display: flex;
    align-items: center;
    flex-direction: column;
    row-gap: 20px;
    margin-bottom: 42px;
  }
  .footer__logo {
    flex: 1;
    width: 165px;
  }
  .footer__address {
    font-size: 14px;
    text-align: center;
  }
  .footer__list {
    display: flex;
    justify-content: center;
  }
  .footer__link {
    font-size: 14px;
  }
  .footer__copyright {
    padding-block: 12px;
  }
  .footer__copyright-txt {
    font-size: 10px;
  }
}
@media (hover: hover) {
  .footer__logo:hover,
  .footer__logo:focus-visible {
    opacity: 0.7;
  }
  .footer__link:hover,
  .footer__link:focus-visible {
    opacity: 0.7;
  }
}
.loading {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100vw;
  width: 100dvw;
  height: 100vh;
  height: 100dvh;
  z-index: 9999;
  background-color: #EAEAE4;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.6s ease, visibility 0s linear 0.6s;
}
.is-loading .loading {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition-delay: 0s;
}
.loading.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.loading__img {
  width: 30%;
  pointer-events: none;
}

html.is-loading,
html.is-loading body {
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .loading__img {
    width: 70%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .loading {
    transition-duration: 0.01ms;
  }
}
.c-page-head {
  position: relative;
  width: 100%;
  margin-bottom: calc(110px * var(--vpx-ratio));
}
.c-page-head::before, .c-page-head::after {
  content: "";
  position: absolute;
  z-index: 10;
  background: linear-gradient(135deg, #93d2e3, #cae0b1);
}
.c-page-head::before {
  top: 0;
  left: 0;
  width: 20%;
  aspect-ratio: 272/550;
  clip-path: polygon(0 0, 40% 0, 100% 100%, 0% 100%);
}
.c-page-head::after {
  bottom: 0;
  right: 0;
  transform: translateY(45%);
  width: 17.5%;
  aspect-ratio: 250/497;
  clip-path: polygon(60% 0, 100% 0, 100% 100%, 0% 100%);
}
.c-page-head__ttl {
  position: absolute;
  top: 17%;
  left: 7.5%;
  z-index: 20;
  font-size: calc(23px * var(--vpx-ratio));
  font-weight: 600;
  letter-spacing: 0.15em;
  line-height: 1.6;
  text-shadow: 0 0 5px #fff;
}
.c-page-head__ttl-en {
  font: inherit;
  font-family: "Roboto", sans-serif;
  font-size: calc(18px * var(--vpx-ratio));
  font-weight: 500;
  letter-spacing: 0.1em;
}
.c-page-head__img {
  width: 95%;
  aspect-ratio: 1338/646;
  margin-inline: auto 0;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: right center;
     object-position: right center;
  clip-path: polygon(15% 0, 100% 0%, 100% 100%, 0% 100%);
}

@media screen and (max-width: 768px) {
  .c-page-head {
    margin-bottom: calc(80px * var(--vpx-ratio));
  }
  .c-page-head__ttl {
    position: absolute;
    left: 5%;
    font-size: calc(15px * var(--vpx-ratio));
  }
  .c-page-head__ttl-en {
    font-size: calc(10px * var(--vpx-ratio));
  }
}
.c-btn {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  transition: opacity 0.3s ease, border-color 0.3s ease, color 0.3s ease;
  will-change: opacity;
}
.c-btn__txt {
  position: relative;
  display: inline-block;
  padding-bottom: 3px;
  padding-inline: 1.5em 1em;
  border-bottom: 1px solid #202121;
  font-size: 14px;
  font-weight: 600;
}
.c-btn__txt::before {
  content: "＞";
  position: absolute;
  top: calc(50% - 1.5px);
  left: 0;
  transform: translateY(-50%);
  transition: transform 0.3s ease;
}

.c-btn--arrow-end .c-btn__txt {
  padding-inline: 0 2em;
}
.c-btn--arrow-end .c-btn__txt::before {
  left: auto;
  right: 0.3em;
}

.c-btn--fill {
  width: 100%;
  padding-block: 16px;
  border: 2px solid transparent;
  border-radius: 37px;
  text-align: center;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

.c-btn--blue {
  border-color: #1b3063;
  background: #1b3063;
}
.c-btn--blue .c-btn__txt {
  border-color: #fff;
  color: #fff;
}

.c-btn--yellow {
  border-color: #f7b000;
  background: #f7b000;
}

@media (hover: hover) {
  .c-btn:hover .c-btn__txt::before,
  .c-btn:focus-visible .c-btn__txt::before {
    transform: translate(4px, -50%);
  }
  .c-btn:not(.c-btn--fill):hover,
  .c-btn:not(.c-btn--fill):focus-visible {
    opacity: 0.7;
  }
  .c-btn--blue:hover,
  .c-btn--blue:focus-visible {
    background: #fff;
  }
  .c-btn--blue:hover .c-btn__txt,
  .c-btn--blue:focus-visible .c-btn__txt {
    border-color: #1b3063;
    color: #1b3063;
  }
}
.c-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  -moz-column-gap: 10px;
       column-gap: 10px;
  width: 100%;
}
.c-pagination--sp {
  display: none;
}
.c-pagination__link, .c-pagination__separator {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  aspect-ratio: 1/1;
  border: 1px solid #BFBFBF;
  font-size: 16px;
  color: #BFBFBF;
  font-weight: 500;
  transition: opacity 0.3s ease;
}
.c-pagination__link--lg, .c-pagination__separator--lg {
  width: 72px;
  aspect-ratio: 2/1;
}
.c-pagination__link.is-current, .c-pagination__separator.is-current {
  border-color: #202121;
  color: #202121;
}

@media screen and (max-width: 768px) {
  .c-pagination {
    display: flex;
    -moz-column-gap: 7px;
         column-gap: 7px;
  }
  .c-pagination--pc {
    display: none;
  }
  .c-pagination--sp {
    display: flex;
  }
  .c-pagination__link, .c-pagination__separator {
    display: flex;
    width: 28px;
    font-size: 14px;
  }
  .c-pagination__link--lg, .c-pagination__separator--lg {
    width: 56px;
  }
}
@media (hover: hover) {
  .c-pagination__link:not(.is-current):hover,
  .c-pagination__link:not(.is-current):focus-visible {
    opacity: 0.7;
  }
}
.c-form {
  width: 100%;
  max-width: 880px;
  margin-inline: auto;
}
.c-form__ttl {
  padding-block: 10px;
  padding-left: 15px;
  margin-bottom: 30px;
  border-left: 3px solid #202121;
  font-size: 24px;
  font-weight: 600;
}
.c-form__field + .c-form__field {
  margin-top: 30px;
}
.c-form__field:has(+ .c-form__agree) {
  margin-bottom: 30px;
}
.c-form__label {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  -moz-column-gap: 10px;
       column-gap: 10px;
  margin-bottom: 20px;
  font-size: 16px;
  font-weight: 600;
}
.c-form__required {
  display: inline-block;
  padding: 5px 10px;
  border-radius: 4px;
  background: #F02B2B;
  font-size: 14px;
  color: #fff;
  font-weight: 600;
}
.c-form__inline {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  -moz-column-gap: 10px;
       column-gap: 10px;
}
.c-form__input {
  width: 100%;
  max-width: 550px;
  height: 55px;
  padding-inline: 16px;
  border: 1px solid #202121;
  background: #fff;
  font-size: 16px;
  font-weight: 500;
}
.c-form__input::-moz-placeholder {
  color: #9BA1A7;
}
.c-form__input::placeholder {
  color: #9BA1A7;
}
.c-form__input--sm {
  max-width: 170px;
}
.c-form__input--lg {
  max-width: none;
}
.c-form__textarea {
  width: 100%;
  height: 270px;
  padding: 16px;
  border: 1px solid #202121;
  background: #fff;
  resize: none;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
}
.c-form__unit {
  font-size: 16px;
  font-weight: 600;
}
.c-form__radio-group, .c-form__radio-group .wpcf7-radio {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 16px;
}
.c-form .wpcf7-list-item {
  margin: 0;
}
.c-form__radio, .c-form__radio-group .wpcf7-list-item label {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  -moz-column-gap: 7px;
  column-gap: 7px;
  cursor: pointer;
}
.c-form__radio-input, .c-form__radio input, .c-form__radio-group .wpcf7-list-item label-input, .c-form__radio-group .wpcf7-list-item label input {
  position: relative;
  width: 16px;
  height: 16px;
  aspect-ratio: 1/1;
  margin-top: 2px;
  border: 1px solid #606060;
  border-radius: 100%;
  background: #fff;
}
.c-form__radio-input:checked, .c-form__radio input:checked, .c-form__radio-group .wpcf7-list-item label-input:checked, .c-form__radio-group .wpcf7-list-item label input:checked {
  border-color: #005cc8;
}
.c-form__radio-input:checked::before, .c-form__radio input:checked::before, .c-form__radio-group .wpcf7-list-item label-input:checked::before, .c-form__radio-group .wpcf7-list-item label input:checked::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 9px;
  aspect-ratio: 1/1;
  border-radius: 100%;
  background: #005cc8;
}
.c-form__radio-txt, .c-form__radio-group .wpcf7-list-item label-txt {
  font-size: 16px;
  color: #555555;
  font-weight: 600;
}
.c-form__select {
  position: relative;
  width: 100%;
  max-width: 550px;
}
.c-form__select::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translate(-50%, -50%) rotate(-135deg);
  z-index: 10;
  width: 5px;
  aspect-ratio: 1/1;
  border-top: 2px solid #202121;
  border-left: 2px solid #202121;
}
.c-form__select-input {
  width: 100%;
  height: 55px;
  padding-inline: 16px;
  border: 1px solid #202121;
  background: #fff;
  font-size: 16px;
  font-weight: 500;
}
.c-form__postal {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.c-form__postal .c-form__input {
  max-width: 125px;
}
.c-form__postal-separator {
  margin-inline: 10px;
  font-size: 16px;
  font-weight: 500;
}
.c-form__postal-btn {
  padding: 8px 15px;
  margin-left: 20px;
  border-radius: 4px;
  background: #333;
  font-size: 14px;
  color: #fff;
  font-weight: 600;
  letter-spacing: 0.1em;
  transition: opacity 0.3s ease;
}
.c-form .wpcf7-not-valid-tip {
  display: block;
  margin-top: 7px;
  font-size: 14px;
  color: #dc3232;
}
.c-form__agree {
  margin-bottom: 60px;
}
.c-form__check {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  cursor: pointer;
}
.c-form__check .c-form__required {
  margin-right: 10px;
}
.c-form__check-input {
  position: relative;
  width: 14px;
  height: 14px;
  aspect-ratio: 1/1;
  margin-top: 2px;
  margin-right: 7px;
  border: 1px solid #606060;
  border-radius: 2px;
  background: #fff;
}
.c-form__check-input:checked {
  border-color: #005cc8;
  background: #005cc8;
}
.c-form__check-input:checked::before {
  content: "";
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
  width: 6px;
  height: 3px;
  border-bottom: 2px solid #fff;
  border-left: 2px solid #fff;
}
.c-form__check-txt {
  display: inline-block;
  font-size: 16px;
  font-weight: 600;
}
.c-form__check-link {
  display: inline;
  font: inherit;
  text-decoration: underline;
  transition: opacity 0.3s ease;
}
.c-form__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  -moz-column-gap: 30px;
       column-gap: 30px;
}
.c-form__actions[hidden] {
  display: none !important;
}
.c-form__btn {
  display: block;
  width: 100%;
  max-width: 410px;
  padding-block: 23px;
  border: none;
  border-radius: 4px;
  background: #3E3E3E;
  font-size: 20px;
  color: #fff;
  font-weight: 600;
  transition: opacity 0.3s ease;
  will-change: opacity;
}
.c-form .wpcf7-spinner {
  display: none;
}
.c-form .wpcf7-response-output:empty,
.c-form .wpcf7-response-output[aria-hidden=true] {
  display: none !important;
}

.c-form--confirm .c-form__list {
  margin-bottom: 60px;
}
.c-form--confirm .c-form__item + .c-form__item {
  margin-top: 30px;
}
.c-form--confirm .c-form__value {
  padding-left: 16px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
}

.c-form--thanks .c-form__txt {
  font-size: 20px;
  font-weight: 500;
  line-height: 2;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .c-form__ttl {
    padding-block: 7px;
    padding-left: 10px;
    margin-bottom: 20px;
    font-size: 20px;
  }
  .c-form__required {
    padding: 5px 10px;
  }
  .c-form__textarea {
    height: 200px;
  }
  .c-form__postal .c-form__input {
    max-width: 90px;
  }
  .c-form__agree {
    margin-bottom: 42px;
  }
  .c-form__actions {
    display: flex;
    flex-direction: column;
    row-gap: 25px;
  }
  .c-form--thanks .c-form__txt {
    font-size: 16px;
  }
}
@media (hover: hover) {
  .c-form__postal-btn:hover,
  .c-form__postal-btn:focus-visible {
    opacity: 0.7;
  }
  .c-form__check-link:hover,
  .c-form__check-link:focus-visible {
    opacity: 0.7;
  }
  .c-form__btn:hover,
  .c-form__btn:focus-visible {
    opacity: 0.7;
  }
}
.shortcut {
  display: none;
}

@media screen and (max-width: 768px) {
  .shortcut {
    position: fixed;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 900;
    display: flex;
    align-items: stretch;
    justify-content: center;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s ease, visibility 0.3s ease;
  }
  .shortcut.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .shortcut__action {
    flex: 0 0 27%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-direction: column;
    row-gap: 5px;
    min-height: 100px;
    padding-top: 20px;
  }
  .shortcut__action--document {
    background: #1b3063;
  }
  .shortcut__action--open-campus {
    flex: 1;
    background: #ee807b;
  }
  .shortcut__action--contact {
    background: #828282;
  }
  .shortcut__action-icon {
    width: 24px;
  }
  .shortcut__action-txt, .shortcut__action-sub {
    display: block;
    color: #fff;
    font-weight: 600;
    letter-spacing: 0.2em;
  }
  .shortcut__action-txt {
    font-size: 12px;
  }
  .shortcut__action-sub {
    font-size: 7px;
  }
}
.site-links {
  width: 100%;
  padding-block: calc(150px * var(--vpx-ratio)) calc(70px * var(--vpx-ratio));
  background: #fff;
}
.site-links__main {
  width: 100%;
  transition: opacity 0.3s ease;
  will-change: opacity;
}
.site-links__main-img {
  pointer-events: none;
}
.site-links__banners {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  -moz-column-gap: 40px;
       column-gap: 40px;
  margin-top: 42px;
}
.site-links__banner-link {
  transition: opacity 0.3s ease;
}
.site-links__banner-img {
  border-radius: 20px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  overflow: hidden;
  pointer-events: none;
}
.site-links__list {
  display: flex;
  align-items: center;
  justify-content: center;
  -moz-column-gap: 67px;
       column-gap: 67px;
  margin-top: 65px;
}
.site-links__link {
  display: inline-block;
  padding-bottom: 5px;
  padding-inline: 30px;
  border-bottom: 1px solid #1b3063;
  font-size: 16px;
  color: #1b3063;
  font-weight: 600;
  transition: opacity 0.3s ease;
  will-change: opacity;
}

@media screen and (max-width: 768px) {
  .site-links {
    padding-block: calc(50px * var(--vpx-ratio));
  }
  .site-links__banners {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    margin-top: 23px;
  }
  .site-links__banner-img {
    border-radius: 10px;
  }
  .site-links__list {
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
    margin-top: 30px;
  }
  .site-links__item {
    text-align: center;
  }
}
@media (hover: hover) {
  .site-links__main:hover,
  .site-links__main:focus-visible {
    opacity: 0.7;
  }
  .site-links__banner-link:hover,
  .site-links__banner-link:focus-visible {
    opacity: 0.7;
  }
  .site-links__link:hover,
  .site-links__link:focus-visible {
    opacity: 0.7;
  }
}
.contact-info {
  width: 100%;
  padding-block: calc(40px * var(--vpx-ratio));
  background: #fff;
}
.contact-info__body {
  border: 1px solid #202121;
}
.contact-info__ttl {
  padding-block: 14px;
  background: #e0e1e1;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-align: center;
}
.contact-info__content {
  display: flex;
  align-items: center;
  justify-content: center;
  -moz-column-gap: 40px;
       column-gap: 40px;
  padding: 20px 20px 40px;
}
.contact-info__summary {
  flex: 0 0 fit-content;
}
.contact-info__name {
  display: grid;
  row-gap: 10px;
  margin-bottom: 14px;
  font-weight: 600;
}
.contact-info__organization, .contact-info__office {
  font: inherit;
  display: block;
  letter-spacing: 0.15em;
}
.contact-info__organization {
  font-size: 20px;
}
.contact-info__office {
  font-size: 27px;
}
.contact-info__address {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
}
.contact-info__details {
  flex: 0 0 fit-content;
  display: grid;
  row-gap: 10px;
}
.contact-info__item {
  font-size: 20px;
  font-weight: 600;
}
.contact-info__link {
  font: inherit;
  display: inline;
  font-size: 25px;
  transition: opacity 0.3s ease;
}

@media screen and (max-width: 768px) {
  .contact-info {
    padding-block: calc(24px * var(--vpx-ratio));
  }
  .contact-info__ttl {
    padding-block: 10px;
    font-size: 17px;
  }
  .contact-info__content {
    display: flex;
    flex-direction: column;
    row-gap: 20px;
    padding: 15px 10px 25px;
  }
  .contact-info__summary {
    flex: 1;
    text-align: center;
  }
  .contact-info__name {
    display: grid;
    row-gap: 10px;
    margin-bottom: 12px;
  }
  .contact-info__organization {
    font-size: 14px;
  }
  .contact-info__office {
    font-size: 16px;
  }
  .contact-info__address {
    font-size: 12px;
    font-weight: 600;
  }
  .contact-info__details {
    flex: 1;
    display: grid;
    row-gap: 10px;
    text-align: center;
  }
  .contact-info__item {
    font-size: 17px;
  }
  .contact-info__link {
    font-size: 22px;
  }
}
@media (hover: hover) {
  .contact-info__link:hover,
  .contact-info__link:focus-visible {
    opacity: 0.7;
  }
}
.page-top {
  width: 100%;
  padding-block: calc(10px * var(--vpx-ratio));
  background: #fff;
}
.page-top__btn {
  width: 100%;
  text-align: center;
  transition: opacity 0.3s ease;
}
.page-top__btn-arrow {
  display: inline-block;
  width: 18px;
  aspect-ratio: 1/1;
  border-top: 1px solid #202121;
  border-left: 1px solid #202121;
  transform: rotate(45deg);
}
.page-top__btn-txt {
  display: block;
  font-size: 18px;
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  .page-top {
    padding-block: calc(5px * var(--vpx-ratio));
  }
  .page-top__btn-arrow {
    width: 14px;
  }
  .page-top__btn-txt {
    font-size: 14px;
  }
}
@media (hover: hover) {
  .page-top__btn:hover,
  .page-top__btn:focus-visible {
    opacity: 0.7;
  }
}
@media screen and (max-width: 768px) {
  .u-show--pc {
    display: none !important;
  }
}
@media screen and (max-width: 500px) {
  .u-show--pc-tab {
    display: none !important;
  }
}
@media screen and (min-width: 769px) {
  .u-show--tab {
    display: none !important;
  }
}
@media screen and (max-width: 500px) {
  .u-show--tab {
    display: none !important;
  }
}

@media screen and (min-width: 769px) {
  .u-show--tab-sp {
    display: none !important;
  }
}
@media screen and (min-width: 500px) {
  .u-show--sp {
    display: none !important;
  }
}
body.is-fixed {
  overflow: hidden;
}
/*# sourceMappingURL=style.css.map */
