/* メンバー募集ページ（/recruit.html）— 募集ポスターの色とふちどり文字に合わせたデザイン */
.recruit-page{--rc-pink:#f48bb0;--rc-pink-deep:#e2669a;--rc-lav:#a994e6;--rc-lav-deep:#7f69d6;--rc-paper:#fdf7fc;--rc-round:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;padding-bottom:5rem}
.recruit-page .eyebrow{color:var(--rc-lav-deep)}

/* ふちどり文字（ピンク＋白フチ＋ピンク外フチ） */
.rc-outline{display:inline-block;font-family:var(--rc-round);font-weight:800;color:var(--rc-pink);-webkit-text-stroke:.11em #fff;paint-order:stroke fill;letter-spacing:.02em;line-height:1.15;filter:drop-shadow(.04em 0 0 var(--rc-pink)) drop-shadow(-.04em 0 0 var(--rc-pink)) drop-shadow(0 .04em 0 var(--rc-pink)) drop-shadow(0 -.04em 0 var(--rc-pink)) drop-shadow(0 .14em .18em rgba(226,102,154,.18))}

/* ドット模様（ポスター四隅の飾り） */
.rc-dots{position:absolute;z-index:-1;width:8.5rem;height:6.5rem;pointer-events:none;background-image:radial-gradient(circle,rgba(169,148,230,.45) .32rem,transparent .36rem);background-size:1.75rem 1.6rem;opacity:.85}
.rc-dots-tr{top:1.75rem;right:1.75rem}
.rc-dots-bl{bottom:1.75rem;left:1.75rem}

/* ---- ヒーロー ---- */
.rc-hero{padding-top:clamp(5.5rem,9vw,7.5rem)}
.rc-hero-card{position:relative;overflow:hidden;isolation:isolate;text-align:center;padding:clamp(2.5rem,6vw,4.5rem) clamp(1.25rem,5vw,4rem) clamp(2.5rem,5vw,3.75rem);border:.375rem solid #fff;border-radius:2.75rem;background:linear-gradient(180deg,#faf3fb,#f7e8fb);box-shadow:0 1.25rem 3.5rem rgba(129,97,170,.16)}
.rc-chip{display:inline-block;padding:.375rem 1.25rem;border-radius:6rem;background:var(--rc-pink);color:#fff;font-family:var(--rc-round);font-weight:800;font-size:.8125rem;letter-spacing:.18em}
.rc-hero-logo{width:min(26rem,78%);margin:1.5rem auto .75rem;filter:drop-shadow(0 .5rem .75rem rgba(120,90,160,.18))}
.rc-hero-catch{font-weight:700;color:var(--muted);font-size:clamp(.9375rem,1.8vw,1.125rem);line-height:1.9}
.rc-hero-catch b{font-weight:800}
.is-pink{color:var(--rc-pink-deep)}.is-purple{color:var(--rc-lav-deep)}
.rc-hero-title{margin:1.5rem 0 .25rem;letter-spacing:0;line-height:1.1}
.rc-hero-sub{display:block;width:max-content;margin:0 auto .5rem;padding:.25rem 1.25rem;border-radius:6rem;background:#fff;color:var(--rc-lav-deep);font-family:var(--rc-round);font-size:clamp(1.125rem,2.4vw,1.5rem);letter-spacing:.2em;box-shadow:0 .25rem .75rem rgba(129,97,170,.12)}
.rc-hero-title .rc-outline{font-size:clamp(2.5rem,8.6vw,6.25rem)}
.rc-hero-en{font-size:clamp(1rem,2vw,1.375rem);letter-spacing:.12em;color:#8b8199;font-weight:400;margin-top:.5rem}

.rc-status{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:.5rem 1rem;margin-top:1.75rem;padding:.625rem 1.5rem;border-radius:6rem;background:#fff;box-shadow:0 .5rem 1.5rem rgba(129,97,170,.12)}
.rc-status strong{font-family:var(--rc-round);color:var(--rc-pink-deep);letter-spacing:.1em}
.rc-status-dot{width:.625rem;height:.625rem;border-radius:50%;background:#4fcf9c;box-shadow:0 0 0 0 rgba(79,207,156,.55);animation:rc-pulse 1.8s ease-out infinite}
.rc-status.is-closed .rc-status-dot{background:#b5b0be;animation:none}
.rc-status.is-closed strong{color:#8d8993}
.rc-status-period{display:inline-flex;align-items:center;gap:.625rem;font-weight:700;color:var(--ink)}
.rc-status-key{padding:.125rem .75rem;border-radius:6rem;background:var(--rc-lav);color:#fff;font-size:.75rem;letter-spacing:.08em}
@keyframes rc-pulse{70%{box-shadow:0 0 0 .625rem rgba(79,207,156,0)}100%{box-shadow:0 0 0 0 rgba(79,207,156,0)}}

.rc-hero-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:.875rem;margin-top:1.75rem}
.rc-btn{min-width:14rem;min-height:3.375rem;gap:1rem;color:#fff;font-size:.9375rem;border:0}
.rc-btn-cast{background:linear-gradient(110deg,#f7a0c0,var(--rc-pink-deep));box-shadow:0 .5rem 1.5rem rgba(226,102,154,.3)}
.rc-btn-staff{background:linear-gradient(110deg,#bfaef0,var(--rc-lav-deep));box-shadow:0 .5rem 1.5rem rgba(127,105,214,.3)}
.rc-btn.is-disabled{background:#ece8f3;color:#8d8798;box-shadow:none;cursor:default;transform:none}
.rc-scroll{display:inline-flex;align-items:center;gap:.625rem;margin-top:2rem;padding:.75rem 1.75rem;border:.125rem solid #f6cfe0;border-radius:6rem;background:#fffafd;color:var(--ink);font-weight:700;font-size:.9375rem;transition:transform .25s,border-color .25s}
.rc-scroll:hover{transform:translateY(.1875rem);border-color:var(--rc-pink)}
.rc-scroll .direction{color:var(--rc-pink-deep)}

/* ---- 各セクション共通 ---- */
.rc-section{padding-top:clamp(5rem,9vw,7.5rem)}
.rc-heading{display:flex;align-items:flex-end;gap:1.25rem;margin-bottom:2.25rem;padding-bottom:1rem;border-bottom:.125rem dashed rgba(169,148,230,.4)}
.rc-heading h2{font-family:var(--rc-round);font-size:clamp(1.625rem,3.4vw,2.375rem);letter-spacing:.04em;line-height:1.35;margin-top:.25rem}
.rc-num{font-family:var(--rc-round);font-weight:800;font-size:clamp(3.25rem,7vw,5rem);line-height:.85;color:transparent;-webkit-text-stroke:.125rem var(--rc-pink);letter-spacing:-.02em}
.rc-section:nth-of-type(odd) .rc-num{-webkit-text-stroke-color:var(--rc-lav)}
.rc-welcome{margin-left:auto;align-self:center;padding:.375rem 1.125rem;border:.125rem solid var(--rc-pink);border-radius:6rem;background:#fff;color:var(--rc-pink-deep);font-family:var(--rc-round);font-weight:800;font-size:.875rem;transform:rotate(3deg);white-space:nowrap}

/* 概要 */
.rc-overview{display:grid;grid-template-columns:1.55fr 1fr;gap:1.5rem;align-items:stretch}
.rc-overview-text{padding:clamp(1.75rem,4vw,2.75rem);border-radius:1.75rem;border-left:.4rem solid var(--rc-pink);background:#fff}
.rc-overview-text p{color:var(--muted);line-height:2}
.rc-overview-text strong{color:var(--ink)}
.rc-overview-lead{font-family:var(--rc-round);font-size:clamp(1.25rem,2.4vw,1.625rem);color:var(--ink)!important;line-height:1.6!important;margin-bottom:1.5rem}
.rc-overview-lead mark{background:linear-gradient(transparent 58%,#ffd5e5 58%);color:inherit;padding:0 .1em}
.rc-note{font-size:.8125rem;color:#8d8798!important;margin-top:1.5rem!important}
.rc-points{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.rc-points li{position:relative;padding:1.375rem 1.5rem 1.375rem 4.5rem;border-radius:1.5rem;background:#fff}
.rc-point-icon{position:absolute;left:1.25rem;top:1.375rem;display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;background:#ffe9f1;color:var(--rc-pink-deep);font-size:1.125rem}
.rc-points li:nth-child(2) .rc-point-icon{background:#efeaff;color:var(--rc-lav-deep)}
.rc-points li:nth-child(3) .rc-point-icon{background:#fff4d6;color:#e3a62a}
.rc-points h3{font-size:1.0625rem}
.rc-points p{font-size:.875rem;color:var(--muted);margin-top:.25rem}
.rc-favorite{margin-top:1.5rem;padding:1.75rem clamp(1.5rem,4vw,2.5rem);border-radius:1.75rem;background:linear-gradient(115deg,#fff5fa,#f4f0ff);text-align:center}
.rc-favorite-label{display:inline-block;padding:.25rem 1rem;border-radius:6rem;background:var(--rc-lav);color:#fff;font-weight:800;font-size:.8125rem;letter-spacing:.08em}
.rc-favorite-items{display:flex;justify-content:center;flex-wrap:wrap;gap:.875rem;margin:1.125rem 0}
.rc-favorite-items div{display:inline-flex;align-items:center;gap:.625rem;padding:.75rem 1.375rem;border-radius:1.25rem;background:#fff;box-shadow:0 .375rem 1rem rgba(129,97,170,.1)}
.rc-favorite-items span{color:var(--rc-pink-deep);font-size:1.25rem}
.rc-favorite-items strong{font-family:var(--rc-round);font-size:1.0625rem}
.rc-favorite>p:last-child{color:var(--muted);font-size:.9375rem}

/* 募集職種 */
.rc-roles{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.rc-role{position:relative;overflow:hidden;padding:2.25rem clamp(1.5rem,4vw,2.5rem) 2rem;border-radius:1.75rem;background:#fff;border:.0625rem solid rgba(128,105,217,.14);box-shadow:0 .7rem 1.8rem rgba(86,73,112,.11);transition:transform .3s,box-shadow .3s}
.rc-role:hover{transform:translateY(-.3rem);box-shadow:0 1.15rem 2.4rem rgba(86,73,112,.16)}
.rc-role::before{content:"";position:absolute;inset:0 0 auto;height:.5rem;background:var(--rc-pink)}
.rc-role.is-staff::before{background:var(--rc-lav)}
.rc-role-en{position:absolute;right:1.25rem;top:.75rem;font:800 clamp(3rem,6vw,4.5rem)/1 var(--rc-round);color:#fdeef4;letter-spacing:.02em;pointer-events:none}
.rc-role.is-staff .rc-role-en{color:#f1edff}
.rc-role h3{position:relative;font-family:var(--rc-round);font-size:clamp(1.75rem,3.2vw,2.25rem);color:var(--rc-pink-deep)}
.rc-role.is-staff h3{color:var(--rc-lav-deep)}
.rc-role-catch{position:relative;margin:.75rem 0 1rem;font-weight:800;line-height:1.75}
.rc-role>p:not(.rc-role-catch):not(.rc-role-en){color:var(--muted);font-size:.9375rem}
.rc-role-link{display:inline-flex;align-items:center;gap:.625rem;margin-top:1.25rem;color:var(--rc-pink-deep);font-weight:700;font-size:.875rem}
.rc-role.is-staff .rc-role-link{color:var(--rc-lav-deep)}
.rc-role-link .direction{transform:scale(.75)}

/* 応募条件 */
.rc-switch{margin-top:0}
.rc-switch .visit-switch-button.is-active{background:linear-gradient(110deg,#f7a0c0,var(--rc-pink-deep));box-shadow:0 .45rem 1.1rem rgba(226,102,154,.25)}
.rc-switch .visit-switch-button#req-tab-staff.is-active{background:linear-gradient(110deg,#bfaef0,var(--rc-lav-deep));box-shadow:0 .45rem 1.1rem rgba(127,105,214,.25)}
.rc-req{list-style:none;counter-reset:req;margin:0 auto;padding:clamp(1.25rem,3vw,2rem);max-width:50rem;display:grid;gap:.625rem;border-radius:1.75rem;background:#fff;border:.0625rem solid rgba(128,105,217,.14);box-shadow:0 .7rem 1.8rem rgba(86,73,112,.11)}
.rc-req li{counter-increment:req;display:flex;align-items:center;gap:1rem;padding:.875rem 1.125rem;border-radius:1rem;background:#fdf6fa;font-weight:700}
.rc-req.is-staff li{background:#f7f4ff}
.rc-req li::before{content:counter(req,decimal-leading-zero);flex:none;display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:50%;background:var(--rc-pink);color:#fff;font:800 .8125rem/1 var(--rc-round)}
.rc-req.is-staff li::before{background:var(--rc-lav)}

.rc-bonus{max-width:50rem;margin:1rem auto 0;padding:1.25rem clamp(1.25rem,3vw,2rem);border:.125rem dashed rgba(244,139,176,.55);border-radius:1.5rem;background:#fffafd}
.rc-bonus-label{display:inline-block;padding:.125rem .875rem;border-radius:6rem;background:#ffd85d;color:#6b4e00;font-weight:800;font-size:.8125rem;letter-spacing:.12em}
.rc-bonus ul{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.625rem}
.rc-bonus li{padding:.5rem 1.125rem;border-radius:6rem;background:#fff;box-shadow:0 .25rem .75rem rgba(129,97,170,.1);font-weight:700}
.rc-bonus li::before{content:"★";margin-right:.5rem;color:#f0b62a}
.rc-bonus-note{margin-top:.75rem;font-size:.8125rem;color:#8d8798}

/* 活動について */
.rc-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:0}
.rc-facts div{padding:1.5rem 1.375rem;border-radius:1.5rem;background:#fff;border-top:.375rem solid var(--rc-pink)}
.rc-facts div:nth-child(even){border-top-color:var(--rc-lav)}
.rc-facts dt{font-size:.8125rem;font-weight:800;letter-spacing:.08em;color:var(--rc-lav-deep)}
.rc-facts dd{margin:.5rem 0 0}
.rc-facts strong{display:block;font-family:var(--rc-round);font-size:1.3125rem;line-height:1.4;color:var(--ink)}
.rc-facts div:first-child strong{color:var(--rc-pink-deep)}
.rc-facts span{display:block;margin-top:.375rem;font-size:.8125rem;color:var(--muted);line-height:1.7}

/* 選考の流れ */
.rc-flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.75rem}
.rc-flow li{position:relative;padding:1.5rem 1.375rem;border-radius:1.5rem;background:#fff;text-align:center}
.rc-flow li:not(:last-child)::after{content:"";position:absolute;right:-1.375rem;top:50%;width:0;height:0;border-top:.5rem solid transparent;border-bottom:.5rem solid transparent;border-left:.75rem solid var(--rc-pink);transform:translateY(-50%)}
.rc-flow-step{display:inline-block;padding:.125rem .875rem;border-radius:6rem;background:#ffe9f1;color:var(--rc-pink-deep);font:800 .75rem/1.8 var(--rc-round);letter-spacing:.12em}
.rc-flow li:nth-child(even) .rc-flow-step{background:#efeaff;color:var(--rc-lav-deep)}
.rc-flow h3{font-family:var(--rc-round);font-size:1.1875rem;margin:.75rem 0 .5rem}
.rc-flow p{font-size:.8125rem;color:var(--muted);line-height:1.8;text-align:left}
.rc-flow-note{margin-top:1.25rem;font-size:.8125rem;color:#8d8798;text-align:right}

/* 応募 */
.rc-entry{position:relative;overflow:hidden;isolation:isolate;text-align:center;padding:clamp(2.5rem,6vw,4rem) clamp(1.25rem,5vw,3rem);border:.375rem solid #fff;border-radius:2.75rem;background:linear-gradient(180deg,#faf3fb,#f7e8fb);box-shadow:0 1.25rem 3.5rem rgba(129,97,170,.16)}
.rc-entry h2{margin-top:.5rem;letter-spacing:0}
.rc-entry h2 .rc-outline{font-size:clamp(2.25rem,6vw,4rem)}
.rc-entry-lead{margin-top:1rem;font-weight:700;color:var(--muted)}
.rc-entry-period{display:inline-flex;align-items:center;gap:.875rem;margin:1.5rem 0 0;padding:.5rem 1.5rem;border-radius:6rem;background:#fff}
.rc-entry-period dt{padding:.125rem .75rem;border-radius:6rem;background:var(--rc-lav);color:#fff;font-size:.75rem;font-weight:800}
.rc-entry-period dd{margin:0;font-weight:800;font-size:1.0625rem}
.rc-entry-note{margin-top:1rem;font-size:.8125rem;color:#8d8798}
.rc-entry-contact{margin-top:.5rem;font-size:.875rem;color:var(--muted)}
.rc-entry-contact a{color:var(--rc-lav-deep);font-weight:700;text-decoration:underline;text-underline-offset:.2rem}

.pc-only{display:inline}

@media(max-width:62rem){
  .rc-overview{grid-template-columns:1fr}
  .rc-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rc-flow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rc-flow li:nth-child(2)::after{display:none}
}
@media(max-width:40rem){
  .rc-hero-card,.rc-entry{border-radius:1.75rem;border-width:.25rem}
  .rc-dots{width:5.5rem;height:4.5rem;background-size:1.25rem 1.125rem;background-image:radial-gradient(circle,rgba(169,148,230,.4) .22rem,transparent .26rem)}
  .rc-dots-tr{top:1rem;right:1rem}.rc-dots-bl{bottom:1rem;left:1rem}
  .rc-btn{width:100%;min-width:0}
  .rc-hero-actions{flex-direction:column;align-items:stretch}
  .rc-status{border-radius:1.25rem}
  .rc-heading{flex-wrap:wrap;gap:.875rem}
  .rc-welcome{margin-left:0}
  .rc-roles{grid-template-columns:1fr}
  .rc-facts{grid-template-columns:1fr}
  .rc-flow{grid-template-columns:1fr;gap:1.5rem}
  .rc-flow li:not(:last-child)::after{display:block;right:auto;left:50%;top:auto;bottom:-1.25rem;border-left:.5rem solid transparent;border-right:.5rem solid transparent;border-top:.75rem solid var(--rc-pink);border-bottom:0;transform:translateX(-50%)}
  .rc-flow li:nth-child(2)::after{display:block}
  .rc-flow-note{text-align:left}
  .rc-req li{padding:.75rem .875rem;gap:.75rem;font-size:.9375rem}
  .pc-only{display:none}
}

/* 小さいラベルの文字を上下中央にそろえる */
.rc-chip,.rc-status-key,.rc-favorite-label,.rc-bonus-label,.rc-flow-step,.rc-entry-period dt,.rc-welcome{display:inline-flex;align-items:center;justify-content:center;line-height:1.2;min-height:1.75rem}
.rc-chip{min-height:2rem}
