/* =========================================================
   RECRUIT PAGE V2
========================================================= */

.recruit-page-v2{
  --rc2-green:#34443b;
  --rc2-green-deep:#27372f;
  --rc2-green-soft:#738178;
  --rc2-cream:#f4f1ea;
  --rc2-paper:#faf9f5;
  --rc2-text:#333b36;
  --rc2-line:rgba(52,68,59,.15);
  background:var(--rc2-paper);
  color:var(--rc2-text);
}

.recruit-page-v2 *{box-sizing:border-box}
.recruit-page-v2 img{display:block;width:100%;height:auto}
.rc2-inner{width:min(88vw,1380px);margin:0 auto}

.rc2-eyebrow{
  margin:0 0 22px;
  font-size:10px;
  letter-spacing:.2em;
  color:#7b857f;
}

.rc2-section-head h2,
.rc2-jobs-head h2{
  margin:0;
  font-family:"Noto Serif JP",serif;
  font-size:clamp(34px,4vw,58px);
  line-height:1.6;
  font-weight:300;
  letter-spacing:.035em;
}

.rc2-reveal{
  opacity:0;
  transform:translateY(30px);
  transition:opacity .85s ease, transform .85s cubic-bezier(.22,.61,.36,1);
}
.rc2-reveal.is-visible{
  opacity:1;
  transform:none;
}


/* HERO */
.rc2-hero{
  position:relative;
  min-height:100svh;
  overflow:hidden;
  background:#1f2c25;
  color:#fff;
}

.rc2-hero-media,
.rc2-hero-overlay{
  position:absolute;
  inset:0;
}

.rc2-hero-image{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transform:scale(1.04);
  will-change:transform;
}

.rc2-hero-overlay{
  background:
    linear-gradient(90deg,rgba(18,28,22,.68) 0%,rgba(18,28,22,.34) 48%,rgba(18,28,22,.12) 100%),
    linear-gradient(0deg,rgba(18,28,22,.30),transparent 45%);
}

.rc2-hero-inner{
  position:relative;
  z-index:2;
  width:min(88vw,1380px);
  margin:0 auto;
  padding-top:clamp(170px,21vh,250px);
}

.rc2-kicker{
  margin:0 0 28px;
  font-size:11px;
  letter-spacing:.19em;
  color:rgba(255,255,255,.68);
}

.rc2-hero h1{
  margin:0;
  max-width:880px;
  font-family:"Noto Serif JP",serif;
  font-size:clamp(52px,7vw,105px);
  line-height:1.42;
  font-weight:300;
  letter-spacing:.04em;
}

.rc2-hero-lead{
  margin:34px 0 0;
  font-size:clamp(15px,1.3vw,19px);
  line-height:2.05;
  color:rgba(255,255,255,.82);
}

.rc2-hero-scroll{
  position:absolute;
  z-index:2;
  right:6vw;
  bottom:52px;
  display:flex;
  align-items:center;
  gap:14px;
  color:#fff;
  text-decoration:none;
  font-size:9px;
  letter-spacing:.2em;
}

.rc2-hero-scroll i{
  display:block;
  width:58px;
  height:1px;
  background:rgba(255,255,255,.55);
  transform-origin:left center;
  animation:rc2scroll 1.8s ease-in-out infinite;
}
@keyframes rc2scroll{
  0%,100%{transform:scaleX(.35);opacity:.45}
  50%{transform:scaleX(1);opacity:1}
}


/* STORY */
.rc2-story{
  position:relative;
  height:400svh;
  background:#202c26;
}

.rc2-story-sticky{
  position:sticky;
  top:0;
  height:100svh;
  overflow:hidden;
  color:#fff;
}

.rc2-story-visuals,
.rc2-story-shade,
.rc2-story-visual{
  position:absolute;
  inset:0;
}

.rc2-story-visual{
  background-size:cover;
  background-position:center;
  opacity:0;
  transform:scale(1.06);
  transition:opacity .8s ease, transform 1.4s ease;
}
.rc2-story-visual:nth-child(2){background-position:45% center}
.rc2-story-visual:nth-child(3){background-position:60% center}
.rc2-story-visual:nth-child(4){background-position:52% center}

.rc2-story-visual.is-active{
  opacity:1;
  transform:scale(1);
}

.rc2-story-shade{
  z-index:2;
  background:linear-gradient(90deg,rgba(23,33,27,.78),rgba(23,33,27,.45) 48%,rgba(23,33,27,.20));
}

.rc2-story-copy{
  position:absolute;
  z-index:3;
  left:6vw;
  top:50%;
  width:min(700px,72vw);
  transform:translateY(-50%);
}

.rc2-story-step{
  position:absolute;
  left:0;
  top:50%;
  width:100%;
  opacity:0;
  transform:translateY(-40%) translateY(22px);
  transition:opacity .6s ease, transform .7s ease;
  pointer-events:none;
}
.rc2-story-step.is-active{
  opacity:1;
  transform:translateY(-50%);
}

.rc2-story-step span{
  display:block;
  margin-bottom:22px;
  font-size:10px;
  letter-spacing:.16em;
  color:rgba(255,255,255,.55);
}

.rc2-story-step p{
  margin:0;
  font-family:"Noto Serif JP",serif;
  font-size:clamp(36px,5vw,72px);
  line-height:1.55;
  font-weight:300;
  letter-spacing:.035em;
}

.rc2-story-last{
  position:absolute;
  z-index:3;
  right:6vw;
  bottom:8vh;
  margin:0;
  text-align:right;
  font-size:clamp(13px,1.2vw,17px);
  line-height:1.9;
  color:rgba(255,255,255,.66);
}


/* MESSAGE */
.rc2-section{
  padding:clamp(110px,12vw,180px) 0;
}

.rc2-message{background:var(--rc2-paper)}

.rc2-message-grid{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:clamp(70px,10vw,160px);
  margin-top:clamp(70px,8vw,120px);
  align-items:start;
}

.rc2-message-lead{
  margin:0;
  font-family:"Noto Serif JP",serif;
  font-size:clamp(25px,2.6vw,38px);
  line-height:1.85;
  font-weight:300;
}

.rc2-message-text{
  max-width:700px;
  font-size:16px;
  line-height:2.15;
  color:#59625c;
}
.rc2-message-text p{margin:0 0 1.6em}


/* FOUNDATION */
.rc2-foundation{
  position:relative;
  padding:clamp(120px,13vw,190px) 0;
  overflow:hidden;
  background:#ecebe4;
}

.rc2-foundation::before{
  content:"2017";
  position:absolute;
  right:-.02em;
  top:-.12em;
  font-family:"Noto Serif JP",serif;
  font-size:clamp(180px,24vw,390px);
  line-height:1;
  font-weight:300;
  letter-spacing:-.06em;
  color:rgba(52,68,59,.035);
  pointer-events:none;
}

.rc2-foundation-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:clamp(70px,9vw,150px);
  align-items:start;
}

.rc2-foundation-copy h2{
  margin:0;
  font-family:"Noto Serif JP",serif;
  font-size:clamp(38px,4.3vw,62px);
  line-height:1.65;
  font-weight:300;
  letter-spacing:.035em;
  color:#34443b;
}

.rc2-foundation-text{
  max-width:590px;
  margin-top:clamp(48px,5vw,72px);
  padding-left:28px;
  border-left:1px solid rgba(52,68,59,.18);
}

.rc2-foundation-text p{
  margin:0 0 1.7em;
  font-size:16px;
  line-height:2.12;
  color:#5d6760;
}

.rc2-foundation-text p:last-child{
  margin-bottom:0;
}

.rc2-foundation-data{
  padding-top:8px;
}

.rc2-foundation-numbers{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid rgba(52,68,59,.17);
  border-bottom:1px solid rgba(52,68,59,.17);
}

.rc2-foundation-number{
  min-height:175px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:26px 30px;
}

.rc2-foundation-number + .rc2-foundation-number{
  border-left:1px solid rgba(52,68,59,.17);
}

.rc2-foundation-number strong{
  display:block;
  font-family:"Noto Serif JP",serif;
  font-size:clamp(44px,4.6vw,68px);
  line-height:1;
  font-weight:300;
  letter-spacing:-.03em;
  color:#34443b;
}

.rc2-foundation-number .rc2-foundation-plus{
  display:inline;
  margin-left:2px;
  font-size:.52em;
  vertical-align:.35em;
}

.rc2-foundation-number>span{
  display:block;
  margin-top:18px;
  font-size:12px;
  letter-spacing:.10em;
  color:#778179;
}

.rc2-foundation-statement{
  margin:clamp(58px,6vw,82px) 0 0;
  font-family:"Noto Serif JP",serif;
  font-size:clamp(25px,2.7vw,38px);
  line-height:1.85;
  font-weight:300;
  letter-spacing:.035em;
  color:#3d4b43;
}

.rc2-foundation-services{
  margin-top:clamp(44px,5vw,64px);
  border-top:1px solid rgba(52,68,59,.17);
}

.rc2-foundation-service{
  display:grid;
  grid-template-columns:58px 1fr;
  gap:20px;
  align-items:center;
  min-height:100px;
  padding:22px 0;
  border-bottom:1px solid rgba(52,68,59,.17);
}

.rc2-foundation-service-no{
  font-size:11px;
  letter-spacing:.14em;
  color:#8a938d;
}

.rc2-foundation-service small{
  display:block;
  margin-bottom:7px;
  font-size:12px;
  letter-spacing:.10em;
  color:#7a847d;
}

.rc2-foundation-service strong{
  display:block;
  font-family:"Noto Serif JP",serif;
  font-size:clamp(19px,1.7vw,25px);
  line-height:1.65;
  font-weight:300;
  color:#3b463f;
}

@media(max-width:980px){
  .rc2-foundation-grid{
    grid-template-columns:1fr;
    gap:80px;
  }

  .rc2-foundation-text{
    max-width:760px;
  }
}

@media(max-width:700px){
  .rc2-foundation{
    padding:100px 0 110px;
  }

  .rc2-foundation::before{
    right:-.08em;
    top:.02em;
    font-size:44vw;
  }

  .rc2-foundation-grid{
    gap:68px;
  }

  .rc2-foundation-copy h2{
    font-size:clamp(30px,8vw,40px);
    line-height:1.65;
  }

  .rc2-foundation-text{
    margin-top:38px;
    padding-left:20px;
  }

  .rc2-foundation-text p{
    font-size:16px;
    line-height:1.95;
  }

  .rc2-foundation-numbers{
    grid-template-columns:1fr 1fr;
  }

  .rc2-foundation-number{
    min-height:135px;
    padding:24px 18px;
  }

  .rc2-foundation-number:nth-child(3){
    grid-column:1 / -1;
    border-left:0;
    border-top:1px solid rgba(52,68,59,.17);
  }

  .rc2-foundation-number strong{
    font-size:clamp(42px,12vw,58px);
  }

  .rc2-foundation-number>span{
    margin-top:13px;
    font-size:12px;
  }

  .rc2-foundation-statement{
    margin-top:50px;
    font-size:clamp(24px,6.6vw,31px);
    line-height:1.85;
  }

  .rc2-foundation-service{
    grid-template-columns:42px 1fr;
    min-height:92px;
    gap:14px;
  }

  .rc2-foundation-service-no,
  .rc2-foundation-service small{
    font-size:12px;
  }

  .rc2-foundation-service strong{
    font-size:19px;
  }
}


/* FOUNDATION / FUTURE */
.rc2-foundation-future{
  display:grid;
  grid-template-columns:1fr 44px 1fr;
  align-items:center;
  gap:20px;
  margin-top:clamp(58px,6vw,82px);
  padding:28px 0;
  border-top:1px solid rgba(52,68,59,.17);
  border-bottom:1px solid rgba(52,68,59,.17);
}

.rc2-foundation-future-line{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:18px;
}

.rc2-foundation-future-line span{
  font-size:10px;
  letter-spacing:.18em;
  color:#8a938d;
}

.rc2-foundation-future-line b{
  font-family:"Noto Serif JP",serif;
  font-size:clamp(18px,1.6vw,24px);
  font-weight:300;
  letter-spacing:.045em;
  color:#3d4b43;
}

.rc2-foundation-future-arrow{
  display:block;
  text-align:center;
  font-size:17px;
  color:#738078;
}

.rc2-foundation-future-line-next b{
  color:#34443b;
}

.rc2-foundation-statement{
  margin-top:clamp(52px,5vw,72px);
}

.rc2-foundation-closing{
  margin:42px 0 0;
  font-size:14px;
  line-height:2;
  letter-spacing:.035em;
  color:#6e7871;
}

@media(max-width:700px){
  .rc2-foundation-future{
    grid-template-columns:1fr;
    gap:14px;
    margin-top:48px;
    padding:24px 0;
  }

  .rc2-foundation-future-line{
    justify-content:flex-start;
    gap:16px;
  }

  .rc2-foundation-future-line span{
    min-width:42px;
    font-size:12px;
  }

  .rc2-foundation-future-line b{
    font-size:19px;
  }

  .rc2-foundation-future-arrow{
    padding-left:55px;
    text-align:left;
    transform:rotate(0deg);
  }

  .rc2-foundation-statement{
    margin-top:46px;
    font-size:clamp(22px,6.2vw,29px);
    line-height:1.9;
  }

  .rc2-foundation-closing{
    margin-top:34px;
    font-size:14px;
    line-height:1.9;
  }
}


/* NUMBERS */
.rc2-numbers{
  padding:clamp(110px,12vw,180px) 0;
  background:var(--rc2-green-deep);
  color:#fff;
}

.rc2-section-head-light .rc2-eyebrow{color:rgba(255,255,255,.45)}
.rc2-section-head-light>p:last-child{
  margin:28px 0 0;
  max-width:640px;
  font-size:15px;
  line-height:2;
  color:rgba(255,255,255,.58);
}

.rc2-number-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  margin-top:clamp(70px,8vw,115px);
  border-top:1px solid rgba(255,255,255,.14);
  border-left:1px solid rgba(255,255,255,.14);
}

.rc2-number-card{
  min-height:330px;
  padding:34px 30px 30px;
  border-right:1px solid rgba(255,255,255,.14);
  border-bottom:1px solid rgba(255,255,255,.14);
}

.rc2-number-card-wide{grid-column:span 2}

.rc2-number-label{
  margin:0 0 42px;
  font-size:9px;
  letter-spacing:.17em;
  color:rgba(255,255,255,.38);
}

.rc2-number-value{
  display:flex;
  align-items:flex-end;
  gap:7px;
  margin-bottom:32px;
}

.rc2-number-value strong{
  font-family:"Noto Serif JP",serif;
  font-size:clamp(58px,5vw,82px);
  line-height:.9;
  font-weight:300;
  font-variant-numeric:tabular-nums;
}
.rc2-number-value small{
  margin-bottom:7px;
  font-size:15px;
  color:rgba(255,255,255,.7);
}
.rc2-number-value-compact strong{font-size:clamp(58px,5vw,78px)}

.rc2-number-card h3{
  margin:0 0 10px;
  font-size:15px;
  font-weight:500;
}
.rc2-number-card>p:last-child{
  margin:0;
  font-size:12px;
  line-height:1.8;
  color:rgba(255,255,255,.5);
}

.rc2-number-note{
  margin:28px 0 0;
  font-size:10px;
  line-height:1.8;
  color:rgba(255,255,255,.35);
}


/* PEOPLE */
.rc2-people{
  padding:clamp(110px,12vw,180px) 0;
  background:var(--rc2-cream);
}

.rc2-people-grid{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:clamp(70px,10vw,150px);
  margin-top:clamp(70px,8vw,110px);
}

.rc2-data-label{
  margin:0 0 14px;
  font-size:9px;
  letter-spacing:.18em;
  color:#879089;
}
.rc2-people-block h3{
  margin:0 0 36px;
  font-size:20px;
  font-weight:500;
}

.rc2-age-list{
  border-top:1px solid var(--rc2-line);
}
.rc2-age-list>div{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:20px 0;
  border-bottom:1px solid var(--rc2-line);
}
.rc2-age-list span{font-size:14px;color:#657068}
.rc2-age-list strong{
  font-family:"Noto Serif JP",serif;
  font-size:28px;
  font-weight:300;
}

.rc2-area-bar{margin-bottom:26px}
.rc2-area-bar>div{
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-bottom:10px;
  font-size:13px;
}
.rc2-area-bar>div strong{font-weight:500}
.rc2-area-bar>i{
  display:block;
  height:2px;
  background:rgba(52,68,59,.12);
  overflow:hidden;
}
.rc2-area-bar>i>b{
  display:block;
  width:0;
  height:100%;
  background:var(--rc2-green);
  transition:width 1.2s cubic-bezier(.22,.61,.36,1);
}
.rc2-area-bar.is-visible>i>b{width:var(--bar-width)}

.rc2-area-note{
  margin:34px 0 0;
  font-size:13px;
  line-height:2;
  color:#69746d;
}


/* WORKSTYLE */
.rc2-workstyle{
  padding:clamp(110px,12vw,180px) 0;
  background:#fff;
}

.rc2-workstyle-list{
  margin-top:clamp(70px,8vw,110px);
  border-top:1px solid var(--rc2-line);
}

.rc2-workstyle-row{
  display:grid;
  grid-template-columns:80px minmax(250px,.7fr) 1.3fr;
  gap:30px;
  align-items:center;
  min-height:138px;
  border-bottom:1px solid var(--rc2-line);
}

.rc2-workstyle-row>span{
  font-size:10px;
  color:#879089;
}
.rc2-workstyle-row h3{
  margin:0;
  font-family:"Noto Serif JP",serif;
  font-size:clamp(22px,2vw,30px);
  font-weight:300;
}
.rc2-workstyle-row p{
  margin:0;
  font-size:14px;
  line-height:1.9;
  color:#657068;
}


/* JOBS */
.rc2-jobs{
  padding:clamp(110px,12vw,180px) 0;
  background:var(--rc2-paper);
}

.rc2-jobs-head{
  display:grid;
  grid-template-columns:1fr auto;
  gap:60px;
  align-items:end;
}

.rc2-jobs-head>p{
  margin:0;
  max-width:430px;
  font-size:14px;
  line-height:2;
  color:#657068;
}

.rc2-job-list{
  margin-top:clamp(65px,7vw,100px);
  border-top:1px solid var(--rc2-line);
}

.rc2-job{
  position:relative;
  display:grid;
  grid-template-columns:80px 1fr auto;
  gap:30px;
  align-items:center;
  min-height:128px;
  padding:24px 0;
  border-bottom:1px solid var(--rc2-line);
  color:inherit;
  text-decoration:none;
  transition:padding .35s ease,color .35s ease,background .35s ease;
}

.rc2-job::before{
  content:"";
  position:absolute;
  inset:0 -22px;
  z-index:0;
  background:var(--rc2-green);
  opacity:0;
  transform:scaleY(.85);
  transition:opacity .35s ease,transform .35s ease;
}
.rc2-job>*{position:relative;z-index:1}
.rc2-job:hover{color:#fff;padding-left:14px;padding-right:14px}
.rc2-job:hover::before{opacity:1;transform:scaleY(1)}

.rc2-job-no{
  font-size:10px;
  color:#879089;
}
.rc2-job:hover .rc2-job-no{color:rgba(255,255,255,.5)}

.rc2-job-title small{
  display:block;
  margin-bottom:8px;
  font-size:9px;
  letter-spacing:.16em;
  color:#879089;
}
.rc2-job:hover .rc2-job-title small{color:rgba(255,255,255,.52)}

.rc2-job-title h3{
  margin:0;
  font-family:"Noto Serif JP",serif;
  font-size:clamp(24px,2.3vw,34px);
  font-weight:300;
}

.rc2-job-link{
  font-size:12px;
  color:#667169;
}
.rc2-job-link i{margin-left:16px;font-style:normal}
.rc2-job:hover .rc2-job-link{color:#fff}

.rc2-job-featured .rc2-job-title h3::after{
  content:"";
  display:inline-block;
  width:7px;
  height:7px;
  margin-left:12px;
  border-radius:50%;
  background:#9cae9f;
  vertical-align:middle;
}


/* ENTRY */
.rc2-entry{
  padding:clamp(84px,9vw,130px) 0;
  background:#dcded7;
}

.rc2-entry-inner{
  width:min(88vw,980px);
  margin:0 auto;
  text-align:center;
}

.rc2-entry h2{
  margin:0;
  font-family:"Noto Serif JP",serif;
  font-size:clamp(32px,3.5vw,54px);
  line-height:1.55;
  font-weight:300;
  letter-spacing:.035em;
}

.rc2-entry-lead{
  max-width:720px;
  margin:30px auto 0;
  font-size:16px;
  line-height:2;
  color:#5f6963;
}

.rc2-entry-actions{
  display:grid;
  grid-template-columns:minmax(360px,1fr) 250px;
  justify-content:center;
  align-items:stretch;
  gap:14px;
  max-width:720px;
  margin:42px auto 0;
}

.rc2-entry-main,
.rc2-entry-tel{
  width:100%;
  height:76px;
  min-height:76px;
  margin:0;
  text-decoration:none;
  box-sizing:border-box;
}

.rc2-entry-main{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  padding:0 28px;
  background:var(--rc2-green);
  color:#fff;
  font-size:14px;
}

.rc2-entry-main i{
  flex:0 0 auto;
  font-style:normal;
  font-size:20px;
}

.rc2-entry-tel{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding:0 24px;
  border:1px solid rgba(52,68,59,.24);
  color:var(--rc2-text);
}

.rc2-entry-tel small{
  display:block;
  margin:0 0 4px;
  font-size:9px;
  line-height:1;
  letter-spacing:.16em;
  color:#7a857e;
}

.rc2-entry-tel span{
  display:block;
  margin:0;
  font-family:"Noto Serif JP",serif;
  font-size:20px;
  line-height:1.2;
}


/* RESPONSIVE */
@media(max-width:980px){
  .rc2-number-grid{grid-template-columns:repeat(2,1fr)}
  .rc2-number-card-wide{grid-column:span 1}
  .rc2-people-grid,
  .rc2-message-grid{grid-template-columns:1fr;gap:60px}
  .rc2-workstyle-row{grid-template-columns:60px 1fr}
  .rc2-workstyle-row p{grid-column:2}
  .rc2-jobs-head{grid-template-columns:1fr}
}

@media(max-width:700px){
  .rc2-hero-inner{padding-top:24vh}
  .rc2-hero h1{font-size:clamp(44px,13vw,66px)}
  .rc2-hero-scroll{right:6vw;bottom:32px}

  .rc2-story{height:360svh}
  .rc2-story-copy{left:6vw;width:86vw}
  .rc2-story-step p{font-size:clamp(34px,10vw,50px)}
  .rc2-story-last{right:6vw;bottom:5vh;font-size:12px}

  .rc2-number-grid{grid-template-columns:1fr}
  .rc2-number-card{min-height:275px}
  .rc2-number-card-wide{grid-column:auto}

  .rc2-workstyle-row{
    grid-template-columns:44px 1fr;
    gap:14px 18px;
    padding:28px 0;
  }
  .rc2-workstyle-row p{grid-column:2}

  .rc2-job{
    grid-template-columns:44px 1fr auto;
    gap:14px;
    min-height:110px;
  }
  .rc2-job-link{
    width:28px;
    overflow:hidden;
    white-space:nowrap;
    font-size:0;
  }
  .rc2-job-link i{margin:0;font-size:20px}

  .rc2-entry-actions{
    grid-template-columns:1fr;
    max-width:520px;
  }
  .rc2-entry-main,
  .rc2-entry-tel{
    width:100%;
    height:72px;
    min-height:72px;
  }
  .rc2-entry-tel{align-items:center}
}

/* =========================================================
   HERO TITLE ENTRANCE
   「いい仕事は、」→「いい毎日から。」を順に表示
========================================================= */

.rc2-hero-title-entrance{
  overflow:visible;
}

.rc2-hero-title-line{
  display:block;
  width:max-content;
  max-width:100%;
  opacity:0;
  transform:translate3d(0,34px,0);
  filter:blur(5px);
  transition:
    opacity 1.05s cubic-bezier(.22,.61,.36,1),
    transform 1.15s cubic-bezier(.22,.61,.36,1),
    filter 1.05s ease;
}

.rc2-hero-title-line-1{
  transition-delay:.22s;
}

.rc2-hero-title-line-2{
  transition-delay:.48s;
}

.rc2-hero-title-entrance.is-visible .rc2-hero-title-line{
  opacity:1;
  transform:translate3d(0,0,0);
  filter:blur(0);
}

@media(max-width:700px){
  .rc2-hero-title-line{
    transform:translate3d(0,24px,0);
  }
}

@media(prefers-reduced-motion:reduce){
  .rc2-hero-title-line{
    opacity:1;
    transform:none;
    filter:none;
    transition:none;
  }
}

/* =========================================================
   RECRUIT HERO / MOBILE IMAGE FIX
========================================================= */
@media (max-width: 700px){

  .rc2-hero{
    min-height:100svh;
    height:100svh;
    overflow:hidden;
  }

  .rc2-hero-media{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    overflow:hidden;
  }

  .rc2-hero-media img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
  }

}

/* =========================================================
   FOUNDATION COUNT UP / DISPLAY FIX
========================================================= */

.rc2-foundation-count-value{
  display:inline;
  font:inherit;
}


/* =====================================
   RECRUIT HERO / SCROLL 縦表示
===================================== */

.rc2-hero-scroll{
  flex-direction:column;
  align-items:center;
  gap:10px;
}

.rc2-hero-scroll i{
  display:block;
  width:1px;
  height:58px;
  background:rgba(255,255,255,.55);
  transform-origin:center top;
  animation:rc2scrollVertical 1.8s ease-in-out infinite;
}

@keyframes rc2scrollVertical{
  0%,100%{
    transform:scaleY(.35);
    opacity:.45;
  }

  50%{
    transform:scaleY(1);
    opacity:1;
  }
}


/* ========================================
   RECRUIT / iPhone Safari VIEWPORT FIX
   スクロール時に背景下地が見える問題
======================================== */

.rc2-hero {
  min-height: 100svh;
  height: 100dvh;
}

.rc2-story-sticky {
  height: 100dvh;
  min-height: 100svh;
}

@media (max-width: 700px){

  .rc2-hero{
    min-height:100svh;
    height:100svh;
    overflow:hidden;
  }
}