.fks-sim{max-width:860px;margin:2rem auto;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;color:#333;line-height:1.75}
.fks-sim *{box-sizing:border-box}
.fks-sim__intro{padding:1.4rem 1.5rem;background:#fff8f5;border:1px solid #f0ddd6;border-radius:14px}
.fks-sim__intro h2{margin:.15rem 0 .5rem;font-size:1.55rem}
.fks-sim__eyebrow{margin:0;color:#9b5f4d;font-weight:700;font-size:.9rem}
.fks-sim__mode{display:flex;gap:.5rem;margin:1.2rem 0}
.fks-sim__mode button{flex:1;min-height:46px;border:1px solid #ccc;background:#fff;border-radius:9px;font-weight:700;cursor:pointer}
.fks-sim__mode button.is-active{background:#333;color:#fff;border-color:#333}
.fks-sim__section{margin:1rem 0;padding:1.25rem 1.4rem;border:1px solid #e3e3e3;border-radius:12px;background:#fff}
.fks-sim__section h3{margin:0 0 1rem;font-size:1.15rem}
.fks-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.fks-field{display:block;margin:.8rem 0}
.fks-field>span:first-child{display:block;margin-bottom:.35rem;font-weight:700}
.fks-field b{display:inline-block;margin-left:.35rem;padding:.05rem .35rem;border-radius:4px;background:#8c3f32;color:#fff;font-size:.72rem}
.fks-field input,.fks-field select{width:100%;min-height:46px;padding:.65rem .75rem;border:1px solid #bbb;border-radius:8px;background:#fff;font-size:16px;color:#222}
.fks-field input:focus,.fks-field select:focus,.fks-sim button:focus{outline:3px solid rgba(0,0,0,.15);outline-offset:2px}
.fks-field small{display:block;margin-top:.3rem;color:#666;font-size:.82rem;line-height:1.55}
.fks-money,.fks-count{display:flex;align-items:center;gap:.45rem}
.fks-money input,.fks-count input{min-width:0}
.fks-money em,.fks-count em{font-style:normal;white-space:nowrap}
.fks-note{margin:-.3rem 0 1rem;color:#666;font-size:.9rem}
.fks-check{display:flex;align-items:center;gap:.55rem;margin:1rem 0;font-weight:700}
.fks-check input{width:20px;height:20px}
.fks-warning{padding:.8rem 1rem;background:#fff7e6;border-left:4px solid #c58a28;font-size:.9rem}
.fks-advanced{margin-top:1rem;padding:.8rem 1rem;background:#fafafa;border-radius:8px}
.fks-advanced summary{cursor:pointer;font-weight:700}
.fks-sim__actions{display:flex;gap:.7rem;flex-wrap:wrap;margin:1.2rem 0}
.fks-sim__actions button{min-height:48px;padding:.75rem 1.2rem;border-radius:9px;font-weight:700;cursor:pointer}
.fks-primary{border:1px solid #333;background:#333;color:#fff}
.fks-secondary{border:1px solid #bbb;background:#fff;color:#333}
.fks-error{color:#a32323;font-weight:700}
.fks-result{margin:1.5rem 0;padding:1.5rem;border:2px solid #333;border-radius:14px;background:#fff}
.fks-result__label{text-align:center;margin:0;font-weight:700}
.fks-result__amount{text-align:center;margin:.1rem 0;font-size:1.15rem}
.fks-result__amount strong{font-size:2.3rem;line-height:1.25}
.fks-result__safe{text-align:center;margin:.5rem 0 1.2rem;padding:.55rem;background:#f6f6f6;border-radius:8px}
.fks-result__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
.fks-result__grid div{padding:.75rem;border:1px solid #e4e4e4;border-radius:8px}
.fks-result__grid span,.fks-result__grid strong{display:block}
.fks-result__grid span{font-size:.82rem;color:#666}
.fks-result__explain{margin-top:1.1rem}
.fks-result__explain h3{font-size:1rem}
.fks-sim__disclaimer{margin-top:1.2rem;padding:1rem 1.2rem;background:#f7f7f7;border-radius:10px;font-size:.82rem;color:#555}
.fks-sim__disclaimer p{margin:.4rem 0}
[hidden]{display:none!important}
@media(max-width:600px){
 .fks-sim{margin:1.2rem 0}
 .fks-sim__intro,.fks-sim__section,.fks-result{padding:1rem}
 .fks-grid,.fks-result__grid{grid-template-columns:1fr}
 .fks-sim__mode{flex-direction:column}
 .fks-sim__actions{flex-direction:column}
 .fks-sim__actions button{width:100%}
 .fks-result__amount strong{font-size:2rem}
}
.fks-salary-breakdown{margin:1rem 0;padding:1rem;border:1px solid #e1e1e1;border-radius:10px;background:#fafafa}
.fks-salary-breakdown__toggle{display:flex;align-items:center;gap:.55rem;font-weight:700;cursor:pointer}
.fks-salary-breakdown__fields{margin-top:1rem}
.fks-salary-breakdown__help{margin:0 0 .8rem;font-size:.9rem}
.fks-salary-breakdown__total{margin:.8rem 0;padding:.75rem;background:#fff;border-radius:8px}
.fks-salary-breakdown__total strong{font-size:1.2rem}
.fks-salary-breakdown__fields small{display:block;color:#555}
