.l-container {
  inline-size: 90%;
  max-inline-size: 1100px;
  margin-inline: auto;
}
.l-container--xs {
  inline-size: 90%;
  max-inline-size: 780px;
}
.l-container--sm {
  inline-size: 90%;
  max-inline-size: 940px;
}
.l-container--md {
  inline-size: 90%;
  max-inline-size: 1260px;
}
.l-container--lg {
  inline-size: 90%;
  max-inline-size: 1360px;
}

@media screen and (max-width: 768px) {
  .l-container {
    max-inline-size: 500px;
  }
  .l-container--xs {
    max-inline-size: 500px;
  }
  .l-container--sm {
    max-inline-size: 500px;
  }
  .l-container--md {
    max-inline-size: 500px;
  }
  .l-container--lg {
    max-inline-size: 620px;
  }
}
:root {
  --header-h: clamp(135px, 83.4277198212px + 6.7064083458vw, 180px);
  scroll-padding-top: var(--header-h);
}
@media screen and (max-width: 768px) {
  :root {
    --header-h: clamp(90px, 35.2702702703px + 14.5945945946vw, 117px);
  }
}

.slick-prev,
.slick-next {
  position: absolute;
  z-index: 100;
  inset-block-start: 50%;
  transform: translateY(-50%);
  inline-size: 20px;
  aspect-ratio: 1/1;
  border: none;
  outline: none;
  background: transparent;
  cursor: pointer;
  font-size: 0;
  color: transparent;
  line-height: 0;
}

.slick-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  inline-size: 100%;
  block-size: -moz-fit-content;
  block-size: fit-content;
  margin-block-start: 10px;
  text-align: center;
}
.slick-dots li {
  position: relative;
  display: inline-block;
  inline-size: 10px;
  aspect-ratio: 1/1;
  cursor: pointer;
}
.slick-dots li:only-child {
  display: none;
}
.slick-dots li button {
  inline-size: 100%;
  aspect-ratio: 1/1;
  border: 0;
  outline: none;
  border-radius: 100%;
  background: #d9d9d9;
  cursor: pointer;
  font-size: 0;
  color: transparent;
  line-height: 0;
}
.slick-dots li.slick-active button {
  background-color: #000;
}

.header {
  position: sticky;
  inset-block-start: 0;
  inset-inline-start: 0;
  z-index: 1000;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding-inline-end: clamp(20px, -2.9210134128px + 2.9806259314vw, 40px);
  pointer-events: none;
}
.header__logo {
  position: relative;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: clamp(135px, 83.4277198212px + 6.7064083458vw, 180px);
  aspect-ratio: 1/1;
  border-radius: 0 0 clamp(15px, 9.2697466468px + 0.7451564829vw, 20px) 0;
  background-color: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(10px);
  transition: opacity 0.3s ease;
  pointer-events: auto;
}
.header__logo.is-hidden {
  opacity: 0;
}
.header__img {
  inline-size: 75%;
  transition: opacity 0.3s ease;
}
.header__wrap {
  display: flex;
  align-items: center;
  gap: clamp(15px, 9.2697466468px + 0.7451564829vw, 20px);
  padding-block: clamp(8px, 5.7078986587px + 0.2980625931vw, 10px);
  padding-inline: clamp(23px, -19.4038748137px + 5.5141579732vw, 60px) clamp(23px, 14.9776453055px + 1.043219076vw, 30px);
  margin-block-start: clamp(19px, 12.1236959762px + 0.8941877794vw, 25px);
  border-radius: 1000px;
  background-color: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(10px);
  pointer-events: auto;
}
.header .gnav {
  display: flex;
  align-items: center;
  gap: clamp(30px, 18.5394932936px + 1.4903129657vw, 40px);
  margin-inline-end: clamp(0px, -22.9210134128px + 2.9806259314vw, 20px);
}
.header .gnav__link {
  transition: color 0.3s ease;
}
.header__cta {
  inline-size: clamp(135px, 83.4277198212px + 6.7064083458vw, 180px);
  padding-block: clamp(11px, 6.4157973174px + 0.5961251863vw, 15px);
  border: 2px solid #00a1e9;
  border-radius: 1000px;
  background-color: #00a1e9;
  color: #fff;
  font-weight: 700;
  text-align: center;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.header__ham {
  position: relative;
  inline-size: clamp(29px, 18.6855439642px + 1.3412816692vw, 38px);
  aspect-ratio: 1/1;
}
.header__ham span {
  position: absolute;
  inset-inline-start: 50%;
  transform: translate(-50%, -50%);
  inline-size: 100%;
  block-size: 2px;
  border-radius: 1000px;
  background-color: #384249;
  transition: inset-block-start 0.3s ease;
}
.header__ham span:first-child {
  inset-block-start: calc(50% - clamp(9px, 5.5618479881px + 0.4470938897vw, 12px));
}
.header__ham span:nth-child(2) {
  inset-block-start: 50%;
}
.header__ham span:last-child {
  inset-block-start: calc(50% + clamp(9px, 5.5618479881px + 0.4470938897vw, 12px));
}

.headerDrawer {
  position: fixed;
  inset-block-start: 0;
  inset-inline-end: 0;
  inline-size: calc(100% - clamp(165px, 101.9672131148px + 8.1967213115vw, 220px));
  max-inline-size: 1220px;
  block-size: 100vh;
  block-size: 100dvh;
  padding-block: clamp(75px, -10.9538002981px + 11.1773472429vw, 150px) clamp(30px, -4.3815201192px + 4.4709388972vw, 60px);
  padding-inline-start: clamp(55px, -8.0327868852px + 8.1967213115vw, 110px);
  border-radius: clamp(15px, 9.2697466468px + 0.7451564829vw, 20px) 0 0 clamp(15px, 9.2697466468px + 0.7451564829vw, 20px);
  opacity: 0;
  background-color: #fafafa;
  transition: opacity 0.3s ease;
  pointer-events: auto;
}
.headerDrawer.is-show {
  opacity: 1;
}
.headerDrawer__close {
  position: absolute;
  inset-block-start: clamp(33px, 21.5394932936px + 1.4903129657vw, 43px);
  inset-inline-end: clamp(43px, 12.0566318927px + 4.0238450075vw, 70px);
  inline-size: clamp(29px, 18.6855439642px + 1.3412816692vw, 38px);
  aspect-ratio: 1/1;
}
.headerDrawer__close span {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  transform: translate(-50%, -50%);
  inline-size: 100%;
  block-size: 2px;
  border-radius: 1000px;
  background-color: #384249;
}
.headerDrawer__close span:first-child {
  transform: translate(-50%, -50%) rotate(45deg);
}
.headerDrawer__close span:last-child {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.headerDrawer__container {
  inline-size: 90%;
  max-inline-size: 940px;
  block-size: 100%;
  overflow: auto;
}
.headerDrawer__nav {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: max-content;
  align-items: start;
  justify-content: center;
  gap: clamp(50px, -7.302533532px + 7.4515648286vw, 100px);
  margin-block-end: clamp(35px, -5.1117734724px + 5.21609538vw, 70px);
}
.headerDrawer__list {
  display: grid;
  gap: clamp(20px, -2.9210134128px + 2.9806259314vw, 40px);
}
.headerDrawer__item {
  display: flex;
  align-items: center;
  gap: clamp(5px, -0.7302533532px + 0.7451564829vw, 10px);
}
.headerDrawer__chevron {
  inline-size: clamp(2.5px, -0.3651266766px + 0.3725782414vw, 5px);
  margin-block-start: clamp(2px, -0.2921013413px + 0.2980625931vw, 4px);
}
.headerDrawer__link {
  font-size: clamp(9px, -1.3144560358px + 1.3412816692vw, 18px);
  font-weight: 500;
  transition: transform 0.3s ease;
  will-change: transform;
}
.headerDrawer__subList {
  display: grid;
  gap: clamp(11px, 6.4157973174px + 0.5961251863vw, 15px);
  padding-block-start: clamp(10px, -1.4605067064px + 1.4903129657vw, 20px);
  padding-inline-start: clamp(7.5px, -1.0953800298px + 1.1177347243vw, 15px);
}
.headerDrawer__subLink {
  font-size: clamp(8px, -1.1684053651px + 1.1922503726vw, 16px);
  transition: transform 0.3s ease;
  will-change: transform;
}
.headerDrawer__actions {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(20px, -2.9210134128px + 2.9806259314vw, 40px);
  margin-block-end: clamp(23px, -2.2131147541px + 3.2786885246vw, 45px);
}
.headerDrawer__action {
  padding: clamp(16px, -2.3368107303px + 2.3845007452vw, 32px) clamp(23px, -2.2131147541px + 3.2786885246vw, 45px) clamp(20px, -2.9210134128px + 2.9806259314vw, 40px);
  border-radius: clamp(15px, 9.2697466468px + 0.7451564829vw, 20px);
  background-color: #fff;
  text-align: center;
}
.headerDrawer__actionLabel {
  margin-block-end: clamp(3.5px, -0.5111773472px + 0.521609538vw, 7px);
  font-size: clamp(12px, -1.7526080477px + 1.7883755589vw, 24px);
  font-weight: 700;
  line-height: 1;
}
.headerDrawer__actionLead {
  margin-block-end: clamp(10px, -1.4605067064px + 1.4903129657vw, 20px);
  font-size: clamp(7px, -1.0223546945px + 1.043219076vw, 14px);
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
}
.headerDrawer__actionBtn {
  inline-size: 100%;
  padding-block: clamp(13px, -0.7526080477px + 1.7883755589vw, 25px);
  margin-block-end: clamp(7.5px, -1.0953800298px + 1.1177347243vw, 15px);
  margin-inline: auto;
  border-radius: 1000px;
  font-size: clamp(10px, -1.4605067064px + 1.4903129657vw, 20px);
  color: #fff;
  font-weight: 700;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.headerDrawer__actionLink {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: clamp(5px, -0.7302533532px + 0.7451564829vw, 10px);
  font-size: clamp(8px, -1.1684053651px + 1.1922503726vw, 16px);
  font-weight: 500;
  transition: opacity 0.3s ease;
}
.headerDrawer__actionChevron {
  inline-size: clamp(2px, -0.2921013413px + 0.2980625931vw, 4px);
  margin-block-start: clamp(1.5px, -0.219076006px + 0.2235469449vw, 3px);
}
.headerDrawer .headerDrawer__action--newGraduate .headerDrawer__actionLabel,
.headerDrawer .headerDrawer__action--newGraduate .headerDrawer__actionLead,
.headerDrawer .headerDrawer__action--newGraduate .headerDrawer__actionLink,
.headerDrawer .headerDrawer__action--newGraduate .headerDrawer__actionChevron {
  color: #00a1e9;
}
.headerDrawer .headerDrawer__action--newGraduate .headerDrawer__actionBtn {
  border: 2px solid #00a1e9;
  background-color: #00a1e9;
}
.headerDrawer .headerDrawer__action--career .headerDrawer__actionLabel,
.headerDrawer .headerDrawer__action--career .headerDrawer__actionLead,
.headerDrawer .headerDrawer__action--career .headerDrawer__actionLink,
.headerDrawer .headerDrawer__action--career .headerDrawer__actionChevron {
  color: #1b4ab4;
}
.headerDrawer .headerDrawer__action--career .headerDrawer__actionBtn {
  border: 2px solid #1b4ab4;
  background-color: #1b4ab4;
}
.headerDrawer__meta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(20px, -2.9210134128px + 2.9806259314vw, 40px);
}
.headerDrawer__metaLink {
  display: inline-flex;
  align-items: center;
  gap: clamp(2.5px, -0.3651266766px + 0.3725782414vw, 5px);
  font-size: clamp(6px, -0.8763040238px + 0.8941877794vw, 12px);
  color: #909090;
  transition: opacity 0.3s ease;
}
.headerDrawer__metaLink svg {
  inline-size: clamp(6px, -0.8763040238px + 0.8941877794vw, 12px);
}
.headerDrawer__deco {
  position: absolute;
  z-index: 750;
  pointer-events: none;
}
.headerDrawer__deco--01 {
  inset-block-start: 10%;
  inset-inline-end: 7%;
  inline-size: 16.393%;
}
.headerDrawer__deco--02 {
  inset-block-start: 63%;
  inset-inline-start: -7%;
  inline-size: 12.295%;
}

@media (hover: hover) {
  .header__logo:hover .header__img {
    opacity: 0.6;
  }
  .gnav__link:hover {
    color: #00a1e9;
  }
  .header__cta:hover {
    background-color: #d5f2ff;
    color: #00a1e9;
  }
  .header__ham:hover span:first-child {
    inset-block-start: calc(50% - clamp(11px, 7.5618479881px + 0.4470938897vw, 14px));
  }
  .header__ham:hover span:last-child {
    inset-block-start: calc(50% + clamp(11px, 7.5618479881px + 0.4470938897vw, 14px));
  }
  .headerDrawer__link:hover {
    transform: translateX(3px);
  }
  .headerDrawer__subLink:hover {
    transform: translateX(3px);
  }
  .headerDrawer__action--newGraduate .headerDrawer__actionBtn:hover {
    background-color: #d5f2ff;
    color: #00a1e9;
  }
  .headerDrawer__action--career .headerDrawer__actionBtn:hover {
    background-color: #cee5ff;
    color: #1b4ab6;
  }
  .headerDrawer__actionLink:hover {
    opacity: 0.6;
  }
  .headerDrawer__metaLink:hover {
    opacity: 0.6;
  }
}
.header__logo:focus-visible .header__img {
  opacity: 0.6;
}

.gnav__link:focus-visible {
  color: #00a1e9;
}

.header__cta:focus-visible {
  background-color: #d5f2ff;
  color: #00a1e9;
}

.header__ham:focus-visible span:first-child {
  inset-block-start: calc(50% - clamp(11px, 7.5618479881px + 0.4470938897vw, 14px));
}
.header__ham:focus-visible span:last-child {
  inset-block-start: calc(50% + clamp(11px, 7.5618479881px + 0.4470938897vw, 14px));
}

.headerDrawer__link:focus-visible {
  transform: translateX(3px);
}

.headerDrawer__subLink:focus-visible {
  transform: translateX(3px);
}

.headerDrawer__action--newGraduate .headerDrawer__actionBtn:focus-visible {
  background-color: #d5f2ff;
  color: #00a1e9;
}

.headerDrawer__action--career .headerDrawer__actionBtn:focus-visible {
  background-color: #cee5ff;
  color: #1b4ab6;
}

.headerDrawer__actionLink:focus-visible {
  opacity: 0.6;
}

.headerDrawer__metaLink:focus-visible {
  opacity: 0.6;
}

@media screen and (max-width: 1024px) {
  .headerDrawer {
    inline-size: 93%;
    max-inline-size: 750px;
    padding-block: clamp(60px, 23.5135135135px + 9.7297297297vw, 78px) clamp(50px, 19.5945945946px + 8.1081081081vw, 65px);
    padding-inline-start: 0;
    border-radius: clamp(15px, 4.8648648649px + 2.7027027027vw, 20px) 0 0 clamp(15px, 4.8648648649px + 2.7027027027vw, 20px);
  }
  .headerDrawer__close {
    inset-block-start: clamp(33px, 1.497rem + 1.18vw, 36px);
    inset-inline-end: clamp(44px, 1.054rem + 3.53vw, 53px);
    inline-size: clamp(29px, 1.247rem + 1.18vw, 32px);
  }
  .headerDrawer__container {
    inline-size: 90%;
    margin-inline: auto;
  }
  .headerDrawer__nav {
    grid-auto-flow: row;
    justify-content: start;
    gap: clamp(30px, 11.7567567568px + 4.8648648649vw, 39px);
    inline-size: 90%;
    margin-block-end: clamp(50px, 19.5945945946px + 8.1081081081vw, 65px);
    margin-inline: auto;
  }
  .headerDrawer__list {
    gap: clamp(30px, 11.7567567568px + 4.8648648649vw, 39px);
  }
  .headerDrawer__item {
    gap: clamp(8px, 1.9189189189px + 1.6216216216vw, 11px);
  }
  .headerDrawer__chevron {
    inline-size: clamp(4px, -0.0540540541px + 1.0810810811vw, 6px);
    margin-block-start: clamp(3px, 0.972972973px + 0.5405405405vw, 4px);
  }
  .headerDrawer__link {
    font-size: clamp(16px, 5.8648648649px + 2.7027027027vw, 21px);
  }
  .headerDrawer__subList {
    grid-template-columns: repeat(2, max-content);
    gap: clamp(30px, 11.7567567568px + 4.8648648649vw, 39px) clamp(50px, 19.5945945946px + 8.1081081081vw, 65px);
    padding-block-start: clamp(15px, 4.8648648649px + 2.7027027027vw, 20px);
    padding-inline-start: clamp(12px, 3.8918918919px + 2.1621621622vw, 16px);
  }
  .headerDrawer__subLink {
    font-size: clamp(15px, 4.8648648649px + 2.7027027027vw, 20px);
  }
  .headerDrawer__actions {
    grid-template-columns: 1fr;
    gap: clamp(20px, 7.8378378378px + 3.2432432432vw, 26px);
    margin-block-end: clamp(25px, 8.7837837838px + 4.3243243243vw, 33px);
  }
  .headerDrawer__action {
    padding: clamp(20px, 7.8378378378px + 3.2432432432vw, 26px) clamp(23px, 8.8108108108px + 3.7837837838vw, 30px);
    border-radius: clamp(5px, 0.9459459459px + 1.0810810811vw, 7px);
  }
  .headerDrawer__actionLabel {
    margin-block-end: clamp(5px, 0.9459459459px + 1.0810810811vw, 7px);
    font-size: clamp(17px, 4.8378378378px + 3.2432432432vw, 23px);
  }
  .headerDrawer__actionLead {
    margin-block-end: clamp(15px, 4.8648648649px + 2.7027027027vw, 20px);
    font-size: clamp(14px, 3.8648648649px + 2.7027027027vw, 19px);
  }
  .headerDrawer__actionBtn {
    inline-size: 100%;
    padding-block: clamp(18px, 5.8378378378px + 3.2432432432vw, 24px);
    margin-block-end: clamp(15px, 4.8648648649px + 2.7027027027vw, 20px);
    font-size: clamp(15px, 4.8648648649px + 2.7027027027vw, 20px);
  }
  .headerDrawer__actionLink {
    gap: clamp(8px, 1.9189189189px + 1.6216216216vw, 11px);
    font-size: clamp(14px, 3.8648648649px + 2.7027027027vw, 19px);
  }
  .headerDrawer__actionChevron {
    inline-size: clamp(4px, -0.0540540541px + 1.0810810811vw, 6px);
    margin-block-start: clamp(3px, 0.972972973px + 0.5405405405vw, 4px);
  }
  .headerDrawer__meta {
    flex-wrap: wrap;
    gap: clamp(30px, 11.7567567568px + 4.8648648649vw, 39px);
  }
  .headerDrawer__metaLink {
    gap: clamp(5px, 0.9459459459px + 1.0810810811vw, 7px);
    font-size: clamp(12px, 3.8918918919px + 2.1621621622vw, 16px);
  }
  .headerDrawer__metaLink svg {
    inline-size: clamp(12px, 3.8918918919px + 2.1621621622vw, 16px);
  }
  .headerDrawer__deco {
    position: absolute;
    pointer-events: none;
  }
  .headerDrawer__deco--01 {
    inset-block-start: 14%;
    inset-inline-end: 1.5%;
    inline-size: clamp(95px, 36.2162162162px + 15.6756756757vw, 124px);
  }
  .headerDrawer__deco--02 {
    inset-block-start: 70%;
    inset-inline-start: 0;
    transform: translateX(-35%);
    inline-size: clamp(60px, 23.5135135135px + 9.7297297297vw, 78px);
  }
}
@media screen and (max-width: 768px) {
  .header {
    padding-inline-end: clamp(10px, 3.9189189189px + 1.6216216216vw, 13px);
  }
  .header__logo {
    inline-size: clamp(90px, 35.2702702703px + 14.5945945946vw, 117px);
    border-radius: 0 0 clamp(10px, 3.9189189189px + 1.6216216216vw, 13px) 0;
  }
  .header__img {
    inline-size: 75%;
  }
  .header__wrap {
    gap: clamp(15px, 4.8648648649px + 2.7027027027vw, 20px);
    padding-block: clamp(10px, 3.9189189189px + 1.6216216216vw, 13px);
    padding-inline: clamp(10px, 3.9189189189px + 1.6216216216vw, 13px) clamp(20px, 7.8378378378px + 3.2432432432vw, 26px);
    margin-block-start: clamp(10px, 3.9189189189px + 1.6216216216vw, 13px);
  }
  .header__nav {
    display: none;
  }
  .header__cta {
    inline-size: clamp(110px, 43.1081081081px + 17.8378378378vw, 143px);
    padding-block: clamp(10px, 3.9189189189px + 1.6216216216vw, 13px);
  }
  .header__ham {
    inline-size: clamp(30px, 11.7567567568px + 4.8648648649vw, 39px);
  }
  .header__ham span:first-child {
    inset-block-start: calc(50% - clamp(10px, 3.9189189189px + 1.6216216216vw, 13px));
  }
  .header__ham span:last-child {
    inset-block-start: calc(50% + clamp(10px, 3.9189189189px + 1.6216216216vw, 13px));
  }
  .headerDrawer__close {
    inset-block-start: clamp(25px, 8.7837837838px + 4.3243243243vw, 33px);
    inset-inline-end: clamp(30px, 11.7567567568px + 4.8648648649vw, 39px);
    inline-size: clamp(30px, 11.7567567568px + 4.8648648649vw, 39px);
  }
}
.footer {
  padding-block-start: clamp(45px, 27.8092399404px + 2.2354694486vw, 60px);
  background-color: #fafafa;
}
.footer__body {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: max-content;
  align-items: start;
  justify-content: space-between;
  margin-block-end: clamp(60px, 37.0789865872px + 2.9806259314vw, 80px);
}
.footer__logo {
  inline-size: clamp(120px, 74.1579731744px + 5.9612518629vw, 160px);
  margin-block-end: clamp(20px, 11.9776453055px + 1.043219076vw, 27px);
  transition: opacity 0.3s ease;
}
.footer__address {
  line-height: 1.8;
}
.footer__mapLink {
  display: inline-block;
  color: #00a1e9;
  text-decoration: underline;
  transition: opacity 0.3s ease;
}
.footer .footerNav {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: max-content;
  align-items: start;
  justify-content: end;
  gap: clamp(40px, -5.8420268256px + 5.9612518629vw, 80px);
}
.footer .footerNav__list {
  display: grid;
  gap: clamp(23px, 14.9776453055px + 1.043219076vw, 30px);
}
.footer .footerNav__item {
  display: flex;
  align-items: center;
  gap: clamp(8px, 5.7078986587px + 0.2980625931vw, 10px);
}
.footer .footerNav__chevron {
  inline-size: clamp(3px, 1.8539493294px + 0.1490312966vw, 4px);
  margin-block-start: clamp(3px, 1.8539493294px + 0.1490312966vw, 4px);
}
.footer .footerNav__link {
  position: relative;
  display: inline-block;
  font-weight: 500;
  transition: transform 0.3s ease;
  will-change: transform;
}
.footer .footerNav__subList {
  display: grid;
  gap: clamp(11px, 6.4157973174px + 0.5961251863vw, 15px);
  padding-block-start: clamp(11px, 6.4157973174px + 0.5961251863vw, 15px);
  padding-inline-start: clamp(11px, 7.5618479881px + 0.4470938897vw, 14px);
}
.footer .footerNav__subLink {
  position: relative;
  transition: transform 0.3s ease;
  will-change: transform;
}
.footer__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-block-end: clamp(45px, 27.8092399404px + 2.2354694486vw, 60px);
}
.footer__copyright {
  font-family: "Montserrat", sans-serif;
  color: #909090;
}
.footer__utility {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(30px, 18.5394932936px + 1.4903129657vw, 40px);
}
.footer__utilityLink {
  display: inline-flex;
  align-items: center;
  gap: clamp(4px, 2.8539493294px + 0.1490312966vw, 5px);
  color: #909090;
  transition: opacity 0.3s ease;
}
.footer__utilityLink svg {
  inline-size: clamp(9px, 5.5618479881px + 0.4470938897vw, 12px);
}
.footer__visual {
  padding-block: clamp(105px, 64.8882265276px + 5.21609538vw, 140px);
  background-image: url(../images/common/footer_bg_pc.png);
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
  text-align: center;
}
.footer__tagline-ja {
  display: inline-flex;
  align-items: center;
  flex-direction: column;
  row-gap: clamp(15px, 9.2697466468px + 0.7451564829vw, 20px);
  margin-block-end: clamp(60px, 37.0789865872px + 2.9806259314vw, 80px);
  line-height: 1;
}
.footer__tagline-line {
  display: inline-block;
  padding: clamp(9px, 5.5618479881px + 0.4470938897vw, 12px);
  background-color: #fff;
  font-size: clamp(24px, 14.8315946349px + 1.1922503726vw, 32px);
  font-weight: 700;
}
.footer__tagline-em {
  color: #00a1e9;
  font-weight: 700;
}
.footer__tagline-en {
  font-family: "Montserrat", sans-serif;
  font-size: clamp(30px, 7.0789865872px + 2.9806259314vw, 50px);
  color: #fff;
  font-weight: 700;
  line-height: 1;
}
.footer__tagline-en > span {
  margin-inline: clamp(15px, 9.2697466468px + 0.7451564829vw, 20px);
  font-family: "Montserrat", sans-serif;
  font-size: clamp(20px, 1.6631892697px + 2.3845007452vw, 36px);
  color: #fff;
  font-weight: 700;
}

@media (hover: hover) {
  .footer__logo:hover {
    opacity: 0.6;
  }
  .footer__mapLink:hover {
    opacity: 0.6;
  }
  .footerNav__link:hover {
    transform: translateX(3px);
  }
  .footerNav__subLink:hover {
    transform: translateX(3px);
  }
  .footer__utilityLink:hover {
    opacity: 0.6;
  }
}
.footer__logo:focus-visible {
  opacity: 0.6;
}

.footer__mapLink:focus-visible {
  opacity: 0.6;
}

.footerNav__link:focus-visible {
  transform: translateX(3px);
}

.footerNav__subLink:focus-visible {
  transform: translateX(3px);
}

.footer__utilityLink:focus-visible {
  opacity: 0.6;
}

@media screen and (max-width: 768px) {
  .footer {
    padding-block-start: clamp(40px, 15.6756756757px + 6.4864864865vw, 52px);
  }
  .footer__body {
    grid-auto-flow: row;
    grid-auto-columns: 1fr;
    justify-content: start;
    gap: clamp(40px, 15.6756756757px + 6.4864864865vw, 52px);
    margin-block-end: clamp(40px, 15.6756756757px + 6.4864864865vw, 52px);
  }
  .footer__logo {
    inline-size: 70%;
    margin-block-end: clamp(20px, 7.8378378378px + 3.2432432432vw, 26px);
  }
  .footer .footerNav {
    grid-auto-flow: row;
    grid-auto-columns: 100%;
    justify-content: start;
    gap: clamp(25px, 8.7837837838px + 4.3243243243vw, 33px);
  }
  .footer .footerNav__list {
    gap: clamp(25px, 8.7837837838px + 4.3243243243vw, 33px);
  }
  .footer .footerNav__item {
    gap: clamp(8px, 1.9189189189px + 1.6216216216vw, 11px);
  }
  .footer .footerNav__chevron {
    inline-size: clamp(4px, -0.0540540541px + 1.0810810811vw, 6px);
    margin-block-start: clamp(4px, -0.0540540541px + 1.0810810811vw, 6px);
  }
  .footer .footerNav__subList {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: max-content;
    gap: clamp(40px, 15.6756756757px + 6.4864864865vw, 52px);
    padding-block-start: clamp(15px, 4.8648648649px + 2.7027027027vw, 20px);
    padding-inline-start: clamp(12px, 3.8918918919px + 2.1621621622vw, 16px);
  }
  .footer__meta {
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: column-reverse;
    gap: clamp(50px, 19.5945945946px + 8.1081081081vw, 65px);
    margin-block-end: clamp(40px, 15.6756756757px + 6.4864864865vw, 52px);
  }
  .footer__utility {
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: clamp(20px, 7.8378378378px + 3.2432432432vw, 26px) clamp(30px, 11.7567567568px + 4.8648648649vw, 39px);
  }
  .footer__utilityLink {
    gap: clamp(5px, 0.9459459459px + 1.0810810811vw, 7px);
  }
  .footer__utilityLink svg {
    inline-size: clamp(12px, 3.8918918919px + 2.1621621622vw, 16px);
  }
  .footer__visual {
    padding-block: clamp(50px, 19.5945945946px + 8.1081081081vw, 65px);
    background-image: url(../images/common/footer_bg_sp.png);
  }
  .footer__tagline-ja {
    row-gap: clamp(7.5px, 2.4324324324px + 1.3513513514vw, 10px);
    margin-block-end: clamp(25px, 8.7837837838px + 4.3243243243vw, 33px);
  }
  .footer__tagline-line {
    padding: clamp(7px, 0.9189189189px + 1.6216216216vw, 10px) clamp(5px, 0.9459459459px + 1.0810810811vw, 7px);
    font-size: clamp(17px, 4.8378378378px + 3.2432432432vw, 23px);
  }
  .footer__tagline-en {
    font-size: clamp(25px, 8.7837837838px + 4.3243243243vw, 33px);
    line-height: 1.15;
  }
  .footer__tagline-en span {
    margin-inline: 0;
    font-size: clamp(18px, 5.8378378378px + 3.2432432432vw, 24px);
  }
}
@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;
  }
}
html.is-noScroll {
  scroll-behavior: auto !important;
}

body.is-fixed {
  overflow: hidden;
}

.c-hd, h3, h2, h1 {
  font-weight: 700;
}
.c-hd--1, h1 {
  font-size: clamp(83px, 52.0566318927px + 4.0238450075vw, 110px);
}
@media screen and (max-width: 768px) {
  .c-hd--1, h1 {
    font-size: clamp(50px, 19.5945945946px + 8.1081081081vw, 65px);
  }
}
.c-hd--2, h2 {
  font-size: clamp(53px, 33.5171385991px + 2.5335320417vw, 70px);
}
@media screen and (max-width: 768px) {
  .c-hd--2, h2 {
    font-size: clamp(45px, 16.6216216216px + 7.5675675676vw, 59px);
  }
}
.c-hd--3, h3 {
  font-size: clamp(30px, 18.5394932936px + 1.4903129657vw, 40px);
}
@media screen and (max-width: 768px) {
  .c-hd--3, h3 {
    font-size: clamp(27px, 8.7567567568px + 4.8648648649vw, 36px);
  }
}

.c-pg, p {
  font-weight: 400;
  line-height: 1.8;
}
.c-pg--18 {
  font-size: clamp(14px, 9.4157973174px + 0.5961251863vw, 18px);
}
@media screen and (max-width: 768px) {
  .c-pg--18 {
    font-size: clamp(15px, 4.8648648649px + 2.7027027027vw, 20px);
  }
}
.c-pg--16 {
  font-size: clamp(12px, 7.4157973174px + 0.5961251863vw, 16px);
}
@media screen and (max-width: 768px) {
  .c-pg--16 {
    font-size: clamp(15px, 4.8648648649px + 2.7027027027vw, 20px);
  }
}
.c-pg--14 {
  font-size: clamp(11px, 7.5618479881px + 0.4470938897vw, 14px);
}
@media screen and (max-width: 768px) {
  .c-pg--14 {
    font-size: clamp(13px, 4.8918918919px + 2.1621621622vw, 17px);
  }
}
.c-pg--12 {
  font-size: clamp(9px, 5.5618479881px + 0.4470938897vw, 12px);
}
@media screen and (max-width: 768px) {
  .c-pg--12 {
    font-size: clamp(11px, 2.8918918919px + 2.1621621622vw, 15px);
  }
}

.overlay {
  position: fixed;
  inset-block-start: 0;
  inset-inline-start: 0;
  inline-size: 100vw;
  inline-size: 100dvw;
  block-size: 100vh;
  block-size: 100dvh;
  opacity: 0;
  background-color: rgba(56, 66, 73, 0.6);
  transition: opacity 0.3s ease;
}
.overlay.is-show {
  opacity: 1;
}
.overlay.is-header {
  z-index: 950;
}
.overlay.is-jobModal {
  z-index: 1000;
}

.jobModal {
  position: fixed;
  inset-block-start: 0;
  inset-inline-start: 0;
  z-index: 1100;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.jobModal.is-show {
  opacity: 1;
}
.jobModal__close {
  position: fixed;
  inset-block-start: clamp(19px, 12.1236959762px + 0.8941877794vw, 25px);
  inset-inline-end: clamp(30px, 18.5394932936px + 1.4903129657vw, 40px);
  inline-size: clamp(60px, 37.0789865872px + 2.9806259314vw, 80px);
  aspect-ratio: 1/1;
  border-radius: 100%;
  background-color: rgba(255, 255, 255, 0.65);
}
.jobModal__close span {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  inline-size: clamp(26px, 16.8315946349px + 1.1922503726vw, 34px);
  block-size: 2px;
  border-radius: 1000px;
  background-color: #384249;
}
.jobModal__close span:first-child {
  transform: translate(-50%, -50%) rotate(45deg);
}
.jobModal__close span:last-child {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.jobModal__body {
  position: fixed;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  transform: translate(-50%, -50%);
  inline-size: 90%;
  max-inline-size: 585px;
  padding-block: clamp(47px, 28.6631892697px + 2.3845007452vw, 63px);
  border-radius: clamp(15px, 9.2697466468px + 0.7451564829vw, 20px);
  background-color: #fff;
}
.jobModal__list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(60px, 37.0789865872px + 2.9806259314vw, 80px);
}
.jobModal__item--newGraduate .c-button,
.jobModal__item--newGraduate .c-circleArrow .c-arrow {
  color: #00a1e9;
}
.jobModal__item--newGraduate .c-circleArrow::before {
  border-color: #00a1e9;
}
.jobModal__item--career .c-button,
.jobModal__item--career .c-circleArrow .c-arrow {
  color: #1b4ab5;
}
.jobModal__item--career .c-circleArrow::before {
  border-color: #1b4ab5;
}

@media screen and (max-width: 768px) {
  .jobModal__close {
    inset-block-start: clamp(10px, 3.9189189189px + 1.6216216216vw, 13px);
    inset-inline-end: clamp(15px, 4.8648648649px + 2.7027027027vw, 20px);
    inline-size: clamp(60px, 23.5135135135px + 9.7297297297vw, 78px);
  }
  .jobModal__close span {
    inline-size: clamp(35px, 12.7027027027px + 5.9459459459vw, 46px);
  }
  .jobModal__body {
    inline-size: 75%;
    max-inline-size: 585px;
    padding-block: clamp(40px, 15.6756756757px + 6.4864864865vw, 52px);
    border-radius: clamp(10px, 3.9189189189px + 1.6216216216vw, 13px);
  }
  .jobModal__list {
    flex-direction: column;
    gap: clamp(30px, 11.7567567568px + 4.8648648649vw, 39px);
  }
}
.u-front {
  position: relative;
  z-index: 750;
}

.c-deco {
  position: absolute;
  z-index: 500;
  --deco-offset-y: 0px;
  transform: translate3d(0, var(--deco-offset-y), 0);
  will-change: transform;
  pointer-events: none;
}

.c-circleArrow {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1/1;
}
.c-circleArrow::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 2px solid #00a1e9;
  border-radius: 100%;
  transition: transform 0.3s ease;
  will-change: transform;
}
.c-circleArrow--lg {
  inline-size: clamp(53px, 33.5171385991px + 2.5335320417vw, 70px);
}
.c-circleArrow--sm {
  inline-size: clamp(38px, 24.2473919523px + 1.7883755589vw, 50px);
}
.c-circleArrow .c-arrow {
  inline-size: clamp(13px, 8.4157973174px + 0.5961251863vw, 17px);
  color: #00a1e9;
  transition: color 0.3s ease;
}
.c-circleArrow--back .c-arrow {
  transform: rotate(180deg);
}
.c-circleArrow--wht::before {
  border-color: #fff;
}
.c-circleArrow--wht .c-arrow {
  color: #fff;
}
.c-circleArrow--down {
  inline-size: clamp(30px, 18.5394932936px + 1.4903129657vw, 40px);
}
.c-circleArrow--down .c-chevron--b {
  inline-size: clamp(11px, 7.5618479881px + 0.4470938897vw, 14px);
  color: #00a1e9;
}

@media (hover: hover) {
  .is-hoverable:hover .c-circleArrow::before {
    transform: scale(1.1);
  }
}
.is-hoverable:focus-visible .c-circleArrow::before {
  transform: scale(1.1);
}

@media screen and (max-width: 768px) {
  .c-circleArrow--lg {
    inline-size: clamp(60px, 23.5135135135px + 9.7297297297vw, 78px);
  }
  .c-circleArrow--sm {
    inline-size: clamp(45px, 16.6216216216px + 7.5675675676vw, 59px);
  }
  .c-circleArrow .c-arrow {
    inline-size: clamp(16px, 5.8648648649px + 2.7027027027vw, 21px);
  }
  .c-circleArrow--down {
    inline-size: clamp(30px, 11.7567567568px + 4.8648648649vw, 39px);
  }
  .c-circleArrow--down::before {
    border-width: 1px;
  }
  .c-circleArrow--down .c-chevron--b {
    inline-size: clamp(10px, 3.9189189189px + 1.6216216216vw, 13px);
  }
}
.c-button {
  position: relative;
  z-index: 750;
  display: inline-flex;
  align-items: center;
  gap: clamp(11px, 6.4157973174px + 0.5961251863vw, 15px);
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  .c-button {
    gap: clamp(15px, 4.8648648649px + 2.7027027027vw, 20px);
  }
}
.c-loopText {
  display: flex;
  align-items: center;
  padding-block: 1.5em;
  overflow: hidden;
  pointer-events: none;
}
.c-loopText__track {
  display: flex;
  align-items: center;
  inline-size: -moz-max-content;
  inline-size: max-content;
  white-space: nowrap;
  animation: loopText 40s linear infinite both;
  will-change: transform;
}
.c-loopText__item {
  display: inline-block;
  margin-inline: clamp(13px, 8.4157973174px + 0.5961251863vw, 17px);
  font-family: "Montserrat", sans-serif;
  font-size: clamp(90px, 55.6184798808px + 4.4709388972vw, 120px);
  color: #d5f2ff;
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  .c-loopText__track {
    animation-duration: 30s;
  }
  .c-loopText__item {
    margin-inline: clamp(10px, 3.9189189189px + 1.6216216216vw, 13px);
    font-size: clamp(60px, 23.5135135135px + 9.7297297297vw, 78px);
  }
}
@keyframes loopText {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
.breadcrumb {
  position: relative;
  z-index: 750;
  padding-block: clamp(15px, 9.2697466468px + 0.7451564829vw, 20px) clamp(30px, 18.5394932936px + 1.4903129657vw, 40px);
}
.breadcrumb__list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  row-gap: clamp(8px, 5.7078986587px + 0.2980625931vw, 10px);
}
.breadcrumb__item {
  display: flex;
  align-items: center;
}
.breadcrumb__item + .breadcrumb__item::before {
  content: "";
  inline-size: clamp(2px, 0.8539493294px + 0.1490312966vw, 3px);
  aspect-ratio: 1/1;
  border-radius: 100%;
  margin-inline: clamp(8px, 5.7078986587px + 0.2980625931vw, 10px);
  background-color: #00a1e9;
}
.breadcrumb__link {
  transition: opacity 0.3s ease;
  will-change: opacity;
}
.breadcrumb__current {
  color: #909090;
}

@media (hover: hover) {
  .breadcrumb__link:hover {
    opacity: 0.6;
  }
}
.breadcrumb__link:focus-visible {
  opacity: 0.6;
}

@media screen and (max-width: 768px) {
  .breadcrumb {
    padding-block: clamp(20px, 7.8378378378px + 3.2432432432vw, 26px) clamp(40px, 15.6756756757px + 6.4864864865vw, 52px);
  }
  .breadcrumb__list {
    row-gap: clamp(8px, 1.9189189189px + 1.6216216216vw, 11px);
  }
  .breadcrumb__item + .breadcrumb__item::before {
    inline-size: clamp(5px, 0.9459459459px + 1.0810810811vw, 7px);
    margin-inline: clamp(10px, 3.9189189189px + 1.6216216216vw, 13px);
  }
}
.c-heading {
  margin-block-end: clamp(90px, 55.6184798808px + 4.4709388972vw, 120px);
}
.c-heading__body {
  position: relative;
}
.c-heading__body > .c-deco {
  inset-block-start: -78.7%;
  inset-inline-end: -1%;
  inline-size: 18.181%;
}
.c-heading__title {
  position: relative;
  z-index: 750;
  font-family: "Montserrat", sans-serif;
  color: #00a1e9;
}
.c-heading__lead {
  position: relative;
  z-index: 750;
  font-weight: 700;
}
.c-heading__image {
  position: relative;
  margin-block-start: clamp(75px, 46.348733234px + 3.7257824143vw, 100px);
}
.c-heading__image img {
  border-radius: clamp(15px, 9.2697466468px + 0.7451564829vw, 20px);
}
.c-heading__image .c-deco--01 {
  inset-block-start: -21.7%;
  inset-inline-end: 0;
  inline-size: 16.909%;
}
.c-heading__image .c-deco--02 {
  inset-block-end: -11%;
  inset-inline-start: 1%;
  inline-size: 12.636%;
}

@media screen and (max-width: 768px) {
  .c-heading {
    margin-block-end: clamp(60px, 23.5135135135px + 9.7297297297vw, 78px);
  }
  .c-heading__body > .c-deco {
    inset-block-start: -115.7%;
    inset-inline-end: 0%;
    inline-size: 28.358%;
  }
  .c-heading__image {
    margin-block-start: clamp(30px, 11.7567567568px + 4.8648648649vw, 39px);
  }
  .c-heading__image img {
    border-radius: clamp(10px, 3.9189189189px + 1.6216216216vw, 13px);
  }
  .c-heading__image .c-deco--01 {
    inset-block-start: -14.7%;
    inset-inline-end: -3%;
    inline-size: 28.358%;
  }
  .c-heading__image .c-deco--02 {
    inset-block-end: -12.3%;
    inset-inline-start: -3%;
    inline-size: 17.91%;
  }
}
.c-secHeading {
  position: relative;
  z-index: 750;
  margin-block-end: clamp(45px, 27.8092399404px + 2.2354694486vw, 60px);
}
.c-secHeading__title span, .c-secHeading__lead span {
  display: inline-block;
  clip-path: inset(-0.2em 100% -0.2em 0);
  transition: clip-path 0.35s ease-out;
  will-change: clip-path;
}
.c-secHeading__title {
  margin-block-end: clamp(11px, 6.4157973174px + 0.5961251863vw, 15px);
  font-family: "Montserrat", sans-serif;
  color: #00a1e9;
}
.c-secHeading__title span {
  font: inherit;
  color: #00a1e9;
}
.c-secHeading__lead {
  font-weight: 700;
}
.c-secHeading__lead span {
  font: inherit;
}
.c-secHeading.is-active .c-secHeading__title span,
.c-secHeading.is-active .c-secHeading__lead span {
  clip-path: inset(-0.2em 0 -0.2em 0);
}

@media screen and (max-width: 768px) {
  .c-secHeading {
    margin-block-end: clamp(25px, 8.7837837838px + 4.3243243243vw, 33px);
  }
  .c-secHeading__title {
    margin-block-end: clamp(10px, 3.9189189189px + 1.6216216216vw, 13px);
  }
}
.c-secHeading--alt .c-secHeading__title {
  margin-block-end: clamp(8px, 5.7078986587px + 0.2980625931vw, 10px);
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(30px, 18.5394932936px + 1.4903129657vw, 40px);
  color: #384249;
  line-height: 1.5;
}
.c-secHeading--alt .c-secHeading__lead {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: clamp(8px, 5.7078986587px + 0.2980625931vw, 10px);
  font-family: "Montserrat", sans-serif;
  color: #00a1e9;
  font-weight: 700;
}
.c-secHeading--alt .c-secHeading__lead::before {
  content: "";
  flex-shrink: 0;
  display: block;
  inline-size: clamp(14px, 9.4157973174px + 0.5961251863vw, 18px);
  aspect-ratio: 1/1;
  margin-block-start: calc(0px - clamp(2px, 2px + 0vw, 2px));
  border-radius: 100%;
  background-color: #00a1e9;
}

@media screen and (max-width: 768px) {
  .c-secHeading--alt .c-secHeading__title {
    margin-block-end: clamp(10px, 3.9189189189px + 1.6216216216vw, 13px);
    font-size: clamp(25px, 8.7837837838px + 4.3243243243vw, 33px);
  }
  .c-secHeading--alt .c-secHeading__lead {
    gap: clamp(5px, 0.9459459459px + 1.0810810811vw, 7px);
  }
  .c-secHeading--alt .c-secHeading__lead::before {
    inline-size: clamp(10px, 3.9189189189px + 1.6216216216vw, 13px);
    margin-block-start: clamp(1px, 1px + 0vw, 1px);
  }
}
.c-headLine {
  display: inline-flex;
  align-items: flex-start;
  flex-direction: column;
  line-height: 1;
}
.c-headLine span {
  display: inline-block;
  background-color: #00a1e9;
  clip-path: inset(0 100% 0 0);
  color: #fff;
  font-weight: 700;
  transition: clip-path 0.3s ease-out;
}
.c-headLine span.is-active {
  clip-path: inset(0 0 0 0);
}

.siteContents {
  padding-block: clamp(75px, 46.348733234px + 3.7257824143vw, 100px);
  background-color: #fafafa;
}
.siteContents__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, -2.9210134128px + 2.9806259314vw, 40px);
}
.siteContents__item {
  padding: clamp(15px, 9.2697466468px + 0.7451564829vw, 20px) clamp(10px, -12.9210134128px + 2.9806259314vw, 30px) clamp(23px, 14.9776453055px + 1.043219076vw, 30px);
  border-radius: clamp(15px, 9.2697466468px + 0.7451564829vw, 20px);
  background-color: #fff;
}
.siteContents__content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(8px, 5.7078986587px + 0.2980625931vw, 10px);
  margin-block-end: clamp(11px, 6.4157973174px + 0.5961251863vw, 15px);
}
.siteContents__name {
  font-weight: 700;
}
.siteContents__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: clamp(38px, 24.2473919523px + 1.7883755589vw, 50px);
  aspect-ratio: 1/1;
}
.siteContents__icon svg {
  inline-size: clamp(15px, 9.2697466468px + 0.7451564829vw, 20px);
}
.siteContents__image {
  border-radius: clamp(15px, 9.2697466468px + 0.7451564829vw, 20px);
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  .siteContents {
    padding-block: clamp(60px, 23.5135135135px + 9.7297297297vw, 78px);
  }
  .siteContents__list {
    grid-template-columns: 1fr;
    gap: clamp(25px, 8.7837837838px + 4.3243243243vw, 33px);
  }
  .siteContents__item {
    padding: clamp(15px, 4.8648648649px + 2.7027027027vw, 20px);
    border-radius: clamp(10px, 3.9189189189px + 1.6216216216vw, 13px);
  }
  .siteContents__link {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-direction: row-reverse;
    gap: clamp(17px, 4.8378378378px + 3.2432432432vw, 23px);
  }
  .siteContents__content {
    flex: 1;
    justify-content: space-between;
    gap: clamp(10px, 3.9189189189px + 1.6216216216vw, 13px);
    margin-block-end: 0;
  }
  .siteContents__icon {
    inline-size: clamp(45px, 16.6216216216px + 7.5675675676vw, 59px);
  }
  .siteContents__icon svg {
    inline-size: clamp(20px, 7.8378378378px + 3.2432432432vw, 26px);
  }
  .siteContents__image {
    flex: 0 0 35%;
    inline-size: 35%;
    border-radius: clamp(10px, 3.9189189189px + 1.6216216216vw, 13px);
  }
}
.occupationCards {
  padding-block: clamp(75px, 46.348733234px + 3.7257824143vw, 100px);
  background-color: #fafafa;
}
.occupationCards__list {
  display: flex;
  justify-content: center;
  gap: clamp(20px, -2.9210134128px + 2.9806259314vw, 40px);
}
.occupationCards__item {
  flex: 0 0 calc((100% - clamp(20px, -2.9210134128px + 2.9806259314vw, 40px) * 3) / 4);
  max-inline-size: calc((100% - clamp(20px, -2.9210134128px + 2.9806259314vw, 40px) * 3) / 4);
}
.occupationCards__link {
  position: relative;
}
.occupationCards__image {
  border-radius: clamp(15px, 9.2697466468px + 0.7451564829vw, 20px);
  overflow: hidden;
}
.occupationCards__image img {
  pointer-events: none;
  transition: transform 0.3s ease;
}
.occupationCards__content {
  position: absolute;
  inset-block-end: clamp(8px, 5.7078986587px + 0.2980625931vw, 10px);
  inset-inline-start: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: space-between;
  inline-size: 93%;
  padding-block: clamp(8px, 5.7078986587px + 0.2980625931vw, 10px);
  padding-inline: clamp(15px, 9.2697466468px + 0.7451564829vw, 20px) clamp(8px, 5.7078986587px + 0.2980625931vw, 10px);
  border-radius: clamp(15px, 9.2697466468px + 0.7451564829vw, 20px);
  background-color: rgba(255, 255, 255, 0.9);
}
.occupationCards__name {
  font-weight: 700;
}

.jobs-sales .occupationCards__item[data-job=sales] {
  display: none;
}

.jobs-construction-management .occupationCards__item[data-job=construction-management] {
  display: none;
}

.jobs-design .occupationCards__item[data-job=design] {
  display: none;
}

.jobs-produce .occupationCards__item[data-job=produce] {
  display: none;
}

@media (hover: hover) {
  .is-hoverable:hover .occupationCards__image img {
    transform: scale(1.1);
  }
}
.is-hoverable:focus-visible .occupationCards__image img {
  transform: scale(1.1);
}

@media screen and (max-width: 768px) {
  .occupationCards {
    padding-block: clamp(60px, 23.5135135135px + 9.7297297297vw, 78px) clamp(40px, 15.6756756757px + 6.4864864865vw, 52px);
  }
  .occupationCards .c-secHeading--alt {
    margin-block-end: clamp(10px, 3.9189189189px + 1.6216216216vw, 13px);
  }
  .occupationCards__item {
    max-inline-size: 100%;
  }
  .occupationCards__list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
  }
  .occupationCards__item:not(:last-of-type) {
    border-block-end: 2px solid #d5d5d5;
  }
  .occupationCards__link {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: clamp(20px, 7.8378378378px + 3.2432432432vw, 26px);
    padding-block: clamp(20px, 7.8378378378px + 3.2432432432vw, 26px);
  }
  .occupationCards__image {
    inline-size: clamp(115px, 44.0540540541px + 18.9189189189vw, 150px);
    border-radius: clamp(10px, 3.9189189189px + 1.6216216216vw, 13px);
  }
  .occupationCards__content {
    position: static;
    transform: translateX(0%);
    inline-size: auto;
    padding: 0;
    border-radius: 0;
    background-color: transparent;
  }
}
.globalRecruit {
  padding-block: clamp(60px, 37.0789865872px + 2.9806259314vw, 80px);
  background-color: #00a1e9;
}
.globalRecruit__title {
  margin-block-end: clamp(26px, 16.8315946349px + 1.1922503726vw, 34px);
  font-size: clamp(18px, 11.1236959762px + 0.8941877794vw, 24px);
  color: #fff;
  line-height: 1.8;
  text-align: center;
}
.globalRecruit__body {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(30px, 18.5394932936px + 1.4903129657vw, 40px);
}
.globalRecruit .recruitCard {
  padding: clamp(24px, 14.8315946349px + 1.1922503726vw, 32px) clamp(34px, 21.393442623px + 1.6393442623vw, 45px) clamp(30px, 18.5394932936px + 1.4903129657vw, 40px);
  border-radius: clamp(15px, 9.2697466468px + 0.7451564829vw, 20px);
  background-color: #fff;
  text-align: center;
}
.globalRecruit .recruitCard__name {
  margin-block-end: clamp(5px, 2.7078986587px + 0.2980625931vw, 7px);
  font-size: clamp(18px, 11.1236959762px + 0.8941877794vw, 24px);
}
.globalRecruit .recruitCard__lead {
  margin-block-end: clamp(15px, 9.2697466468px + 0.7451564829vw, 20px);
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
}
.globalRecruit .recruitCard__btn {
  inline-size: 100%;
  padding-block: clamp(19px, 12.1236959762px + 0.8941877794vw, 25px);
  margin-block-end: clamp(11px, 6.4157973174px + 0.5961251863vw, 15px);
  margin-inline: auto;
  border-radius: 1000px;
  font-size: clamp(15px, 9.2697466468px + 0.7451564829vw, 20px);
  color: #fff;
  font-weight: 700;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.globalRecruit .recruitCard__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: clamp(8px, 5.7078986587px + 0.2980625931vw, 10px);
  font-weight: 500;
  transition: opacity 0.3s ease;
}
.globalRecruit .recruitCard__chevron {
  inline-size: clamp(3px, 1.8539493294px + 0.1490312966vw, 4px);
  margin-block-start: clamp(2px, 0.8539493294px + 0.1490312966vw, 3px);
}
.globalRecruit .recruitCard--newGraduate .recruitCard__name,
.globalRecruit .recruitCard--newGraduate .recruitCard__lead,
.globalRecruit .recruitCard--newGraduate .recruitCard__link,
.globalRecruit .recruitCard--newGraduate .recruitCard__chevron {
  color: #00a1e9;
}
.globalRecruit .recruitCard--newGraduate .recruitCard__btn {
  border: 2px solid #00a1e9;
  background-color: #00a1e9;
}
.globalRecruit .recruitCard--career .recruitCard__name,
.globalRecruit .recruitCard--career .recruitCard__lead,
.globalRecruit .recruitCard--career .recruitCard__link,
.globalRecruit .recruitCard--career .recruitCard__chevron {
  color: #1b4ab6;
}
.globalRecruit .recruitCard--career .recruitCard__btn {
  border: 2px solid #1b4ab6;
  background-color: #1b4ab6;
}

@media (hover: hover) {
  .recruitCard--newGraduate .recruitCard__btn:hover {
    background-color: #d5f2ff;
    color: #00a1e9;
  }
  .recruitCard--career .recruitCard__btn:hover {
    background-color: #cee5ff;
    color: #1b4ab6;
  }
  .recruitCard__link:hover {
    opacity: 0.6;
  }
}
.recruitCard--newGraduate .recruitCard__btn:focus-visible {
  background-color: #d5f2ff;
  color: #00a1e9;
}

.recruitCard--career .recruitCard__btn:focus-visible {
  background-color: #cee5ff;
  color: #1b4ab6;
}

.recruitCard__link:focus-visible {
  opacity: 0.6;
}

@media screen and (max-width: 768px) {
  .globalRecruit {
    padding-block: clamp(40px, 15.6756756757px + 6.4864864865vw, 52px);
  }
  .globalRecruit__title {
    margin-block-end: clamp(20px, 7.8378378378px + 3.2432432432vw, 26px);
    font-size: clamp(17px, 4.8378378378px + 3.2432432432vw, 23px);
  }
  .globalRecruit__body {
    grid-template-columns: 1fr;
    gap: clamp(20px, 7.8378378378px + 3.2432432432vw, 26px);
  }
  .globalRecruit .recruitCard {
    padding: clamp(20px, 7.8378378378px + 3.2432432432vw, 26px) clamp(23px, 8.8108108108px + 3.7837837838vw, 30px);
    border-radius: clamp(5px, 0.9459459459px + 1.0810810811vw, 7px);
  }
  .globalRecruit .recruitCard__name {
    margin-block-end: clamp(5px, 0.9459459459px + 1.0810810811vw, 7px);
    font-size: clamp(17px, 4.8378378378px + 3.2432432432vw, 23px);
  }
  .globalRecruit .recruitCard__lead {
    margin-block-end: clamp(15px, 4.8648648649px + 2.7027027027vw, 20px);
  }
  .globalRecruit .recruitCard__btn {
    inline-size: 100%;
    padding-block: clamp(18px, 5.8378378378px + 3.2432432432vw, 24px);
    margin-block-end: clamp(15px, 4.8648648649px + 2.7027027027vw, 20px);
    font-size: clamp(15px, 4.8648648649px + 2.7027027027vw, 20px);
  }
  .globalRecruit .recruitCard__link {
    gap: clamp(8px, 1.9189189189px + 1.6216216216vw, 11px);
    font-size: clamp(14px, 3.8648648649px + 2.7027027027vw, 19px);
  }
  .globalRecruit .recruitCard__chevron {
    inline-size: clamp(4px, -0.0540540541px + 1.0810810811vw, 6px);
    margin-block-start: clamp(3px, 0.972972973px + 0.5405405405vw, 4px);
  }
}
/*# sourceMappingURL=style.css.map */
