/*+++ header +++*/
#header::before {
  height: min(50vw, 512px);
}
@media screen and (max-width: 500px ) {
  #header::before {
    height: calc(min(50vw, 512px) + (min(7.5vw, 96px) + 64px) / 2);
  }
}

/*+++ page-header +++*/
body.front-page .page-header {
  grid-template-rows: calc(min(50vw, 512px) - (min(7.5vw, 96px) + 96px) + clamp(1rem, 0.88vw + 0.7928rem, 1.5rem)) auto auto 1fr;
}
@media screen and (max-width: 1023.9px ) {
  body.front-page .page-header {
    grid-template-rows: calc(min(50vw, 512px) - (min(7.5vw, 96px) + 64px) + clamp(1rem, 0.88vw + 0.7928rem, 1.5rem)) auto auto 1fr;
  }
}
body.front-page .page-header_headline {
  margin-block-end: 1rem;
}
body.front-page .page-header_sub-text {
  color: #001410;
}
body.front-page .page-header_main-visual {
  height: min(50vw, 640px);
}
@media screen and (max-width: 500px ) {
  body.front-page .page-header {
    grid-template-rows: 1fr 1fr calc((min(7.5vw, 96px) + 64px) / 2);
  }
  body.front-page .page-header_sub-text {
    color: #fff;
  }
}

@media print, screen and (min-width: 1024px ) {
  .m-inner {
    margin-block-start: calc((2rem + clamp(1.5rem, 31.25vw + -18.5rem, 6.5rem)) * -1);
  }
}

/*+++ about us +++*/
.about-us.is-style-page-section {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  gap: clamp(1.5rem, 1.77vw + 1.0856rem, 2.5rem);
}
@media screen and (max-width: 767.9px ) {
  .about-us.is-style-page-section {
    flex-direction: column;
    align-items: flex-start;
  }
}
.about-us_text .is-style-page-section_headline::before {
  width: clamp(1.5rem, 1.77vw + 1.0856rem, 2.5rem);
  left: clamp(-2.5rem, -1.77vw + -1.0856rem, -1.5rem);
}
@media screen and (max-width: 767.9px ) {
  .about-us_text .is-style-page-section_headline::before {
    width: calc(3.125vw - 0.5rem);
    left: -3.125vw;
  }
}
.about-us_img {
  width: 50vw;
  margin-inline-start: calc(50% - 50vw);
  flex-shrink: 0;
}
.about-us_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767.9px ) {
  .about-us_img {
    margin-inline-start: 0;
    width: 100%;
  }
  .about-us_img img {
    height: auto;
    aspect-ratio: 400/240;
  }
}

/*+++ job description +++*/
.job-description-list {
  margin-inline-end: calc(50% - 50vw);
}

/*+++ recruitment +++*/
.recruitment.is-style-page-section {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  background-image: url(../img/front-page/recruit-bg.webp);
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1rem, 5.3vw + -0.2431rem, 4rem) min(3.125vw, 40px);
}
@media print, screen and (min-width: 768px ) {
  .recruitment.is-style-page-section {
    display: grid;
    grid-auto-flow: auto;
    grid-template-columns: 1fr clamp(1.25rem, 3.09vw + 0.5249rem, 3rem);
    row-gap: clamp(1.5rem, 6.19vw + 0.0497rem, 5rem);
  }
}
@media print, screen and (min-width: 768px ) {
  .recruitment_text, .recruitment_img {
    grid-column: 1/2;
  }
}
.recruitment_title {
  margin: 0;
}
@media print, screen and (min-width: 768px ) {
  .recruitment_title {
    writing-mode: vertical-rl;
    grid-column: 2/3;
    grid-row: 1/3;
  }
  .recruitment_title::before {
    width: 1px;
    height: calc(clamp(3.5rem, 6.19vw + 2.0497rem, 7rem) - 0.5rem);
    top: clamp(-7rem, -6.19vw + -2.0497rem, -3.5rem);
    left: auto;
  }
}
@media print, screen and (min-width: 768px ) {
  .recruitment_text {
    justify-self: center;
  }
}
.recruitment_text .is-style-more-link {
  margin-block-start: min(3.125vw, 40px);
  text-align: start;
}

/*+++ for members +++*/
.for-members.is-style-page-section {
  display: flex;
  flex-direction: column;
  gap: min(3.125vw, 40px);
}
@media print, screen and (min-width: 768px ) {
  .for-members.is-style-page-section {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
  }
}
.for-members.is-style-page-section::after {
  content: "";
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  background-image: url(../img/front-page/apply.webp);
  width: 100%;
  height: 400px;
  display: block;
}
@media print, screen and (min-width: 768px ) {
  .for-members.is-style-page-section::after {
    margin-inline-end: calc(50% - min(3.125vw, 40px) - 50vw);
    width: 50vw;
  }
}
@media print, screen and (min-width: 768px ) {
  .for-members.is-style-page-section .is-style-page-section_headline {
    width: 100%;
  }
}
@media print, screen and (min-width: 768px ) {
  .for-members.is-style-page-section .apply {
    width: 50%;
  }
}
.for-members.is-style-page-section .apply_title {
  margin-block-end: clamp(1rem, 4.42vw + -0.0359rem, 3.5rem);
  margin-inline-end: max(-3.125vw, -40px);
}
.for-members.is-style-page-section .apply .is-style-more-link {
  margin-block-start: clamp(1rem, 3.54vw + 0.1713rem, 3rem);
}