/* 応募フォーム /apply/（2026-08-17）— 採用ページの支給デザイン（白×黒×ライム、LINE緑）に合わせる */
:root{--ap-bg:#f7f7f3;--ap-ink:#0b0b0d;--ap-sub:#5b5f66;--ap-line:#dfe4e6;--ap-accent:#d9ff43;--ap-green:#06c755;--ap-green-d:#05b34c;--ap-err:#d0342c}
.apply-shell{background:var(--ap-bg);color:var(--ap-ink);min-height:100svh}
.apply-hero{max-width:760px;margin:0 auto;padding:6.5rem 1.4rem 1.6rem}
.apply-kicker{font-size:.72rem;letter-spacing:.32em;font-weight:800;color:var(--ap-sub);margin:0 0 .6rem}
.apply-hero h1{font-size:clamp(1.9rem,5.6vw,2.6rem);font-weight:900;letter-spacing:.04em;margin:0 0 .8rem;line-height:1.2}
.apply-hero h1::after{content:"";display:block;width:2.6rem;height:.42rem;background:var(--ap-accent);margin-top:.7rem}
.apply-lead{font-size:.98rem;line-height:1.9;margin:0;color:#2b2e33}
.apply-liff-note{margin:1rem 0 0;padding:.75rem 1rem;border-radius:.7rem;background:#e9fbef;border:1px solid #bfe9cd;font-size:.9rem;line-height:1.7}
.apply-liff-note strong{font-weight:800}
.apply-body{max-width:760px;margin:0 auto;padding:0 1.4rem 5rem}
.apply-form{background:#fff;border:1px solid var(--ap-line);border-radius:1.1rem;padding:1.6rem 1.3rem 1.8rem;box-shadow:0 10px 30px rgba(11,11,13,.05)}
.apply-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.15rem 1.2rem}
.field{display:flex;flex-direction:column;gap:.42rem;min-width:0}
.field-full{grid-column:1/-1}
.field label{font-size:.86rem;font-weight:700;letter-spacing:.02em;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.req{display:inline-block;font-size:.66rem;font-weight:800;letter-spacing:.06em;color:#fff;background:var(--ap-ink);border-radius:.3rem;padding:.14em .5em;line-height:1.5}
.opt{font-size:.7rem;font-weight:500;color:var(--ap-sub)}
.field input[type=text],.field input[type=tel],.field input[type=email],.field input[type=number],.field select,.field textarea{width:100%;font:inherit;font-size:16px;padding:.85rem .95rem;border:1.5px solid var(--ap-line);border-radius:.7rem;background:#fff;color:var(--ap-ink);transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}
.field select{background-image:linear-gradient(45deg,transparent 50%,#0b0b0d 50%),linear-gradient(135deg,#0b0b0d 50%,transparent 50%);background-position:calc(100% - 1.25rem) 50%,calc(100% - .9rem) 50%;background-size:.35rem .35rem;background-repeat:no-repeat;padding-right:2.4rem}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--ap-ink);box-shadow:0 0 0 4px rgba(217,255,67,.55)}
.field.is-invalid input,.field.is-invalid select{border-color:var(--ap-err);box-shadow:0 0 0 4px rgba(208,52,44,.12)}
.with-unit{display:flex;align-items:center;gap:.5rem}
.with-unit input{max-width:7.5rem}
.with-unit span{font-size:.9rem;color:var(--ap-sub)}
.hint{margin:0;font-size:.76rem;color:var(--ap-sub);line-height:1.6}
.radios{display:flex;gap:.55rem;flex-wrap:wrap}
.radio{position:relative;cursor:pointer}
.radio input{position:absolute;opacity:0;inset:0;margin:0}
.radio span{display:inline-block;padding:.65rem 1.1rem;border:1.5px solid var(--ap-line);border-radius:999px;font-size:.9rem;font-weight:700;background:#fff;transition:.2s}
.radio input:checked+span{background:var(--ap-ink);color:#fff;border-color:var(--ap-ink)}
.radio input:focus-visible+span{box-shadow:0 0 0 4px rgba(217,255,67,.55)}
.check{display:flex;flex-wrap:nowrap !important;gap:.7rem;align-items:flex-start;font-size:.88rem;line-height:1.7;font-weight:500 !important;cursor:pointer}
.check>span{flex:1;min-width:0}
.check input{width:1.2rem;height:1.2rem;margin-top:.22rem;flex:none;accent-color:var(--ap-ink)}
.hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.apply-error{margin:1.1rem 0 0;padding:.8rem 1rem;border-radius:.7rem;background:#fdecea;color:#8a1f18;font-size:.9rem;line-height:1.7;border:1px solid #f4c7c3}
.apply-submit{display:flex;align-items:center;justify-content:center;width:100%;margin-top:1.4rem;padding:1.15rem 1.4rem;border:none;border-radius:999px;background:var(--ap-green);color:#fff;font:inherit;font-size:1.05rem;font-weight:800;letter-spacing:.06em;cursor:pointer;transition:background .25s,transform .25s;box-shadow:0 10px 24px rgba(6,199,85,.28)}
.apply-submit:hover{background:var(--ap-green-d);transform:translateY(-1px)}
.apply-submit[disabled]{opacity:.7;cursor:progress;transform:none}
.apply-note{margin:.9rem 0 0;font-size:.8rem;color:var(--ap-sub);text-align:center;line-height:1.7}
.apply-thanks{background:#fff;border:1px solid var(--ap-line);border-radius:1.1rem;padding:2.4rem 1.4rem;text-align:center}
.thanks-kicker{font-size:.72rem;letter-spacing:.32em;font-weight:800;color:var(--ap-sub);margin:0 0 .5rem}
.apply-thanks h2{font-size:1.6rem;font-weight:900;margin:0 0 .8rem}
.apply-thanks p{line-height:1.9;color:#2b2e33;margin:0}
.thanks-actions{display:flex;flex-direction:column;gap:.7rem;margin-top:1.6rem;align-items:center}
.thanks-line,.thanks-close{display:inline-flex;align-items:center;justify-content:center;padding:.95rem 1.8rem;border-radius:999px;background:var(--ap-green);color:#fff;font:inherit;font-weight:800;text-decoration:none;border:none;cursor:pointer;min-width:16rem}
.thanks-back{font-size:.9rem;color:var(--ap-ink);text-decoration:underline;text-underline-offset:.2em}
.apply-footer{margin-top:0}
.sp{display:none}
@media (max-width:640px){
 .apply-hero{padding-top:5.4rem}
 .apply-grid{grid-template-columns:1fr;gap:1rem}
 .apply-form{padding:1.3rem 1rem 1.5rem;border-radius:.9rem}
 .sp{display:inline}
}
