@charset "UTF-8";
/*  career/entry/assets/entry.css
    採用応募フォーム。スマートフォンファースト。
    フォント・リンク色・グレー基調の配色は既存の css/default.css を踏襲している。 */

:root{
  --sc-accent:#40659B;
  --sc-accent-dark:#2f4c76;
  --sc-text:#333;
  --sc-muted:#777;
  --sc-line:#ddd;
  --sc-bg:#f5f5f5;
  --sc-req:#c1272d;
  --sc-err:#c1272d;
  --sc-err-bg:#fff4f4;
  --sc-ok:#0a7d28;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:"メイリオ","Meiryo",verdana,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
  font-size:16px;         /* iOS で入力時に拡大されないよう 16px を下回らせない */
  line-height:1.7;
  color:var(--sc-text);
  background:var(--sc-bg);
}
img{max-width:100%;height:auto;vertical-align:middle}
a{color:var(--sc-accent)}

/* ---------- ヘッダ / フッタ ---------- */
.sc-head{background:#fff;border-bottom:1px solid var(--sc-line)}
.sc-head-in{max-width:820px;margin:0 auto;padding:12px 16px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}
.sc-logo img{width:230px}
.sc-head-nav{margin-left:auto;font-size:13px}
.sc-head-nav a{margin-left:14px;color:var(--sc-text);text-decoration:none}
.sc-head-nav a:hover{color:var(--sc-accent);text-decoration:underline}

.sc-crumb{background:#fff;border-bottom:1px solid var(--sc-line)}
.sc-crumb-in{max-width:820px;margin:0 auto;padding:7px 16px;font-size:12px;color:var(--sc-muted)}
.sc-crumb-in a{color:var(--sc-muted)}

.sc-foot{background:#fff;border-top:1px solid var(--sc-line);margin-top:40px}
.sc-foot-in{max-width:820px;margin:0 auto;padding:22px 16px;font-size:12px;color:var(--sc-muted);text-align:center}
.sc-foot-links a{display:inline-block;margin:0 8px 4px;color:var(--sc-muted)}
.sc-foot-addr{margin:12px 0}
.sc-copy{margin:8px 0 0;font-size:11px}

/* ---------- 本文 ---------- */
.sc-main{max-width:820px;margin:0 auto;padding:22px 16px 0}
.sc-title{font-size:21px;margin:0 0 6px;padding-bottom:10px;border-bottom:2px solid var(--sc-accent)}
.sc-lead{font-size:14px;color:#555;margin:0 0 18px}

/* ---------- STEP バー ---------- */
.sc-steps{display:flex;list-style:none;margin:16px 0 22px;padding:0;gap:4px}
.sc-step{flex:1;text-align:center;font-size:11px;color:var(--sc-muted);padding-top:26px;position:relative;line-height:1.35}
.sc-step::before{
  content:"";position:absolute;top:11px;left:0;right:0;height:2px;background:var(--sc-line);
}
.sc-step:first-child::before{left:50%}
.sc-step:last-child::before{right:50%}
.sc-step-no{
  position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:23px;height:23px;line-height:23px;border-radius:50%;
  background:#fff;border:2px solid var(--sc-line);color:var(--sc-muted);
  font-size:12px;font-weight:bold;
}
.sc-step.is-done .sc-step-no{background:var(--sc-accent);border-color:var(--sc-accent);color:#fff}
.sc-step.is-done::before{background:var(--sc-accent)}
.sc-step.is-current .sc-step-no{background:#fff;border-color:var(--sc-accent);color:var(--sc-accent)}
.sc-step.is-current{color:var(--sc-accent);font-weight:bold}

/* ---------- パネル ---------- */
.sc-panel{background:#fff;border:1px solid var(--sc-line);border-radius:4px;padding:18px 16px;margin-bottom:18px}
.sc-panel > h2{
  font-size:16px;margin:0 0 4px;padding-bottom:9px;border-bottom:1px solid var(--sc-line);color:var(--sc-accent);
}
.sc-panel-note{font-size:13px;color:var(--sc-muted);margin:8px 0 0}

/* ---------- 項目 ---------- */
.sc-field{padding:16px 0;border-bottom:1px dotted var(--sc-line)}
.sc-field:last-child{border-bottom:none;padding-bottom:4px}
.sc-label{display:block;font-weight:bold;font-size:14px;margin-bottom:7px}
.sc-badge{
  display:inline-block;font-size:11px;font-weight:normal;line-height:1.5;
  padding:1px 7px;border-radius:2px;margin-right:8px;vertical-align:2px;
}
.sc-badge-req{background:var(--sc-req);color:#fff}
.sc-badge-opt{background:#eee;color:#666;border:1px solid #ddd}
.sc-help{font-size:12px;color:var(--sc-muted);margin:0 0 7px}
.sc-note{font-size:12px;color:var(--sc-muted);margin:6px 0 0}

input[type=text],input[type=email],input[type=tel],input[type=url],input[type=date],
input[type=number],select,textarea{
  width:100%;font-family:inherit;font-size:16px;line-height:1.5;color:var(--sc-text);
  padding:11px 12px;border:1px solid #c4c4c4;border-radius:4px;background:#fff;
  -webkit-appearance:none;appearance:none;
}
select{
  background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%23666' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:11px;padding-right:34px;
}
textarea{min-height:150px;resize:vertical}
input:focus,select:focus,textarea:focus{
  outline:none;border-color:var(--sc-accent);box-shadow:0 0 0 3px rgba(64,101,155,.15);
}
.sc-inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.sc-w-postal{max-width:190px}
.sc-w-ym{max-width:120px}
.sc-w-ym-m{max-width:96px}

.sc-counter{font-size:11px;color:var(--sc-muted);text-align:right;margin-top:4px}
.sc-counter.is-over{color:var(--sc-err);font-weight:bold}

/* ---------- ラジオ / チェック ---------- */
.sc-choice{display:block;margin-bottom:10px}
.sc-choice:last-child{margin-bottom:0}
.sc-choice input{position:absolute;opacity:0;width:0;height:0}
.sc-choice-box{
  display:block;border:2px solid var(--sc-line);border-radius:5px;padding:13px 14px 13px 44px;
  position:relative;cursor:pointer;background:#fff;
}
.sc-choice-box::before{
  content:"";position:absolute;left:14px;top:16px;width:18px;height:18px;
  border:2px solid #bbb;border-radius:50%;background:#fff;
}
.sc-choice input:checked + .sc-choice-box{border-color:var(--sc-accent);background:#f3f7fd}
.sc-choice input:checked + .sc-choice-box::before{border-color:var(--sc-accent)}
.sc-choice input:checked + .sc-choice-box::after{
  content:"";position:absolute;left:19px;top:21px;width:8px;height:8px;border-radius:50%;background:var(--sc-accent);
}
.sc-choice input:focus + .sc-choice-box{box-shadow:0 0 0 3px rgba(64,101,155,.15)}
.sc-choice-title{display:block;font-weight:bold;font-size:15px}
.sc-choice-desc{display:block;font-size:12.5px;color:var(--sc-muted);margin-top:3px}
.sc-recommend{
  display:inline-block;background:var(--sc-accent);color:#fff;font-size:11px;
  padding:1px 8px;border-radius:2px;margin-left:8px;vertical-align:2px;
}

.sc-check{display:flex;align-items:flex-start;gap:10px;font-size:14px;cursor:pointer}
.sc-check input{width:22px;height:22px;flex:none;margin-top:2px;-webkit-appearance:checkbox;appearance:checkbox}

/* ---------- ファイル ---------- */
.sc-file-drop{
  border:2px dashed #bcc6d4;border-radius:6px;background:#fafbfd;
  padding:20px 16px;text-align:center;
}
.sc-file-drop.is-over{border-color:var(--sc-accent);background:#eef3fb}
.sc-file-btn{
  display:inline-block;background:#fff;border:1px solid var(--sc-accent);color:var(--sc-accent);
  font-size:14px;font-weight:bold;padding:10px 20px;border-radius:4px;cursor:pointer;
}
.sc-file-btn:hover{background:var(--sc-accent);color:#fff}
.sc-file-drop input[type=file]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.sc-file-hint{font-size:12px;color:var(--sc-muted);margin:9px 0 0}

.sc-file-card{
  display:flex;align-items:center;gap:12px;
  border:1px solid #cfe0cf;background:#f4faf4;border-radius:5px;padding:12px 14px;
}
.sc-file-icon{flex:none;width:34px;height:34px;border-radius:4px;background:var(--sc-accent);color:#fff;
  font-size:10px;font-weight:bold;display:flex;align-items:center;justify-content:center}
.sc-file-meta{flex:1;min-width:0}
.sc-file-name{display:block;font-size:13.5px;font-weight:bold;word-break:break-all;line-height:1.4}
.sc-file-size{display:block;font-size:12px;color:var(--sc-muted)}
.sc-file-acts{flex:none;display:flex;gap:6px}
.sc-file-acts button{
  font-family:inherit;font-size:12px;padding:6px 10px;border-radius:3px;cursor:pointer;
  border:1px solid #bbb;background:#fff;color:#555;
}
.sc-file-acts button:hover{border-color:#888;color:#222}
.sc-file-acts .sc-file-del:hover{border-color:var(--sc-err);color:var(--sc-err)}

/* ---------- エラー ---------- */
.sc-alert{
  border:1px solid #e0a6a6;background:var(--sc-err-bg);border-radius:4px;
  padding:14px 16px;margin-bottom:18px;
}
.sc-alert h2{font-size:15px;color:var(--sc-err);margin:0 0 7px}
.sc-alert ul{margin:0;padding-left:20px;font-size:13.5px}
.sc-alert li{margin-bottom:3px}
.sc-alert a{color:var(--sc-err)}
.sc-field.has-error{background:var(--sc-err-bg);border-radius:4px;padding-left:12px;padding-right:12px;margin-left:-12px;margin-right:-12px}
.sc-field.has-error input,.sc-field.has-error select,.sc-field.has-error textarea{border-color:var(--sc-err)}
.sc-error{
  display:block;font-size:13px;color:var(--sc-err);font-weight:bold;margin-top:7px;
  padding-left:19px;position:relative;
}
.sc-error::before{content:"!";position:absolute;left:0;top:1px;width:14px;height:14px;line-height:14px;
  text-align:center;border-radius:50%;background:var(--sc-err);color:#fff;font-size:10px}

/* ---------- ボタン ---------- */
.sc-actions{display:flex;gap:10px;margin:6px 0 30px;flex-wrap:wrap}
.sc-btn{
  font-family:inherit;font-size:16px;font-weight:bold;line-height:1.4;
  padding:15px 24px;border-radius:5px;border:1px solid transparent;cursor:pointer;
  text-align:center;text-decoration:none;display:inline-block;
}
.sc-btn-primary{background:var(--sc-accent);color:#fff;flex:1;min-width:200px}
.sc-btn-primary:hover{background:var(--sc-accent-dark)}
.sc-btn-back{background:#fff;color:#555;border-color:#bbb;min-width:120px}
.sc-btn-back:hover{border-color:#888;color:#222}
.sc-btn[disabled]{opacity:.55;cursor:default}

/* ---------- 確認画面 ---------- */
.sc-confirm-note{
  border:1px solid #cddcef;background:#f3f7fd;border-radius:4px;padding:13px 16px;
  font-size:13.5px;margin-bottom:18px;
}
.sc-dl{margin:0}
.sc-dl > div{padding:13px 0;border-bottom:1px dotted var(--sc-line);display:flex;flex-wrap:wrap;gap:2px 16px}
.sc-dl > div:last-child{border-bottom:none}
.sc-dl dt{flex:0 0 190px;font-size:13px;color:var(--sc-muted);font-weight:normal;margin:0}
.sc-dl dd{flex:1;min-width:200px;margin:0;font-size:14.5px;word-break:break-word}
.sc-dl dd.is-empty{color:#aaa}
.sc-dl dd .sc-pre{white-space:pre-wrap}

/* ---------- 完了画面 ---------- */
.sc-done{background:#fff;border:1px solid var(--sc-line);border-radius:4px;padding:30px 20px;text-align:center}
.sc-done-mark{width:62px;height:62px;margin:0 auto 16px;border-radius:50%;background:var(--sc-ok);
  color:#fff;font-size:32px;line-height:62px}
.sc-done h2{font-size:19px;margin:0 0 14px}
.sc-done p{font-size:14.5px;margin:0 0 10px;text-align:left}
.sc-receipt{
  background:var(--sc-bg);border:1px solid var(--sc-line);border-radius:5px;
  padding:16px;margin:22px 0;
}
.sc-receipt-label{display:block;font-size:12px;color:var(--sc-muted);margin-bottom:4px}
.sc-receipt-no{display:block;font-size:25px;font-weight:bold;letter-spacing:.04em;color:var(--sc-accent);word-break:break-all}

/* ---------- ハニーポット（人には見えない） ---------- */
.sc-hp{position:absolute!important;left:-9999px!important;top:-9999px!important;
  width:1px!important;height:1px!important;overflow:hidden!important}

/* ---------- JS 有効時のステップ表示 ---------- */
.sc-jsonly{display:none}
.js .sc-jsonly{display:inline-block}
.js .sc-stepblock{display:none}
.js .sc-stepblock.is-active{display:block}
.js .sc-nojs-only{display:none}

/* ---------- PC ---------- */
@media (min-width:700px){
  .sc-main{padding-top:28px}
  .sc-title{font-size:24px}
  .sc-panel{padding:24px 26px}
  .sc-step{font-size:12px}
  .sc-actions{margin-bottom:36px}
  .sc-btn-primary{flex:0 0 auto;min-width:280px}
  .sc-logo img{width:280px}
}

@media (max-width:520px){
  .sc-dl dt{flex:0 0 100%;font-size:12px}
  .sc-file-card{flex-wrap:wrap}
  .sc-file-acts{width:100%;justify-content:flex-end}
  .sc-btn-primary{min-width:100%}
  .sc-btn-back{width:100%}
}
