@charset "utf-8";
/* =========================================================
   募集要項 詳細テンプレート（Figma 613:31504）
   1rem = 100 design-px。ページ接頭辞 rcd-
   ========================================================= */
.rcd { position: relative; }
.rcd-tri { position: absolute; left: 0; top: 0; width: 3.18rem; height: 2.59rem; background: rgba(255,255,255,.12); clip-path: polygon(0 0, 100% 0, 0 100%); pointer-events: none; }
.crumb.rcd-crumb { position: relative; margin-top: .43rem; background: none; }

/* ---------- 見出し＋表（Frame 895：1178×907。下余白 130） ---------- */
.rcd-top { position: relative; display: flex; flex-direction: column; align-items: center; gap: .70rem; margin-top: .73rem; padding-bottom: 1.30rem; }
.rcd-head { display: flex; align-items: flex-start; justify-content: center; } /* Figma 最新：auto-layout gap −1（文字ブロック 570＋画像 535 が 1px 重なる） */
.rcd-head__txt { display: flex; flex-direction: column; align-items: flex-start; gap: .27rem; }
.rcd-head__h { width: 5.70rem; display: flex; flex-direction: column; align-items: flex-start; gap: .22rem; }
.rcd-head__label { display: flex; align-items: center; height: .28rem; font-weight: 500; font-size: .18rem; line-height: .27692rem; letter-spacing: .0126rem; white-space: nowrap; }
.rcd-head__ttl { width: 5.70rem; font-weight: 700; font-size: .43424rem; line-height: .64rem; letter-spacing: .030397rem; }
.rcd-head__lead { width: 5.04rem; font-weight: 500; font-size: .16rem; line-height: .25rem; letter-spacing: .0112rem; }
.rcd-head__img { flex: none; margin-left: -.01rem; width: 5.35rem; height: 2.95rem; background: #c4c4c4; overflow: hidden; }
.rcd-head__img img { width: 100%; height: 100%; object-fit: cover; }

/* 募集要項の表（Frame 1321321266：143 + 855。各セルに 1px の白枠＝隣り合うと 2px） */
.rcd-tbl { width: 9.98rem; display: flex; flex-direction: column; }
.rcd-tbl > div { display: flex; align-items: stretch; }
.rcd-tbl dt {
  flex: none; width: 1.43rem; display: flex; align-items: center; padding: .12rem .29rem;
  background: #4b4344; box-shadow: inset 0 0 0 .01rem #fff;
  font-weight: 700; font-size: .16rem; line-height: .25rem; letter-spacing: .0112rem; white-space: nowrap;
}
.rcd-tbl dd {
  flex: 1 1 0; min-width: 0; display: flex; align-items: center; padding: .12rem .29rem;
  background: #352e2e; box-shadow: inset 0 0 0 .01rem #fff;
  font-weight: 400; font-size: .16rem; line-height: .25rem; letter-spacing: .0112rem;
}

/* ---------- エントリー（Frame 1321321482：1392） ---------- */
.rcd-entry { position: relative; display: flex; flex-direction: column; align-items: center; gap: .70rem; padding: .70rem 0; }
.rcd-bh { width: 11rem; display: flex; align-items: stretch; gap: .19rem; }
.rcd-bh::before { content: ""; flex: none; width: .10rem; background: #f1a36e; }
.rcd-bh > span { font-weight: 700; font-size: .38rem; line-height: .64rem; letter-spacing: .0266rem; white-space: nowrap; color: #fff; }

.rcd-form { width: 8.00rem; display: flex; flex-direction: column; align-items: center; gap: .44rem; padding: .42rem .52rem; background: #4b4344; }
.rcd-form__grp { width: 6.96rem; display: flex; flex-direction: column; align-items: flex-start; gap: .36rem; }
.rcd-row, .rcd-chk { position: relative; width: 100%; display: flex; align-items: flex-start; padding-bottom: .36rem; }
.rcd-row::after, .rcd-chk::after { content: ""; position: absolute; left: 0; right: 0; bottom: -.005rem; height: .01rem; background: #fff; } /* Vector 108：1px の白線 */
.rcd-row { gap: .55rem; }
.rcd-row__lbl, .rcd-chk__lbl { display: flex; align-items: center; gap: .16rem; }
.rcd-row__lbl { flex: none; width: 1.82rem; height: .24rem; }
.rcd-row__lbl span, .rcd-chk__lbl span { font-weight: 700; font-size: .16rem; letter-spacing: .0112rem; white-space: nowrap; }
.rcd-row__lbl span { line-height: .24rem; }
.rcd-row em, .rcd-chk em {
  flex: none; display: flex; align-items: center; justify-content: center; height: .24rem; padding: 0 .07rem; border-radius: .04rem; background: #fd6a05;
  font-style: normal; font-weight: 500; font-size: .14rem; line-height: .18rem; letter-spacing: .0098rem; color: #fff; white-space: nowrap;
}
.rcd-row em.opt { background: #9f9f9f; }

/* テキストボックス（331×52 / 枠 1px 白 / 角丸 8 / #4d3529） */
.rcd-in {
  flex: none; width: 3.31rem; height: .52rem; padding: 0 .14rem; border: 0; border-radius: .08rem;
  background: #4d3529; box-shadow: inset 0 0 0 .01rem #fff; color: #fff;
  font-family: inherit; font-weight: 400; font-size: .15rem; line-height: .32rem; letter-spacing: 0;
}
.rcd-in:focus, .rcd-file:focus-within { outline: .02rem solid #f1a36e; outline-offset: .02rem; }
.rcd-in::placeholder { color: #fff; opacity: 1; }
.rcd-ta { display: block; height: .84rem; padding: .10rem .14rem; resize: vertical; }
.rcd-file { display: flex; align-items: center; cursor: pointer; }
.rcd-file input { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.rcd-file span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ラジオ（応募する働き方）。旧チェックボックスの見た目を流用 */
.rcd-chk { gap: .37rem; }
.rcd-chk__lbl { flex: none; width: 1.70rem; flex-direction: column; align-items: flex-start; }
.rcd-chk__lbl span { line-height: .28rem; white-space: nowrap; }
.rcd-chk__col { display: flex; flex-direction: column; align-items: flex-start; gap: .17rem; }
.rcd-chk label { display: flex; align-items: flex-start; gap: .16rem; cursor: pointer; }
.rcd-chk input {
  flex: none; appearance: none; -webkit-appearance: none; width: .19rem; height: .19rem; margin: 0; border-radius: 0;
  box-shadow: inset 0 0 0 .02rem #fff; background: transparent; cursor: pointer;
}
.rcd-chk input:focus-visible { outline: .02rem solid #f1a36e; outline-offset: .02rem; }
.rcd-chk label span { min-height: .20rem; font-size: .16rem; line-height: .19rem; letter-spacing: .024rem; white-space: nowrap; }

.rcd-agree { display: flex; align-items: center; height: .24rem; font-size: .16rem; line-height: .24rem; letter-spacing: .0112rem; white-space: nowrap; }
.rcd-agree a { color: #f1a36e; text-decoration: underline; text-decoration-thickness: from-font; }

button.rcd-submit { border: 0; font-family: inherit; cursor: pointer; }
.rcd-chk input:checked { background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18.6159 21.1798'%3E%3Cpath d='M0.975 11.961L7.567 18.553L17.612 7.88' fill='none' stroke='%23fff' stroke-width='2.758'/%3E%3C/svg%3E") no-repeat center / 70% auto; } /* Figma に選択状態は無いため、枠はそのまま白いチェックだけ表示（イベント詳細と同じ最低限の推論） */

/* =========================================================
   原稿差し替え（正社員／業務委託の2本立て＋共通エントリー）
   ========================================================= */
.rcd [id] { scroll-margin-top: calc(var(--hdr-h, .77rem) + .20rem); }

/* ページ見出し＋切り替え */
.rcd-intro { position: relative; width: 11rem; margin: .73rem auto 0; display: flex; flex-direction: column; align-items: flex-start; gap: .14rem; }
.rcd-intro__ttl { font-weight: 700; font-size: .43424rem; line-height: .64rem; letter-spacing: .030397rem; }
.rcd-switch { margin-top: .22rem; display: flex; flex-wrap: wrap; gap: .20rem; }
.rcd-switch a {
  display: flex; align-items: center; gap: .14rem; padding: .16rem .32rem; border-radius: .77rem; box-shadow: inset 0 0 0 .02rem #fff;
  font-weight: 700; font-size: .17rem; line-height: .26rem; letter-spacing: .0255rem; color: #fff; transition: background-color .3s, box-shadow .3s;
}
.rcd-switch a::after { content: ""; flex: none; width: .09rem; height: .09rem; margin-top: -.05rem; border-right: .02rem solid currentColor; border-bottom: .02rem solid currentColor; transform: rotate(45deg); }
@media (hover: hover) { .rcd-switch a:hover { background: #fd6a05; box-shadow: inset 0 0 0 .02rem #fd6a05; } }
.rcd-switch a:focus-visible { outline: .02rem solid #f1a36e; outline-offset: .03rem; }

/* 正社員／業務委託の各ブロック */
.rcd-intro + .rcd-top { margin-top: .70rem; }
.rcd-top--2 { margin-top: 0; padding-top: .70rem; }
.rcd-top--2::before { content: ""; position: absolute; top: 0; left: 50%; width: 11rem; height: .01rem; transform: translateX(-50%); background: rgba(255,255,255,.3); }
.rcd-top { padding-bottom: 1.00rem; }
.rcd-tbl dt { width: 1.66rem; }
.rcd-head__lead { width: 5.04rem; line-height: .28rem; }
.rcd-head__ttl { font-size: .36rem; line-height: .54rem; letter-spacing: .0252rem; }

/* フォーム：入力欄＋エラー */
.rcd-fld { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; align-items: stretch; gap: .10rem; }
.rcd-fld .rcd-in { width: 100%; }
.rcd-row__lbl { flex-wrap: wrap; height: auto; min-height: .24rem; row-gap: .06rem; padding-top: .14rem; }
.rcd-row__lbl { width: 2.20rem; }
.rcd-chk__lbl { flex-direction: row; align-items: center; width: 2.20rem; padding-top: 0; }
.rcd-row { gap: .44rem; }
.rcd-chk { gap: .44rem; }
.rcd-ta { height: 1.20rem; line-height: .26rem; }
.rcd-in::placeholder { color: rgba(255,255,255,.6); }
.rcd-err { font-weight: 700; font-size: .14rem; line-height: .22rem; letter-spacing: .0098rem; color: #ffb37a; }
.rcd-in[aria-invalid="true"] { box-shadow: inset 0 0 0 .02rem #ffb37a; }
.rcd-alert { width: 6.96rem; padding: .12rem .18rem; border-radius: .08rem; background: #fff2e6; color: #c24a00; font-weight: 700; font-size: .15rem; line-height: .24rem; }
.rcd-radio label span { line-height: .22rem; }
.rcd-radio input { border-radius: 50%; }
.rcd-chk .rcd-radio input:checked { background: radial-gradient(circle, #fd6a05 0 .045rem, transparent .05rem); }
.rcd-radio input[aria-invalid="true"] { box-shadow: inset 0 0 0 .02rem #ffb37a; }

/* 送信後（静的版：入力チェック後に表示。送信処理は WordPress 化時に接続） */
.rcd-done { width: 8.00rem; padding: .48rem .52rem; background: #4b4344; text-align: center; font-size: .16rem; line-height: .30rem; letter-spacing: .0112rem; }
.rcd-done__ttl { margin-bottom: .14rem; font-weight: 700; font-size: .26rem; line-height: .40rem; color: #f1a36e; }
.rcd-done:focus { outline: none; }
.rcd-form[hidden], .rcd-done[hidden], .rcd-alert[hidden], .rcd-err[hidden] { display: none; }
