/* ==========================================================
   採用情報LP（recruit.html）
   ========================================================== */
.sp{display:none}
@media (max-width:767px){.sp{display:inline}}

.rc-sec{padding:clamp(64px,8vw,112px) 0}
.rc-sec--cream{background:var(--c-off)}

/* 見出し：LP用はセンター配置 */
.rc-head{text-align:center;margin-bottom:clamp(36px,4.5vw,60px)}
.rc-head__en{
  display:block;font-family:var(--f-en);font-style:italic;font-weight:500;
  font-size:clamp(17px,1.6vw,21px);letter-spacing:.08em;color:var(--c-brand);line-height:1;margin-bottom:14px;
}
.rc-head__ja{
  font-size:clamp(25px,3vw,36px);font-weight:700;letter-spacing:.08em;line-height:1.45;
  position:relative;padding-bottom:18px;
}
.rc-head__ja::after{content:"";position:absolute;left:50%;bottom:0;width:28px;height:1px;background:var(--c-ink);transform:translateX(-50%)}

/* ---------- FV ---------- */
.rc-fv{
  position:relative;
  padding-top:88px;
  min-height:min(92vh,820px);
  display:flex;align-items:stretch;
  background:linear-gradient(135deg,#e07a2b 0%,var(--c-brand) 100%);
  overflow:hidden;
  color:#fff;
}
.rc-fv__bg{
  position:absolute;inset:0;
  animation:mvIn 1.2s var(--ease) both;
}
.rc-fv__bg img{
  height:100%;width:auto;max-width:none;object-fit:contain;object-position:left center;
  animation:mvZoom 2.6s var(--ease) both;transform-origin:left center;
}
.rc-fv__inner{
  position:relative;z-index:1;
  width:min(100% - var(--gutter)*2,var(--w-content));margin-inline:auto;
  display:flex;align-items:center;justify-content:flex-end;
  padding:clamp(48px,6vw,96px) 0;
}
.rc-fv__copy{width:min(100%,460px);text-align:left}
.rc-fv__label{
  font-family:var(--f-en);font-style:italic;font-size:19px;letter-spacing:.1em;line-height:1;
  margin-bottom:22px;opacity:0;animation:fadeUp .8s var(--ease) .3s both;
}
.rc-fv__title{
  font-size:clamp(34px,4vw,54px);font-weight:900;letter-spacing:.06em;line-height:1.35;
  text-shadow:0 2px 24px rgba(120,30,20,.25);
  margin-bottom:28px;
}
.rc-fv__line{display:block;opacity:0;animation:fadeUp .9s var(--ease) both}
.rc-fv__line:nth-child(1){animation-delay:.45s}
.rc-fv__line:nth-child(2){animation-delay:.65s}
.rc-fv__msg{
  font-size:clamp(15px,1.2vw,17px);font-weight:500;line-height:2;letter-spacing:.06em;
  margin-bottom:34px;opacity:0;animation:fadeUp .9s var(--ease) .9s both;
}
.rc-fv__btn{opacity:0;animation:fadeUp .9s var(--ease) 1.1s both}
.rc-fv .btn--white:hover{color:var(--c-brand)}

@media (max-width:1023px){.rc-fv{padding-top:72px}}
@media (max-width:767px){
  .rc-fv{min-height:0;display:block}
  .rc-fv__bg{position:relative;aspect-ratio:1914/1600;max-height:60vh;overflow:hidden}
  .rc-fv__bg img{width:100%;height:100%;object-fit:cover;object-position:center}
  .rc-fv__inner{display:block;padding:36px 0 48px}
  .rc-fv__copy{width:100%}
  .rc-fv__title{font-size:34px;margin-bottom:20px}
  .rc-fv__msg{font-size:15px;margin-bottom:26px}
  .rc-fv .btn{min-width:0;width:100%}
}

/* ---------- 魅力 ---------- */
.rc-strengths{
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(40px,5vw,64px) clamp(28px,4vw,56px);
}
.rc-strength__photo{position:relative;overflow:hidden;aspect-ratio:619/400;margin-bottom:22px}
.rc-strength__photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.rc-strength:hover .rc-strength__photo img{transform:scale(1.04)}
.rc-strength__num{
  position:absolute;right:0;bottom:0;
  min-width:84px;padding:10px 18px;
  background:var(--c-brand);color:#fff;
  font-family:var(--f-en);font-weight:600;font-size:34px;line-height:1;letter-spacing:.04em;
  text-align:center;
}
.rc-strength__title{font-size:clamp(18px,1.6vw,22px);font-weight:700;letter-spacing:.06em;line-height:1.5;margin-bottom:10px}
.rc-strength__text{font-size:15px;line-height:2;color:var(--c-ink-2)}
@media (max-width:767px){
  .rc-strengths{grid-template-columns:1fr;gap:40px}
  .rc-strength__num{min-width:64px;padding:8px 14px;font-size:26px}
}

/* ---------- 研修制度 ---------- */
.rc-system{display:grid;gap:clamp(48px,6vw,88px)}
.rc-system__row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center}
.rc-system__row--rev .rc-system__photo{order:2}
.rc-system__photo{overflow:hidden}
.rc-system__photo img{width:100%;aspect-ratio:3/2;object-fit:cover}
.rc-system__title{
  font-size:clamp(20px,1.9vw,26px);font-weight:700;letter-spacing:.08em;line-height:1.5;
  margin-bottom:18px;padding-left:16px;border-left:2px solid var(--c-brand);
}
.rc-system__body p{font-size:15px;line-height:2.1;color:var(--c-ink-2)}
.rc-system__list{margin-top:18px;border-top:1px solid var(--c-line)}
.rc-system__list li{position:relative;padding:10px 0 10px 18px;border-bottom:1px solid var(--c-line);font-size:14.5px;line-height:1.9;color:var(--c-ink-2)}
.rc-system__list li::before{content:"";position:absolute;left:0;top:1.35em;width:8px;height:1px;background:var(--c-brand)}
@media (max-width:767px){
  .rc-system__row{grid-template-columns:1fr;gap:24px}
  .rc-system__row--rev .rc-system__photo{order:0}
}

/* ---------- 経営理念 ---------- */
.rc-phil__banner{overflow:hidden;margin-bottom:clamp(36px,4.5vw,56px)}
.rc-phil__banner img{width:100%;aspect-ratio:900/369;object-fit:cover}
.rc-phil__lead{
  text-align:center;font-size:clamp(26px,3vw,38px);font-weight:900;letter-spacing:.1em;line-height:1.4;
  margin-bottom:24px;position:relative;padding-bottom:20px;
}
.rc-phil__lead::after{content:"";position:absolute;left:50%;bottom:0;width:40px;height:2px;background:var(--c-brand);transform:translateX(-50%)}
.rc-phil__text{font-size:15.5px;line-height:2.2;color:var(--c-ink-2);margin-bottom:clamp(36px,4.5vw,56px)}
.rc-video{position:relative;aspect-ratio:16/9;background:#000;overflow:hidden}
.rc-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ---------- ENTRY帯 ---------- */
.rc-entry-band{
  background:linear-gradient(100deg,#e07a2b 0%,var(--c-brand) 100%);
  color:#fff;padding:clamp(44px,5vw,64px) 0;
}
.rc-entry-band__inner{display:flex;align-items:center;justify-content:center;gap:clamp(24px,4vw,56px);flex-wrap:wrap;text-align:center}
.rc-entry-band__en{font-family:var(--f-en);font-style:italic;font-weight:600;font-size:clamp(34px,3.6vw,46px);line-height:1;letter-spacing:.08em}
.rc-entry-band__lead{font-size:clamp(15px,1.3vw,18px);font-weight:700;letter-spacing:.08em}
.rc-entry-band .btn--white:hover{color:var(--c-brand)}
@media (max-width:767px){
  .rc-entry-band__inner{flex-direction:column;gap:14px}
  .rc-entry-band .btn{width:100%;min-width:0;margin-top:8px}
}

/* ---------- 先輩の声 ---------- */
.rc-voices{display:grid;gap:clamp(48px,6vw,88px)}
.rc-voice{
  display:grid;grid-template-columns:300px 1fr;gap:clamp(32px,5vw,64px);align-items:start;
  padding-bottom:clamp(48px,6vw,88px);border-bottom:1px solid var(--c-line);
}
.rc-voice:last-child{padding-bottom:0;border-bottom:0}
.rc-voice--rev{grid-template-columns:1fr 300px}
.rc-voice--rev .rc-voice__photo{order:2}
.rc-voice__photo{overflow:hidden;position:relative}
.rc-voice__photo img{width:100%;aspect-ratio:1;object-fit:cover}
.rc-voice__photo::after{content:"";position:absolute;left:-14px;bottom:-14px;width:120px;height:120px;border:1px solid var(--c-brand);z-index:-1;opacity:.5}
.rc-voice__name{
  display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;
  font-size:clamp(20px,1.8vw,24px);font-weight:700;letter-spacing:.1em;
  margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--c-line);
}
.rc-voice__name span{font-size:13px;font-weight:400;letter-spacing:.04em;color:var(--c-brand)}
.rc-voice__title{font-size:clamp(19px,1.7vw,24px);font-weight:700;letter-spacing:.06em;line-height:1.5;margin-bottom:16px}
.rc-voice__text{font-size:15px;line-height:2.1;color:var(--c-ink-2)}
@media (max-width:767px){
  .rc-voice,.rc-voice--rev{grid-template-columns:1fr;gap:22px}
  .rc-voice--rev .rc-voice__photo{order:0}
  .rc-voice__photo{width:200px;margin:0 auto}
  .rc-voice__photo::after{display:none}
  .rc-voice__name{flex-direction:column;gap:4px;align-items:flex-start}
}

/* ---------- 勤務地 ---------- */
.rc-locs{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3vw,40px)}
.rc-loc{display:grid;grid-template-columns:200px 1fr;gap:22px;background:#fff;padding:22px;border:1px solid var(--c-line-2)}
.rc-loc__photo{overflow:hidden}
.rc-loc__photo img{width:100%;aspect-ratio:3/2;object-fit:cover}
.rc-loc__name{font-size:17px;font-weight:700;letter-spacing:.06em;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--c-line)}
.rc-loc__dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:13.5px;line-height:1.75}
.rc-loc__dl dt{color:var(--c-brand);font-weight:500;white-space:nowrap}
.rc-loc__dl dd{margin:0;color:var(--c-ink-2)}
.rc-loc__link{
  display:inline-block;margin-top:12px;font-size:13px;letter-spacing:.08em;color:var(--c-ink);
  background:linear-gradient(currentColor,currentColor) no-repeat 0 100%/100% 1px;
  padding-bottom:2px;transition:color .3s;
}
.rc-loc__link::after{content:" →"}
.rc-loc__link:hover{color:var(--c-brand)}
@media (max-width:959px){.rc-locs{grid-template-columns:1fr}}
@media (max-width:767px){
  .rc-loc{grid-template-columns:1fr;gap:16px;padding:16px}
  .rc-loc__dl{grid-template-columns:1fr;gap:2px}
  .rc-loc__dl dt{margin-top:6px}
}

/* ---------- 選考の流れ ---------- */
.rc-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px);counter-reset:f}
.rc-flow__step{
  position:relative;padding:34px 28px 30px;
  background:#fff;border:1px solid var(--c-line);
}
.rc-flow__step:not(:last-child)::after{
  content:"";position:absolute;right:-1px;top:50%;
  transform:translate(50%,-50%) rotate(45deg);
  width:14px;height:14px;border-top:1px solid var(--c-brand);border-right:1px solid var(--c-brand);
  margin-right:calc(clamp(20px,3vw,40px) / -2);
}
.rc-flow__num{
  display:block;font-family:var(--f-en);font-weight:600;font-size:36px;line-height:1;letter-spacing:.04em;
  color:var(--c-brand);margin-bottom:14px;
}
.rc-flow__title{font-size:20px;font-weight:700;letter-spacing:.1em;margin-bottom:12px}
.rc-flow__step p{font-size:14.5px;line-height:1.95;color:var(--c-ink-2)}
.rc-flow__step a{color:var(--c-ink);font-weight:500}
@media (max-width:767px){
  .rc-flow{grid-template-columns:1fr;gap:16px}
  .rc-flow__step{padding:26px 22px}
  .rc-flow__step:not(:last-child)::after{right:auto;left:50%;top:100%;transform:translate(-50%,0) rotate(135deg);margin:0}
}

/* ---------- エントリー ---------- */
.rc-entry__sub{
  font-size:18px;font-weight:700;letter-spacing:.1em;
  margin:0 0 20px;padding-left:14px;border-left:2px solid var(--c-brand);line-height:1.5;
}
.rc-entry-tel{
  text-align:center;padding:36px 24px;margin-bottom:clamp(40px,5vw,64px);
  background:var(--c-off);
}
.rc-entry-tel .rc-entry__sub{border:0;padding:0;text-align:center;margin-bottom:14px}
.rc-entry-tel__num{
  display:inline-flex;align-items:center;gap:12px;
  font-family:var(--f-en);font-weight:600;font-size:clamp(36px,4vw,50px);line-height:1;letter-spacing:.04em;
  color:var(--c-brand);transition:opacity .3s;
}
.rc-entry-tel__num:hover{opacity:.75}
.rc-entry-tel__note{margin-top:12px;font-size:13px;color:var(--c-ink-2);letter-spacing:.08em}
.form--entry{margin-top:0;padding-top:0;border-top:0}
.form__grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.form__select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' fill='none' stroke='%232a2826' stroke-width='1.2'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:40px;
}
@media (max-width:767px){.form__grid{grid-template-columns:1fr}}

/* ---------- 追従ENTRYボタン ---------- */
.rc-float{
  position:fixed;right:0;bottom:88px;z-index:90;
  display:flex;align-items:center;justify-content:center;
  width:64px;height:104px;
  background:var(--c-brand);color:#fff;
  font-family:var(--f-en);font-weight:600;font-size:15px;letter-spacing:.12em;
  writing-mode:vertical-rl;
  box-shadow:-4px 6px 20px -8px rgba(80,20,10,.35);
  transition:background .3s,transform .4s var(--ease);
}
.rc-float:hover{background:var(--c-brand-d);transform:translateX(-2px)}
@media (max-width:767px){
  .rc-float{
    right:0;left:0;bottom:0;width:100%;height:56px;
    writing-mode:horizontal-tb;font-size:16px;
    box-shadow:0 -4px 20px -8px rgba(80,20,10,.35);
  }
  .pagetop{bottom:72px}
  .site-footer{padding-bottom:56px}
}
