/*
Theme Name:  Company Theme Child
Author:      AIHP
Description: Company Theme の子テーマ。カスタマイズはこちらに記述してください。
Template:    company-theme
Version:     1.0.0
License:     GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: company-theme-child
*/

/*
 * 追加CSSはここに記述してください。
 * 親テーマのスタイルを上書きしたい場合もここに書きます。
 *
 * 例:
 * .header { background: #fff; }
 */

/* Hero 07: copy is intentionally two lines on desktop. */
.hero07__panel {
  width: clamp(620px, 55%, 860px);
  padding-right: clamp(24px, 3vw, 48px);
}

.hero07__title {
  font-size: clamp(30px, 2.7vw, 42px);
}

.hero07__title > span {
  display: block;
  white-space: nowrap;
}

/* Keep the photo still so the fixed white fade no longer appears to move. */
.hero07__slide img,
.hero07__slide.is-active img {
  animation: none !important;
  transform: none !important;
}

/* Extend the image behind one continuous fade to prevent a vertical seam. */
.hero07__slides {
  width: 100%;
  border: 0;
  outline: 0;
}

.hero07__slides::after {
  width: 65%;
  background: linear-gradient(
    to right,
    var(--color-bg) 0%,
    var(--color-bg) 55%,
    rgba(255, 255, 255, 0.9) 70%,
    rgba(255, 255, 255, 0) 100%
  );
}

.hero07__panel,
.hero07__slide,
.hero07__slide img {
  border: 0;
  outline: 0;
  box-shadow: none;
}

/* Remove the decorative vertical line below the copy. */
.hero07__panel-line {
  display: none;
}

@media (max-width: 1023px) {
  .hero07__panel {
    width: clamp(540px, 60%, 650px);
  }

  .hero07__title {
    font-size: clamp(25px, 2.8vw, 31px);
  }
}

@media (max-width: 767px) {
  .hero07__panel {
    width: 100%;
    padding-right: 28px;
  }

  .hero07__title > span {
    white-space: normal;
  }

  .hero07__slides::after {
    width: 100%;
    height: 55%;
    top: auto;
    bottom: 0;
    background: linear-gradient(
      to top,
      rgba(255, 255, 255, 0.92) 0%,
      rgba(255, 255, 255, 0.65) 50%,
      rgba(255, 255, 255, 0) 100%
    );
  }

  .hero--07 .hero__scroll-wrap--dark {
    display: none;
  }
}

/* WordPress-managed footer navigation. */
.header__nav > .menu-item {
  position: relative;
  margin: 0;
  padding: 0;
  list-style: none;
}

.header__nav > .menu-item > a {
  position: relative;
  color: rgba(255, 255, 255, 0.88);
  font-size: 13px;
  font-weight: 400;
  white-space: nowrap;
  transition: color 0.4s ease;
}

.header.is-scrolled .header__nav > .menu-item > a,
body:not(.home) .header .header__nav > .menu-item > a {
  color: var(--color-text);
}

.header__nav > .menu-item > a::after {
  content: '';
  position: absolute;
  right: 0;
  bottom: -2px;
  left: 0;
  height: 1px;
  background: var(--color-primary);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.25s ease;
}

.header__nav > .menu-item > a:hover::after,
.header__nav > .current-menu-item > a::after {
  transform: scaleX(1);
}

@media (min-width: 1024px) and (max-width: 1399px) {
  .header__nav {
    gap: 14px;
  }

  .header__nav > a,
  .header__nav > .menu-item > a {
    font-size: 12px;
  }

  .header__cta {
    padding: 9px 12px;
  }

  .header__tel-hours {
    display: none;
  }
}

.footer__grid--custom-menu {
  grid-template-columns: 1fr minmax(360px, 560px);
}

.footer__menu {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 36px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer__menu li {
  margin: 0;
  padding: 0;
}

@media (max-width: 767px) {
  .footer__grid--custom-menu {
    grid-template-columns: 1fr;
  }

  .footer__grid--custom-menu .footer__col--menu {
    grid-column: 1 / -1;
  }
}

/* ===============================================
   Recruitment requirements
   =============================================== */
.recruitment-requirements {
  background: var(--color-bg-sub);
}

.recruitment-requirements__lead {
  max-width: 760px;
  margin: -32px auto 56px;
  text-align: center;
  font-size: 15px;
  line-height: 2;
}

.recruitment-requirements__table {
  max-width: 960px;
  margin: 0 auto;
  background: var(--color-bg);
  border-top: 2px solid var(--color-primary);
}

.recruitment-requirements__row {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  border-bottom: 1px solid var(--color-border);
}

.recruitment-requirements__row dt,
.recruitment-requirements__row dd {
  margin: 0;
  padding: 24px 30px;
  font-size: 14px;
  line-height: 1.9;
}

.recruitment-requirements__row dt {
  display: flex;
  align-items: center;
  background: color-mix(in srgb, var(--color-primary) 8%, var(--color-bg));
  color: var(--color-text);
  font-weight: 700;
}

.recruitment-requirements__row dd {
  background: var(--color-bg);
}

.recruitment-requirements__note {
  max-width: 960px;
  margin: 20px auto 0;
  color: var(--color-text-sub);
  font-size: 12px;
  line-height: 1.8;
}

.recruitment-requirements .btn-wrap {
  margin-top: 48px;
}

@media (max-width: 767px) {
  .recruitment-requirements__lead {
    margin: -12px auto 36px;
    text-align: left;
    font-size: 14px;
  }

  .recruitment-requirements__row {
    display: block;
  }

  .recruitment-requirements__row dt,
  .recruitment-requirements__row dd {
    padding: 15px 18px;
  }

  .recruitment-requirements__row dt {
    padding-bottom: 10px;
  }

  .recruitment-requirements__row dd {
    padding-top: 12px;
  }
}
