/* page-recruitment-v12.php 専用CSS（ページ内の<style>から移動） */

/* --- block 1 --- */
/* SP: 横スクロール防止 */
@media (max-width: 639px) {

  html,
  body {
    overflow-x: hidden;
    max-width: 100%;
  }

  .splide {
    max-width: 100%;
  }

  #mobile-cta {
    box-sizing: border-box;
    gap: 10px;
  }

  #mobile-cta a {
    flex: 1 1 0;
    min-width: 0;
    width: auto !important;
    padding-left: 12px;
    padding-right: 12px;
  }
}

/* --- block 2 --- */
#mv-splide.mv-splide--multi .splide__list {
  transition: transform 1s cubic-bezier(0.25, 0.1, 0.25, 1) !important;
}

/* --- block 3 --- */
.results-h2 {
  font-size: 7vw;
}

@media (min-width: 640px) {
  .results-h2 {
    font-size: 36px;
  }
}

/* 支援実績ロゴ：Splide起動前（遅延起動のため）も並んだ状態で表示する */
.kv-logo-splide {
  visibility: visible;
}

.kv-logo-splide:not(.is-initialized) .splide__slide {
  margin-right: 24px;
}

/* SP: 支援実績ロゴの行間を詰める */
@media (max-width: 639px) {

  #kv-splide-1 .slide-bn,
  #kv-splide-2 .slide-bn {
    height: 56px;
  }

  #kv-splide-1.splide {
    margin-bottom: 2px;
  }

  #kv-splide-2.splide {
    margin-bottom: 2px;
  }
}

/* --- block 4 --- */
#news.news-jack {
  position: relative;
  overflow: hidden;
  background-color: #de022b;
  color: #fff;
}

#news.news-jack .news-jack__inner {
  position: relative;
  z-index: 1;
  max-width: 1144px;
  margin: 0 auto;
  padding: 40px 20px 40px;
}

#news.news-jack .news-jack__deco {
  position: absolute;
  z-index: 0;
  pointer-events: none;
  user-select: none;
}

#news.news-jack .news-jack__deco img {
  display: block;
  width: 100%;
  height: auto;
  mix-blend-mode: screen;
  opacity: 0.55;
}

#news.news-jack .news-jack__heading {
  position: relative;
  z-index: 2;
}

#news.news-jack .news-jack__en {
  display: block;
  font-family: "Nunito Sans", sans-serif;
  font-weight: 900;
  line-height: 1;
  color: #fff;
}

#news.news-jack .news-jack__ja {
  display: block;
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
  font-weight: 700;
  color: #fff;
}

#news.news-jack .news-jack__catch {
  position: relative;
  z-index: 2;
  margin: 0;
  font-family: "Noto Sans JP", "Zen Kaku Gothic New", sans-serif;
  font-weight: 900;
  color: #fff;
  letter-spacing: 0.04em;
}

#news.news-jack .news-jack__catch-line {
  white-space: nowrap;
}

#news.news-jack .news-jack__brand {
  display: inline-block;
  background-color: #1a1a1a;
  color: #fff;
  padding: 0.12em 0.4em 0.1em;
  line-height: 1.15;
  vertical-align: baseline;
  font-size: 1.18em;
}

#news.news-jack .news-jack__photo {
  position: relative;
  z-index: 2;
  line-height: 0;
}

#news.news-jack .news-jack__photo img {
  display: block;
  width: 100%;
  height: auto;
}

#news.news-jack .news-jack__catch-sp {
  display: block;
}

#news.news-jack .news-jack__catch-pc {
  display: none;
}

#news.news-jack .news-jack__title {
  display: none;
}

/* SP */
@media (max-width: 639px) {
  #news.news-jack .news-jack__inner {
    padding: 52px 20px 0;
  }

  #news.news-jack .news-jack__deco {
    top: 6%;
    left: auto;
    right: 0;
    width: 68%;
    max-width: 240px;
    transform: none;
    opacity: 0.9;
  }

  #news.news-jack .news-jack__heading {
    text-align: left;
    z-index: 3;
  }

  #news.news-jack .news-jack__catch {
    margin-top: 0;
    font-size: 34px;
    line-height: 1.4;
    letter-spacing: 0.06em;
  }

  #news.news-jack .news-jack__catch-sp {
    display: block;
  }

  #news.news-jack .news-jack__catch-sp .news-jack__line {
    display: block;
  }

  #news.news-jack .news-jack__catch-sp .news-jack__line--sm {
    font-size: 24px;
    letter-spacing: 0.1em;
    margin-bottom: 0.15em;
  }

  #news.news-jack .news-jack__brand {
    font-size: 1.22em;
    padding: 0.1em 0.42em 0.12em;
  }

  /* 左右フルブリード（innerのpadding分だけはみ出し） */
  #news.news-jack .news-jack__photo {
    position: relative;
    z-index: 1;
    width: calc(100% + 40px);
    max-width: none;
    margin: 28px -20px 40px;
    clip-path: none;
  }
}

/* PC：写真は通常フロー＋負マージンで上げ、下余白で切れを防ぐ */
@media (min-width: 640px) {
  #news.news-jack .news-jack__inner {
    display: flex;
    flex-direction: column;
    padding: 64px 20px 56px;
  }

  #news.news-jack .news-jack__deco {
    top: 48px;
    right: 20px;
    left: auto;
    width: min(48%, 520px);
    max-width: none;
    transform: none;
  }

  #news.news-jack .news-jack__title {
    display: block;
    margin: 0;
  }

  #news.news-jack .news-jack__heading {
    position: relative;
    z-index: 3;
    max-width: 54%;
    text-align: left;
  }

  #news.news-jack .news-jack__en {
    font-size: 50px;
  }

  #news.news-jack .news-jack__ja {
    margin-top: 6px;
    font-size: 16px;
  }

  #news.news-jack .news-jack__catch {
    margin-top: 40px;
    font-size: clamp(24px, 2.4vw, 32px);
    line-height: 1.55;
  }

  #news.news-jack .news-jack__catch-sp {
    display: none;
  }

  #news.news-jack .news-jack__catch-pc {
    display: block;
  }

  #news.news-jack .news-jack__brand {
    font-size: 1.2em;
  }

  #news.news-jack .news-jack__photo {
    position: relative;
    align-self: flex-end;
    width: min(78%, 920px);
    margin-top: -24px;
    margin-bottom: 0;
    z-index: 1;
    overflow: visible;
    clip-path: polygon(0 10%, 100% 0, 100% 100%, 0 100%);
  }

  #news.news-jack .news-jack__photo img {
    width: 100%;
    height: auto;
    object-fit: initial;
  }
}

@media (min-width: 1024px) {
  #news.news-jack .news-jack__inner {
    padding: 80px 20px 72px;
  }

  #news.news-jack .news-jack__en {
    font-size: 64px;
  }

  #news.news-jack .news-jack__ja {
    font-size: 20px;
  }

  #news.news-jack .news-jack__catch {
    margin-top: 48px;
    font-size: 40px;
  }

  #news.news-jack .news-jack__heading {
    max-width: 52%;
  }

  #news.news-jack .news-jack__deco {
    top: 56px;
    right: 20px;
    width: min(46%, 560px);
  }

  #news.news-jack .news-jack__photo {
    width: min(80%, 960px);
    margin-top: -32px;
  }
}

@media (min-width: 1440px) {
  #news.news-jack .news-jack__inner {
    padding: 90px 20px 80px;
  }

  #news.news-jack .news-jack__photo {
    width: 960px;
    margin-top: -36px;
  }

  #news.news-jack .news-jack__deco {
    right: 20px;
    width: 560px;
  }
}

/* --- block 5 --- */
#mobile-cta {
  z-index: 40;
}

#mobile-cta .mobile-cta-contact {
  background: linear-gradient(180deg, #ffb347 0%, #ff7a00 55%, #f06a00 100%);
  box-shadow: 0 4px 12px rgba(240, 106, 0, 0.35);
}

/* --- MV：スライドが1枚のときは Splide を起動せずそのまま表示（LCP対策） --- */
#mv-splide:not(.mv-splide--multi) {
  visibility: visible;
}

#mv-splide:not(.is-initialized) .splide__slide {
  width: 100%;
}

/* 動画モーダル：iPhoneのChromeで下部アドレスバーがあると閉じるボタンが画面外に出るため、
   アドレスバー表示時の高さ（svh）基準で少し小さくする（90vh → 75svh） */
.modal [data-modal-inner] video {
  max-height: 75vh;
  max-height: 75svh;
}
