/*-------------------------------*/
/* 上書き
/*-------------------------------*/
html {
  scroll-behavior: smooth;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

#main {
  width: 100%;
  max-width: 750px;
  margin-inline: auto;
  float: none;
}

#header {
  min-width: auto;
}
#hdInner {
  width: 100%;
  max-width: 960px;
}
#gHeader div,
#gFooter .gStyleIn {
  max-width: 960px;
  width: 100%!important;
}

#gFooter .gStyleIn .groupLogo img {
  width: 200px;
  height: auto;
}

@media screen and (max-width: 640px) {
  div#gFooter div.gStyleIn {
    text-align: center;
  }
}

/*-------------------------------*/
/* ページ固有
/*-------------------------------*/
.p-nav {
  display: flex;
  align-items: end;
  justify-content: space-between;
  background-color: #139979;
  column-gap: 1.5em;
  padding: 22px calc(58 / 750 * 100%) 14px;
}
.p-nav__link img {
  width: 100%;
  height: 100%;
}
.p-nav__link:nth-of-type(1) {
  aspect-ratio: 106/78;
}
.p-nav__link:nth-of-type(2) {
  aspect-ratio: 126/79;
}
.p-nav__link:nth-of-type(3) {
  aspect-ratio: 116/82;
}
.p-nav__link:nth-of-type(4) {
  aspect-ratio: 93/76;
}

.p-mv {
  position: relative;
}
.p-mv_link01,
.p-mv_link02,
.p-mv_link03,
.p-mv_link04 {
  margin-bottom: calc(40 / 750 * 100%);
  position: absolute;
  bottom: 0;
}
.p-mv_link01 {
  width: calc(71 / 750 * 100%);
  left: calc(50 / 750 * 100%);
}
.p-mv_link02 {
  width: calc(93 / 750 * 100%);
  left: calc(160 / 750 * 100%);
}
.p-mv_link03 {
  width: calc(160 / 750 * 100%);
  left: calc(291 / 750 * 100%);
}
.p-mv_link04 {
  width: calc(216 / 750 * 100%);
  right: calc(50 / 750 * 100%);
}

.p-movie {
  position: relative;
}
.p-movie__container {
  box-sizing: border-box;
  display: block;
  width: calc(557 / 750 * 100%);
  border: solid 5px #139979;
  border-radius: 16px;
  margin-top: calc(160 / 750 * 100%);
  transform: translateX(-50%);
  position: absolute;
  top: 0;
  left: 50%;
  overflow: hidden;
}
.p-movie__container iframe {
  display: block;
  aspect-ratio: 557 / 368;
  width: 100%;
  height: 100%;
}

.p-cta {
  position: relative;
}
.p-cta__button {
  width: calc(498 / 750 * 100%);
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.p-recruitment01,
.p-recruitment02 {
  position: relative;
}
.p-recruitment01__button,
.p-recruitment02__button {
  display: block;
  width: calc(209 / 750 * 100%);
  position: absolute;
  bottom: 0;
  right: calc(84 / 750 * 100%);
}
.p-recruitment01__button {
  margin-bottom: calc(54 / 750 * 100%);
}
.p-recruitment02__button {
  margin-bottom: calc(72 / 750 * 100%);
}

.p-homepage {
  position: relative;
  width: 100%;
  aspect-ratio: 750 / 288;
}
.p-homepage__guide {
  width: calc(186 / 750 * 100%);
  margin-top: calc(34 / 750 * 100%);
  position: absolute;
  left: calc(50 / 750 * 100%);
  z-index: 1;
}
.p-homepage__button {
  width: calc(444 / 750 * 100%);
  margin-top: calc(45 / 750 * 100%);
  position: absolute;
  right: calc(47 / 750 * 100%);
}

.p-page-top {
  width: 100%;
  background-color: #139979;
  padding: 11px calc(50 / 750 * 100%);
  position: absolute;
  bottom: 0;
  box-sizing: border-box;
}
.p-page-top__button {
  display: block;
  width: calc(56 / 644 * 100%);
  margin-left: auto;
}