/* recruit 固有の変数 */
:root{
  --img-phead:url("../img/p-inst.webp");
}


/* ===== 下層ページ共通 ===== */
.phead{background:var(--deep);color:#fff;position:relative;overflow:hidden;}
.phead::before{content:"";position:absolute;inset:0;background-image:var(--img-phead);background-size:cover;background-position:center 38%;opacity:.3;}
.phead::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,24,48,.55) 0%,rgba(15,24,48,.85) 100%);}
.phead-in{position:relative;z-index:2;max-width:var(--col);margin:0 auto;padding:54px var(--pad) 50px;}
.crumb{font-size:11.5px;font-family:var(--fu);letter-spacing:.04em;opacity:.8;margin:0 0 20px;}
.crumb a{text-decoration:none;opacity:.85;}
.crumb a:hover{opacity:1;text-decoration:underline;}
.crumb span{margin:0 8px;opacity:.55;}
.phead .eyebrow{color:var(--blue-l);margin:0 0 8px;}
.phead h1{font-size:clamp(27px,4.2vw,42px);font-weight:900;letter-spacing:.05em;line-height:1.45;margin:0 0 16px;}
.phead p.pl{font-size:14.5px;line-height:2;margin:0;max-width:680px;opacity:.94;}

/* ===== この仕事のこと ===== */
.rwhat{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.rw{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:24px 22px 26px;}
.rw i{display:block;font-style:normal;font-family:var(--fu);font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--blue);margin:0 0 10px;}
.rw b{display:block;font-size:16px;font-weight:900;color:var(--navy);line-height:1.6;margin:0 0 10px;}
.rw p{font-size:13px;line-height:1.95;color:var(--muted);margin:0;}

/* ===== 1日の流れ ===== */
.rday{max-width:760px;margin:0 auto;counter-reset:rd;}
.rd{display:grid;grid-template-columns:78px 1fr;gap:20px;padding:0 0 26px;position:relative;}
.rd:last-child{padding-bottom:0;}
.rd::before{content:"";position:absolute;left:39px;top:26px;bottom:-4px;width:2px;background:var(--frame);}
.rd:last-child::before{display:none;}
.rd .t{font-family:var(--fu);font-size:13px;font-weight:800;color:var(--navy);background:var(--frame);border-radius:99px;padding:5px 0;text-align:center;height:fit-content;position:relative;z-index:2;}
.rd b{display:block;font-size:14.5px;font-weight:900;margin:2px 0 6px;}
.rd p{font-size:13px;line-height:1.95;color:var(--muted);margin:0;}

/* ===== 応募条件 ===== */
.rreq{max-width:820px;margin:0 auto;}
.rtbl{width:100%;border-collapse:collapse;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface);}
.rtbl th,.rtbl td{text-align:left;font-size:13.5px;line-height:1.95;padding:15px 18px;border-top:1px solid var(--frame);vertical-align:top;}
.rtbl tr:first-child th,.rtbl tr:first-child td{border-top:none;}
.rtbl th{width:160px;font-weight:900;color:var(--navy);background:rgba(43,72,148,.045);white-space:nowrap;}
.rtbl td{color:var(--muted);font-weight:600;}
.rtbl td strong{color:var(--ink);font-weight:800;}
.rtbl ul{margin:0;padding-left:1.25em;}
.rtbl li{margin-bottom:4px;}
.rtbl li:last-child{margin-bottom:0;}

/* 歓迎する人 */
.rwel{display:grid;grid-template-columns:1fr 1fr;gap:12px 22px;margin:0 0 6px;}
.rwel div{display:flex;gap:10px;font-size:13.5px;line-height:1.9;font-weight:700;}
.rwel div::before{content:"";flex:none;width:17px;height:17px;margin-top:5px;border-radius:50%;background:var(--frame);position:relative;}
.rwel div span{flex:1;}
.rwel div::after{content:"";position:absolute;}

/* ===== 選考の流れ ===== */
.rflow{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.rf{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:20px 18px 22px;position:relative;}
.rf i{display:block;font-style:normal;font-family:var(--fu);font-size:11px;font-weight:800;letter-spacing:.1em;color:var(--blue);margin:0 0 8px;}
.rf b{display:block;font-size:14.5px;font-weight:900;color:var(--navy);margin:0 0 7px;}
.rf p{font-size:12.5px;line-height:1.9;color:var(--muted);margin:0;}

/* ===== ステップ ===== */
.cstep{display:grid;grid-template-columns:repeat(3,1fr);gap:0;max-width:560px;margin:0 auto 36px;counter-reset:s;}
.cstep li{list-style:none;text-align:center;position:relative;padding-top:38px;font-size:12.5px;font-weight:900;color:#9aa7bd;}
.cstep li::before{counter-increment:s;content:counter(s);position:absolute;top:0;left:50%;transform:translateX(-50%);width:28px;height:28px;border-radius:50%;background:var(--frame);color:#9aa7bd;font-family:var(--fu);font-size:13px;font-weight:800;line-height:28px;z-index:2;}
.cstep li::after{content:"";position:absolute;top:13px;left:-50%;width:100%;height:2px;background:var(--frame);z-index:1;}
.cstep li:first-child::after{display:none;}
.cstep li[aria-current]{color:var(--navy);}
.cstep li[aria-current]::before{background:var(--navy);color:#fff;}
.cstep li.done{color:var(--navy);}
.cstep li.done::before{background:var(--blue-l);color:var(--deep);}
.cstep li.done::after,.cstep li[aria-current]::after{background:var(--blue-l);}

/* ===== フォーム ===== */
.cform{max-width:760px;margin:0 auto;}
.crow{display:grid;grid-template-columns:200px 1fr;gap:18px 22px;padding:20px 0;border-bottom:1px solid var(--frame);align-items:start;}
.crow:first-of-type{border-top:1px solid var(--frame);}
.crow>.lb{font-size:14px;font-weight:900;padding-top:12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.req{font-family:var(--fu);font-size:10px;font-weight:800;letter-spacing:.06em;color:#fff;background:var(--coral);border-radius:3px;padding:3px 6px;line-height:1;}
.opt{font-family:var(--fu);font-size:10px;font-weight:800;letter-spacing:.06em;color:var(--muted);background:var(--frame);border-radius:3px;padding:3px 6px;line-height:1;}
.cin input[type=text],.cin input[type=email],.cin input[type=tel],.cin select,.cin textarea{width:100%;font-family:inherit;font-size:15px;font-weight:600;color:var(--ink);background:var(--surface);border:1.5px solid var(--line);border-radius:8px;padding:12px 14px;line-height:1.7;transition:border-color .2s,box-shadow .2s;}
.cin textarea{min-height:130px;resize:vertical;}
.cin select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--blue) 50%),linear-gradient(135deg,var(--blue) 50%,transparent 50%);background-position:calc(100% - 19px) 21px,calc(100% - 14px) 21px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:40px;}
.cin input:focus,.cin select:focus,.cin textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(63,99,184,.14);}
.cin input::placeholder,.cin textarea::placeholder{color:#9aa7bd;font-weight:500;}
.cin .hint{font-size:12px;line-height:1.85;color:var(--muted);margin:7px 0 0;}
.cin .err{display:none;font-size:12.5px;font-weight:700;color:var(--coral-d);margin:7px 0 0;}
.crow.bad .cin input,.crow.bad .cin select,.crow.bad .cin textarea{border-color:var(--coral);}
.crow.bad .cin .err{display:block;}
.crow.bad .shopbox{border-color:var(--coral);}

/* 希望店舗（複数選択） */
.shopbox{border:1.5px solid var(--line);border-radius:10px;background:var(--surface);padding:6px 4px 10px;max-height:290px;overflow-y:auto;}
.shopg{padding:10px 12px 2px;}
.shopg>b{display:block;font-family:var(--fu);font-size:10.5px;font-weight:800;letter-spacing:.12em;color:var(--muted);margin:0 0 7px;}
.shopg .in{display:grid;grid-template-columns:1fr 1fr;gap:2px 10px;}
.shopg label{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;padding:6px 6px;border-radius:6px;cursor:pointer;line-height:1.5;}
.shopg label:hover{background:var(--frame);}
.shopg input{width:17px;height:17px;flex:none;accent-color:var(--navy);cursor:pointer;}
.shopsel{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:9px 2px 0;font-size:12px;color:var(--muted);}
.shopsel b{font-family:var(--fu);font-size:13px;font-weight:800;color:var(--navy);}
.shopsel button{font-family:inherit;font-size:12px;font-weight:800;color:var(--navy);background:none;border:none;border-bottom:1.5px solid var(--blue-l);padding:0 0 1px;cursor:pointer;}

/* ラジオ */
.rad{display:flex;flex-wrap:wrap;gap:8px;}
.rad label{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;border:1.5px solid var(--line);border-radius:99px;padding:10px 16px;cursor:pointer;background:var(--surface);transition:border-color .2s,background .2s;}
.rad label:hover{border-color:var(--blue);}
.rad input{width:16px;height:16px;accent-color:var(--navy);cursor:pointer;}
.rad input:checked+span{color:var(--navy);}
.rad label:has(input:checked){border-color:var(--navy);background:var(--frame);}

/* 同意 */
.cagree{text-align:center;padding:26px 0 0;}
.cagree label{display:inline-flex;align-items:flex-start;gap:10px;font-size:13.5px;font-weight:700;text-align:left;cursor:pointer;line-height:1.8;}
.cagree input{width:20px;height:20px;flex:none;margin:2px 0 0;accent-color:var(--navy);cursor:pointer;}
.cagree a{color:var(--navy);font-weight:900;}
.cagree .err{display:none;font-size:12.5px;font-weight:700;color:var(--coral-d);margin:10px 0 0;}
.cagree.bad .err{display:block;}

.cbtns{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin:30px 0 0;}
.cbtn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:inherit;font-weight:900;font-size:16px;border-radius:99px;padding:17px 46px;cursor:pointer;border:none;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s;}
.cbtn.go{background:var(--coral);color:#fff;box-shadow:0 8px 22px rgba(239,136,128,.38);}
.cbtn.go:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(239,136,128,.48);}
.cbtn.back{background:var(--surface);color:var(--navy);border:1.5px solid var(--line);font-size:14.5px;padding:16px 34px;}
.cbtn.back:hover{border-color:var(--blue);}

/* 確認ページ */
.cdl{max-width:760px;margin:0 auto;}
.cdl .lb{padding-top:0;}
.cdl .vv{font-size:15px;font-weight:700;line-height:1.95;white-space:pre-wrap;word-break:break-word;margin:0;}
.cdl .vv.none{color:var(--muted);font-weight:500;}
.cdemo{max-width:760px;margin:0 auto 24px;border:1.5px dashed var(--blue-l);border-radius:12px;background:var(--frame);padding:16px 20px;font-size:13px;line-height:1.9;color:var(--navy);font-weight:700;}
.cdemo[hidden]{display:none;}

/* 完了ページ */
.cdone{max-width:680px;margin:0 auto;text-align:center;}
.cmark{width:76px;height:76px;margin:0 auto 22px;border-radius:50%;background:var(--frame);position:relative;}
.cmark::after{content:"";position:absolute;left:27px;top:23px;width:16px;height:30px;border-right:4px solid var(--navy);border-bottom:4px solid var(--navy);transform:rotate(42deg);border-radius:2px;}
.cdone h2{margin-top:0;}
.cdone .msg{font-size:14.5px;line-height:2.1;color:var(--muted);margin:0 0 26px;}
.cnote{text-align:left;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:22px 24px 24px;margin:0 0 8px;}
.cnote b{display:block;font-size:14px;font-weight:900;color:var(--navy);margin:0 0 10px;}
.cnote ul{margin:0;padding-left:1.15em;}
.cnote li{font-size:13px;line-height:2;color:var(--muted);margin-bottom:5px;}
.cnote li:last-child{margin-bottom:0;}

/* 窓口 */
.cmail{max-width:760px;margin:0 auto;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:24px 26px 26px;}
.cmail b{display:block;font-size:14px;font-weight:900;color:var(--navy);margin:0 0 10px;}
.cmail p{font-size:13px;line-height:2;color:var(--muted);margin:0 0 6px;}
.cmail p:last-child{margin-bottom:0;}
.cmail a.ad{font-family:var(--fu);font-size:16px;font-weight:800;color:var(--navy);text-decoration:none;border-bottom:2px solid var(--blue-l);word-break:break-all;}

/* 最終CTA */
.cfin{background:var(--deep);color:#fff;text-align:center;}
.cfin h2{color:#fff;}
.cfin p{opacity:.9;font-size:14px;line-height:2;}
.cfin .fb{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--coral);color:#fff;text-decoration:none;font-weight:900;font-size:16px;border-radius:99px;padding:17px 44px;margin-top:22px;box-shadow:0 8px 22px rgba(239,136,128,.4);transition:transform .2s,box-shadow .2s;}
.cfin .fb:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(239,136,128,.5);}
.cfin .sub{display:block;margin-top:14px;font-size:12.5px;opacity:.75;}
.cfin .sub a{color:var(--blue-l);font-weight:700;}

@media (max-width:900px){
  .phead-in{padding:34px var(--pad) 34px;}
  .crumb{margin-bottom:14px;}
  .rwhat{grid-template-columns:1fr;gap:12px;}
  .rflow{grid-template-columns:1fr;gap:10px;}
  .rwel{grid-template-columns:1fr;gap:8px;}
  .rd{grid-template-columns:64px 1fr;gap:14px;}
  .rd::before{left:32px;}
  .rd .t{font-size:11.5px;}
  .rtbl th,.rtbl td{display:block;width:auto;white-space:normal;}
  .rtbl th{border-top:1px solid var(--frame);padding-bottom:4px;}
  .rtbl td{border-top:none;padding-top:0;}
  .rtbl tr:first-child th{border-top:none;}
  .cstep{margin-bottom:28px;}
  .cstep li{font-size:11px;padding-top:34px;}
  .crow{grid-template-columns:1fr;gap:9px;padding:17px 0;}
  .crow>.lb{padding-top:0;font-size:13.5px;}
  .cin input[type=text],.cin input[type=email],.cin input[type=tel],.cin select,.cin textarea{font-size:16px;padding:11px 13px;}
  .cin select{background-position:calc(100% - 19px) 20px,calc(100% - 14px) 20px;}
  .shopg .in{grid-template-columns:1fr;}
  .shopbox{max-height:260px;}
  .cbtns{flex-direction:column-reverse;}
  .cbtn,.cbtn.back{width:100%;font-size:15px;padding:16px 20px;}
  .cdl .vv{font-size:14.5px;}
  .cmail,.cnote{padding:20px 18px 22px;}
  .cfin .fb{font-size:15px;padding:16px 30px;width:100%;box-sizing:border-box;}
}

