@charset "utf-8";
/* Claude業務活用研修 申込ウィザード — uses design tokens from ../css/style.css */

.apply-body{background:var(--surface);min-height:100vh;display:flex;flex-direction:column;}
.apply-header{position:sticky;top:0;z-index:50;background:rgba(244,238,227,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);}
.apply-header .nav{display:flex;align-items:center;justify-content:space-between;height:64px;}
.apply-header .logo{height:28px;width:auto;}
.apply-header .back{font-size:13px;color:var(--tx-2);font-weight:700;}
.apply-header .back:hover{color:var(--terra);}
.apply-main{flex:1;padding:clamp(32px,5vw,64px) 0;}
.apply-foot{background:var(--dark);color:var(--on-dark-muted);padding:24px 0;font-family:var(--f-mono);font-size:11px;letter-spacing:.04em;text-align:center;}

.apply-head{text-align:center;max-width:640px;margin:0 auto clamp(28px,4vw,44px);}
.apply-head h1{font-family:var(--f-display);font-weight:900;font-size:clamp(24px,3.6vw,36px);line-height:1.3;margin-top:14px;letter-spacing:-.01em;}
.apply-head .lead{margin-top:14px;}

/* progress */
.asteps{display:flex;justify-content:center;gap:0;list-style:none;padding:0;margin:0 auto clamp(28px,4vw,44px);max-width:760px;flex-wrap:wrap;}
.astep-dot{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1;min-width:74px;position:relative;color:var(--muted);}
.astep-dot::before{content:"";position:absolute;top:17px;left:-50%;width:100%;height:2px;background:var(--line-2);z-index:0;}
.astep-dot:first-child::before{display:none;}
.astep-dot .n{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--f-mono);font-weight:700;background:var(--panel);border:2px solid var(--line-2);color:var(--muted);position:relative;z-index:1;transition:.2s;}
.astep-dot .t{font-size:11.5px;font-weight:700;}
.astep-dot.is-active .n{background:var(--terra);border-color:var(--terra);color:#fff;}
.astep-dot.is-active{color:var(--tx);}
.astep-dot.is-done .n{background:var(--terra-tint);border-color:var(--terra);color:var(--terra);}
.astep-dot.is-done::before,.astep-dot.is-active::before{background:var(--terra);}

/* panels */
#applyForm{max-width:760px;margin:0 auto;}
.astep{display:none;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:clamp(22px,3vw,38px);box-shadow:0 14px 40px rgba(56,42,22,.08);}
.astep.is-active{display:block;animation:afade .25s ease;}
@keyframes afade{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
.astep-title{font-family:var(--f-display);font-weight:900;font-size:clamp(18px,2.4vw,22px);margin-bottom:22px;padding-bottom:14px;border-bottom:1px solid var(--line);}

/* fields */
.fgroup{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;}
.fgroup label{font-size:13px;font-weight:700;color:var(--tx);}
.req{color:var(--terra);font-size:11px;margin-left:6px;font-style:normal;}
.opt{color:var(--muted);font-size:11px;margin-left:6px;font-weight:400;font-style:normal;}
.finput{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:9px;font-family:var(--f-body);font-size:16px;background:#fff;color:var(--tx);transition:border .15s,box-shadow .15s;}/* 16px: iOSのフォーカス時自動ズーム防止 */
textarea.finput{min-height:90px;resize:vertical;line-height:1.6;}
.finput:focus{outline:none;border-color:var(--terra);box-shadow:0 0 0 3px var(--terra-tint);}
.finput.err{border-color:var(--terra);background:#fdf2ee;}
.agrid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;}
.agrid .col2{grid-column:1/-1;}

/* terms */
.terms{max-height:300px;overflow-y:auto;border:1px solid var(--line);border-radius:12px;padding:22px 24px;background:#fffdf9;font-size:13.5px;line-height:1.8;color:var(--tx-2);}
.terms h3{font-family:var(--f-display);font-weight:700;font-size:15px;color:var(--tx);margin-bottom:12px;}
.terms p{margin-bottom:12px;}
.terms b{color:var(--tx);}
.terms-note{font-size:12px;color:var(--muted);}
.agree{display:flex;align-items:center;gap:10px;margin-top:20px;font-size:14px;font-weight:700;cursor:pointer;}
.agree input{width:20px;height:20px;accent-color:var(--terra);flex:none;cursor:pointer;}

/* participants */
.hc{max-width:240px;}
.participant{border:1px solid var(--line);border-radius:12px;padding:18px;margin-bottom:14px;background:#fffdf9;}
.participant .ph{font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;color:var(--terra);text-transform:uppercase;margin-bottom:12px;}
.participant .prow{display:grid;grid-template-columns:1.4fr 1fr;gap:12px;}
.hint{font-size:12px;color:var(--muted);margin-top:4px;}

/* quote */
.quote{border:1px solid var(--terra);border-radius:14px;overflow:hidden;margin-bottom:22px;}
.q-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 22px;border-bottom:1px solid var(--line);font-size:14px;}
.q-row .q-l{color:var(--tx-2);}
.q-row .q-v{font-family:var(--f-display);font-weight:700;color:var(--tx);}
.q-total{background:var(--panel-2);}
.q-total .q-v{font-size:20px;color:var(--tx);}
.q-sep{background:var(--dark);color:var(--terra-soft);font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:10px 22px;}
.q-minus .q-v{color:var(--muted);}
.q-net{background:var(--terra-tint);}
.q-net .q-l{color:var(--terra);font-weight:700;}
.q-net .q-v{font-size:24px;color:var(--terra);font-weight:900;}
.q-note{font-size:11.5px;line-height:1.7;color:var(--muted);padding:14px 22px;border-bottom:none;}

/* 開講日程（申込月で自動表示） */
.schedule-box{border:1px solid var(--terra);border-radius:14px;overflow:hidden;background:var(--terra-tint);margin-bottom:18px;}
.schedule-box .sb-h{background:var(--dark);color:var(--terra-soft);font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:10px 22px;}
.schedule-box .sb-main{font-family:var(--f-display);font-weight:800;font-size:clamp(16px,2.2vw,19px);color:var(--tx);padding:18px 22px 6px;line-height:1.5;}
.schedule-box .sb-sub{font-size:11.5px;line-height:1.7;color:var(--tx-2);padding:0 22px 16px;}

/* summary */
.summary{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:18px;}
.summary .srow{display:grid;grid-template-columns:38% 62%;gap:10px;padding:12px 18px;border-bottom:1px solid var(--line);font-size:13.5px;}
.summary .srow:last-child{border-bottom:none;}
.summary .sk{color:var(--muted);font-weight:700;}
.summary .sv{color:var(--tx);white-space:pre-wrap;}
.summary .shead{background:var(--panel-2);font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;color:var(--terra);text-transform:uppercase;padding:9px 18px;display:block;}

/* nav */
.anav{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:26px;}
.anav .a-next,.anav .a-submit{margin-left:auto;}
.fnote{font-size:11.5px;color:var(--muted);margin-top:16px;line-height:1.7;}

@media (max-width:680px){
  .agrid{grid-template-columns:1fr;}
  .participant .prow{grid-template-columns:1fr;gap:10px;}
  .astep-dot .t{display:none;}
  .astep-dot{min-width:0;}
  .anav{flex-direction:column-reverse;align-items:stretch;}
  .anav .btn{width:100%;}
  .anav .a-next,.anav .a-submit{margin-left:0;}
}
