/* 申し込み・規約ページ用。色と文字は styles.css の設定（--dark, --gold など）をそのまま使う */
.page-head{background:var(--dark);color:#f5f3ed;padding-block:76px 64px}
.page-head .eyebrow{color:var(--gold)}
.page-head h1{font-size:clamp(30px,3.4vw,46px);line-height:1.5}
.page-head h1 em{color:var(--gold-bright)}
.page-head .page-lead{margin-top:20px;max-width:720px;font-size:13px;line-height:2.1;color:#bdc6b5}
.page-head .breadcrumb{margin-bottom:34px}
.page-head .breadcrumb a{border-bottom:1px solid #ffffff40}

.doc{max-width:880px;margin-inline:auto;padding-block:72px 96px}
.doc-updated{font-size:12px;color:var(--muted);margin-bottom:40px}
.doc section{border-top:1px solid var(--line);padding-block:32px}
.doc section:last-of-type{border-bottom:1px solid var(--line)}
.doc h2{font-size:20px;letter-spacing:-.03em;line-height:1.6;margin-bottom:14px}
.doc h3{font-size:15px;margin:18px 0 6px}
.doc p,.doc li{font-size:14px;line-height:2.05}
.doc p+p{margin-top:10px}
.doc ol,.doc ul.dots{padding-left:1.4em;margin:6px 0 0}
.doc ol{list-style:decimal}
.doc ul.dots{list-style:disc}
.doc ol ol{list-style:lower-roman;margin-top:4px}
.doc li+li{margin-top:4px}
.doc a{border-bottom:1px solid currentColor}
.doc-table{display:grid;grid-template-columns:230px 1fr;border-top:1px solid var(--line);margin:0}
.doc-table dt,.doc-table dd{margin:0;padding:20px 18px;border-bottom:1px solid var(--line);font-size:14px;line-height:2}
.doc-table dt{background:var(--pale);font-weight:600}
.doc-table dd p+p{margin-top:8px}
.doc-table small{display:block;color:var(--muted);margin-top:6px}
.todo{background:#fff2cc;color:#7a5b00;padding:1px 6px;font-weight:600;border-radius:2px}
.doc-contact{margin-top:40px;padding:26px 28px;background:var(--pale);font-size:14px;line-height:2}

/* 申し込みフォーム */
.apply{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:40px;align-items:start;padding-block:64px 96px}
.apply-steps{display:flex;gap:0;list-style:none;padding:0;margin-bottom:30px;border:1px solid var(--line);background:#fff}
.apply-steps li{flex:1;padding:13px 10px;text-align:center;font-size:12px;font-weight:600;color:var(--muted);border-right:1px solid var(--line)}
.apply-steps li:last-child{border-right:0}
.apply-steps li[aria-current="step"]{background:var(--dark);color:var(--gold-bright)}
.apply-steps b{font-family:'Barlow Condensed',sans-serif;font-size:14px;margin-right:8px;letter-spacing:.06em}
.apply-card{background:#fff;border:1px solid var(--line);padding:38px 40px}
.apply-card h2{font-size:22px;margin-bottom:6px}
.apply-card .apply-card-lead{font-size:13px;color:var(--muted);line-height:2;margin-bottom:26px}
.apply-group{border:0;margin:0;padding:26px 0 4px;border-top:1px solid var(--line)}
.apply-group:first-of-type{border-top:0;padding-top:0}
.apply-group legend{font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:600;letter-spacing:.14em;color:#877345;padding:0;margin-bottom:16px}
.apply-row{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.field{margin-bottom:22px}
.field>label,.field>.field-label{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;margin-bottom:8px}
.req,.opt{font-size:10px;font-weight:700;padding:1px 7px;line-height:1.7}
.req{background:#8e1c1c;color:#fff}
.opt{background:var(--pale);color:var(--muted)}
.field input[type=text],.field input[type=email],.field input[type=tel],.field input[type=number],.field select,.field textarea{width:100%;border:1px solid #c9c8be;background:#fff;padding:13px 14px;font-size:15px;line-height:1.6;color:var(--ink);border-radius:0;font-family:inherit}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--gold);outline-offset:0;border-color:var(--gold)}
.field input[aria-invalid=true],.field select[aria-invalid=true]{border-color:#b42318;background:#fff8f7}
.field .hint{font-size:12px;color:var(--muted);line-height:1.9;margin-top:7px}
.field .field-error{font-size:12px;color:#b42318;font-weight:600;margin-top:6px}
.field-unit{display:flex;align-items:center;gap:10px}
.field-unit input{max-width:160px}
.field-unit span{font-size:14px;font-weight:600}
.choice-list{display:grid;gap:10px}
.choice-list label{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);padding:13px 15px;font-size:14px;cursor:pointer;background:#fff}
.choice-list label:has(input:checked){border-color:var(--gold);background:#fffaf0}
.choice-list input{margin-top:6px;accent-color:#877345}
.choice-list small{display:block;color:var(--muted);font-size:12px}
.consent{display:flex;gap:12px;align-items:flex-start;background:var(--pale);padding:18px 20px;font-size:14px;line-height:2;cursor:pointer}
.consent input{margin-top:8px;width:18px;height:18px;accent-color:#877345;flex:none}
.consent a{border-bottom:1px solid currentColor;font-weight:600}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.apply-actions{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}
.apply-actions .button{min-width:220px;justify-content:space-between}
.button.ghost{background:#fff;border-color:#c9c8be;color:var(--ink)}
.button.ghost:hover{background:var(--pale)}
.button[disabled]{opacity:.45;cursor:not-allowed;transform:none}

.apply-summary{position:sticky;top:110px;background:var(--dark);color:#f5f3ed;padding:30px 28px}
.apply-summary .eyebrow{color:var(--gold);margin-bottom:12px}
.apply-summary h3{font-size:18px;margin-bottom:18px}
.apply-summary dl{margin:0;display:grid;gap:14px}
.apply-summary dl div{display:flex;justify-content:space-between;align-items:baseline;gap:14px;border-bottom:1px solid #ffffff1f;padding-bottom:12px}
.apply-summary dt{font-size:12px;color:#bdc6b5}
.apply-summary dd{margin:0;text-align:right}
.apply-summary dd strong{font-family:'Barlow Condensed',sans-serif;font-size:34px;font-weight:600;color:var(--gold-bright);line-height:1}
.apply-summary dd span{font-size:12px;margin-left:3px}
.apply-summary p{font-size:11px;line-height:2;color:#bdc6b5;margin-top:16px}

.confirm-table{display:grid;grid-template-columns:200px 1fr;border-top:1px solid var(--line);margin:0 0 26px}
.confirm-table dt,.confirm-table dd{margin:0;padding:14px 16px;border-bottom:1px solid var(--line);font-size:14px;line-height:1.9;word-break:break-word}
.confirm-table dt{background:var(--pale);font-weight:600;font-size:13px}
.confirm-terms{border:2px solid var(--gold);background:#fffaf0;padding:22px 24px;margin-bottom:8px}
.confirm-terms h3{font-size:16px;margin-bottom:10px}
.confirm-terms ul{list-style:disc;padding-left:1.3em}
.confirm-terms li{font-size:13px;line-height:2}
.confirm-terms strong{color:#7a1717}
.apply-done{text-align:left}
.apply-done .done-mark{font-family:'Barlow Condensed',sans-serif;font-size:13px;letter-spacing:.14em;color:#877345;font-weight:600}
.apply-done h2{font-size:26px;margin:8px 0 14px}
.apply-done p{font-size:14px;line-height:2.1}
.apply-done ol{list-style:decimal;padding-left:1.4em;margin-top:14px}
.apply-done li{font-size:14px;line-height:2}
.confirm-note{font-size:12px;color:var(--muted);line-height:2}
.confirm-note a{border-bottom:1px solid currentColor}
.apply-error{margin-top:20px;padding:16px 18px;border:1px solid #b42318;background:#fff8f7;color:#7a1717;font-size:13px;line-height:2}
.apply-error a{border-bottom:1px solid currentColor;font-weight:700}

@media(max-width:1040px){.apply{grid-template-columns:1fr}.apply-summary{position:static;order:-1}}
@media(max-width:600px){
  .page-head{padding-block:48px 42px}
  .page-head .page-lead{font-size:12px}
  .doc{padding-block:44px 64px}
  .doc h2{font-size:17px}
  .doc p,.doc li{font-size:13px}
  .doc-table,.confirm-table{grid-template-columns:1fr}
  .doc-table dt,.confirm-table dt{padding:12px 14px 8px;border-bottom:0}
  .doc-table dd,.confirm-table dd{padding:4px 14px 16px;font-size:13px}
  .apply{padding-block:36px 64px;gap:24px}
  .apply-card{padding:26px 20px}
  .apply-row{grid-template-columns:1fr}
  .apply-steps li{font-size:10px;padding:10px 4px}
  .apply-steps b{display:block;margin:0}
  .apply-actions .button{width:100%;min-width:0}
  .apply-summary{padding:24px 20px}
  .apply-summary dd strong{font-size:28px}
}
