@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Barlow:wght@500;600;700&display=swap');

/* =====================================================================

Dole ?????E recruit.css
   @version 1.0.10
   ??????????E?E????????E?????E.rc ????????E   ===================================================================== */

/* ---- ?E??????E?? ------------------------------------------------ */
.rc {
  /* palette */
  --rc-white: #ffffff;
  --rc-green-50: #f0fdf4;
  --rc-green-100: #dcfce7;
  --rc-green-200: #bbf7d0;
  --rc-green-400: #4ade80;
  --rc-green-500: #22c55e;
  --rc-green-600: #16a34a;
  --rc-green-700: #15803d;
  --rc-green-800: #166534;
  --rc-green-900: #14532d;
  --rc-yellow-50: #fefce8;
  --rc-yellow-100: #fef9c3;
  --rc-yellow-200: #fef08a;
  --rc-yellow-400: #facc15;
  --rc-yellow-500: #eab308;
  --rc-yellow-600: #ca8a04;
  --rc-yellow-800: #854d0e;
  --rc-blue-50: #eff6ff;
  --rc-blue-100: #dbeafe;
  --rc-blue-200: #bfdbfe;
  --rc-blue-400: #60a5fa;
  --rc-blue-500: #3b82f6;
  --rc-blue-600: #2563eb;
  --rc-blue-700: #1d4ed8;
  --rc-blue-800: #1e40af;
  --rc-purple-50: #faf5ff;
  --rc-purple-100: #f3e8ff;
  --rc-purple-200: #e9d5ff;
  --rc-purple-400: #c084fc;
  --rc-purple-500: #a855f7;
  --rc-purple-600: #9333ea;
  --rc-purple-700: #7e22ce;
  --rc-purple-800: #6b21a8;
  --rc-pink-400: #f472b6;
  --rc-pink-500: #ec4899;
  --rc-pink-600: #db2777;
  --rc-orange-500: #f97316;
  --rc-orange-600: #ea580c;
  --rc-indigo-500: #6366f1;
  --rc-indigo-600: #4f46e5;
  --rc-red-500: #ef4444;
  --rc-red-600: #dc2626;
  --rc-cyan-500: #06b6d4;
  --rc-cyan-600: #0891b2;
  --rc-gray-50: #f9fafb;
  --rc-gray-100: #f3f4f6;
  --rc-gray-200: #e5e7eb;
  --rc-gray-300: #d1d5db;
  --rc-gray-500: #6b7280;
  --rc-gray-600: #4b5563;
  --rc-gray-700: #374151;
  --rc-gray-900: #111827;
  --rc-page-bg: #f0ebdc;

  /* layout */
  --rc-container: 80rem;   /* 7xl */
  --rc-shadow: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1);
  --rc-shadow-lg: 0 20px 25px -5px rgba(0,0,0,.1), 0 8px 10px -6px rgba(0,0,0,.1);
  --rc-shadow-xl: 0 25px 50px -12px rgba(0,0,0,.25);
  --rc-radius-lg: .75rem;
  --rc-radius-xl: 1rem;
  --rc-radius-2xl: 1.5rem;

  /* typography (Tailwind leading-* ??E */
  --rc-leading-none: 1;
  --rc-leading-tight: 1.25;
  --rc-leading-snug: 1.375;
  --rc-leading-normal: 1.5;
  --rc-leading-relaxed: 1.625;
  --rc-leading-loose: 2;
  --rc-lh-2xl: 2rem;     /* text-2xl ???? */
  --rc-lh-4xl: 2.5rem;   /* text-4xl ???? */
  --rc-font-family: "Noto Sans JP", sans-serif;

  /* spacing (Tailwind spacing scale) */
  --rc-space-2: .5rem;
  --rc-space-3: .75rem;
  --rc-space-4: 1rem;
  --rc-space-6: 1.5rem;
  --rc-space-8: 2rem;
  --rc-space-12: 3rem;
  --rc-space-16: 4rem;
  --rc-space-20: 5rem;

  color: var(--rc-gray-900);
  font-family: var(--rc-font-family);
  font-weight: 400;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: var(--rc-leading-normal);
  background: var(--rc-page-bg);
}

/* ---- ?????E???E?? --------------------------------------------- */
.rc *,
.rc *::before,
.rc *::after { box-sizing: border-box; }

.rc h1, .rc h2, .rc h3, .rc h4, .rc p, .rc ul, .rc figure { margin: 0; }
.rc main { display: block; margin: 0; }
.rc ul,
.rc ol { list-style: none; padding: 0; margin: 0; }
.rc img { display: block; max-width:40%; height: auto; }
/* ????E????E??????E???????E?Erc img ? height:auto ?????E*/
.rc-person__media .rc-person__img,
.rc-mag__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  min-height: 0;
  object-fit: cover;
}
/* ??????E??E???????????E???E?E.rc img ? height:auto ?????E*/
.rc-modal__avatar-wrap {
  width: 4rem;
  height: 4rem;
  flex: none;
  border-radius: 50%;
  overflow: hidden;
  background: var(--rc-gray-200);
}
.rc img.rc-modal__avatar {
  width: 100%;
  height: 100%;
  max-width: none;
  min-height: 0;
  border-radius: 0;
  object-fit: cover;
  aspect-ratio: 1;
}
/* ????????E?E??? */
.rc img.rc-qa__img {
  width: 100%;
  max-width: 100%;
  height: auto;
}
.rc a { color: inherit; text-decoration: none; }
.rc button { font: inherit; cursor: pointer; }

/* ---- ?????Eprimitives ------------------------------------------ */
.rc-container {
  width: 100%;
  max-width: var(--rc-container);
  margin-inline: auto;
  padding-inline: var(--rc-space-4);
}
/* ?????????????E?????E??E? px-4 ??????? padding ???E*/
.rc-section > .rc-container,
.rc-pagehead > .rc-container,
.rc-footer > .rc-container { padding-inline: 0; }
.rc-container--6xl { max-width: 72rem; }
.rc-container--5xl { max-width: 64rem; }
.rc-container--4xl { max-width: 56rem; }

.rc-section { padding-block: var(--rc-space-20); padding-inline: var(--rc-space-4); }
.rc-section--sm { padding-block: 4rem; }
.rc-section--xs { padding-block: 3rem; }

/* 全セクション共通: 地のページ背景（--rc-page-bg）を透過させる */
.rc-section--gray { background: transparent; }
.rc-section--white { background: transparent; }
.rc-section--fade { background: transparent; }
.rc-section--fade-blue { background: #f3ede3; }

/* ??????React ? min-h-screen bg-gradient-to-b from-gray-50 to-white */
.rc-main--people { background: transparent; }

.rc-section__title,
.rc h2.rc-section__title {
  font-size: clamp(1.875rem, 4vw, 2.25rem);
  font-weight: 700;
  line-height: var(--rc-lh-4xl);
  text-align: center;
  margin-bottom: 3rem;
  color: var(--rc-gray-900);
}
.rc-section__title--lg { font-size: clamp(2rem, 5vw, 2.25rem); margin-bottom: var(--rc-space-16); }
.rc-section__lead {
  font-size: 1.25rem;
  line-height: var(--rc-leading-relaxed);
  color: var(--rc-gray-700);
  text-align: center;
}

/* Fruits Smile Magazine「もっとみる」ボタンの行（中央寄せ） */
.rc .rc-mag-more { margin-top: 2.5rem; text-align: center; }

/* セクション右下の時点注記（Doleで働く 等） */
.rc .rc-asof-right { margin: .85rem 0 0; text-align: right; font-size: .8125rem; color: var(--rc-gray-500, #6b7280); }

/* =====================================================================
   採用情報 扉ページ（中途／新卒 ボタン画像を配置・文字は画像に同梱）
   ===================================================================== */
.rc .rc-careers { max-width: 1040px; margin: calc(2.5rem - 50px) auto 0; display: flex; flex-direction: column; gap: 2rem; }
.rc .rc-careers__btn { display: block; border-radius: 16px; overflow: hidden; transition: transform .3s, box-shadow .3s; }
.rc a.rc-careers__btn:hover { transform: translateY(-.4rem); }
.rc .rc-careers__btn img { width: 100%; max-width: 100%; height: auto; display: block; }
.rc .rc-careers__btn--disabled { cursor: default; }

/* セクション見出し直下の時点注記（※2026年6月時点 など） */
.rc .rc-section__asof {
  margin: -2.25rem 0 2rem;
  text-align: center;
  font-size: .8125rem;
  color: var(--rc-gray-500, #6b7280);
}

.rc-icon { width: 1.5rem; height: 1.5rem; flex: none; }
.rc-icon--inline { display: inline-block; vertical-align: -.2em; }

/* ---- ??? ---------------------------------------------------------- */
.rc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  padding: .75rem 1.5rem;
  border: none;
  border-radius: var(--rc-radius-lg);
  font-weight: 600;
  background: #143D2C;
  color: var(--rc-white);
  transition: background-color .2s, transform .2s, box-shadow .2s;
}
.rc-btn:hover { background: var(--rc-green-700); }
.rc-btn--lg { padding: var(--rc-space-6) var(--rc-space-8); font-size: 1.125rem; box-shadow: var(--rc-shadow-lg); }
.rc-btn--xl { padding: 1.25rem 3rem; font-size: 1.125rem; }
.rc-btn--block { width: 100%; }
.rc-btn--outline {
  background: var(--rc-white);
  color: var(--rc-gray-900);
  border: 1px solid var(--rc-gray-200);
}
.rc-btn--outline:hover { background: var(--rc-gray-100); }
.rc-btn--on-color { background: #143D2C; color:#fff; }
.rc-btn--on-color:hover { background: var(--rc-gray-100); }
.rc-btn .rc-icon { width: 1.25rem; height: 1.25rem; }
.rc-btn .rc-btn__play { width: 1rem; height: 1rem; transition: transform .2s; }
.rc-btn:hover .rc-btn__play { transform: translateX(.25rem); }
.rc-btn__arrow { transition: transform .2s; }
.rc-btn:hover .rc-btn__arrow { transform: translateX(.25rem); }

a.rc-btn.rc-btn--lg {
 color: #fff;
}


@media (max-width: 768px) {
  .rc img {  max-width:100%; }
}

/* =====================================================================
   ???? / ???????
   ===================================================================== */
.rc-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--rc-page-bg);
  /* border-bottom: 1px solid rgba(0,0,0,.12); */
      transition: box-shadow .3s;
    transition-behavior: normal;
    transition-duration: 0.3s;
    transition-timing-function: ease;
    transition-delay: 0s;
    transition-property: box-shadow;
}


.rc-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 5rem;
}
.rc-header__brand {
  display: flex;
  align-items: center;
  gap: .75rem;
  flex: 1;
  min-width: 0;
}
.rc-brand {
  display: flex;
  align-items: center;
  flex: none;
  transition: opacity .2s;
}
.rc-brand:hover { opacity: .9; }
/* ???????E?Dole ?? + ??E???E+ ?E????E*/
.rc-brand__mark { display: none; }
.rc-brand__logo {
  display: block;
  height: 3rem;
  width: auto;
  flex: none;
  max-width: none;
}
.rc img.rc-brand__logo {
  height: 3rem;
  width: auto;
  max-width: none;
}
.rc-brand__text {
  display: flex; flex-direction: column; justify-content: center;
  gap: .125rem;
  border-left: 2px solid var(--rc-green-600);
  padding-left: .75rem;
}
.rc-brand__title {
  font-size: .875rem; font-weight: 700; line-height: 1.25;
  color: var(--rc-gray-900);
}
.rc-brand__sub {
  font-size: .75rem; line-height: 1.25;
  color: var(--rc-green-600);
}
.rc-breadcrumb {
  display: block;
  border-left: 2px solid var(--rc-green-600);
  padding-left: .75rem;
  min-width: 0;
  flex: 1;
}
.rc-breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .25rem .375rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.rc-breadcrumb__item {
  display: inline-flex;
  align-items: center;
  font-size: .8125rem;
  line-height: 1.35;
  color: var(--rc-gray-700);
}
.rc-breadcrumb__item:not(:last-child)::after {
  content: "/";
  margin-left: .375rem;
  color: var(--rc-gray-400);
  font-weight: 400;
}
.rc-breadcrumb__item a {
  color: var(--rc-gray-700);
  font-weight: 600;
  transition: color .2s;
}
.rc-breadcrumb__item a:hover { color: var(--rc-green-600); }
.rc-breadcrumb__item.is-current span {
  color: var(--rc-gray-900);
  font-weight: 700;
}
/* ? fallback?E???????????? JS ????E?E*/
.rc-brand__fallback { display: none; }

.rc-nav { display: none; align-items: center; gap: .5rem; }
.rc-nav__link {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .5rem 1rem; border-radius: var(--rc-radius-lg);
  color: var(--rc-gray-700); transition: background-color .2s, color .2s;
}
.rc-nav__link:hover { background: var(--rc-gray-100); }
.rc-nav__link.is-active { background: #143D2C; color: #fff; font-weight: 600; }
.rc-nav__link .rc-icon { width: 1rem; height: 1rem; }

/* 募集職種CTA：ホバーで中途/新卒を選ぶドロップダウン（黄緑ベタ・ヘッダー高さ100%／ゆあさ指示） */
.rc .rc-nav__jobs { align-self: stretch; position: relative; margin-left: .6rem; display: flex; }
.rc .rc-nav__jobcta {
  height: 5rem;                   /* .rc-header__inner と同じ＝ヘッダー高さ100% */
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 0 1.25rem;
  background: #7FB800; color: #fff;
  font-weight: 700; font-size: .82rem; line-height: 1.3; text-align: center;
  letter-spacing: .01em; white-space: nowrap; cursor: pointer; user-select: none;
  transition: background .2s;
}
.rc .rc-nav__jobs:hover .rc-nav__jobcta,
.rc .rc-nav__jobs:focus-within .rc-nav__jobcta { background: #72a600; }
/* ドロップダウン本体（ホバー / フォーカスで開く） */
.rc .rc-nav__jobs-menu {
  position: absolute; top: 100%; right: 0; z-index: 60;
  min-width: 100%; padding: .4rem; border-radius: 10px;
  background: #fff; box-shadow: var(--rc-shadow-xl, 0 12px 28px rgba(0,0,0,.16));
  display: flex; flex-direction: column; gap: .25rem;
  opacity: 0; visibility: hidden; transform: translateY(6px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s;
}
.rc .rc-nav__jobs:hover .rc-nav__jobs-menu,
.rc .rc-nav__jobs:focus-within .rc-nav__jobs-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.rc .rc-nav__jobs-item {
  display: block; padding: .55rem .9rem; border-radius: 7px;
  color: var(--rc-gray-800, #1f2937); font-weight: 700; font-size: .9rem;
  white-space: nowrap; text-decoration: none; text-align: center; transition: background .15s, color .15s;
}
.rc a.rc-nav__jobs-item:hover { background: #f3f7e6; color: #5f8c00; }
.rc .rc-nav__jobs-item--disabled { color: #9ca3af; cursor: default; }
.rc .rc-nav__jobs-item--disabled small { display: block; font-size: .68rem; font-weight: 500; margin-top: .1rem; }

/* モバイル：見出し＋中途/新卒を1つのカードにまとめ、ぶら下がる一体感を出す（新卒グレー） */
.rc .rc-nav-mobile__jobs {
  margin-top: .6rem;
  border: 2px solid #7FB800; border-radius: 12px; overflow: hidden;
}
.rc .rc-nav-mobile__jobs-head {
  margin: 0; padding: .85em 1em;
  background: #7FB800; color: #fff; font-weight: 700; line-height: 1.3; text-align: center;
}
.rc .rc-nav-mobile__jobs-item {
  display: flex; align-items: center; justify-content: space-between;
  padding: .9em 1rem;                       /* 他のメニュー項目と左揃え */
  background: #fff; border-top: 1px solid #e5e7eb;
  color: var(--rc-gray-800, #1f2937); font-weight: 400; text-decoration: none;
}
.rc a.rc-nav-mobile__jobs-item::after { content: "›"; color: #7FB800; font-size: 1.3em; line-height: 1; }
.rc .rc-nav-mobile__jobs-item--disabled { color: #9ca3af; background: #f7f8f5; }
/* メニュー最下部のエントリーボタン（濃緑ベタで主CTAとして目立たせる） */
.rc .rc-nav-mobile__entry {
  display: flex; align-items: center; justify-content: center; gap: .5em;
  margin-top: 1rem; padding: 1em;
  background: #143D2C; color: #fff; border-radius: 10px;
  font-weight: 700; font-size: 1.05rem; text-decoration: none;
}
.rc .rc-nav-mobile__entry .rc-icon { width: 1.25em; height: 1.25em; flex: none; }

/* ヘッダー採用CTAボタン（新卒＝募集なし / 中途＝募集要項へ） */
.rc .rc-nav__cta {
  display: inline-flex; align-items: center; gap: .6rem;
  margin-left: .9rem; padding-left: 1rem;
  border-left: 1px solid #e5e7eb;   /* ナビ本体と採用導線を区切る */
}
.rc .rc-nav__btn {
  display: inline-flex; align-items: center; gap: .45em;
  padding: .95em 1.7em; border-radius: 999px;
  font-size: 1rem; font-weight: 700; line-height: 1;
  white-space: nowrap; text-decoration: none;
}
.rc .rc-nav__btn--primary { background: #143D2C; color: #fff; transition: background .2s, transform .2s; }
.rc .rc-nav__btn--primary:hover { background: #1d5a40; transform: translateY(-1px); }
.rc .rc-nav__btn--disabled { background: #eef1f5; color: #475569; cursor: default; }  /* 文字は読める濃さに */
.rc .rc-nav__badge {
  margin-left: .5em; padding: .22em .6em; border-radius: 999px;
  background: #475569; color: #fff; font-size: .6875rem; font-weight: 700; letter-spacing: .02em;
}
/* モバイル版 採用ボタン */
.rc .rc-nav-mobile__btn {
  display: flex; align-items: center; gap: .6em;
  padding: .85em 1em; margin-top: .4rem; border-radius: 10px;
  font-weight: 700; text-decoration: none;
}
.rc .rc-nav-mobile__btn .rc-icon { width: 1.25em; height: 1.25em; flex: none; }
.rc .rc-nav-mobile__btn--primary { background: #143D2C; color: #fff; }
.rc .rc-nav-mobile__btn--disabled { background: #eef1f5; color: #475569; }
.rc .rc-nav-mobile__btn--disabled .rc-nav__badge { margin-left: auto; }

.rc-nav-toggle {
  display: inline-flex; padding: .5rem; border: none; background: none;
  color: var(--rc-gray-700); border-radius: var(--rc-radius-lg);
}
.rc-nav-toggle:hover { background: var(--rc-gray-100); }
.rc-nav-toggle__close { display: none; }
.rc-nav-toggle.is-open .rc-nav-toggle__open { display: none; }
.rc-nav-toggle.is-open .rc-nav-toggle__close { display: block; }

.rc-nav-mobile { display: none; padding-block: 1rem; border-top: 1px solid var(--rc-gray-200); }
.rc-nav-mobile.is-open {
  display: block;
  margin-inline: calc(50% - 50vw);          /* コンテナ余白を超えて画面幅100%に */
  padding-inline: var(--rc-space-4);         /* 中身は元の左右余白を維持 */
  border-bottom: 2px solid #7FB800;          /* 下端の境界（白背景は使わない） */
  box-shadow: 0 16px 22px -8px rgba(0,0,0,.22);
}
.rc-nav-mobile__link {
  display: flex; align-items: center; gap: .75rem;
  padding: .75rem 1rem; border-radius: var(--rc-radius-lg);
  color: var(--rc-gray-700); transition: background-color .2s, color .2s;
}
.rc-nav-mobile__link:hover { background: var(--rc-gray-100); }
.rc-nav-mobile__link.is-active { background: var(--rc-green-600); color: #fff; font-weight: 600; }

@media (min-width: 768px) {
  .rc-nav { display: flex; }
  .rc-nav-toggle { display: none; }
  .rc-nav-mobile { display: none !important; }
}

/* =====================================================================
   ????
   ===================================================================== */
.rc-footer {
  background: #143D2C;
  color: #fff;
  padding: var(--rc-space-12) var(--rc-space-4);
}
.rc-footer__grid {
  display: grid; gap: 2rem; margin-bottom: 2rem;
}
.rc-footer__brand { display: flex; align-items: center; gap: .75rem; margin-bottom: 1rem; }
.rc-footer__logo { width: 10%; height: auto; filter: none; display: block; flex: none; }
.rc-footer__brand-text {
  font-size: 1.125rem; font-weight: 700; line-height: 1.25;
  border-left: 2px solid rgba(255, 255, 255, .35); padding-left: .75rem;
}
.rc-footer__brand-fallback { display: flex; align-items: center; gap: .75rem; margin-bottom: 1rem; }
.rc-footer__brand-fallback span:first-child {
  width: 2.5rem; height: 2.5rem; border-radius: 9999px; background: #fff; color: var(--rc-green-600);
  display: flex; align-items: center; justify-content: center; font-weight: 700;
}
.rc-footer__brand-fallback span:last-child { font-size: 1.125rem; font-weight: 700; }
.rc-footer__desc { color: var(--rc-gray-300, #d1d5db); font-size: .875rem; line-height: var(--rc-leading-relaxed); }
.rc-footer__heading { font-weight: 700; margin-bottom: 1rem; }
.rc-footer__list { display: flex; flex-direction: column; gap: .5rem; }
.rc-footer__list a { color: #d1d5db; transition: color .2s; }
.rc-footer__list a:hover { color: #fff; }
.rc-footer__bottom {
  border-top: 1px solid var(--rc-green-700, #15803d);
  padding-top: 2rem; text-align: center; color: #d1d5db; font-size: .875rem;
}
@media (min-width: 768px) {
  .rc-footer__grid { grid-template-columns: repeat(3, 1fr); }
}

/* =====================================================================
   下層ページタイトル（新デザイン・.rc-lhead）
   KVと同じく全幅フル相対。背景=薄い黄色、下端にKV下波帯を高さ206pxで配置
   ===================================================================== */
.rc .rc-lhead {
  position: relative;
  width: 100%;
  aspect-ratio: 1440 / 367;     /* デザイン基準（Figmaフレーム1440×367） */
  background: #fdf9e6;          /* 薄い黄色（Figma Rectangle 2） */
  overflow: hidden;
  container-type: inline-size;
}
/* 波帯（下層版）：KV下波帯(347px)より低い206px。206/1440≒14.31% */
.rc .rc-lhead__wave {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: clamp(90px, 14.31vw, 206px);
  line-height: 0;
  pointer-events: none;
  z-index: 1;
}
.rc .rc-lhead .rc-wave {
  display: block;
  width: 100%;
  height: 100%;
}
.rc .rc-lhead .rc-wave__light { fill: #FDFACC; }   /* 薄・背面 */
.rc .rc-lhead .rc-wave__dark  { fill: #F6E500; }   /* 濃・前面 */
/* あしらい（下層ページ専用 l_deco_1_1〜4）。Figma座標を1440×367基準で%配置・height auto */
.rc .rc-lhead__deco {
  position: absolute;
  height: auto;
  z-index: 2;                  /* 波(1)より前面・フルーツ/タイトルより背面（DOM順で前後） */
  pointer-events: none;
}
.rc .rc-lhead__deco--1 { left: 21.53%; top: 17.44%; width: 5.76%; } /* x310  y517 黄ドット */
.rc .rc-lhead__deco--2 { left: 29.17%; top: 64.85%; width: 4.17%; } /* x420  y691 青ドット */
.rc .rc-lhead__deco--3 { left: 70.28%; top: 17.98%; width: 4.72%; } /* x1012 y519 青ストライプ円 */
.rc .rc-lhead__deco--4 { left: 77.85%; top: 33.24%; width: 3.89%; } /* x1121 y575 青ニョロ線 */

/* キャラクター（KVと同じ画像を流用・フルーツ廃止→置換）。Figma node47:669座標を1440×366基準で%配置・height auto */
.rc .rc-lhead__char {
  position: absolute;
  height: auto;
  z-index: 2;                  /* 波(1)より前面・タイトル(3)より背面 */
  pointer-events: none;
}
.rc .rc-lhead__char--1 { left: 8.26%;  top: 41.26%; width: 10.48%; } /* x119  y232 ピンク・左   / 150.87×165.42 */
.rc .rc-lhead__char--3 { left: 22.71%; top: 3.83%;  width: 14.44%; } /* x327  y95  パイン・左中 / 208×342 */
.rc .rc-lhead__char--4 { left: 65.42%; top: 40.98%; width: 12.50%; } /* x942  y231 アボカド・右中 / 180×201 */
.rc .rc-lhead__char--5 { left: 80.56%; top: 2.19%;  width: 15.81%; } /* x1160 y89  バナナ・右   / 227.6×352 */

/* キャラクターのゆるい上下浮遊（KVと同じ rc-kv-float を流用） */
.rc .rc-lhead__char {
  animation: rc-kv-float 4.5s ease-in-out infinite alternate;
  will-change: transform;
}
.rc .rc-lhead__char--1 { animation-duration: 3.2s; animation-delay: -2.1s; }
.rc .rc-lhead__char--3 { animation-duration: 4.2s; animation-delay: -3.3s; }
.rc .rc-lhead__char--4 { animation-duration: 4.9s; animation-delay: -1.0s; }
.rc .rc-lhead__char--5 { animation-duration: 6.0s; animation-delay: -4.2s; }
@media (prefers-reduced-motion: reduce) {
  .rc .rc-lhead__char { animation: none; }
}

/* ショルダー（タイトル上のCOMPANYラベルとあしらい）。すべて水平中央・Figma座標基準 */
.rc .rc-lhead__rays {
  position: absolute;
  left: 50%;
  top: 18.80%;            /* y522 */
  transform: translateX(-50%);
  width: 3.96%;           /* 56.98/1440 */
  height: auto;
  z-index: 3;
  pointer-events: none;
}
.rc .rc-lhead__eyebrow {
  position: absolute;
  left: 50%;
  top: 33.24%;            /* y575 */
  transform: translateX(-50%);
  margin: 0;
  color: #fdd012;
  font-weight: 700 !important;  /* .rc p の font-weight:400 !important を上書き */
  font-size: 1.389cqw;          /* 20/1440・KV幅連動 */
  letter-spacing: 0.15em;       /* 字間3px@20px */
  line-height: 1;
  white-space: nowrap;
  z-index: 3;
}
.rc .rc-lhead__eyebrow-deco {
  position: absolute;
  left: 50%;
  top: 40.87%;            /* y603 */
  transform: translateX(-50%);
  width: 5.92%;           /* 85.285/1440 */
  height: auto;
  z-index: 3;
  pointer-events: none;
}

/* タイトル文字（Figma：44px / 字間20px / #111827 / 中央・位置 y647基準） */
.rc .rc-lhead__title {
  position: absolute;
  left: 50%;
  top: 57.2%;             /* テキスト中央 y663 */
  /* 末尾字間（20px）ぶんの中央ズレを半分(10px=0.694cqw)右に補正 */
  transform: translate(calc(-50% + 0.694cqw), -50%);
  margin: 0;
  color: #111827;
  font-weight: 700;
  font-size: 3.056cqw;    /* 44/1440・KV幅連動（@1440で44px） */
  letter-spacing: 1.389cqw;  /* 20/1440・字間20px */
  white-space: nowrap;
  z-index: 3;
}

/* --- 社員を知る（people）配色違い：背景＝薄青 / 波帯＝青2トーン / タイトル＝#1363BC --- */
.rc .rc-lhead--people { background: #EDF4FE; }                 /* 薄い青（Figma指定） */
.rc .rc-lhead--people .rc-wave__light { fill: #A0C1E4; }       /* 薄・背面（#1363BCの明色） */
.rc .rc-lhead--people .rc-wave__dark  { fill: #1363BC; }       /* 濃・前面＝タイトルカラー */
.rc .rc-lhead--people .rc-lhead__eyebrow { color: #1363BC; }   /* ショルダーも青に統一（タイトル日本語は共通の黒#111827） */

/* --- 採用系（recruit）配色違い：募集要項(扉)・中途採用で共用／背景＝薄緑 / 波帯＝緑2トーン / ショルダー＝#479b45 --- */
.rc .rc-lhead--recruit { background: #eff6ee; }              /* 薄緑（Figma #eff6ee） */
.rc .rc-lhead--recruit .rc-wave__light { fill: #A9D1A7; }    /* 薄・背面（#479b45の明色） */
.rc .rc-lhead--recruit .rc-wave__dark  { fill: #479b45; }    /* 濃・前面＝テーマ緑 */
.rc .rc-lhead--recruit .rc-lhead__eyebrow { color: #479b45; } /* ショルダー緑（タイトル日本語は共通の黒#111827） */
/* 散らしあしらい（l_deco_3_1〜4）の位置・幅をFigma座標(1440×367基準)で上書き */
.rc .rc-lhead--recruit .rc-lhead__deco--1 { left: 20.63%; top: 13.91%; width: 7.57%; } /* l_deco_3_1 */
.rc .rc-lhead--recruit .rc-lhead__deco--2 { left: 28.85%; top: 64.31%; width: 4.79%; } /* l_deco_3_2 */
.rc .rc-lhead--recruit .rc-lhead__deco--3 { left: 70.59%; top: 19.35%; width: 4.10%; } /* l_deco_3_3 */
.rc .rc-lhead--recruit .rc-lhead__deco--4 { left: 77.71%; top: 32.56%; width: 4.17%; } /* l_deco_3_4 */

/* =====================================================================
   下層タイトル（.rc-lhead）— SP（スマホ）対応  ※叩き台 2026-06-19
   PCの横長(1440/367)では潰れるため、SPは縦に余裕を持たせて中央寄せに組み替え。
   ・上からショルダー(光線+英字+下線)→タイトル→下端に波帯／フルーツは四隅
   ・cqwはSPで極小になるため英字・タイトルは px/vw に切替。3ページ共通で効く
   ===================================================================== */
@media (max-width: 767px) {
  .rc .rc-lhead {
    /* 高さ自体を削ってタイトル群と波帯を詰める（波帯は下端固定なので高さを削るほどタイトルに近づく）。
       下端=波帯下端なので薄黄の余白も出ない。被り回避のため値は計測で追い込み */
    aspect-ratio: 375 / 195;   /* ゆあさFB：高さを少しだけ削る */
  }

  /* 波帯：SP用に低め。bottom は既定(0)＝lhead下端に固定（高さを224に縮めたので位置は233-304のまま） */
  .rc .rc-lhead__wave { height: clamp(70px, 19vw, 110px); }

  /* ショルダー（光線＋英字＋下線あしらい）：中央・上部にコンパクトに */
  .rc .rc-lhead__rays {
    top: 16%;
    width: 9%;     /* ゆあさFB：光線あしらいを少し小さく */
  }
  .rc .rc-lhead__eyebrow {
    top: 30%;
    font-size: clamp(10px, 2.9vw, 12px);   /* ゆあさFB：ショルダー英字を少し小さく */
    letter-spacing: 0.14em;
  }
  .rc .rc-lhead__eyebrow-deco {
    top: 38%;     /* ゆあさFB：下線あしらいを英字(COMPANY)に近づける */
    width: 16%;     /* ゆあさFB：下線あしらいを少し小さく */
  }

  /* タイトル：中央・大きめ。字間はSP向けに詰め、末尾字間の補正も小さく */
  .rc .rc-lhead__title {
    top: 55%;   /* 高さを195に削ったぶんタイトルも上げ、波帯との食い込みを回避 */
    transform: translate(calc(-50% + 0.06em), -50%);
    font-size: clamp(26px, 7.2vw, 34px);   /* cqw→vwへ */
    letter-spacing: 0.12em;
    line-height: 1.1;   /* 箱を締めて波帯との無駄な余白を減らす（被り回避にも効く） */
  }

  /* キャラクター（KV画像流用・char1/3/4/5）：SPでも表示。PCの左→右順（char1=左/char3=左中/char4=右中/char5=右端）を踏襲し、横長帯なので左右端に寄せて中央テキストを避ける */
  .rc .rc-lhead__char { display: block; }
  .rc .rc-lhead__char--1 { left: 2%;  top: 44%; width: 12%; }   /* ピンク・左 */
  .rc .rc-lhead__char--3 { left: 15%; top: 24%; width: 17%; }   /* パイン縦長・左中 */
  .rc .rc-lhead__char--4 { left: 72%; top: 44%; width: 14%; }   /* アボカド・右中 */
  .rc .rc-lhead__char--5 { left: 84%; top: 22%; width: 18%; }   /* バナナ縦長・右端 */

  /* 小さいあしらい(点・線)はSPでは情報過多になるため一旦非表示（KVと同方針／必要なら個別復帰） */
  .rc .rc-lhead__deco { display: none; }
}

/* =====================================================================
   ??E????E?E????E?????E????E?E   ===================================================================== */
.rc-pagehead {
  padding: var(--rc-space-20) var(--rc-space-4);
  text-align: center;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.rc-pagehead--data { background-image: url('../images/common/01_SP.webp'); }
.rc-pagehead--people { background-image: url('../images/common/02_SP.webp'); }
.rc-pagehead--requirements { background-image: url('../images/common/03_SP.webp'); }
@media (min-width: 768px) {
  .rc-pagehead--data { background-image: url('../images/common/01_PC.webp'); }
  .rc-pagehead--people { background-image: url('../images/common/02_PC.webp'); }
  .rc-pagehead--requirements { background-image: url('../images/common/03_PC.webp'); }
}
.rc-pagehead__title {
  font-size: 3rem;
  font-weight: 700;
  color: #fff;
  line-height: var(--rc-leading-none);
  text-align: center;
  margin: 0 0 var(--rc-space-6);
}
@media (min-width: 768px) {
  .rc-pagehead__title { font-size: 3.75rem; }
}
.rc-pagehead__sub {
  font-size: 1.25rem;
  line-height: 1.75rem;
  color: rgba(255,255,255,.9);
  text-align: center;
  margin: 0;
}
@media (min-width: 768px) {
  .rc-pagehead__sub { font-size: 1.5rem; line-height: 2rem; }
}

/* =====================================================================
   Home : ??E??
   ===================================================================== */
.rc-hero {
  position: relative;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden; text-align: center; background: #f7f7f7;
}
.rc-hero__bg {
  position: absolute; inset: 0; z-index: 0;
  background-image: url('../images/common/bg.webp');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.rc-hero__overlay {
  position: absolute; inset: 0;
  /* background:#fff; opacity: 0.85; */
}
.rc-hero__inner { position: relative; z-index: 1; padding: 50px 30px; max-width: 64rem; width: 100%; }
.rc-hero__logo-wrap {
  height: 8rem;
  margin: 0 auto var(--rc-space-8);
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
}
.rc-hero__logo-wrap .rc-hero__logo,
.rc img.rc-hero__logo {
  height: 100%;
  max-height: 8rem;
  width: auto;
  max-width: 100%;
  margin: 0;
  filter: drop-shadow(0 4px 6px rgba(0,0,0,.3));
}
.rc-hero__title {
  font-size: clamp(3rem, 9vw, 4.5rem); font-weight: 700; color: #fff;
  line-height: var(--rc-leading-none);
  margin-bottom: var(--rc-space-6); text-shadow: 0 4px 6px rgba(0,0,0,.3);
}
.rc-hero__title--kv { text-shadow: none; }
.rc-hero__kv {
  height: auto; margin: 0 auto;
  display: block;
  width: 100%;
  max-width: 26rem;
  height: auto;
  /* border: 10px solid #F6E500; */
  margin: 0 auto;
  padding: 30px 20px 30px 30px;
  border-radius: 20px;
}
.rc-hero__lead {
  font-size: clamp(1.25rem, 3vw, 1.5rem); color: var(--rc-gray-700);
  line-height: var(--rc-leading-relaxed);
  margin-bottom: var(--rc-space-12);
}
.rc-hero__actions { display: flex; flex-direction: column; gap: var(--rc-space-4); justify-content: center; }
.rc-hero__scroll {
  position: absolute; bottom: 2rem; left: 50%; transform: translateX(-50%);
  animation: rc-bounce 1s infinite;
}
.rc-hero__scroll span {
  display: flex; justify-content: center;
  width: 1.5rem; height: 2.5rem; border: 2px solid #333; border-radius: 9999px;
}
.rc-hero__scroll span::before {
  content: ""; width: .25rem; height: .75rem; margin-top: .5rem;
  background: #333; border-radius: 9999px;
}
@keyframes rc-bounce {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-25%); }
}
@media (min-width: 640px) {
  .rc-hero__actions { flex-direction: row; }
}

/* ---- Home : ???E????E-------------------------------------------- */
.rc-grid { display: grid; gap: var(--rc-space-8); }
.rc-grid--gap-6 { gap: var(--rc-space-6); }
.rc-grid--2 { grid-template-columns: 1fr; }
.rc-grid--3 { grid-template-columns: 1fr; }
.rc-grid--4 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 767px) {
  /* 2カラムを等幅・縮小可に（1fr=minmax(auto,1fr)だと中身の最大幅でカラムが膨らみ横スクロールするため） */
  .rc .rc-grid--4 { gap: 1.25rem; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  /* ===== 会社データ・育児支援：2カラムmasonry（Pinterest風に隙間を詰める） =====
     土台は通常のCSS Grid（iOS含め全端末で崩れない）。JS(setupStatMasonry)が各カードの高さを測り
     grid-row の span を計算して入れることで隙間を詰める。旧CSS段組み(column-count)はiOSで割れる/重なるため廃止。
     JSが効かない/未実行の端末では下の通常グリッド（成り行き高さ）にそのままフォールバック＝崩れない。 */
  .rc .rc-grid--4:has(.rc-stat) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }   /* フォールバック：成り行き高さの通常2カラム */
  .rc .rc-grid--4.rc-masonry { grid-auto-rows: 1px; grid-auto-flow: row dense; row-gap: 0; column-gap: .7rem; }   /* JS有効時：1px行単位＋spanで詰める */
  .rc .rc-grid--4 .rc-stat {
    margin: 0; min-width: 0; align-self: start;   /* 各パネルを内容なりの高さに（行の高さへ引き伸ばさない） */
    text-align: center; padding: 1.25rem 10px;   /* 中央寄せ・縦積み。左右パディング10px（ゆあさ指示） */
  }
  .rc .rc-grid--4 .rc-stat__icon { width: 2.5rem; height: 2.5rem; margin: 0 auto .55rem; }   /* SP縮小：40px（さらに小さく） */
  .rc .rc-grid--4 .rc-stat__icon .rc-icon { width: 1.25rem; height: 1.25rem; }
  .rc .rc-grid--4 .rc-stat__label { font-size: .875rem; margin-bottom: .15rem; }       /* 14px・下を詰める */
  .rc .rc-grid--4 .rc-stat__value { font-size: 2.5rem; margin-bottom: 0; }             /* 40px */
  .rc .rc-grid--4 .rc-stat__value--xl { font-size: 2.5rem; }
  .rc .rc-grid--4 .rc-stat__value sup,
  .rc .rc-grid--4 .rc-stat__unit-inline { font-size: 1.25rem; }                         /* 育休%（20px） */
  .rc .rc-grid--4 .rc-stat__unit { font-size: 0.9rem; }                                 /* 14.4px（ゆあさ指示） */
  .rc .rc-grid--4 .rc-stat__sub { justify-content: center; flex-wrap: wrap; margin-top: .35rem; font-size: .85rem; }   /* 男女比：中央・折返し可 */
  .rc .rc-grid--4 .rc-stat__note { font-size: .65rem; margin-top: .35rem; }             /* 注記（ゆあさ指示でさらに小さく・約10.4px） */
  .rc .rc-grid--4 .rc-stat__value[style] { font-size: 1.5rem !important; }              /* 就業時間 9:00〜17:00 を2カラム幅に収める */

  /* ===== ①SP調整：社員インタビューを2カラムに（横膨張防止でminmax・中身を縮めて収める） ===== */
  .rc .rc-grid.rc-grid--2.rc-grid--interviews { grid-template-columns: 1fr; gap: 1.25rem !important; }   /* ゆあさFB：SPは1カラム（縦1列）に。gapは縦の間隔 */
  .rc .rc-grid--interviews .rc-person { border-radius: .75rem; }   /* ゆあさFB：角丸を半分に（1.5rem→.75rem） */
  .rc .rc-grid--interviews .rc-person__caption { bottom: .5rem; left: .6rem; }   /* ゆあさFB：写真上テキストを少し下へ */
  .rc .rc-grid--interviews .rc-person__name { font-size: .9rem; }   /* ゆあさFB：写真上テキストを小さく */
  .rc .rc-grid--interviews .rc-person__years { font-size: .65rem; }
  .rc .rc-grid--interviews .rc-person__body { padding: .85rem; }
  .rc .rc-grid--interviews .rc-person__position { font-size: .9rem; margin-bottom: .4rem; }
  .rc .rc-grid--interviews .rc-person__msg { font-size: .8rem; line-height: 1.7; }
  .rc .rc-grid--interviews .rc-btn { font-size: .72rem; padding: .6rem .5rem; }   /* ゆあさFB：「インタビューを読む」の文字を少し下げる */

  /* ===== ナビカード3つ（会社を知る/社員を知る/募集要項）：SPは左アイコン＋右テキストの横並びに（ゆあさ指示） ===== */
  .rc .rc-navcard__inner { display: flex; align-items: stretch; border-radius: .75rem; }   /* 角丸を中ページのパネル(.75rem)に統一 */
  .rc .rc-navcard__thumb { width: 92px; height: auto; flex: none; }          /* 左のアイコン色エリア（高さは右テキストに追従） */
  .rc .rc-navcard__thumb-ico { width: 3rem; height: 3rem; margin: 0; }       /* svgアイコン（社員を知る/募集要項）・PC由来の下マージンを除去し上下中央に */
  .rc .rc-navcard img.rc-navcard__thumb-ico { width: 3.5rem; height: 3.5rem; }   /* 画像アイコン（会社を知る）・もう少しだけ小さく（4rem→3.5rem） */
  .rc .rc-navcard__body { flex: 1; padding: 1rem 1.1rem; }                   /* 右テキスト */
  .rc .rc-navcard__title { font-size: 1.15rem; }       /* 横並び用に縮小（下マージンは1412行の!important対策で後段に記載） */
  .rc .rc-navcard__desc { font-size: .8rem; }
  .rc .rc-navcard__more { font-size: .72rem; }                              /* 「詳しく見る」をもう少し小さく */

  /* セクションリード文：SPは文字を小さく・左揃え（ゆあさ指示） */
  .rc .rc-section__lead { font-size: 1rem; text-align: left; }
  .rc .rc-section__lead br { display: none; }   /* SPは改行（<br>）を取って自然に流す（ゆあさ指示） */
}
@media (min-width: 768px) {
  .rc-grid--2 { grid-template-columns: repeat(2, 1fr); }
  .rc-grid--3 { grid-template-columns: repeat(3, 1fr); }
  .rc-grid--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .rc-grid--4 { grid-template-columns: repeat(4, 1fr); }
}

.rc-quickstat {
  text-align: center; padding: var(--rc-space-8); border-radius: var(--rc-radius-2xl);
  transition: box-shadow .3s;
}
.rc-quickstat:hover { box-shadow: var(--rc-shadow-xl); }
.rc-quickstat--blue { background: #fff; }
.rc-quickstat--green { background: #fff; }
.rc-quickstat--yellow { background: #fff; }
.rc-quickstat--purple { background: #fff; }
.rc-quickstat__icon { width: 3rem; height: 3rem; margin: 0 auto var(--rc-space-4); }
.rc-quickstat__value { font-size: 2.75rem; font-weight: 700; line-height: var(--rc-lh-4xl); margin-bottom: var(--rc-space-2); }
.rc-quickstat__label { color: var(--rc-gray-700); font-weight: 500; }
.rc-text-blue { color: var(--rc-blue-600); }
.rc-text-green { color: var(--rc-green-600); }
.rc-text-yellow { color: var(--rc-yellow-600); }
.rc-text-purple { color: var(--rc-purple-600); }
.rc-text-pink { color: var(--rc-pink-600); }
.rc-text-indigo { color: var(--rc-indigo-600); }
.rc-text-red { color: var(--rc-red-600); }
.rc-text-cyan { color: var(--rc-cyan-600); }
.rc-text-orange { color: var(--rc-orange-600); }

/* ---- Home : ?????E---------------------------------------------- */
.rc-navcard { display: block; height: 100%; }
.rc-navcard__inner {
  background: #fff; border-radius: 1.5rem; overflow: hidden; /* rounded-3xl */
  box-shadow: var(--rc-shadow-lg); transition: box-shadow .3s, transform .3s; height: 100%;
}
.rc-navcard:hover .rc-navcard__inner { box-shadow: var(--rc-shadow-xl); transform: translateY(-.5rem); }
.rc-navcard__thumb {
  height: 16rem; display: flex; align-items: center; justify-content: center;
  background-size: cover; background-position: center; position: relative; color: #fff; text-align: center;
}
.rc-navcard__thumb--data { background: #fdd012; }
.rc-navcard__thumb--people { background: #1363BC; }
.rc-navcard__thumb--req { background: #479b45; }
.rc-navcard__thumb-overlay {
  position: absolute; inset: 0; background: rgba(22,163,74,.7);
  display: flex; align-items: center; justify-content: center; flex-direction: column; color: #fff;
}
.rc-navcard__thumb-big {
  font-size: 3.75rem; font-weight: 700; line-height: var(--rc-leading-none);
  margin-bottom: var(--rc-space-4);
}
.rc-navcard__thumb-mid { font-size: 1.5rem; line-height: var(--rc-lh-2xl); }
.rc-navcard__thumb-ico { width: 5rem; height: 5rem; margin: 0 auto var(--rc-space-4); }
/* 画像アイコン（icon_001等）は余白を含むため大きめに表示 */
.rc img.rc-navcard__thumb-ico { width: 15rem; height: 15rem; object-fit: contain; }
.rc-navcard__body { padding: var(--rc-space-6); }
.rc-navcard__title {
  font-size: 1.5rem; font-weight: 700; line-height: var(--rc-lh-2xl);
  margin-bottom: var(--rc-space-3); color: var(--rc-gray-900);
}
.rc-navcard__desc { color: var(--rc-gray-600); line-height: var(--rc-leading-normal); margin-bottom: var(--rc-space-4); }
.rc-navcard__more { display: inline-flex; align-items: center; gap: .5rem; font-weight: 600; transition: transform .2s; }
.rc-navcard:hover .rc-navcard__more { transform: translateX(.5rem); }
.rc-navcard__more--yellow { color: var(--rc-yellow-600); }
.rc-navcard__more--green { color: var(--rc-green-600); }
.rc-navcard__more--blue { color: #1363BC; }

/* ---- Home : ??E???? ---------------------------------------------- */
.rc-message { background: #F3EDE3; }
.rc-message__title {
  font-size: clamp(2rem, 5vw, 2.25rem); font-weight: 700;
  line-height: var(--rc-lh-4xl);
  margin-bottom: var(--rc-space-8);
}
.rc-message__body {
  font-size: 1.25rem; color: var(--rc-gray-700);
  line-height: var(--rc-leading-relaxed);
  margin-bottom: var(--rc-space-12);
}

/* =====================================================================
   ????E???Dole
   ===================================================================== */
/* パネルはドロップシャドウなし（ゆあさ指示・会社データ／育児支援とも） */
.rc-stat {
  background: #fff; border-radius: var(--rc-radius-2xl); padding: 1.5rem;
  transition: box-shadow .3s, transform .3s; text-align: center;
}
.rc-stat:hover { transform: translateY(-.25rem); }
.rc-stat__icon {
  width: 4rem; height: 4rem; border-radius: 9999px; margin: 0 auto 1rem;
  display: flex; align-items: center; justify-content: center; color: #fff;
}
.rc-stat__icon .rc-icon { width: 2rem; height: 2rem; }
.rc-stat__label { font-size: 1.0625rem; color: var(--rc-gray-600); font-weight: 400; margin-bottom: .5rem; }
.rc .rc-stat__value { font-family: 'Barlow', sans-serif !important; font-size: 3.75rem; font-weight: 600; margin-bottom: .25rem; display: inline-block; line-height: 1.1; }
.rc .rc-quickstat__value { font-family: 'Barlow', sans-serif !important; }
.rc .rc-quickstat__unit { font-size: .45em; font-weight: inherit; margin-left: .06em; }
.rc-stat__value--xl { font-size: 3.75rem; }
.rc-stat__value sup, .rc-stat__unit-inline { font-size: 1.75rem; }
.rc-stat__unit { font-size: 1.25rem; color: var(--rc-gray-500); display: inline-block; margin-left: .15em; }
.rc-stat__note { font-size: .75rem; color: var(--rc-gray-500); margin-top: .5rem; }
/* 従業員構成カードの男女比サブ行 */
.rc .rc-stat__sub { margin-top: .65rem; font-size: 1.125rem; font-weight: 700; display: flex; align-items: baseline; justify-content: center; }
.rc .rc-stat__sub-sep { color: var(--rc-gray-300, #d1d5db); margin: 0 .5em; }

.rc-section--childcare { background: transparent; }

/* gradient helpers?E?????????E?E*/
.rc-grad-blue { background: linear-gradient(135deg, var(--rc-blue-500), var(--rc-blue-600)); }
.rc-grad-purple { background: linear-gradient(135deg, var(--rc-purple-500), var(--rc-purple-600)); }
.rc-grad-green { background: linear-gradient(135deg, var(--rc-green-500), var(--rc-green-600)); }
.rc-grad-yellow { background: linear-gradient(135deg, var(--rc-yellow-500), var(--rc-yellow-600)); }
.rc-grad-indigo { background: linear-gradient(135deg, var(--rc-indigo-500), var(--rc-indigo-600)); }
.rc-grad-red { background: linear-gradient(135deg, var(--rc-red-500), var(--rc-red-600)); }
.rc-grad-pink { background: linear-gradient(135deg, var(--rc-pink-500), var(--rc-pink-600)); }
.rc-grad-cyan { background: linear-gradient(135deg, var(--rc-cyan-500), var(--rc-cyan-600)); }
.rc-grad-blue-l { background: linear-gradient(135deg, var(--rc-blue-400), var(--rc-blue-500)); }
.rc-grad-pink-l { background: linear-gradient(135deg, var(--rc-pink-400), var(--rc-pink-500)); }
.rc-grad-green-l { background: linear-gradient(135deg, var(--rc-green-400), var(--rc-green-500)); }
.rc-grad-purple-l { background: linear-gradient(135deg, var(--rc-purple-400), var(--rc-purple-500)); }

/* ---- ???????E------------------------------------------------- */
.rc-benefit { border-radius: var(--rc-radius-2xl); padding: 2rem; border: 2px solid; }
.rc-benefit--green { background: #fff; border-color: #2C7E45; }
.rc-benefit--blue { background: #fff; border-color: #0473FF; }
.rc-benefit--yellow { background: #fff; border-color: #EACF07; }
.rc-benefit--purple { background: #fff; border-color: #7719DE; }
.rc-benefit__title { display: flex; align-items: center; gap: .5rem; font-size: 1.25rem; font-weight: 700; margin-bottom: 1rem; }
.rc-benefit--green .rc-benefit__title { color: var(--rc-green-800); }
.rc-benefit--blue .rc-benefit__title { color: var(--rc-blue-800); }
.rc-benefit--yellow .rc-benefit__title { color: var(--rc-yellow-800); }
.rc-benefit--purple .rc-benefit__title { color: var(--rc-purple-800); }
.rc-benefit__list { display: flex; flex-direction: column; gap: .75rem; color: var(--rc-gray-700); }
.rc-benefit__list li { display: flex; align-items: flex-start; gap: .5rem; }
.rc-benefit__check { font-weight: 700; }
.rc-benefit--green .rc-benefit__check { color: var(--rc-green-600); }
.rc-benefit--blue .rc-benefit__check { color: var(--rc-blue-600); }
.rc-benefit--yellow .rc-benefit__check { color: var(--rc-yellow-600); }
.rc-benefit--purple .rc-benefit__check { color: var(--rc-purple-600); }

/* ---- ?E????? ----------------------------------------------------- */
.rc-philosophy { background:#F3EDE3; color: #111827; }
.rc-philosophy__title { font-size: clamp(2rem, 6vw, 2.25rem); font-weight: 700; margin-bottom: 1.5rem; }
.rc-philosophy__body { font-size: 1.25rem; line-height: var(--rc-leading-relaxed); margin-bottom: 2rem; }
.rc-pill {
  display: inline-block; background: #111827; color:#fff;
  margin-top: 30px;
  font-weight: 700; padding: 1rem 2rem; border-radius: 9999px; font-size: 1.125rem;
  transition: background-color .2s;
}
.rc-pill:hover { background: #484848}

/* =====================================================================
   ??????Eeople.jsx ? py-12 / gap-8 / mb-12 ???E   ===================================================================== */
.rc-section--interviews .rc-section__title {
  margin: 0 0 3rem;
}
.rc-grid--interviews {
  gap: var(--rc-space-8);
}
.rc-section--magazine .rc-section__title {
  margin-bottom: 1rem;
}
.rc-section--magazine .rc-section__lead {
  font-size: 1rem;
  color: var(--rc-gray-600);
  margin-bottom: 3rem;
}
.rc-section--culture .rc-container {
  text-align: center;
}
.rc-section--culture .rc-section__title {
  margin-bottom: 1.5rem;
}
.rc-section--culture .rc-section__lead {
  margin-bottom: 2rem;
}
.rc-person {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff; border-radius: var(--rc-radius-2xl); overflow: hidden;
  box-shadow: var(--rc-shadow-lg); transition: box-shadow .3s, transform .3s;
}
.rc-person:hover { box-shadow: var(--rc-shadow-xl); transform: translateY(-.5rem); }
.rc-person__media { position: relative; width: 100%; background: var(--rc-gray-200); overflow: hidden; }
.rc-person__media::before { content: ""; display: block; padding-top: 56.25%; }
/* 社員写真の色オーバーレイは削除（不要のため） */

/* =====================================================================
   トップメッセージ（社長インタビュー）。写真左・メッセージ右の横並び・背景白
   ===================================================================== */
.rc .rc-topmsg {
  display: flex; flex-direction: column;
  align-items: stretch; max-width: 960px; margin: 2.5rem auto 0; text-decoration: none;
  border-radius: 20px; overflow: hidden; box-shadow: 0 12px 32px rgba(0,0,0,.08);
}
.rc .rc-topmsg__media { flex: none; width: 100%; overflow: hidden; }
.rc .rc-topmsg__media img { width: 100%; max-width: 100%; height: auto; display: block; transition: transform .35s ease; }
.rc a.rc-topmsg:hover .rc-topmsg__media img { transform: scale(1.03); }
.rc .rc-topmsg__body { flex: 1 1 auto; background: #fff; padding: clamp(1.5rem, 3vw, 2.5rem); display: flex; flex-direction: column; justify-content: center; }
.rc .rc-topmsg__quote { margin: 0 0 .5rem; color: var(--rc-gray-900); font-weight: 700 !important; font-size: 1.125rem; }
.rc .rc-topmsg__lead { margin: 0 0 1.2em; color: var(--rc-gray-600); line-height: 1.9; }
.rc .rc-topmsg__more { display: inline-flex; align-items: center; gap: .35em; color: var(--rc-blue-500); font-weight: 700; }
.rc .rc-topmsg__more .rc-icon { width: 1.1em; height: 1.1em; }
.rc .rc-topmsg .rc-btn { font-weight: 400 !important; }
@media (min-width: 768px) {
  .rc .rc-topmsg { flex-direction: row; align-items: stretch; }
  .rc .rc-topmsg__media { width: 44%; }
  .rc .rc-topmsg__media img { height: 100%; object-fit: cover; }
}
.rc-person__caption { position: absolute; bottom: 1rem; left: 1rem; color: #fff; }
.rc-person__name { font-size: 1.5rem; font-weight: 700; }
.rc-person__years { font-size: .875rem; opacity: .9; }
.rc-person__body { display: flex; flex-direction: column; flex: 1; padding: 1.5rem; }
.rc-person__position { font-size: 1.125rem; font-weight: 600; color: var(--rc-gray-900); margin-bottom: .75rem; }
.rc-person__msg { flex: 1; color: var(--rc-gray-600); line-height: var(--rc-leading-relaxed); margin-bottom: 10px; }

/* ---- ???? ------------------------------------------------------- */
.rc-mag {
  display: block; background: #fff; border-radius: var(--rc-radius-2xl); overflow: hidden;
  box-shadow: var(--rc-shadow-lg); transition: box-shadow .3s, transform .3s;
}
.rc-mag:hover { box-shadow: var(--rc-shadow-xl); transform: translateY(-.5rem); }
.rc-mag__media { position: relative; width: 100%; background: var(--rc-gray-200); overflow: hidden; --rc-mag-img-position: center top; }
.rc-mag__media::before { content: ""; display: block; padding-top: 56.25%; }
.rc-mag__media--empty::before { padding-top: 56.25%; }
.rc-mag__media img { object-position: var(--rc-mag-img-position); }
.rc-mag__body { padding: 1.5rem; }
.rc-mag__title { font-size: 1.125rem; font-weight: 700; margin-bottom: .5rem; color: var(--rc-gray-900); }
.rc-mag__desc { font-size: .875rem; color: var(--rc-gray-600); }

/* ---- ?? ----------------------------------------------------------- */
.rc-culture { background: #fff; padding: 1.5rem; border-radius: var(--rc-radius-xl); box-shadow: var(--rc-shadow); text-align: center; }
.rc-culture__emoji { font-size: 2.25rem; margin-bottom: .75rem; }
.rc-culture__title { font-size: 1.125rem; font-weight: 700; margin-bottom: .5rem; }
.rc-culture__desc { font-size: .875rem; color: var(--rc-gray-600); }

/* =====================================================================
   ???E??E   ===================================================================== */
.rc-job {
  background: #fff; border-radius: var(--rc-radius-2xl); padding: 2rem;
  box-shadow: var(--rc-shadow-lg);
  transition: box-shadow .3s;
  display: flex; flex-direction: column; gap: 1rem;
}
.rc-job:hover { box-shadow: var(--rc-shadow-xl); }
.rc-job__title { font-size: 1.5rem; font-weight: 700; color: var(--rc-gray-900); margin-bottom: .5rem; }
.rc-job__tags { display: flex; flex-wrap: wrap; gap: .75rem; margin-bottom: .5rem; }
.rc-tag {
  display: inline-flex; align-items: center; gap: .25rem;
  padding: .25rem .75rem; border-radius: 9999px; font-size: .875rem;
}
.rc-tag .rc-icon { width: 1rem; height: 1rem; }
.rc-tag--blue { background: var(--rc-blue-100); color: var(--rc-blue-700); }
.rc-tag--green { background: var(--rc-green-100); color: var(--rc-green-700); }
.rc-tag--purple { background: var(--rc-purple-100); color: var(--rc-purple-700); }
.rc-job__salary { color: var(--rc-gray-600); }
@media (min-width: 768px) {
  .rc-job { flex-direction: row; align-items: center; justify-content: space-between; }
}

/* ---- ?E???????E------------------------------------------------- */
.rc-terms { background: #fff; border-radius: var(--rc-radius-2xl); padding: 2rem; box-shadow: var(--rc-shadow-lg); }
.rc-terms__head { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.5rem; }
.rc-terms__ico {
  width: 3rem; height: 3rem; border-radius: 9999px; flex: none;
  display: flex; align-items: center; justify-content: center;
}
.rc-terms__ico--green { background: var(--rc-green-100); color: var(--rc-green-600); }
.rc-terms__ico--blue { background: var(--rc-blue-100); color: var(--rc-blue-600); }
.rc-terms__ico--purple { background: var(--rc-purple-100); color: var(--rc-purple-600); }
.rc-terms__ico--yellow { background: var(--rc-yellow-100); color: var(--rc-yellow-600); }
.rc-terms__title { font-size: 1.5rem; font-weight: 700; }
.rc-terms__rows { display: flex; flex-direction: column; gap: 1rem; color: var(--rc-gray-700); }
.rc-terms__row { display: flex; justify-content: space-between; gap: 1rem; }
.rc-terms__row:not(:last-child) { border-bottom: 1px solid var(--rc-gray-200); padding-bottom: .75rem; }
.rc-terms__row dt, .rc-terms__row .rc-k { font-weight: 500; }
.rc-terms__row .rc-v { text-align: right; }
.rc-terms__list { display: flex; flex-direction: column; gap: .75rem; color: var(--rc-gray-700); }
.rc-terms__list li { display: flex; align-items: flex-start; gap: .5rem; }
.rc-terms__list .rc-benefit__check { color: var(--rc-green-600); }

/* ---- ??E???? ----------------------------------------------------- */
.rc-flow { position: relative; }
.rc-flow__line {
  display: none; position: absolute; left: 2rem; top: 0; bottom: 0; width: .25rem;
  background: #FACC15;
}
.rc-flow__items { display: flex; flex-direction: column; gap: 2rem; }
.rc-flow__item { display: flex; gap: 1.5rem; align-items: flex-start; position: relative; }
.rc-flow__num {
  width: 4rem; height: 4rem; border-radius: 9999px; flex: none;
  background: #FACC15;
  color: #fff; font-weight: 700; font-size: 1.25rem;
  display: flex; align-items: center; justify-content: center;
}
.rc-flow__card { background: #fff; border-radius: var(--rc-radius-xl); padding: 1.5rem; box-shadow: var(--rc-shadow-lg); flex: 1; }
.rc-flow__title { font-size: 1.25rem; font-weight: 700; margin-bottom: .5rem; }
.rc-flow__desc { color: var(--rc-gray-600); }
@media (min-width: 768px) {
  .rc-flow__line { display: block; }
  .rc-flow__items { padding-left: 5rem; }
  .rc-flow__num { position: absolute; left: -5rem; }
}

/* ---- ????? ----------------------------------------------------- */
.rc-contact { background: #f3ede3; }
.rc-contact__box {
  background: #fff;
  border-radius: var(--rc-radius-2xl); padding: 3rem; text-align: center; color: #111827;
}
.rc-contact__ico {
  display: block;
  width: 4rem;
  height: 4rem;
  margin: 0 auto 1.5rem;
}
.rc-contact__title,
.rc h2.rc-contact__title {
  font-size: clamp(1.5rem, 5vw, 1.875rem);
  font-weight: 700;
  margin-bottom: 1rem;
  color: #111827;
}

/* =====================================================================
   ?????E??????? / ?????E?E   ===================================================================== */
.rc-modal {
  position: fixed; inset: 0; z-index: 100;
  display: none; align-items: flex-start; justify-content: center;
  padding: 1rem; overflow-y: auto;
}
.rc-modal.is-open { display: flex; align-items: center; }
.rc-modal__backdrop { position: fixed; inset: 0; background: rgba(0,0,0,.6); }
.rc-modal__dialog {
  position: relative; background: #fff; border-radius: var(--rc-radius-xl);
  max-width: 56rem; width: 100%; margin: 2rem auto;
  max-height: 90vh; overflow-y: auto; padding: 1.5rem;
  box-shadow: var(--rc-shadow-xl);
}
.rc-modal__close {
  position: sticky; top: 1rem; float: right; z-index: 10;
  display: flex; align-items: center; justify-content: center;
  width: 2.25rem; height: 2.25rem; border: none; background: var(--rc-gray-100);
  border-radius: 9999px; color: var(--rc-gray-700);
  box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
}
.rc-modal__close:hover { background: var(--rc-gray-200); }
.rc-modal__head,
.rc-modal__title { padding-right: 3rem; }
.rc-modal__head { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.5rem; }
.rc-modal__name { font-size: 1.5rem; font-weight: 700; color: var(--rc-gray-900); }
.rc-modal__meta { color: var(--rc-gray-600); }
.rc-modal__sections { display: flex; flex-direction: column; gap: 2rem; }
.rc-modal__note { display: block; width: 100%; margin: 0; font-size: .6875rem; color: var(--rc-gray-500); text-align: right; }
.rc-modal__title { font-size: 1.5rem; font-weight: 700; color: var(--rc-gray-900); margin-bottom: 1rem; }

.rc-qa { border-radius: var(--rc-radius-xl); padding: 1.5rem; display: flex; flex-direction: column; gap: 1rem; }
.rc-qa--blue { background: var(--rc-blue-50); }
.rc-qa--green { background: var(--rc-green-50); }
.rc-qa--yellow { background: var(--rc-yellow-50); }
.rc-qa--purple { background: var(--rc-purple-50); }
.rc-qa--closing { background: linear-gradient(to right, var(--rc-green-500), var(--rc-blue-500)); color: #fff; }
.rc-qa__q { font-size: .875rem; font-weight: 600; margin-bottom: .5rem; }
.rc-qa--blue .rc-qa__q { color: var(--rc-blue-700); }
.rc-qa--green .rc-qa__q { color: var(--rc-green-700); }
.rc-qa--yellow .rc-qa__q { color: var(--rc-yellow-800); }
.rc-qa--purple .rc-qa__q { color: var(--rc-purple-700); }
.rc-qa--closing .rc-qa__q { color: rgba(255,255,255,.9); }
.rc-qa__a { color: var(--rc-gray-700); line-height: var(--rc-leading-relaxed); }
.rc-qa--closing .rc-qa__a { color: #fff; }
.rc-qa__img { width: 100%; border-radius: var(--rc-radius-lg); box-shadow: var(--rc-shadow); }

/* ---- ?????????? ------------------------------------------- */
.rc-jd { display: flex; flex-direction: column; gap: 1.5rem; margin-top: 1rem; }
.rc-jd__box { border-radius: var(--rc-radius-xl); padding: 1.5rem; }
.rc-jd__box--green { background: var(--rc-green-50); }
.rc-jd__box--blue { background: var(--rc-blue-50); }
.rc-jd__box--gray { background: var(--rc-gray-50); }
.rc-jd__h { font-size: 1.125rem; font-weight: 700; margin-bottom: .75rem; color: var(--rc-gray-900); }
.rc-jd__box--green .rc-jd__h { color: var(--rc-green-800); }
.rc-jd__box--blue .rc-jd__h { color: var(--rc-blue-800); }
.rc-jd__meta { display: flex; flex-direction: column; gap: .5rem; color: var(--rc-gray-700); }
.rc-jd__meta-row { display: flex; }
.rc-jd__meta-row .rc-k { font-weight: 500; width: 8rem; flex: none; }
/* 募集要項モーダルのリスト：本番の番号(ol)・中黒(ul)をそのまま表示（グローバルの list-style:none を解除） */
.rc-jd ol, .rc-jd ul { padding-left: 1.6em; margin: .4rem 0; }
.rc-jd ol { list-style-type: decimal; }
.rc-jd ul { list-style-type: disc; }
.rc-jd ol ul, .rc-jd ul ul { list-style-type: disc; margin: .4rem 0 .2rem; }
.rc-jd li { color: var(--rc-gray-700); margin-bottom: .4rem; }
.rc-jd li:last-child { margin-bottom: 0; }

.rc-jd__ul { display: flex; flex-direction: column; gap: .5rem; }
.rc-jd__ul li { display: flex; align-items: flex-start; gap: .5rem; color: var(--rc-gray-700); }
.rc-jd__ul .rc-icon { width: 1.25rem; height: 1.25rem; margin-top: .15rem; flex: none; }
.rc-jd__ul .rc-check-green { color: var(--rc-green-600); }
.rc-jd__ul .rc-check-blue { color: var(--rc-blue-600); }
.rc-jd__ul .rc-check-purple { color: var(--rc-purple-600); }
.rc-jd__bullet { color: var(--rc-green-600); }
.rc-jd__pay { display: flex; flex-direction: column; gap: .75rem; color: var(--rc-gray-700); }
.rc-jd__pay-row { display: flex; justify-content: space-between; }
.rc-jd__pay-strong { font-weight: 700; color: var(--rc-blue-600); }
.rc-jd__pay-sub { border-top: 1px solid var(--rc-gray-200); padding-top: .75rem; font-size: .875rem; display: flex; flex-direction: column; gap: .5rem; }
.rc-jd__pay-indent { padding-left: 1rem; }
.rc-jd__benefits { display: grid; gap: .75rem; grid-template-columns: 1fr; }
.rc-jd__benefits li { display: flex; align-items: center; gap: .5rem; color: var(--rc-gray-700); font-size: .875rem; }
@media (min-width: 768px) {
  .rc-jd__benefits { grid-template-columns: repeat(2, 1fr); }
}

/* ---- ?????E????E???E??????????E?E?E---------------------- */
.rc-flex-center { display: flex; align-items: center; justify-content: center; gap: .75rem; }
.rc-mt-12 { margin-top: 3rem; }
.rc-mb-4 { margin-bottom: 1rem; }
.rc-sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
body.rc-modal-open { overflow: hidden; }

/* =====================================================================
   ??????E??????E????????????????????E?E   - ?E?E?? body/??E?Ep ?? font-family ????E??????Erc ??
     ???E?????????Erc ???E???? inherit ??????E   - ?E?E??E a:link / a:visited / a:hover (??? 0,1,1) ??????E     ????E????E????????????E????Erc ??E????????E   ===================================================================== */
.rc,
.rc * { font-family: var(--rc-font-family) !important; }

/* ????? font-weight ?????????????? */
.rc p,
.rc li { font-weight: 400 !important; }

/* page-data ??????? JSX ????????? */
.rc .rc-stat__label { font-weight: 400 !important; }
.rc .rc-stat__value,
.rc .rc-stat__value--xl { font-weight: 600 !important; }
.rc .rc-stat__unit,
.rc .rc-stat__unit-inline,
.rc .rc-stat__note { font-weight: 400 !important; }

/* ?E?E?Ebody ?????E???????????? */
body.rc-body { margin: 0 !important; }
body.admin-bar .rc-header { top: 32px; }
@media (max-width: 782px) {
  body.admin-bar .rc-header { top: 46px; }
}

/* ??????E????E????E??E??????E*/
.rc a.rc-btn,
.rc a.rc-btn:link,
.rc a.rc-btn:visited,
.rc a.rc-btn:hover,
.rc a.rc-btn:focus,
.rc a.rc-btn:active { color: var(--rc-white); }
.rc a.rc-btn--outline,
.rc a.rc-btn--outline:link,
.rc a.rc-btn--outline:visited,
.rc a.rc-btn--outline:hover,
.rc a.rc-btn--outline:focus { color: var(--rc-gray-900); }
.rc a.rc-btn--on-color,
.rc a.rc-btn--on-color:link,
.rc a.rc-btn--on-color:visited,
.rc a.rc-btn--on-color:hover,
.rc a.rc-btn--on-color:focus { color: #fff; }

.rc-btn--on-color:hover { background: var(--rc-green-700); }

/* ?E???????????? */
.rc a.rc-pill,
.rc a.rc-pill:link,
.rc a.rc-pill:visited,
.rc a.rc-pill:hover,
.rc a.rc-pill:focus { color: #fff; }

/* ????????E?EC / ?????E?E*/
.rc a.rc-nav__link,
.rc a.rc-nav__link:link,
.rc a.rc-nav__link:visited,
.rc a.rc-nav__link:hover,
.rc a.rc-nav-mobile__link,
.rc a.rc-nav-mobile__link:link,
.rc a.rc-nav-mobile__link:visited,
.rc a.rc-nav-mobile__link:hover { color: var(--rc-gray-700); }
.rc a.rc-nav__link.is-active,
.rc a.rc-nav-mobile__link.is-active { color: #fff; }

/* パンくず（親テーマの nav 非表示対策含む） */
.rc .rc-breadcrumb {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.rc .rc-breadcrumb__list,
.rc .rc-breadcrumb__item {
  display: flex !important;
  visibility: visible !important;
}
.rc .rc-breadcrumb__item { display: inline-flex !important; }
.rc .rc-breadcrumb__item a,
.rc .rc-breadcrumb__item a:link,
.rc .rc-breadcrumb__item a:visited { color: var(--rc-gray-700) !important; font-weight: 600 !important; }
.rc .rc-breadcrumb__item a:hover { color: var(--rc-green-600) !important; }
.rc .rc-breadcrumb__item.is-current span {
  color: var(--rc-gray-900) !important;
  font-weight: 700 !important;
}

/* ?????????E?E?E */
.rc .rc-footer__list a:link,
.rc .rc-footer__list a:visited { color: #d1d5db; }
.rc .rc-footer__list a:hover { color: #fff; }

/* ?E?E??E h1/p line-height ??????E?Eailwind ???????E*/
.rc h1.rc-hero__title,
.rc h1.rc-pagehead__title { line-height: var(--rc-leading-none); }
.rc h2.rc-section__title,
.rc h2.rc-message__title { line-height: var(--rc-lh-4xl); }
.rc h3.rc-navcard__title { line-height: var(--rc-lh-2xl); }
.rc p.rc-hero__lead,
.rc p.rc-message__body,
.rc p.rc-section__lead,
.rc p.rc-philosophy__body,
.rc p.rc-footer__desc,
.rc p.rc-person__msg { line-height: var(--rc-leading-relaxed); }
.rc p.rc-navcard__desc { line-height: var(--rc-leading-normal); }

/* ?E?E??E margin / padding ??????E?Eole2024 ??E main / entry-content ???E*/
.rc .rc-section {
  padding-block: var(--rc-space-20) !important;
  padding-inline: var(--rc-space-4) !important;
}
.rc .rc-section.rc-section--sm {
  padding-block: 4rem !important;
}
.rc .rc-section.rc-section--xs {
  padding-block: 3rem !important;
}
.rc .rc-section > .rc-container,
.rc .rc-pagehead > .rc-container,
.rc .rc-footer > .rc-container { padding-inline: 0 !important; }
.rc .rc-pagehead {
  padding-block: var(--rc-space-20) !important;
  padding-inline: var(--rc-space-4) !important;
}
.rc h1.rc-pagehead__title {
  margin: 0 0 var(--rc-space-6) !important;
  padding: 0 !important;
  font-size: 3rem !important;
  line-height: var(--rc-leading-none) !important;
}
@media (min-width: 768px) {
  .rc h1.rc-pagehead__title { font-size: 3.75rem !important; }
}
.rc p.rc-pagehead__sub {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 1.25rem !important;
  line-height: 1.75rem !important;
}
@media (min-width: 768px) {
  .rc p.rc-pagehead__sub {
    font-size: 1.5rem !important;
    line-height: 2rem !important;
  }
}
.rc .rc-hero__logo-wrap { margin-bottom: var(--rc-space-8) !important; }
.rc h1.rc-hero__title { margin-bottom: var(--rc-space-6) !important; }
.rc p.rc-hero__lead { margin-bottom: var(--rc-space-12) !important; }
.rc h2.rc-section__title { margin-bottom: 3rem !important; }
.rc h2.rc-section__title.rc-section__title--lg { margin-bottom: var(--rc-space-16) !important; }
.rc .rc-section--interviews .rc-section__title { margin: 0 0 3rem !important; }
.rc .rc-grid.rc-grid--2 { gap: var(--rc-space-8) !important; }
.rc .rc-grid--interviews { gap: var(--rc-space-8) !important; }
.rc .rc-terms__head { margin-bottom: 1.5rem !important; }
.rc h2.rc-message__title { margin-bottom: var(--rc-space-8) !important; }
.rc p.rc-message__body { margin-bottom: var(--rc-space-12) !important; }
.rc h3.rc-navcard__title { margin-bottom: var(--rc-space-3) !important; }
.rc p.rc-navcard__desc { margin-bottom: var(--rc-space-4) !important; }
.rc p.rc-person__msg { margin-bottom: 10px !important; }
.rc p.rc-modal__note { font-size: .6875rem !important; text-align: right !important; }
.rc .rc-quickstat__icon { margin-bottom: var(--rc-space-4) !important; }
.rc .rc-quickstat__value { margin-bottom: var(--rc-space-2) !important; }
.rc a.rc-btn.rc-btn--lg { padding: var(--rc-space-6) var(--rc-space-8) !important; }
.rc a.rc-btn.rc-btn--xl { padding: 1.25rem 3rem !important; font-size: 1.125rem !important; }
.rc .rc-contact__box { padding: 3rem !important; text-align: center !important; }
.rc .rc-contact__ico {
  display: block !important;
  width: 4rem !important;
  height: 4rem !important;
  max-width: none !important;
  margin: 0 auto 1.5rem !important;
}
.rc h2.rc-contact__title { margin-bottom: 1rem !important; color: #111827 !important; }

/* ===========================================================================
   KV（メインビジュアル）— 上下の黄色い波帯
   ・濃 #F6E500（前面）＋ 薄 #FDFACC（背面）の2波
   ・preserveAspectRatio="none" で横フル幅に可変
   ※ KV中身（人物・コピー等）は次段階。まずは波帯のみ。
   =========================================================================== */
.rc .rc-kv {
  position: relative;
  width: 100%;
  aspect-ratio: 1440 / 990;    /* 新KV基準（Figma node 47:205）。wrapper無し・画面幅にフル連動（中身は%/cqw） */
  /* 白背景は下波帯の下端（下から10.2%=101px）までで止め、その下は透明にしてページの薄茶背景を透かす
     ＝波帯と「Doleで働く」薄茶背景の間の白い隙間を解消。10.2% は下波帯 bottom:10.2% と同値（変える時はセットで） */
  background: linear-gradient(to bottom,
    var(--rc-white) 0,
    var(--rc-white) 89.8%,
    transparent      89.8%);
  overflow: hidden;
  container-type: inline-size;  /* KV幅を基準に、本文を cqw でキャッチと連動させる */
}

/* --- 波帯（上下）。上=top:0／下=最下端より上(下端から101px=990-889) --- */
.rc .rc-kv__wave {
  position: absolute;
  left: 0;
  width: 100%;
  height: clamp(120px, 24.17vw, 347px);   /* 347/1440 ≒ 24.17vw・上限347px */
  line-height: 0;
  pointer-events: none;
}
.rc .rc-kv__wave--top { top: 0; }
.rc .rc-kv__wave--bottom { bottom: 10.2%; }   /* (990-889)/990。Figmaで下波帯は最下端より上＝下に人物が出る */
.rc .rc-kv .rc-wave {
  display: block;
  width: 100%;
  height: 100%;
}
.rc .rc-kv .rc-wave__light { fill: #FDFACC; }   /* 薄・背面 */
.rc .rc-kv .rc-wave__dark  { fill: #F6E500; }   /* 濃・前面 */

/* メインコピー：青文字(maincopy_1) ＋ 黄下線(maincopy_2)。
   1440×990 基準で % 配置（KV上端=Figmaフレーム上端 y=80 を 0 とする） */
.rc .rc-kv__copy {
  position: absolute;
  left: 19.51%;   /* 281 / 1440 */
  top: 35.36%;    /* Figma(38.36%)より約30px上げ（ゆあさ指示 2026-06-22） */
  width: 57.85%;  /* 833 / 1440（SVG実寸幅） */
  max-width: 100%;  /* .rc img{max-width:40%} のグローバル制約を解除（インラインSVG→imgに変えたため必須） */
  height: auto;
}
.rc .rc-kv__copyline {
  position: absolute;
  left: 37.31%;   /* 537.24 / 1440 */
  top: 50.76%;    /* Figma(53.76%)より約30px上げ（copyと同量＝バランス維持） */
  width: 38.24%;  /* 550.6 / 1440 */
  max-width: 100%;  /* 同上（40%制約の保険） */
  height: auto;
}

/* リードコピー：Figma 47:203（Bold / 18px@1440 / 行間2.0 / #0047b2） */
.rc .rc-kv__lead {
  position: absolute;
  left: 55.14%;   /* 794 / 1440 */
  top: 57.78%;    /* (652-80) / 990 */
  width: 38.89%;  /* 560 / 1440 */
  margin: 0;
  color: #0047b2;
  font-weight: 700 !important;  /* .rc p の font-weight:400 !important を上書き */
  font-size: 1.25cqw;  /* 18 / 1440 ×100cqw。KV幅に完全連動（頭打ちなし） */
  line-height: 2;
}
/* SP専用の改行（PCは非表示＝改行しない／SPはメディアクエリで inline に戻す） */
.rc .rc-kv__lead .rc-br-sp { display: none; }

/* 社員写真（円形・@2x透過PNG）。Figma座標を1440×990基準で%配置（重なりはDOM順） */
.rc .rc-kv__person {
  position: absolute;
  height: auto;    /* 正方画像のため width から自動で同寸＝円形を維持 */
  z-index: 2;      /* キャラ(z-index:3)より背面に（ゆあさ指示：キャラを写真の前面に） */
}
.rc .rc-kv__person--1 { left: 26.60%; top: 3.43%;  width: 18.04%; } /* x383  y114 / 259.8 */
.rc .rc-kv__person--2 { left: 55.00%; top: 10.81%; width: 14.86%; } /* x792  y187 / 214 */
.rc .rc-kv__person--3 { left: 2.92%;  top: 61.62%; width: 14.65%; } /* x42   y690 / 211 */
.rc .rc-kv__person--4 { left: 36.67%; top: 73.84%; width: 18.04%; } /* x528  y811 / 259.8 */
.rc .rc-kv__person--5 { left: 65.50%; top: 69.70%; width: 16.03%; } /* x894→右へ微調整  y770 / 230.8 */
.rc .rc-kv__person--6 { left: 8.75%;  top: 17.47%; width: 13.96%; } /* x126  y253 / 201 */
.rc .rc-kv__person--7 { left: 72.50%; top: 3.64%;  width: 18.04%; } /* x1044 y116 / 259.8 */

/* キャラクター5枚（フルーツ廃止→置換）。Figma座標を1440×990基準で%配置・height auto でアスペクト維持 */
.rc .rc-kv__char {
  position: absolute;
  height: auto;
  z-index: 3;      /* 社員写真(z-index:2)より前面に（ゆあさ指示） */
}
.rc .rc-kv__char--1 { left: 1.53%;  top: 11.01%; width: 10.48%; } /* x22   y189 / 150.87×165.42 */
.rc .rc-kv__char--2 { left: 38.26%; top: 16.06%; width: 10.49%; } /* x551  y239 / 151×157 */
.rc .rc-kv__char--3 { left: 84.79%; top: 6.36%;  width: 14.44%; } /* x1221 y143 / 208×342 */
.rc .rc-kv__char--4 { left: 21.04%; top: 63.94%; width: 12.50%; } /* x303  y713 / 180×201 */
.rc .rc-kv__char--5 { left: 81.53%; top: 60.00%; width: 15.81%; } /* x1174 y674 / 227.6×352 */
.rc .rc-kv__char--6 { left: 50.97%; top: 69.60%; width: 11.38%; } /* x734  y769 / 163.83×152.51 */

/* キャラクターのゆるい上下浮遊。各キャラで周期・開始位相を変えて非同期＝ランダムに見せる */
@keyframes rc-kv-float {
  from { transform: translateY(0); }
  to   { transform: translateY(-14px); }
}
/* 登場（下からバウンド）→ 浮遊 の2連アニメ。
   --in-delay=登場開始／--float-delay=浮遊開始（登場完了後）／--float-dur=浮遊周期。各キャラでstagger */
.rc .rc-kv__char {
  --in-delay: 0.5s;
  --float-delay: 1.1s;
  --float-dur: 4.5s;
  animation:
    rc-kv-charin 0.6s cubic-bezier(.34, 1.56, .64, 1) var(--in-delay) both,
    rc-kv-float var(--float-dur) ease-in-out var(--float-delay) infinite alternate;
  will-change: transform;
}
.rc .rc-kv__char--1 { --in-delay: 0.50s; --float-delay: 1.10s; --float-dur: 3.2s; }
.rc .rc-kv__char--2 { --in-delay: 0.58s; --float-delay: 1.18s; --float-dur: 5.5s; }
.rc .rc-kv__char--3 { --in-delay: 0.66s; --float-delay: 1.26s; --float-dur: 4.2s; }
.rc .rc-kv__char--4 { --in-delay: 0.74s; --float-delay: 1.34s; --float-dur: 4.9s; }
.rc .rc-kv__char--5 { --in-delay: 0.82s; --float-delay: 1.42s; --float-dur: 6.0s; }
.rc .rc-kv__char--6 { --in-delay: 0.90s; --float-delay: 1.50s; --float-dur: 4.6s; }
@media (prefers-reduced-motion: reduce) {
  .rc .rc-kv__char { animation: none; }
}

/* 小さいあしらい（点・きらめき）。kv_deco_1×2・kv_deco_2・kv_deco_3・l_deco_3_4（下層流用） */
.rc .rc-kv__deco {
  position: absolute;
  height: auto;
  pointer-events: none;
}
.rc .rc-kv__deco--1a { left: 27.01%; top: 31.11%; width: 5.76%; } /* x389   y388 / 83×74 */
.rc .rc-kv__deco--1b { left: 89.31%; top: 50.00%; width: 4.24%; } /* x1286  y575 / 61×54 */
.rc .rc-kv__deco--2  { left: 2.92%;  top: 51.72%; width: 4.17%; } /* x42    y592 / 60×60 */
.rc .rc-kv__deco--3  { left: 93.33%; top: 43.33%; width: 3.89%; } /* x1344  y509 / 56×28 */
.rc .rc-kv__deco--4  { left: 4.85%;  top: 42.22%; width: 3.87%; } /* x69.78 y498 / 55.8×41.3（l_deco_3_4） */

/* ===========================================================================
   KV 登場アニメ（ロード時のオーケストレーション）2026-06-22
   順番：波 → 社員写真(pop) → キャラ(bounce・char側で定義) → コピー → 下線 → リード
   各要素の配置ルールには触れず、ここで animation だけ後勝ちで付与。reduced-motion で全停止
   =========================================================================== */
@keyframes rc-kv-charin { from { opacity: 0; transform: translateY(40px); } to { opacity: 1; transform: translateY(0); } }
@keyframes rc-kv-popin  { from { opacity: 0; transform: scale(0.6);       } to { opacity: 1; transform: scale(1);       } }
@keyframes rc-kv-fadeup { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
/* 黄下線：画像は変形させず、マスク（clip-path）で左→右に現れる＝右側を100%カット→0%へ */
@keyframes rc-kv-linein { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }
/* 波帯：Y軸はずらさず（位置固定のまま）フェードインのみ。波形のうねりはJS側で別途動く */
@keyframes rc-kv-wavein { from { opacity: 0; } to { opacity: 1; } }

/* 波帯：下からスッと立ち上がる（最初に） */
.rc .rc-kv__wave         { animation: rc-kv-wavein 0.5s ease-out both; }
.rc .rc-kv__wave--top    { animation-delay: 0s; }
.rc .rc-kv__wave--bottom { animation-delay: 0.05s; }

/* 社員写真7枚：円が scale 0.6→1 でポンッと（上→下へ stagger） */
.rc .rc-kv__person { animation: rc-kv-popin 0.45s cubic-bezier(.34, 1.56, .64, 1) both; }
.rc .rc-kv__person--1 { animation-delay: 0.15s; }
.rc .rc-kv__person--7 { animation-delay: 0.21s; }
.rc .rc-kv__person--2 { animation-delay: 0.27s; }
.rc .rc-kv__person--6 { animation-delay: 0.33s; }
.rc .rc-kv__person--3 { animation-delay: 0.39s; }
.rc .rc-kv__person--5 { animation-delay: 0.45s; }
.rc .rc-kv__person--4 { animation-delay: 0.51s; }

/* メインコピー：青文字が下からふわっと → 黄下線が左→右にスッと引かれる */
.rc .rc-kv__copy     { animation: rc-kv-fadeup 0.5s ease-out 0.80s both; }
.rc .rc-kv__copyline { animation: rc-kv-linein 0.28s ease-out 0.95s both; }

/* リード文：最後にフェードアップ */
.rc .rc-kv__lead     { animation: rc-kv-fadeup 0.5s ease-out 1.10s both; }

@media (prefers-reduced-motion: reduce) {
  .rc .rc-kv__wave,
  .rc .rc-kv__person,
  .rc .rc-kv__copy,
  .rc .rc-kv__copyline,
  .rc .rc-kv__lead { animation: none; }
}

/* ===========================================================================
   KV — SP（スマホ）対応  ※暫定（新KV移行 2026-06-22）
   方針：縦積み＋人物コラージュ下（ゆあさ確定）
   ・PCの横長(1440/990)では潰れるため、SPは縦長キャンバスに組み替え
   ・上から「メインコピー → リード文 → 社員写真コラージュ」、上下に波帯
   ・座標は375×660基準で%再マッピング（PCの%は上書き）。目視で微調整する前提
   ・★キャラクター5枚のSP配置はゆあさのSP叩き台待ち。それまでSPでは非表示
   =========================================================================== */
@media (max-width: 767px) {
  .rc .rc-kv {
    aspect-ratio: 375 / 620;     /* PCの横長をやめ縦長キャンバスに。高さを削り下波帯を上へ（ゆあさ指示・660→620） */
    background: var(--rc-white);  /* 下が白セクション(Doleで働く)なので白で繋ぐ */
  }

  /* 波帯：SP用（PCより低め。ゆあさFBで一回り大きく調整 2026-06-19） */
  .rc .rc-kv__wave { height: clamp(88px, 24vw, 130px); }
  .rc .rc-kv__wave--bottom { bottom: 0; }   /* SPは下波帯を最下端へ */

  /* ===== コピー塊（メイン＋下線＋リード）：Figma SP案(60:79)準拠で中央配置 ===== */
  .rc .rc-kv__copy {
    left: 12%;     /* (100-76)/2＝中央。登場アニメ(translateY)と競合するためleftで中央化 */
    top: 29.5%;    /* 間が空きすぎたので少し下げ（27%→29.5%） */
    width: 76%;    /* ゆあさ指示でもう少し大きく（70%→76%） */
  }
  .rc .rc-kv__copyline {
    left: 50%;
    top: 41.5%;    /* コピーに連動（39%→41.5%） */
    width: 51%;    /* コピー拡大に合わせ連動（47%→51%） */
    transform: translateX(-50%);
  }
  .rc .rc-kv__lead {
    left: 8.3%;
    top: 48%;      /* ゆあさ指示でもう少し下げ（44.4%→48%） */
    width: 83.5%;
    font-size: clamp(13px, 3.6vw, 15px);
    line-height: 1.9;
    text-align: center;
  }
  .rc .rc-kv__lead .rc-br-sp { display: inline; }

  /* ===== 社員写真7枚：Figma SP案(60:79)座標（上3枚・下4枚） ===== */
  .rc .rc-kv__person  { width: 22%; }
  .rc .rc-kv__person--1 { left: 8%;   top: 7%; }    /* 上・左 (60:95) */
  .rc .rc-kv__person--7 { left: 37%;  top: 10%; }   /* 上・中 (60:99) */
  .rc .rc-kv__person--2 { left: 68%;  top: 4%; }    /* 上・右 (60:112) */
  .rc .rc-kv__person--3 { left: 3.5%; top: 60.8%; }   /* 下・左上 (60:106) */
  .rc .rc-kv__person--5 { left: 68%;  top: 61.8%; }   /* 下・右 (60:109) */
  .rc .rc-kv__person--4 { left: 39%;  top: 65.8%; }   /* 下・中 (60:92) */
  .rc .rc-kv__person--6 { left: 16%;  top: 73.8%; }   /* 下・左下 (60:103) */
  .rc .rc-kv__person--3,
  .rc .rc-kv__person--6,
  .rc .rc-kv__person--7 { transform: none; }

  /* ===== キャラ6枚：Figma SP案(60:79)座標・サイズ ===== */
  .rc .rc-kv__char { display: block; }
  .rc .rc-kv__char--1 { left: 3.5%;  top: 22%;   width: 16%; }   /* character_1 上左 (60:135) */
  .rc .rc-kv__char--2 { left: 62%;   top: 23%;   width: 14%; }   /* character_2 上中右 (60:96) */
  .rc .rc-kv__char--3 { left: 80%;   top: 12.4%; width: 16%; }   /* character_3 縦長 上右 (60:100) */
  .rc .rc-kv__char--4 { left: 57.6%; top: 76.8%; width: 16%; }   /* character_4 下中右 (60:88) */
  .rc .rc-kv__char--5 { left: 78%;   top: 71.2%; width: 18%; }   /* character_5 縦長 下右 (60:89) */
  .rc .rc-kv__char--6 { left: 4.5%;  top: 80.8%; width: 17%; }   /* character_6 下左 (60:139) */

  /* 小さいあしらいは引き続き非表示 */
  .rc .rc-kv__deco { display: none; }
}

/* ===== SP：セクションの上下余白を全体的に詰める（全ページ共通＝同クラスのセクションは自動で同じ扱いになる。1358-1366の !important に後勝ち） ===== */
@media (max-width: 767px) {
  .rc .rc-section { padding-block: 3rem !important; }                    /* 通常セクション 80px→48px */
  .rc .rc-section.rc-section--sm { padding-block: 2.5rem !important; }   /* 64px→40px（上下とも・育児支援/福利厚生/フルーツでスマイル等） */
  .rc .rc-section.rc-section--xs { padding-block: 1.5rem !important; }   /* 48px→24px（上下とも・会社データ） */
  /* 理念バナー「フルーツでスマイルを。」：SPは見出し・リードを小さく、リードは左揃え（ゆあさ指示） */
  .rc .rc-philosophy__title { font-size: 1.75rem; margin-bottom: 1.625rem; }   /* clamp下限32px→28px・見出し下を少しあける（1.5→1.625rem） */
  .rc .rc-philosophy__body { font-size: 1rem; text-align: left; }       /* 20px→16px・左揃え */
  /* 見出し下の余白をSPで詰める（全ページ共通。1399/1401行の !important に後勝ち） */
  .rc h2.rc-section__title { margin-bottom: 2.25rem !important; }                        /* 48px→36px */
  .rc .rc-section--interviews .rc-section__title { margin-bottom: 2.25rem !important; }  /* インタビュー見出しも同じに（1401行対策） */

  /* トップメッセージ／Magazine／社風のパネル：フォントを社員インタビュー（rc-person）のサイズ感に合わせる（ゆあさ指示） */
  .rc .rc-topmsg__quote { font-size: 1rem; }       /* 引用見出し（18px→16px） */
  .rc .rc-topmsg__lead { font-size: .8rem; }       /* 本文（msg相当 .8rem） */
  .rc .rc-topmsg .rc-btn { font-size: .72rem; }    /* ボタン（インタビューbtn相当） */
  .rc .rc-mag__title { font-size: .9rem; }         /* 記事見出し（position相当 .9rem） */
  .rc .rc-mag__desc { font-size: .8rem; }          /* 記事本文（.8rem） */
  .rc .rc-culture__title { font-size: .9rem; }     /* カード見出し（.9rem） */
  .rc .rc-culture__desc { font-size: .8rem; }      /* カード本文（.8rem） */
  /* パネルの角丸を社員インタビュー（rc-person＝.75rem）に合わせる（ゆあさ指示） */
  .rc .rc-topmsg { border-radius: .75rem; }        /* 20px→.75rem */
  .rc .rc-mag { border-radius: .75rem; }           /* radius-2xl→.75rem */
  .rc .rc-culture { border-radius: .75rem; }       /* radius-xl→.75rem */

  /* 採用TOP「Doleで働く」(rc-quickstat) を会社データ(案B)と同じサイズ感・バランスに（ゆあさ指示） */
  .rc .rc-grid--4:has(.rc-quickstat) { gap: .85rem; }   /* パネル間を会社データ寄りに詰める */
  .rc .rc-quickstat { padding: 1.25rem 10px; }
  .rc .rc-quickstat__icon { width: 2.5rem; height: 2.5rem; margin: 0 auto .55rem !important; }   /* アイコン40px（1412の!importantに対抗） */
  .rc .rc-quickstat__value { font-size: 2.5rem; }       /* 数字40px */
  .rc .rc-quickstat__label { font-size: .875rem; }      /* ラベル14px */

  /* ナビカードの title/desc 下マージン：1412/1413行の !important に後勝ちで詰める（ゆあさ指示） */
  .rc h3.rc-navcard__title { margin-bottom: .2rem !important; }
  .rc p.rc-navcard__desc { margin-bottom: .3rem !important; }

  /* 採用TOP メッセージ「フルーツを通じて〜」：会社を知るページ(rc-container--4xl)のサイズ感に合わせる（ゆあさ指示） */
  .rc .rc-message__title { font-size: 1.75rem; }   /* 32px→28px（rc-philosophyと同サイズ感） */
  .rc .rc-message__body { font-size: 1rem; text-align: left; }   /* 16px・左揃え（ゆあさ指示） */

  /* 採用TOP：「Doleで働く」見出し(--lg)と注記(※2026年6月時点)の間を詰める＋3ナビカードの縦間隔を詰める（ゆあさ指示） */
  .rc h2.rc-section__title.rc-section__title--lg { margin-bottom: 2.25rem !important; }   /* 64px→36px（1400行の!important対策） */
  .rc .rc-grid--3:has(.rc-navcard) { gap: 1rem; }   /* 3カードの縦間隔 32px→16px */

  /* 扉ボタン（中途/新卒）：SPは左右に隙間をあけ画像を少し小さく（ゆあさ指示） */
  .rc .rc-careers { max-width: 86%; }
}

/* ===== フローティング エントリーボタン（全採用ページ共通・右下固定） ===== */
.rc-entry-float { position: fixed; right: 24px; bottom: 24px; z-index: 90; width: 164px; line-height: 0; transition: transform .25s ease, opacity .45s ease, visibility .45s; }
.rc .rc-entry-float img { width: 100%; max-width: 100%; height: auto; display: block; transform-origin: bottom center; filter: drop-shadow(0 6px 18px rgba(0,0,0,.2)); animation: rc-entry-idle 8.5s ease-in-out infinite; }

/* 採用TOPのみ：KV表示中は隠し、JSで is-visible が付いたらポップに出現 */
.rc-entry-float--reveal { opacity: 0; visibility: hidden; transform: translateY(20px) scale(.9); pointer-events: none; }
.rc-entry-float--reveal.is-visible { opacity: 1; visibility: visible; transform: translateY(0) scale(1); pointer-events: auto; }

/* ホバー：本体はふわっと持ち上げ、画像はぷるんと弾むポップ動作 */
.rc-entry-float:hover { transform: translateY(-5px) scale(1.05); }
.rc-entry-float:hover img { animation: rc-entry-pop .5s ease; }
@keyframes rc-entry-pop {
  0%   { transform: scale(1) rotate(0deg); }
  30%  { transform: scale(1.15) rotate(-5deg); }
  55%  { transform: scale(.97) rotate(4deg); }
  78%  { transform: scale(1.06) rotate(-2deg); }
  100% { transform: scale(1) rotate(0deg); }
}
/* 通常時：6秒に1度、ほんの一瞬だけピクッと揺れる（大半は静止） */
@keyframes rc-entry-idle {
  0%, 95%, 100% { transform: rotate(0deg) scale(1); }
  97% { transform: rotate(-6deg) scale(1.03); }
  99% { transform: rotate(4deg) scale(1.01); }
}
@media (prefers-reduced-motion: reduce) {
  .rc-entry-float, .rc-entry-float img { transition: none; }
  .rc-entry-float img { animation: none; }
  .rc-entry-float:hover img { animation: none; }
  .rc-entry-float--reveal { transform: none; transition: opacity .2s linear, visibility .2s; }
  .rc-entry-float--reveal.is-visible { transform: none; }
}
@media (max-width: 767px) {
  .rc-entry-float { right: 12px; bottom: 12px; width: 116px; }
}
