*{box-sizing:border-box;}
.breadcrumb{padding:14px 24px;font-size:13.5px;color:var(--muted);border-bottom:1px solid var(--line);}
.breadcrumb a{color:var(--muted);text-decoration:none;}
.breadcrumb a:hover{color:var(--accent);}
.board-head{padding:28px 24px 20px;border-bottom:1px solid var(--line);}
.board-title{font-family:'Inter','Noto Sans JP',-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN",sans-serif;font-size:22px;font-weight:800;margin:0 0 6px;}
.board-sub{font-size:15px;color:var(--muted);margin:0;}
.guideline{
  margin:18px 24px 0;padding:14px 16px;
  background:#f6ded6;border:1px solid #e3b6a4;border-radius:10px;
  display:flex;align-items:flex-start;gap:10px;
}
.guideline .mark{
  flex:none;width:20px;height:20px;border-radius:50%;
  background:#a3402f;color:#fff;font-size:13.5px;font-weight:800;
  display:flex;align-items:center;justify-content:center;
}
.guideline p{font-size:14px;color:#7a2e21;margin:0;line-height:1.6;font-weight:600;}
.guideline a{color:#7a2e21;font-weight:800;text-decoration:underline;}
.post-form{padding:24px;max-width:640px;}
.field{margin-bottom:22px;}
.field label{
  display:block;font-size:14px;font-weight:700;color:var(--ink);margin-bottom:8px;
}
.field .required{color:var(--accent);font-weight:700;margin-left:3px;}
.field .optional{color:var(--muted);font-weight:400;font-size:13px;margin-left:5px;}
.field input[type="text"], .field select, .field textarea{
  width:100%;border:1px solid var(--line);border-radius:10px;
  padding:12px 14px;font-size:16px;font-family:inherit;color:var(--ink);
  background:var(--surface);
}
.field textarea{min-height:160px;resize:vertical;}
.field input:focus, .field select:focus, .field textarea:focus{
  outline:none;border-color:var(--accent);
}
.field-hint{font-size:13px;color:var(--muted);margin-top:6px;}
.cat-radio-group{display:flex;flex-direction:column;gap:8px;}
.cat-item{border:1px solid var(--line);border-radius:10px;overflow:hidden;}
.cat-item:has(.cat-radio input:checked){border-color:var(--accent);}
.cat-item .cat-radio{border:none;border-radius:0;padding:12px 14px;}
.genre-wrap{padding:0 14px 14px;}
.genre-wrap select{width:100%;}
.cat-radio{
  display:flex;align-items:center;gap:10px;
  border:1px solid var(--line);border-radius:10px;padding:12px 14px;
  cursor:pointer;
}
.cat-radio:has(input:checked){border-color:var(--accent);background:var(--accent-soft);}
.cat-radio input{accent-color:var(--accent);width:16px;height:16px;flex:none;}
.cat-radio span{font-size:15px;color:var(--ink);}
.consent-row{
  display:flex;align-items:center;gap:9px;margin-top:26px;cursor:pointer;
}
.consent-row input{accent-color:var(--accent);width:16px;height:16px;flex:none;}
.consent-row span{font-size:14px;color:var(--ink);font-weight:600;}
.form-submit-row{
  display:flex;justify-content:flex-end;gap:10px;margin-top:18px;
  padding-top:20px;border-top:1px solid var(--line);
}
.btn-cancel{
  background:none;border:1px solid var(--line);border-radius:100px;
  padding:12px 22px;font-size:15px;font-weight:700;color:var(--muted);cursor:pointer;font-family:inherit;
}
.btn-submit{
  background:var(--gradient);color:#fff;border:none;border-radius:100px;
  padding:12px 28px;font-size:16px;font-weight:700;cursor:pointer;font-family:inherit;
  white-space:nowrap;
}
.btn-submit:disabled{background:var(--line);color:var(--muted);cursor:not-allowed;}
.pf-tag{font-size:14px;color:rgba(255,255,255,0.55);margin:0 0 22px;line-height:1.7;}
@media (min-width:760px){
  .page-footer{padding:44px 24px 40px;}
  .pf-nav{flex-direction:row;flex-wrap:wrap;gap:0 26px;}
  .pf-nav a{border:none;padding:6px 0;}
  .pf-nav a:first-child{border-top:none;}
}
