/* ==========================================================================
   Article Block Patterns
   --------------------------------------------------------------------------
   各 block の固有装飾（共通化できない差分のあるルール、および1 block のみで
   使用されるルール）を、block 単位で収録。
   ========================================================================== */


/* ==========================================================================
   .atmflow-block1
   ========================================================================== */
.atmflow-block1 {
  font-family: 'Noto Sans JP', sans-serif;
  margin-bottom: 22px;
}

.atmflow-block1 .section-title {
  font-size: 13.5px;
  font-weight: 700;
  color: #1e2a38;
  margin-bottom: 14px;
  padding-left: 10px;
  border-left: 3px solid #6a3aaa;
  line-height: 1.5;
}

.atmflow-block1 .step-arrow {
  font-size: 20px;
  color: #6a3aaa;
  padding: 4px 0;
  line-height: 1;
}

.atmflow-block1 .step-card {
  width: 100%;
  background: #fff;
  border: 1.5px solid #444441;
  border-radius: 10px;
  overflow: hidden;
}

.atmflow-block1 .step-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  background: #6a3aaa;
}

.atmflow-block1 .step-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(255,255,255,0.25);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  flex-shrink: 0;
}

.atmflow-block1 .step-tag {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 4px;
  background: #f0eafa;
  color: #6a3aaa;
}

.atmflow-block1 .step-wrap {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.atmflow-block1 .total-body {
  font-size: 11.5px;
  color: #3a1a6a;
  line-height: 1.7;
}

.atmflow-block1 .total-body strong {
  font-weight: 700;
}

.atmflow-block1 .total-box {
  background: #f5f0fc;
  border: 1.5px solid #c0a0e0;
  border-radius: 10px;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
}


/* ==========================================================================
   .bankflow-block1
   ========================================================================== */
.bankflow-block1 {
  font-family: 'Noto Sans JP', sans-serif;
  margin-bottom: 22px;
}

.bankflow-block1 .compare-card {
  background: #fff;
  border: 1.5px solid #e2e8f2;
  border-radius: 8px;
  overflow: hidden;
}

.bankflow-block1 .compare-head {
  padding: 8px 12px;
  font-size: 11px;
  font-weight: 700;
  color: #fff;
  text-align: center;
}

.bankflow-block1 .compare-head.c-green {
  background: #2a7a48;
}

.bankflow-block1 .compare-head.c-red {
  background: #c03030;
}

.bankflow-block1 .compare-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.bankflow-block1 .compare-list li {
  font-size: 11px;
  color: #334;
  padding: 7px 12px;
  border-bottom: 1px solid #e8eef6;
  line-height: 1.6;
  display: flex;
  align-items: center;
  gap: 6px;
}

.bankflow-block1 .compare-list li:last-child {
  border-bottom: none;
}

.bankflow-block1 .compare-wrap {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 10px;
  margin-top: 12px;
}

.bankflow-block1 .dot-green {
  color: #2a7a48;
  font-size: 12px;
}

.bankflow-block1 .dot-red {
  color: #c03030;
  font-size: 12px;
}

.bankflow-block1 .section-title {
  font-size: 13.5px;
  font-weight: 700;
  color: #1e2a38;
  margin-bottom: 14px;
  padding-left: 10px;
  border-left: 3px solid #c03030;
  line-height: 1.5;
}

.bankflow-block1 .step-arrow {
  font-size: 20px;
  color: #c03030;
  padding: 4px 0;
  line-height: 1;
}

.bankflow-block1 .step-card {
  width: 100%;
  background: #fff;
  border: 1.5px solid #444441;
  border-radius: 10px;
  overflow: hidden;
}

.bankflow-block1 .step-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  background: #c03030;
}

.bankflow-block1 .step-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(255,255,255,0.25);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  flex-shrink: 0;
}

.bankflow-block1 .step-tag {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 4px;
  background: #fdeaea;
  color: #c03030;
}

.bankflow-block1 .step-tag.blue {
  background: #e8f0f8;
  color: #1a3a5c;
}

.bankflow-block1 .step-wrap {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.bankflow-block1 .total-body {
  font-size: 11.5px;
  color: #4a1a1a;
  line-height: 1.7;
}

.bankflow-block1 .total-body strong {
  font-weight: 700;
}

.bankflow-block1 .total-box {
  background: #fdf5f5;
  border: 1.5px solid #e0b0b0;
  border-radius: 10px;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
}

@media (max-width: 480px) {
.bankflow-block1 .compare-wrap {
  grid-template-columns: 1fr !important;
}
}


/* ==========================================================================
   .doujishinko-block1
   ========================================================================== */
.doujishinko-block1 {
  font-family: 'Noto Sans JP', sans-serif;
  margin-bottom: 22px;
}

.doujishinko-block1 .bureau-card {
  background: #f7f9fc;
  border: 1.5px solid #e2e8f2;
  border-radius: 8px;
  padding: 10px 12px;
  text-align: center;
}

.doujishinko-block1 .bureau-desc {
  display: block;
  font-size: 10px;
  color: #6b7a8d;
  margin-bottom: 6px;
  line-height: 1.5;
}

.doujishinko-block1 .bureau-link {
  display: inline-block;
  font-size: 10.5px;
  font-weight: 700;
  color: #1a5aaa;
  text-decoration: none;
  border: 1px solid #b0c8e8;
  border-radius: 4px;
  padding: 2px 8px;
}

.doujishinko-block1 .bureau-link:hover {
  background: #e8f0f8;
}

.doujishinko-block1 .bureau-name {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: #1a3a5c;
  margin-bottom: 4px;
}

.doujishinko-block1 .bureau-wrap {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 8px;
}

.doujishinko-block1 .flow-arrow {
  text-align: center;
  font-size: 16px;
  color: #c03030;
  padding: 2px 0;
  background: #fff;
  border-left: 1.5px solid #e2e8f2;
  border-right: 1.5px solid #e2e8f2;
}

.doujishinko-block1 .flow-content {
  flex: 1;
}

.doujishinko-block1 .flow-desc {
  font-size: 11px;
  color: #556;
  line-height: 1.7;
}

.doujishinko-block1 .flow-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #c03030;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  flex-shrink: 0;
  margin-top: 1px;
}

.doujishinko-block1 .flow-step {
  background: #fff;
  border: 1.5px solid #e2e8f2;
  border-radius: 0;
  padding: 12px 16px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  border-bottom: none;
}

.doujishinko-block1 .flow-step:first-child {
  border-radius: 10px 10px 0 0;
}

.doujishinko-block1 .flow-step:last-child {
  border-radius: 0 0 10px 10px;
  border-bottom: 1.5px solid #e2e8f2;
}

.doujishinko-block1 .flow-title {
  font-size: 12px;
  font-weight: 700;
  color: #1e2a38;
  margin-bottom: 3px;
}

.doujishinko-block1 .flow-wrap {
  display: flex !important;
  flex-direction: column !important;
  gap: 0;
  margin-bottom: 14px;
}

.doujishinko-block1 .section-title {
  font-size: 13.5px;
  font-weight: 700;
  color: #1e2a38;
  margin-bottom: 14px;
  padding-left: 10px;
  border-left: 3px solid #c03030;
  line-height: 1.5;
}

@media (max-width: 480px) {
.doujishinko-block1 .bureau-wrap {
  grid-template-columns: 1fr !important;
}
}


/* ==========================================================================
   .doujishinko-block2
   ========================================================================== */
.doujishinko-block2 {
  font-family: 'Noto Sans JP', sans-serif;
  margin-bottom: 22px;
}

.doujishinko-block2 .ok-body {
  font-size: 11.5px;
  color: #334;
  line-height: 1.8;
}

.doujishinko-block2 .ok-body strong {
  color: #2a7a48;
  font-weight: 700;
}

.doujishinko-block2 .ok-card {
  background: #fff;
  border: 1.5px solid #c8e8d0;
  border-left: 4px solid #2a7a48;
  border-radius: 10px;
  padding: 14px 16px;
}

.doujishinko-block2 .ok-title {
  font-size: 12px;
  font-weight: 700;
  color: #2a7a48;
  margin-bottom: 8px;
  display: block;
}

.doujishinko-block2 .reason-icon {
  color: #c03030;
  font-weight: 700;
  flex-shrink: 0;
}

.doujishinko-block2 .reason-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px;
}

.doujishinko-block2 .reason-list li {
  font-size: 11.5px;
  color: #334;
  line-height: 1.7;
  padding: 7px 12px;
  background: #fdeaea;
  border-radius: 6px;
  display: flex;
  align-items: flex-start;
  gap: 7px;
}

.doujishinko-block2 .warn-card {
  background: #fff;
  border: 1.5px solid #f0b0b0;
  border-left: 4px solid #c03030;
  border-radius: 10px;
  padding: 14px 16px;
  margin-bottom: 10px;
}

.doujishinko-block2 .warn-title {
  font-size: 12px;
  font-weight: 700;
  color: #c03030;
  margin-bottom: 10px;
  display: block;
}


/* ==========================================================================
   .kinri-block1
   ========================================================================== */
.kinri-block1 {
  font-family: 'Noto Sans JP', sans-serif;
  margin-bottom: 22px;
}

.kinri-block1 .rate-card {
  background: #fff;
  border: 1.5px solid #e2e8f2;
  border-radius: 10px;
  padding: 16px 14px 14px;
  text-align: center;
}

.kinri-block1 .rate-card-name {
  font-size: 11px;
  font-weight: 700;
  color: #6b7a8d;
  margin-bottom: 8px;
  display: block;
  line-height: 1.5;
}

.kinri-block1 .rate-card.c1 {
  border-top: 4px solid #1a3a5c;
}

.kinri-block1 .rate-card.c2 {
  border-top: 4px solid #c47f00;
}

.kinri-block1 .rate-card.c3 {
  border-top: 4px solid #888780;
}

.kinri-block1 .rate-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.kinri-block1 .rate-note {
  font-size: 10px;
  color: #8a9ab0;
  line-height: 1.5;
  display: block;
}

.kinri-block1 .rate-val {
  font-family: 'DM Sans', 'Noto Sans JP', sans-serif;
  font-size: 20px;
  font-weight: 700;
  display: block;
  margin-bottom: 5px;
  line-height: 1;
}

.kinri-block1 .rate-val.c1 {
  color: #1a3a5c;
}

.kinri-block1 .rate-val.c2 {
  color: #c47f00;
}

.kinri-block1 .rate-val.c3 {
  color: #5f5e5a;
}

.kinri-block1 .section-title {
  font-size: 13.5px;
  font-weight: 700;
  color: #1e2a38;
  margin-bottom: 14px;
  padding-left: 10px;
  border-left: 3px solid #1a3a5c;
  line-height: 1.5;
}

.kinri-block1 .tag-s {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 4px;
  margin-top: 6px;
}

@media (max-width: 500px) {
.kinri-block1 .rate-grid {
  grid-template-columns: 1fr;
}
}


/* ==========================================================================
   .kinri-block2
   ========================================================================== */
.kinri-block2 {
  font-family: 'Noto Sans JP', sans-serif;
  margin-bottom: 22px;
}

.kinri-block2 .law-amount {
  font-size: 10.5px;
  font-weight: 700;
  color: #6b7a8d;
  display: block;
  margin-bottom: 6px;
  line-height: 1.5;
}

.kinri-block2 .law-bar {
  width: 36px;
  border-radius: 4px 4px 0 0;
}

.kinri-block2 .law-bar-wrap {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  height: 70px;
  margin-bottom: 10px;
}

.kinri-block2 .law-bar.b1 {
  height: 70px;
  background: #E24B4A;
}

.kinri-block2 .law-bar.b2 {
  height: 52px;
  background: #EF9F27;
}

.kinri-block2 .law-bar.b3 {
  height: 38px;
  background: #378ADD;
}

.kinri-block2 .law-item {
  padding: 16px 12px 14px;
  text-align: center;
  border-right: 1px solid #e2e8f2;
  position: relative;
}

.kinri-block2 .law-item:last-child {
  border-right: none;
}

.kinri-block2 .law-limit {
  font-size: 10px;
  color: #8a9ab0;
  display: block;
}

.kinri-block2 .law-note {
  margin-top: 12px;
  background: #f7f9fc;
  border: 1px solid #e2e8f2;
  border-radius: 7px;
  padding: 9px 12px;
  font-size: 11px;
  color: #556;
  line-height: 1.7;
  text-align: left;
}

.kinri-block2 .law-note a {
  color: #1a5aaa;
  text-decoration: none;
  font-size: 10.5px;
}

.kinri-block2 .law-rate {
  font-family: 'DM Sans', 'Noto Sans JP', sans-serif;
  font-size: 22px;
  font-weight: 700;
  display: block;
  line-height: 1;
  margin-bottom: 3px;
}

.kinri-block2 .law-rate.r1 {
  color: #A32D2D;
}

.kinri-block2 .law-rate.r2 {
  color: #854F0B;
}

.kinri-block2 .law-rate.r3 {
  color: #185FA5;
}

.kinri-block2 .law-wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border: 1.5px solid #e2e8f2;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  min-width: 300px;
}

.kinri-block2 .section-title {
  font-size: 13.5px;
  font-weight: 700;
  color: #1e2a38;
  margin-bottom: 14px;
  padding-left: 10px;
  border-left: 3px solid #1a3a5c;
  line-height: 1.5;
}

.kinri-block2 .table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 10px;
}


/* ==========================================================================
   .kinri-block3
   ========================================================================== */
.kinri-block3 {
  font-family: 'Noto Sans JP', sans-serif;
  margin-bottom: 22px;
}

.kinri-block3 .caution-box {
  background: #fdf0d8;
  border: 1.5px solid #e8c070;
  border-radius: 8px;
  padding: 12px 14px;
  font-size: 11.5px;
  color: #7a4e00;
  line-height: 1.7;
}

.kinri-block3 .caution-title {
  font-size: 11.5px;
  font-weight: 700;
  color: #854F0B;
  margin-bottom: 6px;
  display: block;
}

.kinri-block3 .compare-item {
  border-radius: 6px;
  padding: 8px 10px;
  text-align: center;
  font-size: 11px;
  font-weight: 700;
}

.kinri-block3 .compare-ng {
  background: #fdeaea;
  color: #7a1f1f;
}

.kinri-block3 .compare-ok {
  background: #e4f6ec;
  color: #1e5a30;
}

.kinri-block3 .compare-sub {
  font-size: 10px;
  font-weight: 400;
  display: block;
  margin-top: 2px;
}

.kinri-block3 .compare-wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  margin-top: 10px;
}

.kinri-block3 .point-box {
  background: #fff;
  border: 1.5px solid #e2e8f2;
  border-left: 4px solid #1a3a5c;
  border-radius: 10px;
  padding: 16px 18px;
  margin-bottom: 12px;
}

.kinri-block3 .point-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}

.kinri-block3 .point-item {
  background: #f7f9fc;
  border: 1px solid #e2e8f2;
  border-radius: 7px;
  padding: 10px 12px;
  font-size: 11px;
  color: #1e2a38;
  line-height: 1.7;
}

.kinri-block3 .point-item .pi-label {
  display: block;
  font-size: 10px;
  font-weight: 700;
  color: #6b7a8d;
  margin-bottom: 4px;
}

.kinri-block3 .point-item strong {
  color: #1a3a5c;
  font-weight: 700;
}

.kinri-block3 .point-title {
  font-size: 12px;
  font-weight: 700;
  color: #1a3a5c;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 6px;
}

@media (max-width: 480px) {
.kinri-block3 .point-grid {
  grid-template-columns: 1fr;
}
}


/* ==========================================================================
   .murisoku-block1
   ========================================================================== */
.murisoku-block1 {
  font-family: 'Noto Sans JP', sans-serif;
  margin-bottom: 22px;
}

.murisoku-block1 .info-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  min-width: 420px;
  font-size: 11.5px;
}

.murisoku-block1 .info-table tbody td {
  padding: 11px 14px;
  border-bottom: 1px solid #e2e8f2;
  color: #1e2a38;
  line-height: 1.6;
  vertical-align: middle;
  text-align: center;
}

.murisoku-block1 .info-table tbody td:first-child {
  font-weight: 700;
  font-size: 11px;
  color: #6b7a8d;
  background: #fafbfd;
  text-align: left;
  white-space: nowrap;
}

.murisoku-block1 .info-table tbody tr:last-child td {
  border-bottom: none;
}

.murisoku-block1 .info-table thead th {
  background: #2a7a48;
  color: #fff;
  font-weight: 700;
  padding: 10px 14px;
  text-align: center;
  font-size: 11px;
  letter-spacing: 0.03em;
}

.murisoku-block1 .info-table thead th:first-child {
  background: #1a5030;
  width: 100px;
  text-align: left;
}

.murisoku-block1 .section-title {
  font-size: 13.5px;
  font-weight: 700;
  color: #1e2a38;
  margin-bottom: 14px;
  padding-left: 10px;
  border-left: 3px solid #2a7a48;
  line-height: 1.5;
}

.murisoku-block1 .table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 10px;
  border: 1.5px solid #e2e8f2;
}

.murisoku-block1 .tag-s {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 4px;
}


/* ==========================================================================
   .murisoku-block2
   ========================================================================== */
.murisoku-block2 {
  font-family: 'Noto Sans JP', sans-serif;
  margin-bottom: 22px;
}

.murisoku-block2 .note-amber {
  background: #fdf0d8;
  color: #7a4e00;
}

.murisoku-block2 .note-green {
  background: #e4f6ec;
  color: #1e5a30;
}

.murisoku-block2 .note-icon {
  font-size: 11px;
  margin-right: 3px;
}

.murisoku-block2 .section-title {
  font-size: 13.5px;
  font-weight: 700;
  color: #1e2a38;
  margin-bottom: 14px;
  padding-left: 10px;
  border-left: 3px solid #2a7a48;
  line-height: 1.5;
}

.murisoku-block2 .timing-card {
  background: #fff;
  border: 1.5px solid #e2e8f2;
  border-radius: 12px;
  padding: 18px 16px;
  border-top: 4px solid #2a7a48;
}

.murisoku-block2 .timing-card.c-amber {
  border-top-color: #c47f00;
}

.murisoku-block2 .timing-card.c-amber .timing-timeline strong {
  color: #c47f00;
}

.murisoku-block2 .timing-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.murisoku-block2 .timing-head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

.murisoku-block2 .timing-icon {
  font-size: 22px;
}

.murisoku-block2 .timing-name {
  font-size: 12.5px;
  font-weight: 700;
  color: #1e2a38;
  line-height: 1.4;
}

.murisoku-block2 .timing-name span {
  display: block;
  font-size: 10px;
  color: #6b7a8d;
  font-weight: 400;
  margin-top: 1px;
}

.murisoku-block2 .timing-note {
  font-size: 10.5px;
  line-height: 1.6;
  padding: 8px 10px;
  border-radius: 6px;
}

.murisoku-block2 .timing-timeline {
  background: #f7f9fc;
  border-radius: 8px;
  padding: 10px 12px;
  margin-bottom: 10px;
  font-size: 11px;
  color: #1e2a38;
  line-height: 1.7;
}

.murisoku-block2 .timing-timeline strong {
  color: #2a7a48;
}

@media (max-width: 480px) {
.murisoku-block2 .timing-grid {
  grid-template-columns: 1fr;
}
}


/* ==========================================================================
   .murisoku-block3
   ========================================================================== */
.murisoku-block3 {
  font-family: 'Noto Sans JP', sans-serif;
  margin-bottom: 22px;
}

.murisoku-block3 .check-box {
  background: #fff;
  border: 1.5px solid #e2e8f2;
  border-left: 4px solid #2a7a48;
  border-radius: 10px;
  padding: 16px 18px;
}

.murisoku-block3 .check-box-title {
  font-size: 12px;
  font-weight: 700;
  color: #2a7a48;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 5px;
}

.murisoku-block3 .check-item {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  font-size: 11px;
  color: #1e2a38;
  line-height: 1.6;
  background: #fafbfd;
  border: 1px solid #e2e8f2;
  border-radius: 7px;
  padding: 9px 10px;
}

.murisoku-block3 .check-item-text strong {
  color: #2a7a48;
  font-weight: 700;
}


/* ==========================================================================
   .omatome-block1
   ========================================================================== */
.omatome-block1 {
  font-family: 'Noto Sans JP', sans-serif;
  margin-bottom: 22px;
}

.omatome-block1 .card-wrap {
  display: -webkit-flex !important;
  display: flex !important;
  -webkit-flex-wrap: wrap !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

.omatome-block1 .label-blue {
  background: #e8f0f8;
  color: #1a3a5c;
}

.omatome-block1 .label-green {
  background: #e4f6ec;
  color: #2a7a48;
}

.omatome-block1 .label-red {
  background: #fdeaea;
  color: #c03030;
}

.omatome-block1 .label-teal {
  background: #e1f5ee;
  color: #1a7a7a;
}

.omatome-block1 .loan-body {
  padding: 12px 14px;
}

.omatome-block1 .loan-card {
  -webkit-flex: 1 1 calc(50% - 6px) !important;
  flex: 1 1 calc(50% - 6px) !important;
  min-width: 200px !important;
  max-width: 100% !important;
  background: #fff !important;
  border: 1.5px solid #e2e8f2 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
}

.omatome-block1 .loan-head {
  padding: 11px 14px;
  font-size: 12px;
  font-weight: 700;
  color: #fff;
}

.omatome-block1 .loan-head-sub {
  font-size: 10px;
  font-weight: 400;
  opacity: 0.85;
  display: block;
  margin-top: 2px;
  line-height: 1.5;
}

.omatome-block1 .loan-head.c-blue {
  background: #1a3a5c;
}

.omatome-block1 .loan-head.c-teal {
  background: #1a7a7a;
}

.omatome-block1 .loan-label {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  padding: 1px 7px;
  border-radius: 3px;
  margin-bottom: 6px;
}

.omatome-block1 .loan-list {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 11px;
  color: #334;
  line-height: 1.8;
}

.omatome-block1 .loan-list li {
  padding-left: 12px;
  position: relative;
}

.omatome-block1 .loan-list li::before {
  content: "\00B7";
  position: absolute;
  left: 2px;
  font-weight: 700;
}

.omatome-block1 .loan-list.demerit li::before {
  color: #c03030;
}

.omatome-block1 .loan-list.merit li::before {
  color: #2a7a48;
}

.omatome-block1 .loan-section {
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e2e8f2;
}

.omatome-block1 .loan-section:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.omatome-block1 .section-title {
  font-size: 13.5px;
  font-weight: 700;
  color: #1e2a38;
  margin-bottom: 14px;
  padding-left: 10px;
  border-left: 3px solid #1a3a5c;
  line-height: 1.5;
}

@media (max-width: 480px) {
.omatome-block1 .loan-card {
  -webkit-flex: 1 1 100% !important;
  flex: 1 1 100% !important;
}
}


/* ==========================================================================
   .omatome-block2
   ========================================================================== */
.omatome-block2 {
  font-family: 'Noto Sans JP', sans-serif;
  margin-bottom: 22px;
}

.omatome-block2 .arrow-icon {
  font-size: 16px;
  color: #6b7a8d;
  flex-shrink: 0;
}

.omatome-block2 .flow-box {
  background: #f7f9fc;
  border: 1.5px solid #e2e8f2;
  border-radius: 7px;
  padding: 8px 12px;
  font-size: 11px;
  color: #334;
  line-height: 1.6;
  flex: 1;
  min-width: 110px;
}

.omatome-block2 .flow-box .fb-label {
  display: block;
  font-size: 9.5px;
  font-weight: 700;
  margin-bottom: 4px;
}

.omatome-block2 .flow-box .fb-sub {
  display: block;
  font-size: 10px;
  color: #8a9ab0;
}

.omatome-block2 .flow-box .fb-val {
  display: block;
  font-size: 12px;
  font-weight: 700;
  color: #1e2a38;
}

.omatome-block2 .flow-box.after {
  border-left: 3px solid #2a7a48;
}

.omatome-block2 .flow-box.after  .fb-label {
  color: #2a7a48;
}

.omatome-block2 .flow-box.before {
  border-left: 3px solid #c03030;
}

.omatome-block2 .flow-box.before .fb-label {
  color: #c03030;
}

.omatome-block2 .flow-wrap {
  display: flex !important;
  align-items: center !important;
  gap: 8px;
  flex-wrap: wrap !important;
  margin-bottom: 10px;
}

.omatome-block2 .image-body {
  padding: 12px 14px;
}

.omatome-block2 .image-card {
  background: #fff;
  border: 1.5px solid #e2e8f2;
  border-radius: 10px;
  overflow: hidden;
}

.omatome-block2 .image-head {
  padding: 9px 14px;
  font-size: 11.5px;
  font-weight: 700;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 6px;
}

.omatome-block2 .image-head.c-blue {
  background: #1a3a5c;
}

.omatome-block2 .image-head.c-teal {
  background: #1a7a7a;
}

.omatome-block2 .image-wrap {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px;
}

.omatome-block2 .law-note {
  font-size: 11px;
  color: #556;
  line-height: 1.7;
  margin-top: 6px;
}

.omatome-block2 .law-note a {
  color: #1a5aaa;
  text-decoration: none;
}

.omatome-block2 .recommend-tag {
  display: inline-block;
  font-size: 10.5px;
  font-weight: 700;
  background: #e8f0f8;
  color: #1a3a5c;
  border-radius: 4px;
  padding: 3px 10px;
  margin-top: 4px;
}

.omatome-block2 .recommend-tag.c-teal {
  background: #e1f5ee;
  color: #1a7a7a;
}

.omatome-block2 .section-title {
  font-size: 13.5px;
  font-weight: 700;
  color: #1e2a38;
  margin-bottom: 14px;
  padding-left: 10px;
  border-left: 3px solid #1a3a5c;
  line-height: 1.5;
}


/* ==========================================================================
   .omatome-block3
   ========================================================================== */
.omatome-block3 {
  font-family: 'Noto Sans JP', sans-serif;
  margin-bottom: 22px;
}

.omatome-block3 .decision-icon {
  flex-shrink: 0;
  font-size: 12px;
  font-weight: 700;
  padding: 1px 6px;
  border-radius: 3px;
  margin-top: 1px;
}

.omatome-block3 .decision-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 11px;
  color: #334;
  line-height: 1.7;
  background: #f7f9fc;
  border: 1px solid #e2e8f2;
  border-radius: 7px;
  padding: 8px 10px;
}

.omatome-block3 .decision-wrap {
  margin-top: 10px;
  display: flex !important;
  flex-direction: column !important;
  gap: 7px;
}

.omatome-block3 .icon-blue {
  background: #e8f0f8;
  color: #1a3a5c;
}

.omatome-block3 .icon-teal {
  background: #e1f5ee;
  color: #1a7a7a;
}

.omatome-block3 .note-body {
  font-size: 11px;
  color: #334;
  line-height: 1.8;
}

.omatome-block3 .note-body strong {
  font-weight: 700;
}

.omatome-block3 .note-body.info strong {
  color: #1a3a5c;
}

.omatome-block3 .note-box.info {
  border-left: 4px solid #1a3a5c;
}

.omatome-block3 .note-title {
  font-size: 11.5px;
  font-weight: 700;
  margin-bottom: 8px;
}

.omatome-block3 .note-title.info {
  color: #1a3a5c;
}

.omatome-block3 .note-wrap {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px;
}


/* ==========================================================================
   .part-block1
   ========================================================================== */
.part-block1 {
  font-family: 'Noto Sans JP', sans-serif;
  margin-bottom: 22px;
}

.part-block1 .pt-body {
  padding: 12px 14px;
  font-size: 11.5px;
  color: #334;
  line-height: 1.8;
}

.part-block1 .pt-body a {
  color: #1a5aaa;
  text-decoration: none;
}

.part-block1 .pt-body a:hover {
  text-decoration: underline;
}

.part-block1 .pt-card {
  background: #fff;
  border: 1.5px solid #e2e8f2;
  border-radius: 10px;
  overflow: hidden;
}

.part-block1 .pt-card.c-amber .pt-head {
  background: #c47f00;
}

.part-block1 .pt-card.c-green .pt-head {
  background: #2a7a48;
}

.part-block1 .pt-card.c-teal  .pt-head {
  background: #1a7a7a;
}

.part-block1 .pt-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 14px;
  background: #1a3a5c;
}

.part-block1 .pt-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px;
}

.part-block1 .pt-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  font-size: 11px;
  font-weight: 700;
  flex-shrink: 0;
  background: rgba(255,255,255,0.25);
  color: #fff;
}

.part-block1 .pt-title {
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  line-height: 1.5;
}

.part-block1 .section-title {
  font-size: 13.5px;
  font-weight: 700;
  color: #1e2a38;
  margin-bottom: 14px;
  padding-left: 10px;
  border-left: 3px solid #1a3a5c;
  line-height: 1.5;
}


/* ==========================================================================
   .part-block2
   ========================================================================== */
.part-block2 {
  font-family: 'Noto Sans JP', sans-serif;
  margin-bottom: 22px;
}

.part-block2 .note-body {
  padding: 12px 14px;
  font-size: 11.5px;
  color: #334;
  line-height: 1.8;
}

.part-block2 .note-card {
  background: #fff;
  border: 1.5px solid #e2e8f2;
  border-radius: 10px;
  overflow: hidden;
}

.part-block2 .note-card.c-amber .note-head {
  background: #fdf8ee;
  border-bottom-color: #f0d8a0;
}

.part-block2 .note-card.c-amber .note-head-text {
  color: #c47f00;
}

.part-block2 .note-head {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  background: #f0f4f9;
  border-bottom: 1.5px solid #e2e8f2;
}

.part-block2 .note-head-text {
  font-size: 12px;
  font-weight: 700;
  color: #1a3a5c;
}

.part-block2 .note-icon {
  width: 26px;
  height: 26px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  flex-shrink: 0;
}

.part-block2 .note-icon.c-amber {
  background: #fdf0d8;
}

.part-block2 .note-icon.c-blue {
  background: #e8f0f8;
}

.part-block2 .note-wrap {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px;
}


/* ==========================================================================
   .priv-block1
   ========================================================================== */
.priv-block1 {
  font-family: 'Noto Sans JP', sans-serif !important;
  margin-bottom: 22px !important;
}

.priv-block1 .card-grid {
  display: -webkit-flex !important;
  display: flex !important;
  -webkit-flex-wrap: wrap !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

.priv-block1 .priv-card {
  -webkit-flex: 1 1 calc(50% - 5px) !important;
  flex: 1 1 calc(50% - 5px) !important;
  min-width: 200px !important;
  max-width: 100% !important;
  background: #fff !important;
  border: 1.5px solid #e2e8f2 !important;
  border-left: 4px solid #6a3aaa !important;
  border-radius: 10px !important;
  padding: 14px 14px 12px !important;
}

.priv-block1 .priv-card-body {
  font-size: 11px !important;
  color: #556 !important;
  line-height: 1.7 !important;
  padding-left: 4px !important;
}

.priv-block1 .priv-card-body .priv-item {
  display: block !important;
  padding-left: 12px !important;
  position: relative !important;
  margin-bottom: 2px !important;
}

.priv-block1 .priv-card-body .priv-item::before {
  content: "\00B7" !important;
  position: absolute !important;
  left: 2px !important;
  color: #6a3aaa !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
}

.priv-block1 .priv-card-head {
  display: -webkit-flex !important;
  display: flex !important;
  -webkit-align-items: center !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 8px !important;
}

.priv-block1 .priv-card-icon {
  width: 32px !important;
  height: 28px !important;
  border-radius: 6px !important;
  background: #f0eafa !important;
  display: -webkit-flex !important;
  display: flex !important;
  -webkit-align-items: center !important;
  align-items: center !important;
  -webkit-justify-content: center !important;
  justify-content: center !important;
  -webkit-flex-shrink: 0 !important;
  flex-shrink: 0 !important;
  font-size: 9.5px !important;
  color: #6a3aaa !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
}

.priv-block1 .priv-card-name {
  font-size: 12.5px !important;
  font-weight: 700 !important;
  color: #1e2a38 !important;
  display: inline !important;
  word-break: normal !important;
}

.priv-block1 .section-title {
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #1e2a38 !important;
  margin-bottom: 14px !important;
  padding-left: 10px !important;
  border-left: 3px solid #6a3aaa !important;
  line-height: 1.5 !important;
}

@media (max-width: 480px) {
.priv-block1 .priv-card {
  -webkit-flex: 1 1 100% !important;
  flex: 1 1 100% !important;
}
}


/* ==========================================================================
   .priv-block2
   ========================================================================== */
.priv-block2 {
  font-family: 'Noto Sans JP', sans-serif;
  margin-bottom: 22px;
}

.priv-block2 .cond-body {
  padding: 12px 14px;
}

.priv-block2 .cond-card {
  display: block !important;
  width: 100% !important;
  background: #fff;
  border: 1.5px solid #e2e8f2;
  border-radius: 10px;
  overflow: hidden;
  box-sizing: border-box;
}

.priv-block2 .cond-head {
  padding: 10px 14px;
  font-size: 11.5px;
  font-weight: 700;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 8px;
}

.priv-block2 .cond-head.c-green {
  background: #2a7a48;
}

.priv-block2 .cond-head.c-purple {
  background: #6a3aaa;
}

.priv-block2 .cond-note {
  font-size: 11px;
  color: #556;
  line-height: 1.7;
  margin: 0;
}

.priv-block2 .cond-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: rgba(255,255,255,0.3);
  font-size: 11px;
  font-weight: 700;
  flex-shrink: 0;
}

.priv-block2 .cond-tags {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 5px;
  margin-bottom: 8px;
}

.priv-block2 .cond-wrap {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  gap: 10px;
  margin-bottom: 12px;
  box-sizing: border-box;
}

.priv-block2 .quote-box {
  background: #f7f9fc;
  border: 1px solid #e2e8f2;
  border-left: 3px solid #6a3aaa;
  border-radius: 0 7px 7px 0;
  padding: 11px 14px;
  font-size: 11px;
  color: #334;
  line-height: 1.8;
}

.priv-block2 .quote-box .q-source {
  display: block;
  font-size: 10.5px;
  color: #8a9ab0;
  margin-top: 6px;
}

.priv-block2 .quote-box .q-source a {
  color: #6a3aaa;
  text-decoration: none;
}

.priv-block2 .quote-box .q-source a:hover {
  text-decoration: underline;
}

.priv-block2 .section-title {
  font-size: 13.5px;
  font-weight: 700;
  color: #1e2a38;
  margin-bottom: 14px;
  padding-left: 10px;
  border-left: 3px solid #6a3aaa;
  line-height: 1.5;
}

.priv-block2 .tag-purple {
  background: #f0eafa;
  color: #6a3aaa;
}

.priv-block2 .tag-s {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 4px;
}


/* ==========================================================================
   .priv-block3
   ========================================================================== */
.priv-block3 {
  font-family: 'Noto Sans JP', sans-serif;
  margin-bottom: 22px;
}

.priv-block3 .example-box {
  margin-top: 8px;
  background: #fafbfd;
  border: 1px solid #e2e8f2;
  border-radius: 6px;
  padding: 8px 10px;
  font-size: 11px;
  color: #445;
  line-height: 1.7;
  font-style: italic;
}

.priv-block3 .note-body {
  font-size: 11px;
  color: #334;
  line-height: 1.7;
}

.priv-block3 .note-body strong {
  font-weight: 700;
}

.priv-block3 .note-body.info strong {
  color: #6a3aaa;
}

.priv-block3 .note-box.info {
  border-left: 4px solid #6a3aaa;
}

.priv-block3 .note-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.priv-block3 .note-title {
  font-size: 11.5px;
  font-weight: 700;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 5px;
}

.priv-block3 .note-title.info {
  color: #6a3aaa;
}

@media (max-width: 480px) {
.priv-block3 .note-grid {
  grid-template-columns: 1fr !important;
}
}


/* ==========================================================================
   .shinsa-block1
   ========================================================================== */
.shinsa-block1 {
  font-family: 'Noto Sans JP', sans-serif;
  margin-bottom: 22px;
}

.shinsa-block1 .criteria-body {
  padding: 11px 14px;
  flex: 1;
  font-size: 11px;
  color: #334;
  line-height: 1.7;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.shinsa-block1 .criteria-head {
  background: #1a3a5c;
  color: #fff;
  padding: 10px 14px;
  font-size: 11px;
  font-weight: 700;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.shinsa-block1 .criteria-label {
  width: 130px;
  flex-shrink: 0;
  padding: 12px 14px;
  font-size: 11.5px;
  font-weight: 700;
  color: #fff;
  background: #0f2a50;
  border-right: 1px solid #444441;
  display: flex;
  align-items: center;
}

.shinsa-block1 .criteria-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 0;
  border: 1.5px solid #444441;
  border-radius: 10px;
  overflow: hidden;
}

.shinsa-block1 .criteria-row {
  display: flex !important;
  align-items: stretch !important;
  border-bottom: 1px solid #444441;
  background: #fff;
}

.shinsa-block1 .criteria-row:last-child {
  border-bottom: none;
}

.shinsa-block1 .imp-tag {
  display: inline-block;
  font-size: 9.5px;
  font-weight: 700;
  padding: 1px 7px;
  border-radius: 3px;
  flex-shrink: 0;
}

.shinsa-block1 .section-title {
  font-size: 13.5px;
  font-weight: 700;
  color: #1e2a38;
  margin-bottom: 14px;
  padding-left: 10px;
  border-left: 3px solid #1a3a5c;
  line-height: 1.5;
}

.shinsa-block1 .tag-high {
  background: #fdeaea;
  color: #c03030;
}

.shinsa-block1 .tag-mid {
  background: #fdf0d8;
  color: #c47f00;
}

.shinsa-block1 .tag-normal {
  background: #e8f0f8;
  color: #1a3a5c;
}


/* ==========================================================================
   .shinsa-block2
   ========================================================================== */
.shinsa-block2 {
  font-family: 'Noto Sans JP', sans-serif !important;
  margin-bottom: 22px !important;
}

.shinsa-block2 .emp-table {
  width: 100% !important;
  border-collapse: collapse !important;
  background: #fff !important;
  min-width: 320px !important;
  font-size: 11.5px !important;
}

.shinsa-block2 .emp-table tbody td {
  padding: 11px 14px !important;
  border-bottom: 1px solid #444441 !important;
  border-right: 1px solid #444441 !important;
  color: #1e2a38 !important;
  text-align: center !important;
  line-height: 1.6 !important;
  background: #fff !important;
}

.shinsa-block2 .emp-table tbody td:first-child {
  text-align: left !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  color: #fff !important;
  background: #0f2a50 !important;
  white-space: nowrap !important;
  width: 140px !important;
  min-width: 140px !important;
  vertical-align: middle !important;
}

.shinsa-block2 .emp-table tbody td:last-child {
  border-right: none !important;
}

.shinsa-block2 .emp-table tbody tr:last-child td {
  border-bottom: none !important;
}

.shinsa-block2 .emp-table thead th {
  background: #1a3a5c !important;
  color: #fff !important;
  font-weight: 700 !important;
  padding: 10px 14px !important;
  text-align: center !important;
  font-size: 11px !important;
  border-right: 1px solid #444441 !important;
}

.shinsa-block2 .emp-table thead th:first-child {
  text-align: left !important;
  width: 140px !important;
}

.shinsa-block2 .emp-table thead th:last-child {
  border-right: none !important;
}

.shinsa-block2 .eval-good {
  background: #e4f6ec !important;
  color: #2a7a48 !important;
}

.shinsa-block2 .eval-hard {
  background: #fdeaea !important;
  color: #c03030 !important;
}

.shinsa-block2 .eval-normal {
  background: #e8f0f8 !important;
  color: #1a3a5c !important;
}

.shinsa-block2 .eval-ok {
  background: #fdf0d8 !important;
  color: #c47f00 !important;
}

.shinsa-block2 .eval-tag {
  display: inline-block !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  padding: 2px 10px !important;
  border-radius: 4px !important;
}

.shinsa-block2 .note-body {
  font-size: 11.5px !important;
  color: #334 !important;
  line-height: 1.8 !important;
}

.shinsa-block2 .note-body strong {
  font-weight: 700 !important;
}

.shinsa-block2 .note-card {
  background: #fff !important;
  border: 1.5px solid #e2e8f2 !important;
  border-radius: 10px !important;
  padding: 13px 15px !important;
}

.shinsa-block2 .note-card.c-amber {
  border-left: 4px solid #c47f00 !important;
}

.shinsa-block2 .note-card.c-amber .note-body strong {
  color: #c47f00 !important;
}

.shinsa-block2 .note-card.c-amber .note-title {
  color: #c47f00 !important;
}

.shinsa-block2 .note-card.c-green {
  border-left: 4px solid #2a7a48 !important;
}

.shinsa-block2 .note-card.c-green .note-body strong {
  color: #2a7a48 !important;
}

.shinsa-block2 .note-card.c-green .note-title {
  color: #2a7a48 !important;
}

.shinsa-block2 .note-title {
  font-size: 12px !important;
  font-weight: 700 !important;
  margin-bottom: 6px !important;
  display: block !important;
}

.shinsa-block2 .note-wrap {
  display: -webkit-flex !important;
  display: flex !important;
  -webkit-flex-direction: column !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.shinsa-block2 .section-title {
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #1e2a38 !important;
  margin-bottom: 14px !important;
  padding-left: 10px !important;
  border-left: 3px solid #1a3a5c !important;
  line-height: 1.5 !important;
}

.shinsa-block2 .table-scroll {
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
  border-radius: 10px !important;
  border: 1.5px solid #444441 !important;
  margin-bottom: 12px !important;
}


/* ==========================================================================
   .shinyou-block1
   ========================================================================== */
.shinyou-block1 {
  font-family: 'Noto Sans JP', sans-serif !important;
  margin-bottom: 22px !important;
}

.shinyou-block1 .def-body {
  padding: 13px 16px !important;
  font-size: 11.5px !important;
  color: #334 !important;
  line-height: 1.8 !important;
}

.shinyou-block1 .def-body strong {
  color: #444441 !important;
  font-weight: 700 !important;
}

.shinyou-block1 .def-card {
  background: #fff !important;
  border: 1.5px solid #e2e8f2 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  margin-bottom: 12px !important;
}

.shinyou-block1 .def-head {
  background: #444441 !important;
  color: #fff !important;
  padding: 11px 16px !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
}

.shinyou-block1 .info-table {
  width: 100% !important;
  border-collapse: collapse !important;
  background: #fff !important;
  min-width: 480px !important;
  font-size: 11.5px !important;
}

.shinyou-block1 .info-table tbody td {
  padding: 11px 14px !important;
  border-bottom: 1px solid #444441 !important;
  border-right: 1px solid #444441 !important;
  color: #1e2a38 !important;
  line-height: 1.7 !important;
  vertical-align: top !important;
  background: #fff !important;
}

.shinyou-block1 .info-table tbody td:first-child {
  font-weight: 700 !important;
  font-size: 11px !important;
  color: #fff !important;
  background: #5a5a5a !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
  width: 130px !important;
  min-width: 130px !important;
}

.shinyou-block1 .info-table tbody tr:last-child td {
  border-bottom: none !important;
}

.shinyou-block1 .info-table thead th {
  background: #444441 !important;
  color: #fff !important;
  font-weight: 700 !important;
  padding: 10px 14px !important;
  text-align: left !important;
  font-size: 11px !important;
  border-right: 1px solid #666 !important;
}

.shinyou-block1 .info-table thead th:first-child {
  width: 130px !important;
}

.shinyou-block1 .table-scroll {
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
  border-radius: 10px !important;
  border: 1.5px solid #444441 !important;
}


/* ==========================================================================
   .shinyou-block2
   ========================================================================== */
.shinyou-block2 {
  font-family: 'Noto Sans JP', sans-serif;
  margin-bottom: 22px;
}

.shinyou-block2 .info-body {
  font-size: 11.5px;
  color: #334;
  line-height: 1.8;
}

.shinyou-block2 .info-body a {
  color: #1a5aaa;
  text-decoration: none;
}

.shinyou-block2 .info-body a:hover {
  text-decoration: underline;
}

.shinyou-block2 .info-box {
  background: #fff;
  border: 1.5px solid #e2e8f2;
  border-left: 4px solid #1a7a7a;
  border-radius: 10px;
  padding: 14px 16px;
}

.shinyou-block2 .info-title {
  font-size: 12px;
  font-weight: 700;
  color: #1a7a7a;
  margin-bottom: 8px;
  display: block;
}

.shinyou-block2 .period-head {
  background: #444441;
  color: #fff;
  padding: 9px 14px;
  font-size: 11px;
  font-weight: 700;
}

.shinyou-block2 .period-note {
  font-size: 10.5px;
  color: #8a9ab0;
  margin-top: 6px;
  margin-bottom: 12px;
  line-height: 1.6;
}

.shinyou-block2 .period-row {
  display: flex !important;
  align-items: center !important;
  border-bottom: 1px solid #444441;
  background: #fff;
}

.shinyou-block2 .period-row:last-child {
  border-bottom: none;
}

.shinyou-block2 .period-type {
  width: 130px;
  flex-shrink: 0;
  font-size: 11px;
  font-weight: 700;
  color: #fff;
  background: #5a5a5a;
  padding: 11px 12px;
  border-right: 1px solid #444441;
  align-self: stretch;
  display: flex;
  align-items: center;
}

.shinyou-block2 .period-val {
  padding: 11px 16px;
  font-size: 13px;
  font-weight: 700;
  color: #1e2a38;
  flex: 1;
}

.shinyou-block2 .period-val span {
  display: block;
  font-size: 10.5px;
  font-weight: 400;
  color: #6b7a8d;
  margin-top: 2px;
}

.shinyou-block2 .period-wrap {
  display: flex !important;
  flex-direction: column !important;
  gap: 0;
  border: 1.5px solid #444441;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 12px;
}

.shinyou-block2 .section-title {
  font-size: 13.5px;
  font-weight: 700;
  color: #1e2a38;
  margin-bottom: 14px;
  padding-left: 10px;
  border-left: 3px solid #444441;
  line-height: 1.5;
}


/* ==========================================================================
   .shorui-block1
   ========================================================================== */
.shorui-block1 {
  font-family: 'Noto Sans JP', sans-serif;
  margin-bottom: 22px;
}

.shorui-block1 .badge-case {
  background: #c47f00;
  color: #fff;
}

.shorui-block1 .badge-must {
  background: #c03030;
  color: #fff;
}

.shorui-block1 .doc-badge {
  display: inline-block;
  font-size: 9.5px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 3px;
  flex-shrink: 0;
}

.shorui-block1 .doc-body {
  padding: 12px 14px;
  font-size: 11.5px;
  color: #334;
  line-height: 1.8;
}

.shorui-block1 .doc-body a {
  color: #1a5aaa;
  text-decoration: none;
}

.shorui-block1 .doc-body a:hover {
  text-decoration: underline;
}

.shorui-block1 .doc-card {
  background: #fff;
  border: 1.5px solid #e2e8f2;
  border-radius: 10px;
  overflow: hidden;
}

.shorui-block1 .doc-examples {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 8px;
}

.shorui-block1 .doc-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
}

.shorui-block1 .doc-head-title {
  font-size: 12.5px;
  font-weight: 700;
  color: #fff;
}

.shorui-block1 .doc-head.optional {
  background: #6b7a8d;
}

.shorui-block1 .doc-head.required {
  background: #1a3a5c;
}

.shorui-block1 .doc-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px;
}

.shorui-block1 .doc-note {
  margin-top: 8px;
  padding: 8px 10px;
  background: #f7f9fc;
  border-radius: 6px;
  border-left: 3px solid #6b7a8d;
  font-size: 11px;
  color: #556;
  line-height: 1.7;
}

.shorui-block1 .doc-tag {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  background: #e8f0f8;
  color: #1a3a5c;
  border-radius: 4px;
  padding: 2px 8px;
}

.shorui-block1 .inner-link {
  display: inline-block;
  margin-top: 6px;
  font-size: 11px;
  color: #1a5aaa;
  text-decoration: none;
  border-bottom: 1px solid #a0c0e0;
}

.shorui-block1 .inner-link:hover {
  color: #0a3a7a;
}

.shorui-block1 .section-title {
  font-size: 13.5px;
  font-weight: 700;
  color: #1e2a38;
  margin-bottom: 14px;
  padding-left: 10px;
  border-left: 3px solid #1a3a5c;
  line-height: 1.5;
}


/* ==========================================================================
   .shorui-block2
   ========================================================================== */
.shorui-block2 {
  font-family: 'Noto Sans JP', sans-serif !important;
  margin-bottom: 22px !important;
}

.shorui-block2 .amount-head {
  background: #1a3a5c !important;
  color: #fff !important;
  padding: 9px 14px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}

.shorui-block2 .amount-range {
  width: 110px !important;
  min-width: 110px !important;
  -webkit-flex-shrink: 0 !important;
  flex-shrink: 0 !important;
  padding: 12px 12px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #1e2a38 !important;
  border-right: 1px solid #444441 !important;
  background: #fafbfd !important;
  display: -webkit-flex !important;
  display: flex !important;
  -webkit-align-items: center !important;
  align-items: center !important;
}

.shorui-block2 .amount-row {
  display: -webkit-flex !important;
  display: flex !important;
  -webkit-align-items: stretch !important;
  align-items: stretch !important;
  border-bottom: 1px solid #444441 !important;
  background: #fff !important;
}

.shorui-block2 .amount-row:last-child {
  border-bottom: none !important;
}

.shorui-block2 .amount-status {
  padding: 12px 12px !important;
  -webkit-flex: 1 !important;
  flex: 1 !important;
  display: -webkit-flex !important;
  display: flex !important;
  -webkit-flex-wrap: wrap !important;
  flex-wrap: wrap !important;
  -webkit-align-items: flex-start !important;
  align-items: flex-start !important;
  gap: 6px !important;
  font-size: 11.5px !important;
  color: #334 !important;
  line-height: 1.7 !important;
}

.shorui-block2 .amount-wrap {
  border: 1.5px solid #444441 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  margin-bottom: 14px !important;
}

.shorui-block2 .info-table {
  width: 100% !important;
  border-collapse: collapse !important;
  background: #fff !important;
  min-width: 300px !important;
  font-size: 11.5px !important;
}

.shorui-block2 .info-table tbody td {
  padding: 11px 14px !important;
  border-bottom: 1px solid #444441 !important;
  border-right: 1px solid #444441 !important;
  color: #1e2a38 !important;
  line-height: 1.8 !important;
  vertical-align: top !important;
  background: #fff !important;
}

.shorui-block2 .info-table tbody td:first-child {
  font-weight: 700 !important;
  font-size: 11px !important;
  color: #fff !important;
  background: #0f2a50 !important;
  white-space: nowrap !important;
  width: 120px !important;
  min-width: 120px !important;
  vertical-align: middle !important;
}

.shorui-block2 .info-table tbody tr:last-child td {
  border-bottom: none !important;
}

.shorui-block2 .info-table thead th {
  background: #1a3a5c !important;
  color: #fff !important;
  font-weight: 700 !important;
  padding: 10px 14px !important;
  text-align: left !important;
  font-size: 11px !important;
  border-right: 1px solid #444441 !important;
}

.shorui-block2 .section-title {
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #1e2a38 !important;
  margin-bottom: 14px !important;
  padding-left: 10px !important;
  border-left: 3px solid #1a3a5c !important;
  line-height: 1.5 !important;
}

.shorui-block2 .status-desc {
  display: block !important;
  width: 100% !important;
  font-size: 11px !important;
  color: #334 !important;
  line-height: 1.7 !important;
}

.shorui-block2 .status-tag {
  display: inline-block !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  padding: 2px 8px !important;
  border-radius: 4px !important;
  -webkit-flex-shrink: 0 !important;
  flex-shrink: 0 !important;
  margin-bottom: 2px !important;
}

.shorui-block2 .table-scroll {
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
  border-radius: 10px !important;
  border: 1.5px solid #444441 !important;
}

.shorui-block2 .tag-case {
  background: #fdf0d8 !important;
  color: #c47f00 !important;
}

.shorui-block2 .tag-must {
  background: #fdeaea !important;
  color: #c03030 !important;
}

.shorui-block2 .tag-ok {
  background: #e4f6ec !important;
  color: #2a7a48 !important;
}

@media (max-width: 480px) {
.shorui-block2 .amount-range {
  width: 100% !important;
  min-width: 0 !important;
  border-right: none !important;
  border-bottom: 1px solid #d0d8e4 !important;
  padding: 10px 12px !important;
  background: #f0f4fa !important;
}
}

@media (max-width: 480px) {
.shorui-block2 .amount-row {
  -webkit-flex-direction: column !important;
  flex-direction: column !important;
}
}

@media (max-width: 480px) {
.shorui-block2 .amount-status {
  padding: 10px 12px !important;
}
}


/* ==========================================================================
   .shufu-block1
   ========================================================================== */
.shufu-block1 {
  font-family: 'Noto Sans JP', sans-serif;
  margin-bottom: 22px;
}

.shufu-block1 .alert-box {
  background: #fff8f0;
  border: 1.5px solid #f0c080;
  border-left: 4px solid #c47f00;
  border-radius: 10px;
  padding: 12px 16px;
  font-size: 11.5px;
  color: #334;
  line-height: 1.8;
}

.shufu-block1 .alert-title {
  font-size: 12px;
  font-weight: 700;
  color: #c47f00;
  margin-bottom: 6px;
  display: block;
}

.shufu-block1 .def-body {
  padding: 14px 16px;
  font-size: 12px;
  color: #334;
  line-height: 1.8;
}

.shufu-block1 .def-body a {
  color: #1a5aaa;
  text-decoration: none;
}

.shufu-block1 .def-body a:hover {
  text-decoration: underline;
}

.shufu-block1 .def-card {
  background: #fff;
  border: 1.5px solid #e2e8f2;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 10px;
}

.shufu-block1 .def-head {
  background: #c04060;
  color: #fff;
  padding: 10px 16px;
  font-size: 12px;
  font-weight: 700;
}

.shufu-block1 .flow-arrow {
  font-size: 18px;
  color: #6b7a8d;
  flex-shrink: 0;
}

.shufu-block1 .flow-box {
  flex: 1;
  min-width: 100px;
  background: #f7f9fc;
  border: 1.5px solid #e2e8f2;
  border-radius: 8px;
  padding: 10px 12px;
  text-align: center;
}

.shufu-block1 .flow-box .fb-label {
  display: block;
  font-size: 10px;
  font-weight: 700;
  color: #6b7a8d;
  margin-bottom: 4px;
}

.shufu-block1 .flow-box .fb-val {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: #1e2a38;
}

.shufu-block1 .flow-box.result {
  background: #fdf0f4;
  border-color: #e0a0b0;
}

.shufu-block1 .flow-box.result .fb-val {
  color: #c04060;
}

.shufu-block1 .flow-note {
  margin-top: 10px;
  font-size: 10.5px;
  color: #8a9ab0;
  line-height: 1.6;
}

.shufu-block1 .flow-note a {
  color: #1a5aaa;
  text-decoration: none;
}

.shufu-block1 .flow-wrap {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px;
  margin-top: 12px;
}

.shufu-block1 .section-title {
  font-size: 13.5px;
  font-weight: 700;
  color: #1e2a38;
  margin-bottom: 14px;
  padding-left: 10px;
  border-left: 3px solid #c04060;
  line-height: 1.5;
}


/* ==========================================================================
   .shufu-block2
   ========================================================================== */
.shufu-block2 {
  font-family: 'Noto Sans JP', sans-serif;
  margin-bottom: 22px;
}

.shufu-block2 .info-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  min-width: 320px;
  font-size: 11.5px;
}

.shufu-block2 .info-table tbody td {
  padding: 11px 14px;
  border-bottom: 1px solid #444441 !important;
  border-right: 1px solid #444441 !important;
  color: #1e2a38;
  line-height: 1.6;
  vertical-align: middle;
}

.shufu-block2 .info-table tbody td:first-child {
  font-weight: 700;
  font-size: 11px;
  color: #6b7a8d;
  background: #fafbfd;
  white-space: nowrap;
}

.shufu-block2 .info-table tbody tr:last-child td {
  border-bottom: none !important;
}

.shufu-block2 .info-table thead th {
  background: #c04060;
  color: #fff;
  font-weight: 700;
  padding: 10px 14px;
  text-align: center;
  font-size: 11px;
  letter-spacing: 0.03em;
  border-right: 1px solid #444441 !important;
}

.shufu-block2 .info-table thead th:first-child {
  background: #8a2040;
  width: 130px;
  text-align: left;
}

.shufu-block2 .section-title {
  font-size: 13.5px;
  font-weight: 700;
  color: #1e2a38;
  margin-bottom: 14px;
  padding-left: 10px;
  border-left: 3px solid #c04060;
  line-height: 1.5;
}

.shufu-block2 .table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 10px;
  border: 1.5px solid #444441;
  margin-bottom: 12px;
}

.shufu-block2 .warn-body {
  font-size: 11.5px;
  color: #334;
  line-height: 1.8;
}

.shufu-block2 .warn-body strong {
  color: #c03030;
  font-weight: 700;
}

.shufu-block2 .warn-box {
  background: #fdeaea;
  border: 1.5px solid #e0a0a0;
  border-left: 4px solid #c03030;
  border-radius: 10px;
  padding: 14px 16px;
}

.shufu-block2 .warn-title {
  font-size: 12px;
  font-weight: 700;
  color: #c03030;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 5px;
}


/* ==========================================================================
   .shufu-block3
   ========================================================================== */
.shufu-block3 {
  font-family: 'Noto Sans JP', sans-serif;
  margin-bottom: 22px;
}

.shufu-block3 .alt-body {
  font-size: 11.5px;
  color: #334;
  line-height: 1.8;
}

.shufu-block3 .alt-body strong {
  color: #1a7a7a;
  font-weight: 700;
}

.shufu-block3 .alt-box {
  background: #fff;
  border: 1.5px solid #e2e8f2;
  border-left: 4px solid #1a7a7a;
  border-radius: 10px;
  padding: 14px 16px;
}

.shufu-block3 .alt-title {
  font-size: 12px;
  font-weight: 700;
  color: #1a7a7a;
  margin-bottom: 8px;
  display: block;
}

.shufu-block3 .company-badge {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 4px;
  flex-shrink: 0;
  background: #fdf0f4;
  color: #c04060;
}

.shufu-block3 .company-card {
  background: #fff;
  border: 1.5px solid #e2e8f2;
  border-radius: 8px;
  padding: 11px 14px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.shufu-block3 .company-name {
  font-size: 13px;
  font-weight: 700;
  color: #1e2a38;
  flex-shrink: 0;
  min-width: 80px;
}

.shufu-block3 .company-note {
  font-size: 10.5px;
  color: #6b7a8d;
  line-height: 1.6;
}

.shufu-block3 .company-wrap {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px;
  margin-bottom: 14px;
}

.shufu-block3 .section-title {
  font-size: 13.5px;
  font-weight: 700;
  color: #1e2a38;
  margin-bottom: 14px;
  padding-left: 10px;
  border-left: 3px solid #c04060;
  line-height: 1.5;
}


/* ==========================================================================
   .sokujitsu-block1
   ========================================================================== */
.sokujitsu-block1 {
  font-family: 'Noto Sans JP', sans-serif;
  margin-bottom: 22px;
}

.sokujitsu-block1 .info-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  min-width: 420px;
  font-size: 11.5px;
}

.sokujitsu-block1 .info-table tbody td {
  padding: 11px 14px;
  border-bottom: 1px solid #e2e8f2;
  color: #1e2a38;
  line-height: 1.6;
  vertical-align: middle;
  text-align: center;
}

.sokujitsu-block1 .info-table tbody td:first-child {
  font-weight: 700;
  font-size: 11px;
  color: #6b7a8d;
  background: #fafbfd;
  text-align: left;
  white-space: nowrap;
}

.sokujitsu-block1 .info-table tbody tr:last-child td {
  border-bottom: none;
}

.sokujitsu-block1 .info-table thead th {
  background: #1a3a5c;
  color: #fff;
  font-weight: 700;
  padding: 10px 14px;
  text-align: center;
  font-size: 11px;
  letter-spacing: 0.03em;
}

.sokujitsu-block1 .info-table thead th:first-child {
  background: #0f2040;
  width: 110px;
  text-align: left;
}

.sokujitsu-block1 .section-title {
  font-size: 13.5px;
  font-weight: 700;
  color: #1e2a38;
  margin-bottom: 14px;
  padding-left: 10px;
  border-left: 3px solid #c03030;
  line-height: 1.5;
}

.sokujitsu-block1 .table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 10px;
  border: 1.5px solid #e2e8f2;
}

.sokujitsu-block1 .tag-s {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 4px;
}


/* ==========================================================================
   .sokujitsu-block2
   ========================================================================== */
.sokujitsu-block2 {
  font-family: 'Noto Sans JP', sans-serif;
  margin-bottom: 22px;
}

.sokujitsu-block2 .section-title {
  font-size: 13.5px;
  font-weight: 700;
  color: #1e2a38;
  margin-bottom: 14px;
  padding-left: 10px;
  border-left: 3px solid #c03030;
  line-height: 1.5;
}

.sokujitsu-block2 .step-card {
  background: #fff;
  border: 1.5px solid #e2e8f2;
  border-radius: 10px;
  padding: 13px 10px 11px;
  text-align: center;
}

.sokujitsu-block2 .step-icon {
  font-size: 20px;
  display: block;
  margin-bottom: 6px;
}

.sokujitsu-block2 .step-label {
  font-size: 11px;
  font-weight: 700;
  color: #1e2a38;
  line-height: 1.5;
  display: block;
  margin-bottom: 4px;
}

.sokujitsu-block2 .step-note {
  font-size: 10px;
  color: #6b7a8d;
  line-height: 1.5;
  display: block;
}

.sokujitsu-block2 .step-num {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  background: #c03030;
  color: #fff;
  border-radius: 20px;
  padding: 1px 8px;
  margin-bottom: 7px;
  letter-spacing: 0.05em;
}

.sokujitsu-block2 .step-wrap {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}

@media (max-width: 500px) {
.sokujitsu-block2 .step-wrap {
  grid-template-columns: repeat(2, 1fr);
}
}


/* ==========================================================================
   .sokujitsu-block3
   ========================================================================== */
.sokujitsu-block3 {
  font-family: 'Noto Sans JP', sans-serif;
  margin-bottom: 22px;
}

.sokujitsu-block3 .check-box {
  background: #fff;
  border: 1.5px solid #e2e8f2;
  border-left: 4px solid #c03030;
  border-radius: 10px;
  padding: 16px 18px;
}

.sokujitsu-block3 .check-box-title {
  font-size: 12px;
  font-weight: 700;
  color: #c03030;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 5px;
}

.sokujitsu-block3 .check-item {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  font-size: 11.5px;
  color: #1e2a38;
  line-height: 1.6;
  background: #fafbfd;
  border: 1px solid #e2e8f2;
  border-radius: 7px;
  padding: 9px 10px;
}

.sokujitsu-block3 .check-item-text {
  font-size: 11px;
  line-height: 1.6;
}

.sokujitsu-block3 .check-item-text strong {
  color: #c03030;
  font-weight: 700;
}


/* ==========================================================================
   .souryou-block1
   ========================================================================== */
.souryou-block1 {
  font-family: 'Noto Sans JP', sans-serif;
  margin-bottom: 22px;
}

.souryou-block1 .bank-note {
  background: #f0f8f6;
  border: 1.5px solid #c8e8e0;
  border-left: 4px solid #1a7a7a;
  border-radius: 10px;
  padding: 12px 16px;
  font-size: 11.5px;
  color: #334;
  line-height: 1.8;
}

.souryou-block1 .bank-note-title {
  font-size: 11.5px;
  font-weight: 700;
  color: #1a7a7a;
  margin-bottom: 5px;
  display: block;
}

.souryou-block1 .def-body {
  padding: 14px 16px;
}

.souryou-block1 .def-card {
  background: #fff;
  border: 1.5px solid #e2e8f2;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 10px;
}

.souryou-block1 .def-head {
  background: #1a3a5c;
  color: #fff;
  padding: 11px 16px;
  font-size: 12.5px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 8px;
}

.souryou-block1 .def-link {
  font-size: 10.5px;
  color: #6b7a8d;
  line-height: 1.6;
}

.souryou-block1 .def-link a {
  color: #1a5aaa;
  text-decoration: none;
}

.souryou-block1 .def-link a:hover {
  text-decoration: underline;
}

.souryou-block1 .def-main {
  font-size: 12.5px;
  color: #1e2a38;
  line-height: 1.9;
  margin-bottom: 12px;
}

.souryou-block1 .def-main strong {
  color: #c03030;
  font-weight: 700;
}

.souryou-block1 .def-rule {
  background: #fdeaea;
  border: 1.5px solid #f0b0b0;
  border-radius: 8px;
  padding: 10px 14px;
  font-size: 12px;
  font-weight: 700;
  color: #c03030;
  text-align: center;
  margin-bottom: 12px;
  line-height: 1.7;
}


/* ==========================================================================
   .souryou-block2
   ========================================================================== */
.souryou-block2 {
  font-family: 'Noto Sans JP', sans-serif;
  margin-bottom: 22px;
}

.souryou-block2 .ex-arrow {
  font-size: 16px;
  color: #6b7a8d;
  flex-shrink: 0;
}

.souryou-block2 .ex-box {
  flex: 1;
  min-width: 90px;
  text-align: center;
  background: #f7f9fc;
  border: 1.5px solid #e2e8f2;
  border-radius: 7px;
  padding: 8px 10px;
}

.souryou-block2 .ex-box .ex-label {
  display: block;
  font-size: 9.5px;
  font-weight: 700;
  color: #6b7a8d;
  margin-bottom: 3px;
}

.souryou-block2 .ex-box .ex-val {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: #1e2a38;
}

.souryou-block2 .ex-box.avail {
  border-color: #a0d0b0;
}

.souryou-block2 .ex-box.avail .ex-val {
  color: #2a7a48;
}

.souryou-block2 .ex-box.used {
  border-color: #f0b0b0;
}

.souryou-block2 .ex-box.used .ex-val {
  color: #c03030;
}

.souryou-block2 .ex-note {
  font-size: 11px;
  color: #556;
  line-height: 1.7;
  padding: 8px 10px;
  background: #fdf8e0;
  border-radius: 6px;
  border: 1px solid #f0d890;
}

.souryou-block2 .ex-row {
  display: flex !important;
  align-items: center !important;
  gap: 8px;
  flex-wrap: wrap !important;
  margin-bottom: 10px;
}

.souryou-block2 .example-body {
  padding: 14px 16px;
}

.souryou-block2 .example-card {
  background: #fff;
  border: 1.5px solid #e2e8f2;
  border-radius: 10px;
  overflow: hidden;
}

.souryou-block2 .example-head {
  background: #f0f4f9;
  padding: 10px 14px;
  font-size: 11.5px;
  font-weight: 700;
  color: #1a3a5c;
  border-bottom: 1.5px solid #e2e8f2;
}

.souryou-block2 .info-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  min-width: 280px;
  font-size: 12px;
}

.souryou-block2 .info-table .highlight td {
  background: #fff8e0 !important;
  font-weight: 700;
}

.souryou-block2 .info-table tbody td {
  padding: 11px 16px;
  border-bottom: 1px solid #444441 !important;
  border-right: 1px solid #444441 !important;
  color: #1e2a38;
  text-align: center;
  line-height: 1.6;
}

.souryou-block2 .info-table tbody tr:last-child td {
  border-bottom: none !important;
}

.souryou-block2 .info-table tbody tr:nth-child(even) td {
  background: #f7f9fc;
}

.souryou-block2 .info-table thead th {
  background: #1a3a5c;
  color: #fff;
  font-weight: 700;
  padding: 10px 16px;
  text-align: center;
  font-size: 11px;
  border-right: 1px solid #444441 !important;
}

.souryou-block2 .section-title {
  font-size: 13.5px;
  font-weight: 700;
  color: #1e2a38;
  margin-bottom: 14px;
  padding-left: 10px;
  border-left: 3px solid #1a3a5c;
  line-height: 1.5;
}

.souryou-block2 .table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 10px;
  border: 1.5px solid #444441;
  margin-bottom: 14px;
}


/* ==========================================================================
   .souryou-block3
   ========================================================================== */
.souryou-block3 {
  font-family: 'Noto Sans JP', sans-serif;
  margin-bottom: 22px;
}

.souryou-block3 .grid-wrap {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 10px;
}

.souryou-block3 .type-card {
  background: #fff;
  border: 1.5px solid #e2e8f2;
  border-radius: 10px;
  overflow: hidden;
}

.souryou-block3 .type-head {
  padding: 10px 14px;
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 6px;
}

.souryou-block3 .type-head.exempt {
  background: #2a7a48;
}

.souryou-block3 .type-head.target {
  background: #c03030;
}

.souryou-block3 .type-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.souryou-block3 .type-list .dot-green {
  color: #2a7a48;
  font-weight: 700;
  font-size: 14px;
}

.souryou-block3 .type-list .dot-red {
  color: #c03030;
  font-weight: 700;
  font-size: 14px;
}

.souryou-block3 .type-list li {
  font-size: 11.5px;
  color: #334;
  line-height: 1.7;
  padding: 9px 14px;
  border-bottom: 1px solid #e8eef6;
  display: flex;
  align-items: center;
  gap: 7px;
}

.souryou-block3 .type-list li:last-child {
  border-bottom: none;
}

@media (max-width: 480px) {
.souryou-block3 .grid-wrap {
  grid-template-columns: 1fr !important;
}
}


/* ==========================================================================
   .web-block1
   ========================================================================== */
.web-block1 {
  font-family: 'Noto Sans JP', sans-serif;
  margin-bottom: 22px;
}

.web-block1 .merit-body {
  padding: 12px 14px;
}

.web-block1 .merit-card {
  background: #fff;
  border: 1.5px solid #e2e8f2;
  border-radius: 10px;
  overflow: hidden;
  display: flex;
}

.web-block1 .merit-desc {
  font-size: 11px;
  color: #556;
  line-height: 1.7;
}

.web-block1 .merit-icon-wrap {
  width: 54px;
  flex-shrink: 0;
  background: #1a7a7a;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
}

.web-block1 .merit-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px;
}

.web-block1 .merit-title {
  font-size: 12.5px;
  font-weight: 700;
  color: #1e2a38;
  margin-bottom: 4px;
  display: block;
}

.web-block1 .section-title {
  font-size: 13.5px;
  font-weight: 700;
  color: #1e2a38;
  margin-bottom: 14px;
  padding-left: 10px;
  border-left: 3px solid #1a7a7a;
  line-height: 1.5;
}


/* ==========================================================================
   .web-block2
   ========================================================================== */
.web-block2 {
  font-family: 'Noto Sans JP', sans-serif;
  margin-bottom: 22px;
}

.web-block2 .check-box {
  background: #fff;
  border: 1.5px solid #e2e8f2;
  border-left: 4px solid #1a7a7a;
  border-radius: 10px;
  padding: 14px 16px;
  margin-top: 10px;
}

.web-block2 .check-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.web-block2 .check-list li {
  font-size: 11.5px;
  color: #334;
  line-height: 1.7;
  padding: 5px 0 5px 18px;
  position: relative;
  border-bottom: 1px solid #e8eef6;
}

.web-block2 .check-list li::before {
  content: "\2713";
  position: absolute;
  left: 0;
  color: #1a7a7a;
  font-weight: 700;
}

.web-block2 .check-list li:last-child {
  border-bottom: none;
}

.web-block2 .check-title {
  font-size: 12px;
  font-weight: 700;
  color: #1a7a7a;
  margin-bottom: 10px;
}

.web-block2 .section-title {
  font-size: 13.5px;
  font-weight: 700;
  color: #1e2a38;
  margin-bottom: 14px;
  padding-left: 10px;
  border-left: 3px solid #1a7a7a;
  line-height: 1.5;
}

.web-block2 .support-body {
  padding: 12px 14px;
  font-size: 11.5px;
  color: #334;
  line-height: 1.8;
}

.web-block2 .support-card {
  background: #fff;
  border: 1.5px solid #e2e8f2;
  border-radius: 10px;
  padding: 0;
  overflow: hidden;
}

.web-block2 .support-head {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  background: #f0f8f6;
  border-bottom: 1.5px solid #c8e8e0;
}

.web-block2 .support-head-text {
  font-size: 12px;
  font-weight: 700;
  color: #1a7a7a;
}

.web-block2 .support-icon {
  width: 26px;
  height: 26px;
  border-radius: 6px;
  background: #1a7a7a;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  flex-shrink: 0;
}

.web-block2 .support-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px;
}

.web-block2 .support-tag {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  background: #e1f5ee;
  color: #1a7a7a;
  border-radius: 4px;
  padding: 1px 7px;
  margin-bottom: 6px;
}


/* ==========================================================================
   .webflow-block1
   ========================================================================== */
.webflow-block1 {
  font-family: 'Noto Sans JP', sans-serif;
  margin-bottom: 22px;
}

.webflow-block1 .section-title {
  font-size: 13.5px;
  font-weight: 700;
  color: #1e2a38;
  margin-bottom: 14px;
  padding-left: 10px;
  border-left: 3px solid #2a7a48;
  line-height: 1.5;
}

.webflow-block1 .step-arrow {
  font-size: 20px;
  color: #2a7a48;
  padding: 4px 0;
  line-height: 1;
}

.webflow-block1 .step-card {
  width: 100%;
  background: #fff;
  border: 1.5px solid #444441;
  border-radius: 10px;
  overflow: hidden;
}

.webflow-block1 .step-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  background: #2a7a48;
}

.webflow-block1 .step-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(255,255,255,0.25);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  flex-shrink: 0;
  font-family: 'DM Sans', sans-serif;
}

.webflow-block1 .step-tag {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 4px;
  background: #e4f6ec;
  color: #2a7a48;
}

.webflow-block1 .step-wrap {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.webflow-block1 .total-body {
  font-size: 11.5px;
  color: #1a5030;
  line-height: 1.7;
}

.webflow-block1 .total-body strong {
  font-weight: 700;
  font-size: 13px;
}

.webflow-block1 .total-box {
  background: #e4f6ec;
  border: 1.5px solid #90c8a8;
  border-radius: 10px;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
}
