/*
** .hero
*/

.hero {
  margin-bottom: calc((30 / var(--standard-font-size)) * 1em);
}

.hero::before,
.hero::after {
  bottom: 0;
}

.hero::before {
  left: calc((63 / var(--standard-width-xl)) * min(100vw, var(--max-display-size)));
  width: calc((120 / var(--standard-width-xl)) * min(100vw, var(--max-display-size)));
  height: calc((60 / var(--standard-width-xl)) * min(100vw, var(--max-display-size)));
}

.hero::after {
  width: 41.67%;
  height: 150%;
}

.hero__inner {
  display: grid;
  grid-template-columns: 540fr 864fr;
  grid-auto-rows: max-content;
  padding-top: calc((54 / var(--standard-width-xl)) * min(100vw, var(--max-display-size)));
  padding-bottom: calc((80 / var(--standard-width-xl)) * min(100vw, var(--max-display-size)));
  margin-left: 2.5%;
}

.hero__carousel-list {
  width: 100%;
  height: max-content;
  border-top-left-radius: 3rem;
  border-bottom-left-radius: 3rem;
}

.hero__head {
  order: -1;
  grid-template-columns: 100%;
  grid-row-gap: calc((30 / var(--standard-width-xl)) * min(100vw, var(--max-display-size)));
  transform: translateX(calc((60 / var(--standard-width-xl)) * min(100vw, var(--max-display-size))));
  padding-left: 0;
  padding-right: 0;
  margin-top: calc((9 / var(--standard-width-xl)) * min(100vw, var(--max-display-size)));
}

.hero__head-illust {
  padding-left: 11.1%;
  padding-right: 11.1%;
}

.hero__head-copy {
  order: -1;
}


/*
** .news
*/

.news__inner {
  grid-row-gap: calc((36 / var(--standard-font-size)) * 1em);
}

.news__post-item {
  grid-template-columns: 8em auto auto;
  grid-column-gap: calc((30 / var(--standard-font-size)) * 1em);
  align-items: center;
  padding-top: calc((18 / var(--standard-font-size)) * 1em);
  padding-bottom: calc((18 / var(--standard-font-size)) * 1em);
}

.news__post-date {
  font-size: inherit;
}

.news__post-title a {
  font-size: calc((18 / var(--standard-font-size)) * 1em);
}

.news__post-terms {
  text-align: right;
}

.news__post-term {
  font-size: calc((12 / var(--standard-font-size)) * 1em);
}


/*
** .business
*/

.business::before {
  width: 9rem;
  height: 4.5rem;
}

.business:nth-child(odd)::before {
  left: 7.2rem;
}

.business:nth-child(even)::before {
  right: 7.2rem;
}

.business::after {
  height: 30vw;
  mask-image: url(../image/common/bg_section-mask_wave@xl.svg);
}

.business__inner {
  grid-row-gap: calc((54 / var(--standard-font-size)) * 1em);
  padding-top: 5.4rem;
}

.business__inner::before {
  top: 1.8rem;
  width: min(calc((288 / var(--standard-width-xl)) * 100vw), 28.8rem);
  height: min(calc((216 / var(--standard-width-xl)) * 100vw), 21.6rem);
}

.business:nth-child(odd) .business__inner::before {
  right: min(calc((72 / var(--standard-width-xl)) * 100vw), 7.2rem);
}

.business:nth-child(even) .business__inner::before {
  left: min(calc((72 / var(--standard-width-xl)) * 100vw), 7.2rem);
}

.business__headline {
  width: 62%;
  margin-left: auto;
  margin-right: auto;
}

.business__summary {
  text-align: center;
  margin-bottom: calc((54 / var(--standard-font-size)) * 1em);
}

.business__summary br {
  display: block;
}

.business__list {
  grid-template-columns: repeat(auto-fit, minmax(auto, 54rem));
  grid-gap: min(calc((72 / var(--standard-width-xl)) * 100vw), 7.2rem);
}

.business__item img {
  aspect-ratio: 540 / 303;
}

.business__item-name {
  font-size: calc((20 / var(--standard-font-size)) * 1em);
  margin-top: calc((18 / var(--standard-font-size)) * 1em);
}


/*
** .children-center
*/

.children-center__summary-remark {
  font-size: calc((12 / var(--standard-font-size)) * 1em);
  margin-top: calc((18 / var(--standard-font-size)) * 1em);
}

.children-center__page-link {
  margin-bottom: calc((54 / var(--standard-font-size)) * 1em);
}


/*
** .recruitment
*/

.recruitment__inner {
  grid-column-gap: min(calc((72 / var(--standard-width-xl)) * 100vw), 7.2rem);
}

.recruitment__contents {
  grid-row-gap: min(calc((31.5 / var(--standard-width-xl)) * 100vw), 3.15rem);
  padding: 3rem min(calc((72 / var(--standard-width-xl)) * 100vw), 7.2rem) 3rem 0;
}

.recruitment__headline {
  font-size: calc((30 / var(--standard-font-size)) * 1em);
  text-align: left;
}