@import url("../../kariirekin/assets/kariirekin.css");
.loan-layout{width:min(100% - 40px,1780px);margin:26px auto 50px;display:grid;grid-template-columns:300px minmax(0,1fr) 300px;gap:24px;align-items:start}.loan-main{min-width:0}.loan-ad{display:grid;gap:24px}.loan-main .sim-panel{margin-bottom:22px}.mode-tabs{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 22px}.mode-tabs label{border:1px solid #bdcce0;border-radius:7px;padding:12px 16px;cursor:pointer;background:#f6f9fe;color:#001e4e;font-weight:700}.mode-tabs label:has(input:checked){background:#e7f0ff;border-color:#1b5eb5}.mode-tabs.secondary label{font-weight:500}.helper{font-size:13px;color:#43536a;margin:4px 0 20px}.loan-main .field-grid{margin:12px 0 20px}.loan-main .field-label input,.loan-main .field-label select{width:100%;box-sizing:border-box}.form-error{color:#a4161a;background:#fff1f1;padding:10px}.result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:20px}.result-card{padding:18px;border:1px solid #d3dce8;border-radius:8px;background:#f7faff}.result-card strong{display:block;font-size:23px;color:#001e4e;margin-top:8px;overflow-wrap:anywhere}.result-card.highlight{background:#edf4ff;border-color:#7ba5df}.result-card small{display:block;margin-top:8px;color:#4a586c}.result-table{width:100%;border-collapse:collapse}.result-table th,.result-table td{border:1px solid #bdc9d8;padding:10px;text-align:right}.result-table th:first-child,.result-table td:first-child{text-align:left}.result-table th{background:#eaf0f8}.result-note{font-size:13px;line-height:1.75;color:#34435a}.seo-loan{box-sizing:border-box;width:min(100% - 40px,1460px);margin:30px auto 50px;padding:22px;border:1px solid #d8dee8;border-radius:14px;background:#fff;line-height:1.8}.seo-loan h2{font-size:1rem;color:#001e4e;margin:16px 0 5px}.seo-loan p{font-size:.9rem;margin:0 0 12px}[hidden]{display:none!important}@media(max-width:1680px){.loan-layout{grid-template-columns:300px minmax(0,1fr);max-width:1460px}.loan-ad{grid-column:2;grid-template-columns:repeat(2,minmax(0,300px))}.loan-ad .ad-600{height:250px}}@media(max-width:1180px){.loan-layout{grid-template-columns:minmax(0,1fr)}.loan-ad{grid-column:auto}.loan-layout .tool-side-guide{max-width:none}}@media(max-width:650px){.loan-layout{width:calc(100% - 28px)}.result-grid{grid-template-columns:1fr}.loan-ad{grid-template-columns:1fr}.seo-loan{width:calc(100% - 28px)}.mode-tabs label{width:100%}.result-table{font-size:12px}}@media print{.site-header,.breadcrumb,.legal-hero,.tool-side-guide,.loan-ad,.seo-loan,#loanForm,.intro-panel,.button-row,#pdf,#excel{display:none!important}.loan-layout{display:block;width:100%;margin:0}.loan-main .sim-panel{border:0;box-shadow:none}body{background:#fff}.result-grid{grid-template-columns:repeat(2,1fr)}}
/* 入力欄は入力内容に応じた適切な幅に制限する。列幅や他の画面要素は変更しない。 */
.loan-main .field-label input[type="text"],
.loan-main .field-label input[type="number"]{
  width: min(100%, 220px);
  max-width: 100%;
}
.loan-main .field-label select{
  width: min(100%, 180px);
  max-width: 100%;
}

/* 入力欄の幅は維持し、2項目を1行ずつ縦に配置する */
.loan-main .field-grid.two-col{display:grid;grid-template-columns:minmax(0,1fr)!important;gap:14px;}
.loan-main .field-grid.two-col > .field-label{min-width:0;}

/* ラジオボタン本体の寸法だけを調整。ラベルの背景・枠線・余白は維持。 */
.loan-main .mode-tabs input[type="radio"]{
  box-sizing:border-box!important;
  width:14px!important;
  height:14px!important;
  min-width:14px!important;
  min-height:14px!important;
  max-width:14px!important;
  max-height:14px!important;
  flex:0 0 14px!important;
  padding:0!important;
  margin:0 6px 0 0!important;
  vertical-align:middle;
  appearance:auto!important;
  -webkit-appearance:radio!important;
}
