/*
 * TOP ページ
 * 色トークンは site.css の CSS 変数を参照。
 */

/* =============================
 * v2-hero: メインビジュアル
 * ============================= */
 .v2-hero {
  position: relative;
  /*overflow: hidden; これがあるとお知らせ帯が見切れる*/
}
.v2-hero__bg {
  display: block;
  width: 100%;
  aspect-ratio: 1280 / 530;
  object-fit: cover;
}

/* 左側カラフルポリゴンオーバーレイ（Figma の幾何学模様を近似） */
.v2-hero__overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  background:
    /* ピンク/サーモン三角 */
    radial-gradient(ellipse 55% 80% at 18% 45%, rgba(215, 130, 120, 0.42) 0%, transparent 70%),
    /* ティール三角（左下） */
    radial-gradient(ellipse 40% 55% at 12% 85%, rgba(70, 190, 195, 0.38) 0%, transparent 65%),
    /* ラベンダー（左上） */
    radial-gradient(ellipse 45% 50% at 22% 15%, rgba(145, 110, 200, 0.28) 0%, transparent 70%);
}

.v2-hero__content {
    position: absolute;
    left: 8.4%;
    bottom: 39%;
    z-index: 2;
    max-width: 70%;
}
.v2-hero__en {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 3.125rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.4;
  text-shadow: 0 0 3px rgba(98, 98, 98, 0.40);
  color: var(--ns-color-heading);
  /* letter-spacing: 0.02em; */
}
.v2-hero__ja {
  font-family: "Zen Kaku Gothic New", sans-serif;
  /* font-size: 1.5625rem; */
  font-size: clamp(1.125rem, 2.5vw, 1.75rem);
  font-style: normal;
  font-weight: 500;
  line-height: 1.4;
  color: var(--ns-color-heading);
  text-shadow: 0 0 3px rgba(98, 98, 98, 0.40);
}
.v2-hero__info {
  position: absolute;
  left: calc(8.4% + 3 * 1.75rem);
  right: 0;
  bottom: -3.2%;
  z-index: 2;
  width: auto;
  max-width: none;
  box-sizing: border-box;
}

/* SP: ヒーロー縦比率を調整 + テキスト位置・スタイル */
@media (max-width: 767.98px) {
  .v2-hero__bg {
    aspect-ratio: auto;
    width: 100%;
    height: 35rem;
    object-fit: cover;
    object-position: 67% bottom;
  }
  .v2-hero__content {
    left: 0;
    right: 0;
    width: 100%;
    max-width: none;
    bottom: 16%;
    bottom: auto;
    top: 0;
    display: flex;
    padding: 30px 20px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 1rem;
    box-sizing: border-box;
  }
  .v2-hero__en {
    font-size: 2.25rem;
  }
  .v2-hero__ja {
    font-size: clamp(1.125rem, 2.5vw, 1.375rem);
  }
  .v2-hero__info {
    left: 2rem;
    right: 0;
  }
  .v2-news-strip--sp {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 1rem;
  }
  .v2-news-strip--sp .v2-news-strip__date {
    color: #FFD1D1;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.4;
  }
  .v2-news-strip--sp .v2-news-strip__link {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    align-self: stretch;
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.4;
  }
  .v2-news-strip--sp .v2-news-strip__divider {
    width: 100%;
    margin: 0;
    border: 0;
    border-top: 1px solid #FC989A;
    opacity: 1;
  }
  .v2-news-strip--sp .v2-news-strip__more {
    align-self: flex-end;
  }
}

/* =============================
 * v2-news-strip: ヒーロー直下お知らせ帯（共通）
 * ============================= */
@media (min-width: 768px) {
  .v2-hero__info .v2-news-strip:not(.v2-news-strip--sp) {
    overflow: hidden;
  }
  .v2-hero__info .v2-news-strip__item-link {
    display: block;
  }
}
.vr {
  background-color: #FC989A;
}

/* =============================
 * v2-overview: 概要セクション（3枚写真グリッド）
 * ============================= */
@media (min-width: 992px) {
  .v2-overview__col--text {
    flex: 0 0 60%;
    max-width: 60%;
    padding-top: 4rem;
  }
  .v2-overview__col--media {
    flex: 0 0 40%;
    max-width: 40%;
  }
}
.v2-overview__heading {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  color: var(--bs-body-color);
  font-weight: 500;
  position: relative;
}
/* site.css h1::after を左揃え・下位置に上書き */
.v2-overview__heading::after {
  left: 0;
  transform: none;
  top: auto;
  bottom: 0;
  width: 10rem;
}
.v2-overview__text {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.77;
}
.v2-overview__photo {
  display: block;
  width: 100%;
  object-fit: cover;
  border-radius: 4px;
}
.v2-overview__photo--half {
  aspect-ratio: 490 / 640;
}
.v2-overview__photo--wide {
  aspect-ratio: 986 / 444;
}

/* =============================
 * v2-business: 事業紹介（見出し・リードは PC/SP 共通）
 * ============================= */
.v2-business__heading {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  color: var(--bs-body-color);
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 2rem;
  margin-bottom: 1.5rem;
}
.v2-business__heading::after {
  content: "";
  flex-shrink: 0;
  width: 10rem;
  height: 2px;
  background-color: var(--brand-color);
}
.v2-business__eyebrow {
  display: block;
  width: auto;
  height: auto;
}
.v2-business__text {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

/* =============================
 * v2-business: 事業紹介（PC）
 * ============================= */
@media (min-width: 992px) {
  .v2-business__row {
    gap: 5rem;
  }
  .v2-business__col--media {
    flex: 0 0 calc(60% - 5rem);
    max-width: calc(60% - 5rem);
  }
  .v2-business__col--text {
    flex: 0 0 40%;
    max-width: 40%;
    padding-top: 5rem;
  }
}
.v2-business__media-inner {
  position: relative;
  overflow: hidden;
  width: 100%;
}
.v2-business__media-inner::before {
  content: "";
  display: block;
  aspect-ratio: 4 / 3;
}
.v2-business__photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.35s ease;
}
.v2-business__photo--default {
  opacity: 1;
}
.v2-business__row:has(.link1_item:hover) .v2-business__photo--default,
.v2-business__row:has(.link1_item:focus-visible) .v2-business__photo--default {
  opacity: 0;
}
.v2-business__row:has([data-business-photo="1"]:hover) .v2-business__photo--1,
.v2-business__row:has([data-business-photo="1"]:focus-visible) .v2-business__photo--1,
.v2-business__row:has([data-business-photo="2"]:hover) .v2-business__photo--2,
.v2-business__row:has([data-business-photo="2"]:focus-visible) .v2-business__photo--2,
.v2-business__row:has([data-business-photo="3"]:hover) .v2-business__photo--3,
.v2-business__row:has([data-business-photo="3"]:focus-visible) .v2-business__photo--3,
.v2-business__row:has([data-business-photo="4"]:hover) .v2-business__photo--4,
.v2-business__row:has([data-business-photo="4"]:focus-visible) .v2-business__photo--4 {
  opacity: 1;
}

/* =============================
 * v2-business-sp: 事業紹介（SP）
 * 画像は container 内基準で、文章端に揃え反対側は画面端まで full-bleed
 * ============================= */
@media (max-width: 991.98px) {
  .v2-business-sp__list {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
  .v2-business-sp__item {
    display: block;
    text-decoration: none;
    color: var(--bs-body-color);
  }
  .v2-business-sp__visual {
    position: relative;
  }
  /* 01・03: 右端を文章（container 内）の右端に揃え、左は画面端まで */
  .v2-business-sp__item--left .v2-business-sp__visual {
    margin-left: calc(-0.5 * var(--bs-gutter-x));
    margin-right: 0;
    width: calc(100% + 0.5 * var(--bs-gutter-x));
  }
  /* 02・04: 左端を文章（container 内）の左端に揃え、右は画面端まで */
  .v2-business-sp__item--right .v2-business-sp__visual {
    margin-right: calc(-0.5 * var(--bs-gutter-x));
    margin-left: 0;
    width: calc(100% + 0.5 * var(--bs-gutter-x));
  }
  .v2-business-sp__num {
    position: absolute;
    top: -1.5rem;
    z-index: 1;
    font-size: 2.875rem;
    font-weight: 200;
    line-height: 1;
    color: var(--brand-color);
  }
  .v2-business-sp__item--left .v2-business-sp__num {
    right: 0.5rem;
    left: auto;
  }
  .v2-business-sp__item--right .v2-business-sp__num {
    left: 0.5rem;
    right: auto;
  }
  .v2-business-sp__photo {
    display: block;
    width: 100%;
    object-fit: cover;
  }
  .v2-business-sp__caption {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.75rem;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5;
  }
  .v2-business-sp__item--left .v2-business-sp__caption {
    justify-content: flex-end;
  }
  .v2-business-sp__item--right .v2-business-sp__caption {
    justify-content: flex-start;
  }
  .v2-business-sp__label {
    text-align: inherit;
  }
  .v2-business-sp__item:active .v2-business-sp__label,
  .v2-business-sp__item:focus-visible .v2-business-sp__label {
    color: var(--brand-color);
  }
}

/* =============================
 * v2-company: 企業情報
 * ============================= */
.v2-company {
  background-color: var(--ns-bg-cream);
  padding: 2rem;
}
.v2-company__heading {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  color: var(--bs-body-color);
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 2rem;
  margin-bottom: 1.5rem;
}
.v2-company__heading::after {
  content: "";
  flex-shrink: 0;
  width: 10rem;
  height: 2px;
  background-color: var(--brand-color);
}
.v2-company__eyebrow {
  display: block;
  width: auto;
  height: auto;
}
.v2-company__photo {
    display: block;
    width: 100%;
    height: auto;
    margin-top:0;
    margin-left:0;
}

@media (min-width: 992px) {
.v2-company {
  padding: 7rem 11rem 7rem 8rem;
}
  .v2-company__links {
    flex-wrap: nowrap;
    /* gap: 1rem; */
  }
  .v2-company__col {
    flex: 0 0 calc((100% - 1rem) / 2);
    max-width: calc((100% - 1rem) / 2);
  }
.v2-company__photo {
    display: block;
    width: 113%;
    height: auto;
    margin-top: 40px;
    margin-left: -70px;
}
}
/* =============================
 * v2-pickup: ピックアップ画像帯（Slick 自動スクロール）
 * ============================= */
.top-pickup {
  --top-pickup-slide-gap: 1rem;
}
.top-pickup .slider .slick-slide {
  margin: 0 calc(var(--top-pickup-slide-gap) / 2);
}
.top-pickup .slider .img img {
  display: block;
  height: clamp(200px, 28vw, 400px);
  width: auto;
  object-fit: cover;
  border-radius: 4px;
}
.top-pickup .slider .img {
  line-height: 0;
}
.top-pickup .slider img {
  backface-visibility: hidden;
}

/* =============================
 * v2-news: お知らせセクション（新レイアウト）
 * ============================= */
.v2-news__heading {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  color: var(--bs-body-color);
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 2rem;
  margin-bottom: 1.5rem;
}
.v2-news__eyebrow {
  display: block;
  width: auto;
  height: auto;
  margin-bottom: 1.5rem;
}

/* =============================
 * v2-topics: トピックスセクション（新カードデザイン）
 * Splide スライダー・カスタムページネーション
 * ============================= */
.v2-topics {
  background-color: var(--ns-bg-light);
}
.v2-topics__heading {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  color: var(--bs-body-color);
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 2rem;
  margin-bottom: 1.5rem;
}
.v2-topics__eyebrow {
  display: block;
  width: auto;
  height: auto;
  margin: 0 auto 0.5rem;
}
/* Splide: New バッジ（上・左にはみ出し）が track で切れないよう余白 */
.v2-topics__splide {
  overflow: visible;
}
.v2-topics__splide .splide__list {
  display: flex;
  align-items: stretch;
}
.v2-topics__splide .splide__slide {
  display: flex;
  height: auto;
  align-self: stretch;
  padding-top: 1rem;
  padding-left: 0.625rem;
  box-sizing: border-box;
}
.v2-topics__splide .splide__slide > article {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
}
.v2-topics__splide .v2-topics__card {
  flex: 1 1 auto;
}
.v2-topics__card {
  display: flex;
  flex-direction: column;
  background-color: var(--bs-white, #fff);
  text-decoration: none;
  color: var(--bs-body-color);
  height: 100%;
  border-radius: 0 0 4px 4px;
  box-shadow: 0 0 6px 1px rgba(201, 201, 201, 0.35);
  overflow: visible;
  position: relative;
  border: 0;
  transition: box-shadow 0.3s ease;
}
/* ホバー枠: 上→右→下→左の順で1周（btn-surround 方式）
   ※ border は使わない（transparent 2px があると absolute の基準が内側にずれる） */
.v2-topics__card::before,
.v2-topics__card::after {
  content: "";
  display: block;
  position: absolute;
  background-color: var(--brand-color);
  pointer-events: none;
  z-index: 4;
}
.v2-topics__card::before {
  top: 0;
  left: 0;
  width: 0;
  height: 2px;
}
.v2-topics__card::after {
  top: 0;
  right: 0;
  width: 2px;
  height: 0;
}
.v2-topics__frame {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 4;
}
.v2-topics__frame::before,
.v2-topics__frame::after {
  content: "";
  display: block;
  position: absolute;
  background-color: var(--brand-color);
  bottom: 0;
  pointer-events: none;
}
.v2-topics__frame::before {
  right: 0;
  width: 0;
  height: 2px;
}
.v2-topics__frame::after {
  left: 0;
  width: 2px;
  height: 0;
}
.v2-topics__card:hover,
.v2-topics__card:focus-visible {
  box-shadow: 0 0 6px 1px rgba(201, 201, 201, 0.35), 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);
}
.v2-topics__card:hover::before,
.v2-topics__card:focus-visible::before {
  width: 100%;
  transition: width 0.2s ease 0s;
}
.v2-topics__card:hover::after,
.v2-topics__card:focus-visible::after {
  height: 100%;
  transition: height 0.2s ease 0.2s;
}
.v2-topics__card:hover .v2-topics__frame::before,
.v2-topics__card:focus-visible .v2-topics__frame::before {
  width: 100%;
  transition: width 0.2s ease 0.4s;
}
.v2-topics__card:hover .v2-topics__frame::after,
.v2-topics__card:focus-visible .v2-topics__frame::after {
  height: 100%;
  transition: height 0.2s ease 0.6s;
}
.v2-topics__card:not(:hover):not(:focus-visible)::before {
  width: 0;
  transition: none;
}
.v2-topics__card:not(:hover):not(:focus-visible)::after {
  height: 0;
  transition: none;
}
.v2-topics__card:not(:hover):not(:focus-visible) .v2-topics__frame::before {
  width: 0;
  transition: none;
}
.v2-topics__card:not(:hover):not(:focus-visible) .v2-topics__frame::after {
  height: 0;
  transition: none;
}
@media (prefers-reduced-motion: reduce) {
  .v2-topics__card:hover::before,
  .v2-topics__card:focus-visible::before {
    width: 100%;
    transition: none;
  }
  .v2-topics__card:hover::after,
  .v2-topics__card:focus-visible::after {
    height: 100%;
    transition: none;
  }
  .v2-topics__card:hover .v2-topics__frame::before,
  .v2-topics__card:focus-visible .v2-topics__frame::before {
    width: 100%;
    transition: none;
  }
  .v2-topics__card:hover .v2-topics__frame::after,
  .v2-topics__card:focus-visible .v2-topics__frame::after {
    height: 100%;
    transition: none;
  }
}
/* New バッジ: 赤枠白地（ホバー枠 z-index:4 より前面） */
.v2-topics__new {
  position: absolute;
  top: -1rem;
  left: -0.625rem;
  z-index: 5;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  padding: 0;
  border-radius: 50%;
  border: 1px solid var(--brand-color);
  color: var(--brand-color);
  background: var(--bs-white, #fff);
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1;
}
.v2-topics__img {
  display: block;
  width: 100%;
  aspect-ratio: 268 / 180;
  object-fit: cover;
}
.v2-topics__body {
  padding: 0.875rem 1rem 0.5rem;
  flex-grow: 1;
  min-width: 0;
}
.v2-topics__date {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--text-secondary);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4;
}
.v2-topics__date::before {
  content: "";
  flex-shrink: 0;
  width: 0.5rem;
  height: 1px;
  background-color: var(--brand-color);
}
.v2-topics__title {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  margin-top: 1rem;
  margin-bottom: 1rem;
  color: var(--bs-body-color);
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
}
.v2-topics__source {
  color: var(--text-secondary);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4;
  margin: 0;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}
/* 外部リンクアイコン: カード右下 */
.v2-topics__foot {
  display: flex;
  justify-content: flex-end;
  padding: 0.375rem 0.875rem 0.625rem;
  color: var(--text-secondary);
  font-size: 0.9375rem;
}
/* ページネーション（Splide 矢印・ドット） */
.v2-topics__splide.is-initialized {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  column-gap: 0.75rem;
}
.v2-topics__splide .splide__track {
  flex: 0 0 100%;
  order: 1;
  overflow: hidden;
}
.v2-topics__splide .splide__arrows {
  display: contents;
}
.v2-topics__splide .splide__arrow--prev {
  order: 2;
  position: static;
  inset: auto;
  transform: none;
}
.v2-topics__pager-dots {
  order: 3;
  position: static;
  inset: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0;
  margin: 1rem 0 0;
  width: auto;
}
.v2-topics__splide .splide__arrow--next {
  order: 4;
  position: static;
  inset: auto;
  transform: none;
}
.v2-topics__splide .splide__arrow {
  width: 38px;
  height: 38px;
  padding: 0;
  border: none;
  background: transparent;
  border-radius: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  margin-top: 1rem;
}
.v2-topics__splide .splide__arrow .arrow-right-icon--flip {
  display: block;
  transform: scaleX(-1);
}
.v2-topics__splide .splide__arrow:hover .arrow-right-icon-circle,
.v2-topics__splide .splide__arrow:focus-visible .arrow-right-icon-circle {
  fill: var(--bs-link-hover-color);
  stroke: var(--bs-link-hover-color);
}
.v2-topics__splide .splide__arrow:hover .arrow-right-icon-arrow,
.v2-topics__splide .splide__arrow:focus-visible .arrow-right-icon-arrow {
  stroke: var(--bs-white, #fff);
}
.v2-topics__splide .splide__arrow:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.v2-topics__splide .splide__arrow:disabled:hover .arrow-right-icon-circle,
.v2-topics__splide .splide__arrow:disabled:focus-visible .arrow-right-icon-circle {
  fill: var(--bs-white, #fff);
  stroke: var(--ns-color-line);
}
.v2-topics__splide .splide__arrow:disabled:hover .arrow-right-icon-arrow,
.v2-topics__splide .splide__arrow:disabled:focus-visible .arrow-right-icon-arrow {
  stroke: var(--bs-body-color);
}
.v2-topics__dot,
.v2-topics__pager-dots .v2-topics__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: var(--ns-color-dot-inactive);
  display: inline-block;
  border: none;
  padding: 0;
  margin: 0;
  opacity: 1;
  transform: none;
  transition: background-color 0.15s ease;
  cursor: pointer;
}
.v2-topics__dot--active,
.v2-topics__pager-dots .v2-topics__dot.is-active {
  background-color: var(--brand-color);
  transform: none;
}
.v2-topics__pager-dots > li {
  margin: 0;
  line-height: 1;
}

/* =============================
 * v2-related: 関連リンクセクション（新カードデザイン）
 * ============================= */
.v2-related__heading {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  color: var(--bs-body-color);
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 2rem;
  margin-bottom: 1.5rem;
}
.v2-related__eyebrow {
  display: block;
  width: auto;
  height: auto;
  margin: 0 auto;
}
.v2-related__card {
  display: flex;
  align-items: stretch;
  background: var(--bs-white, #fff);
  border: 2px solid var(--border-secondary);
  border-radius: 4px;
  overflow: hidden;
  text-decoration: none;
  color: var(--bs-body-color);
  height: 100%;
  transition: box-shadow 0.15s ease, border-color 0.15s ease;
}
.v2-related__card:hover,
.v2-related__card:focus-visible {
  border-color: var(--brand-color);
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);
}
.v2-related__img {
  width: 42%;
  min-width: 100px;
  max-width: 180px;
  object-fit: cover;
  flex-shrink: 0;
}
.v2-related__body {
  padding: 1.25rem 1rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.v2-related__name {
  color: var(--brand-color);
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.625;
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.375rem;
}
.v2-related__name .bi {
  color: var(--text-secondary);
}
.v2-related__desc {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--text-secondary);
  margin: 0;
}

/* SP: 画像上・テキスト下 / 画像は枠内横いっぱい */
@media (max-width: 767.98px) {
  .v2-related__card {
    align-items: stretch;
  }
  .v2-related__img {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    flex: 0 0 auto;
    align-self: stretch;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    object-position: center;
  }
}

/* =============================
 * v2-recruit: 採用情報セクション
 * ============================= */
.v2-recruit__visual {
  position: relative;
  overflow: hidden;
}
/* 赤四角アクセント（写真の左背面に重なる） */
.v2-recruit__accent {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 32%;
  background-color: var(--brand-color);
  z-index: 0;
}
/*
.v2-recruit__img {
  position: relative;
  z-index: 1;
  display: block;
  width: 88%;
  margin-left: auto;
  aspect-ratio: 1129 / 505;
  object-fit: cover;
}*/
.v2-recruit__eyebrow {
  display: block;
  width: auto;
  height: auto;
}
.v2-recruit__heading {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  color: var(--bs-body-color);
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 2rem;
  margin-bottom: 1.5rem;
}
.v2-recruit .link5_link {
  display: inline-flex;
  width: auto;
  min-width: 14rem;
  max-width: 100%;
  justify-content: space-between;
  gap: 0.75rem;
  padding-top: 0;
}
/* SP: アクセントを省略、画像フル幅 */
@media (max-width: 767.98px) {
  .v2-recruit__accent { display: none; }
  .v2-recruit__img { width: 100%; }

  /* 概要: 見出し + 下線を中央寄せ */
  .v2-overview__heading {
    text-align: center;
  }
  .v2-overview__heading::after {
    left: 50%;
    transform: translateX(-50%);
  }

  /* 事業紹介・企業情報・お知らせ・採用: 見出し中央、右線非表示（該当のみ） */
  .v2-business__heading,
  .v2-company__heading,
  .v2-news__heading,
  .v2-recruit__heading {
    display: block;
    text-align: center;
  }
  .v2-business__heading::after,
  .v2-company__heading::after {
    display: none;
  }
  .v2-business__eyebrow,
  .v2-company__eyebrow,
  .v2-news__eyebrow,
  .v2-recruit__eyebrow {
    margin-inline: auto;
  }

  /* 採用: ms-auto を解除して中央寄せ */
  .v2-recruit .row > .col-md-3 {
    margin-inline: 0 !important;
  }
}

/* v2-footer クラスは site.css の site-footer__* に統合済み */
