@charset "UTF-8";
/* ===================================================================
   採用ページ（他ページとは別世界のデザイン）
   ・明朝ではなく極太ゴシック
   ・生成りではなく、臙脂の面で大きく区切る
   ・1画面＝1メッセージ。文字を大きく
   ※ 他ページのCSSは読み込みません（このファイルだけで完結）
   =================================================================== */

.rc{
  --enji:      #A6192E;
  --enji-dark: #8A1526;
  --enji-lite: #C4223A;
  --ink:       #0F1419;
  --paper:     #F7F3EC;
  --gray:      #6F6A64;
  --sans: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;
  --mincho: "Shippori Mincho", serif;
  --maxw: 1200px;
  --ease: cubic-bezier(.22,.61,.36,1);
  --head-h: 76px;

  margin:0;background:#fff;color:var(--ink);
  font-family:var(--sans);font-size:15px;line-height:1.9;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
.rc *,.rc *::before,.rc *::after{box-sizing:border-box;}
.rc img{display:block;max-width:100%;}
.rc :where(a){color:inherit;text-decoration:none;}
/* 打ち消しは :where() で弱くする。こうしないと、
   あとから書いた .rc-secttl などの指定に勝ってしまい、余白や文字色が効かなくなる */
.rc :where(h1,h2,h3,p,ul,figure){margin:0;padding:0;}
.rc :where(ul){list-style:none;}
.rc [hidden]{display:none !important;}

.rc .reveal{opacity:0;transform:translateY(30px);transition:opacity .9s var(--ease),transform .9s var(--ease);}
.rc .reveal.is-visible{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){ .rc .reveal{opacity:1;transform:none;transition:none;} }

/* ============ ヘッダー ============ */
.rc-head{
  position:fixed;inset:0 0 auto 0;z-index:80;height:var(--head-h);
  display:flex;align-items:center;gap:28px;padding:0 24px;
  background:rgba(255,255,255,.94);backdrop-filter:blur(10px);
  box-shadow:0 1px 0 rgba(15,20,25,.08);
}
.rc-head__logo{display:flex;align-items:center;gap:12px;flex:none;}
.rc-head__logo img{height:30px;width:auto;}
.rc-head__tag{
  padding:4px 10px;background:var(--enji);color:#fff;
  font-size:11px;font-weight:700;letter-spacing:.14em;border-radius:2px;
}
.rc-head__nav{margin-left:auto;}
.rc-head__nav ul{display:flex;gap:28px;}
.rc-head__nav a{
  font-size:13.5px;font-weight:700;letter-spacing:.06em;position:relative;padding:6px 0;
}
.rc-head__nav a::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--enji);
  transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease);
}
.rc-head__nav a:hover::after{transform:scaleX(1);}
.rc-head__entry{
  flex:none;padding:13px 30px;background:var(--enji);color:#fff;
  font-size:13px;font-weight:900;letter-spacing:.16em;
  transition:background .3s var(--ease);
}
.rc-head__entry:hover{background:var(--enji-dark);}
.rc-head__toggle{display:none;width:42px;height:36px;background:none;border:0;padding:6px 5px;cursor:pointer;}
.rc-head__toggle span{display:block;height:3px;background:var(--ink);border-radius:2px;margin:5px 0;transition:.3s var(--ease);}

/* ============ ① ヒーロー ============ */
.rc-hero{position:relative;height:100svh;min-height:560px;overflow:hidden;background:#241c18;}
/* 写真は横長。人物は中央よりやや右に写っている前提で切り取る */
.rc-hero__img{width:100%;height:100%;object-fit:cover;object-position:62% center;}
.rc-hero__veil{
  position:absolute;inset:0;
  background:linear-gradient(100deg, rgba(15,10,8,.72) 0%, rgba(15,10,8,.42) 46%, rgba(15,10,8,.18) 72%, rgba(15,10,8,.46) 100%);
}
.rc-hero__inner{
  position:absolute;inset:0;max-width:var(--maxw);margin:0 auto;padding:0 32px;
  display:flex;flex-direction:column;justify-content:center;
}
.rc-hero__sub{
  color:#fff;font-size:12px;font-weight:700;letter-spacing:.42em;opacity:.85;margin-bottom:22px;
}
.rc-hero__catch{
  color:#fff;font-weight:900;
  font-size:clamp(38px,6.4vw,92px);line-height:1.32;letter-spacing:.02em;
  text-shadow:0 4px 34px rgba(0,0,0,.5);
}
/* マーカーで引いたような臙脂の帯 */
.rc-hero__catch em{
  font-style:normal;display:inline;color:#fff;
  padding:0 .12em;
  background:linear-gradient(transparent 58%, var(--enji) 58%, var(--enji) 94%, transparent 94%);
}
.rc-hero__scroll{
  position:absolute;left:50%;bottom:26px;transform:translateX(-50%);
  color:#fff;font-size:10.5px;font-weight:700;letter-spacing:.3em;opacity:.8;
  display:flex;flex-direction:column;align-items:center;gap:10px;
}
.rc-hero__scroll::after{
  content:"";width:1px;height:46px;background:#fff;opacity:.7;
  animation:rcScroll 2.2s var(--ease) infinite;
}
@keyframes rcScroll{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ============ 見出し共通 ============ */
.rc-secttl{
  text-align:center;font-weight:900;
  font-size:clamp(24px,3.2vw,40px);letter-spacing:.06em;line-height:1.4;
  margin-bottom:clamp(48px,6.2vw,84px);
}
.rc-secttl__en{
  display:block;margin-bottom:12px;
  font-size:11px;font-weight:700;letter-spacing:.36em;color:var(--enji);
}
.rc-secttl--light,.rc-secttl--light .rc-secttl__en{color:#fff;}
.rc-secttl--light .rc-secttl__en{opacity:.9;}

.rc-draft{
  max-width:var(--maxw);margin:34px auto 0;padding:10px 14px;
  background:rgba(166,25,46,.06);border-left:3px solid var(--enji);
  font-size:12.5px;line-height:1.9;color:#8a5a5f;
}
.rc-people .rc-draft{background:rgba(255,255,255,.1);border-left-color:#fff;color:rgba(255,255,255,.8);}

/* ============ ② メッセージ（臙脂の全面） ============ */
.rc-msg{
  background:var(--enji);color:#fff;
  padding:clamp(80px,12vw,150px) 32px;
  position:relative;overflow:hidden;
}
/* 背景の和柄。assets/rc_msg_bg.png（金色・背景透過）を置くと自動で出ます。 */
.rc-msg::after{
  content:"";position:absolute;inset:0;
  background:url("../assets/rc_msg_bg.png") center center / cover no-repeat;
  opacity:.5;pointer-events:none;
}
.rc-msg::before{
  content:"";position:absolute;right:-8%;top:-30%;
  width:min(620px,64vw);aspect-ratio:1;border-radius:50%;
  background:rgba(255,255,255,.055);
}
.rc-msg__inner{position:relative;max-width:var(--maxw);margin:0 auto;text-align:center;}
.rc-msg__text{
  font-weight:900;font-size:clamp(21px,3.2vw,42px);line-height:1.85;letter-spacing:.03em;
}
.rc-msg__text em{
  font-style:normal;display:inline-block;margin-top:.3em;
  border-bottom:6px solid rgba(255,255,255,.4);padding-bottom:.05em;
}
.rc-msg__note{
  margin-top:clamp(28px,4vw,44px);
  font-size:clamp(13.5px,1.4vw,16px);line-height:2.2;opacity:.9;
}

/* ============ ③ 仕事を知る ============ */
.rc-work{max-width:var(--maxw);margin:0 auto;padding:clamp(80px,10vw,130px) 32px;}
.rc-work__item{
  display:flex;align-items:center;gap:clamp(28px,5vw,72px);
  margin-bottom:clamp(60px,8vw,110px);
}
.rc-work__item:last-child{margin-bottom:0;}
.rc-work__item--rev{flex-direction:row-reverse;}
.rc-work__pic{flex:0 0 52%;position:relative;}
.rc-work__pic img{width:100%;aspect-ratio:3/2;object-fit:cover;}
.rc-work__body{flex:1 1 auto;min-width:0;}
.rc-work__num{
  display:block;font-size:clamp(40px,5vw,66px);font-weight:900;line-height:1;
  color:rgba(166,25,46,.16);letter-spacing:.02em;
}
.rc-work__ttl{
  margin:-.18em 0 20px;font-weight:900;
  font-size:clamp(30px,4vw,54px);letter-spacing:.04em;line-height:1.3;
}
.rc-work__body p{font-size:14.5px;line-height:2.1;letter-spacing:.02em;margin-bottom:14px;}
.rc-work__small{
  display:inline-block;margin:6px 0 0 !important;padding:7px 14px;
  background:var(--paper);font-size:13px !important;color:var(--gray);line-height:1.7 !important;
}

/* ============ ④ 人を知る ============ */
.rc-people{background:var(--ink);color:#fff;padding:clamp(80px,10vw,130px) 32px;}
.rc-people__list{
  max-width:var(--maxw);margin:0 auto;
  display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px);
}
.rc-people__list figure{overflow:hidden;}
.rc-people__list img{
  width:100%;aspect-ratio:4/5;object-fit:cover;
  transition:transform .6s var(--ease);
}
.rc-people__list li:hover img{transform:scale(1.05);}
.rc-people__quote{
  margin-top:22px;font-weight:900;font-size:clamp(17px,1.9vw,22px);
  line-height:1.65;letter-spacing:.02em;
}
.rc-people__meta{margin-top:14px;display:flex;flex-direction:column;gap:4px;}
.rc-people__role{font-size:12px;letter-spacing:.1em;color:var(--enji-lite);font-weight:700;}
.rc-people__name{font-size:13.5px;opacity:.75;}

/* ============ ⑤ 数字で見る ============ */
.rc-num{max-width:var(--maxw);margin:0 auto;padding:clamp(80px,10vw,130px) 32px;}
.rc-num__list{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(15,20,25,.12);}
.rc-num__list li{background:#fff;padding:clamp(28px,3.4vw,42px) 16px;text-align:center;}
.rc-num__label{display:block;font-size:12.5px;font-weight:700;letter-spacing:.14em;color:var(--gray);}
.rc-num__fig{
  display:block;margin-top:12px;font-weight:900;line-height:1;
  font-size:clamp(42px,5.6vw,72px);color:var(--enji);letter-spacing:.01em;
}
.rc-num__fig i{font-style:normal;font-size:.32em;color:var(--ink);margin-left:.24em;}

/* ============ ⑥ 募集要項 ============ */
.rc-jobs{background:var(--paper);padding:clamp(80px,10vw,130px) 32px;}
.rc-jobs > *{max-width:var(--maxw);margin-left:auto;margin-right:auto;}
.rc-jobs__tabs{display:flex;gap:10px;justify-content:center;margin-bottom:34px;flex-wrap:wrap;}
.rc-jobs__tab{
  padding:14px 36px;border:2px solid var(--enji);background:#fff;color:var(--enji);
  font-family:var(--sans);font-size:14.5px;font-weight:900;letter-spacing:.08em;cursor:pointer;
  transition:background .28s var(--ease),color .28s var(--ease);
}
.rc-jobs__tab:hover{background:rgba(166,25,46,.08);}
.rc-jobs__tab.is-active{background:var(--enji);color:#fff;}
.rc-table{width:100%;border-collapse:collapse;background:#fff;}
.rc-table th,.rc-table td{
  border-bottom:1px solid rgba(15,20,25,.1);padding:20px 22px;
  text-align:left;vertical-align:top;font-size:14.5px;line-height:1.95;
}
.rc-table th{width:200px;font-weight:900;letter-spacing:.06em;background:rgba(15,20,25,.03);white-space:nowrap;}
.rc-link{color:var(--enji);font-weight:700;border-bottom:1px solid currentColor;}

/* ============ ⑦ エントリー ============ */
.rc-entry{
  background:var(--enji);color:#fff;text-align:center;
  /* 上下の和柄に文字やボタンが重ならないように、柄の高さぶんの余白をとる。
     柄の高さ＝枠の幅に対して 上11.6% ／ 下12.6%（画像 1993×231 と 1993×251 より）。
     画面が広くなると柄も大きくなるので、vw で追従させています。 */
  padding:calc(11.6vw + 34px) 32px calc(12.6vw + 38px);
  position:relative;overflow:hidden;
}
/* 背景の和柄。assets/rc_entry_bg.png（金色・背景透過）を置くと自動で出ます。
   Claudeが黒い線画を金色・透過に変換して置きます。 */
/* 和柄は3段組み（麻の葉／中央の帯／七宝）。枠の高さが変わっても段がズレないよう、
   上の帯は上端に、下の帯は下端に貼り付けて、中央は文字のために空ける。 */
.rc-entry::before{
  content:"";position:absolute;inset:0;
  background:
    url("../assets/rc_entry_top.png")    center top    / 100% auto no-repeat,
    url("../assets/rc_entry_bottom.png") center bottom / 100% auto no-repeat;
  opacity:.5;pointer-events:none;
}
.rc-entry::after{
  content:"";position:absolute;left:-10%;bottom:-40%;
  width:min(680px,72vw);aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.06);
  pointer-events:none;
}
.rc-entry__inner{position:relative;max-width:760px;margin:0 auto;}
.rc-entry__lead{font-weight:900;font-size:clamp(28px,4.4vw,58px);line-height:1.5;letter-spacing:.03em;}
.rc-entry__note{margin-top:24px;font-size:clamp(13.5px,1.4vw,16px);line-height:2.1;opacity:.92;}
.rc-entry__btn{
  display:inline-flex;align-items:center;justify-content:center;gap:16px;
  margin-top:40px;min-width:min(380px,100%);padding:22px 40px;
  background:#fff;color:var(--enji);font-size:17px;font-weight:900;letter-spacing:.1em;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
.rc-entry__btn:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(0,0,0,.24);}
.rc-entry__tel{margin-top:26px;font-size:13px;letter-spacing:.04em;opacity:.85;}

/* ============ フッター（共通フッターの最低限のスタイル） ============ */
.rc .site-footer{background:#1a1a1a;color:#e8e5e0;padding:64px 32px 26px;}
.rc .footer-inner{max-width:var(--maxw);margin:0 auto;display:flex;gap:52px;flex-wrap:wrap;}
.rc .footer-brand{flex:0 0 260px;}
.rc .footer-logo{width:180px;}
.rc .footer-addr,.rc .footer-tel{font-size:13px;line-height:1.8;color:#bdb9b2;}
.rc .footer-addr{margin:18px 0 0;}
.rc .footer-tel{margin:8px 0 28px;}
.rc .btn-contact{
  display:inline-block;border:1px solid #6a665f;border-radius:28px;padding:11px 34px;
  font-size:14px;letter-spacing:2px;color:#fff;transition:background .3s,color .3s;
}
.rc .btn-contact:hover{background:#fff;color:var(--ink);}
.rc .footer-nav{display:flex;gap:52px;flex:1;flex-wrap:wrap;}
.rc .footer-col{min-width:130px;}
.rc .footer-col__head{font-size:14px;font-weight:700;letter-spacing:1px;margin-bottom:14px;}
.rc .footer-col__head--mt{margin-top:26px;}
.rc .footer-col li{font-size:13px;line-height:2.1;color:#bdb9b2;}
.rc .footer-col a:hover{color:#fff;}
.rc .footer-copy{text-align:center;font-size:11.5px;color:#8b867e;margin:52px 0 0;}

/* ============ タブレット ============ */
@media (max-width:1024px){
  .rc-head__nav{display:none;}
  .rc-people__list{grid-template-columns:repeat(2,1fr);}
  .rc-num__list{grid-template-columns:repeat(2,1fr);}
}

/* ============ スマホ ============ */
@media (max-width:768px){
  .rc{--head-h:62px;}
  .rc-head{padding:0 16px;gap:12px;}
  .rc-head__logo img{height:24px;}
  .rc-head__tag{font-size:10px;padding:3px 8px;}
  .rc-head__entry{margin-left:auto;padding:10px 18px;font-size:11.5px;letter-spacing:.1em;}
  .rc-head__toggle{display:block;}
  .rc-head__nav{
    display:block;position:fixed;inset:var(--head-h) 0 auto 0;background:#fff;
    max-height:0;overflow:hidden;transition:max-height .35s var(--ease);
    box-shadow:0 10px 24px rgba(0,0,0,.12);
  }
  .rc-head.is-open .rc-head__nav{max-height:70vh;}
  .rc-head__nav ul{flex-direction:column;gap:0;padding:6px 20px 18px;}
  .rc-head__nav li{border-bottom:1px solid rgba(15,20,25,.08);}
  .rc-head__nav a{display:block;padding:15px 2px;font-size:15px;}

  .rc-hero{height:88svh;min-height:480px;}
  /* スマホは中央しか映らないので、人物が来る位置に寄せる */
  .rc-hero__img{object-position:64% center;}
  .rc-hero__inner{padding:0 22px;}
  .rc-hero__catch{font-size:8.6vw;line-height:1.38;}

  .rc-msg{padding:64px 22px;}
  .rc-entry{padding:calc(11.6vw + 26px) 22px calc(12.6vw + 30px);}
  .rc-msg__text{font-size:5.4vw;line-height:1.85;}
  .rc-msg__text em{border-bottom-width:4px;}

  .rc-work{padding:64px 22px;}
  .rc-work__item,.rc-work__item--rev{flex-direction:column;gap:20px;margin-bottom:56px;}
  .rc-work__pic{flex:none;width:100%;}
  .rc-work__ttl{font-size:8vw;}

  .rc-people,.rc-num{padding:64px 22px;}
  .rc-people__list{grid-template-columns:1fr;gap:34px;}
  .rc-num__list{grid-template-columns:repeat(2,1fr);}

  .rc-jobs{padding:64px 18px;}
  .rc-jobs__tab{flex:1 1 44%;padding:13px 10px;font-size:13.5px;}
  .rc-table th,.rc-table td{display:block;width:auto;white-space:normal;}
  .rc-table th{border-bottom:0;padding:16px 16px 4px;}
  .rc-table td{padding:0 16px 16px;}

  .rc-entry__btn{width:100%;padding:18px 20px;font-size:15px;}

  .rc .site-footer{padding:44px 20px 22px;}
  .rc .footer-inner{flex-direction:column;gap:32px;}
  .rc .footer-nav{gap:22px 28px;}
  .rc .footer-col{min-width:40%;flex:1 1 40%;}
}

/* ===================================================================
   エントリー欄：正社員／パート・アルバイトの2枚
   =================================================================== */
.rc-entry__pick{
  display:flex;gap:clamp(16px,2.4vw,28px);justify-content:center;flex-wrap:wrap;
  margin:clamp(28px,3.4vw,40px) 0 0;
}
.rc-entry__card{
  flex:1 1 300px;max-width:380px;
  padding:clamp(22px,2.6vw,30px) clamp(18px,2.2vw,26px);
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.34);
  display:flex;flex-direction:column;align-items:center;gap:12px;
}
.rc-entry__cardttl{
  margin:0;font-size:clamp(17px,2vw,21px);font-weight:900;letter-spacing:.1em;color:#fff;
}
.rc-entry__cardnote{
  margin:0;font-size:12.5px;line-height:1.8;letter-spacing:.04em;color:rgba(255,255,255,.82);text-align:center;
}
.rc-entry__select{
  width:100%;padding:12px 14px;
  background:#fff;border:0;border-radius:2px;
  font-family:var(--sans);font-size:15px;font-weight:700;color:var(--ink);
  cursor:pointer;
}
.rc-entry__pick .rc-entry__btn{margin:4px 0 0;width:100%;text-align:center;}
.rc-entry__btn.is-disabled{
  opacity:.45;cursor:not-allowed;
}

@media (max-width:768px){
  .rc-entry__pick{flex-direction:column;align-items:stretch;}
  .rc-entry__card{max-width:none;}
}
