
/* WordPress theme override guard: dark backgrounds must never show dark text */
.benefits1-wrap .hero,
.benefits1-wrap .hero h1,
.benefits1-wrap .hero h2,
.benefits1-wrap .hero h3,
.benefits1-wrap .hero p,
.benefits1-wrap .hero strong,
.benefits1-wrap .hero span,
.benefits1-wrap .hero a,
.benefits1-wrap .hero div,
.benefits1-wrap .dark-safe,
.benefits1-wrap .dark-safe h1,
.benefits1-wrap .dark-safe h2,
.benefits1-wrap .dark-safe h3,
.benefits1-wrap .dark-safe p,
.benefits1-wrap .dark-safe strong,
.benefits1-wrap .dark-safe span,
.benefits1-wrap .dark-safe a,
.benefits1-wrap .dark-safe div {
  color: #ffffff !important;
}
.benefits1-wrap .hero a,
.benefits1-wrap .dark-safe a {
  text-decoration-color: #ffffff !important;
}

.benefits1-wrap, .benefits1-wrap *{box-sizing:border-box}
.benefits1-page{
  margin:0;
  background:#f4f8fc;
  color:#1f2d3d;
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif;
  line-height:1.75;
}
.benefits1-wrap{max-width:760px;margin:0 auto;background:#fff;min-height:100vh}
.hero{
  background:#12395b;
  color:#fff !important;
  padding:30px 22px 24px;
  text-align:center;
}
.hero *{color:#fff !important}
.hero .eyebrow{font-size:15px;font-weight:700;margin-bottom:8px}
.hero h1{font-size:30px;line-height:1.35;margin:0 0 12px;font-weight:800}
.hero p{font-size:17px;margin:0}
.supervise{margin-top:16px;text-align:right;font-size:14px;font-weight:700}
.section{padding:24px 18px}
.card{
  background:#fff;
  border:1px solid #d9e6f2;
  border-radius:16px;
  padding:20px;
  margin-bottom:20px;
  box-shadow:0 4px 18px rgba(18,57,91,.06);
}
.section-title{
  background:#e8f3fb;
  color:#12395b;
  border-left:6px solid #4f8fc1;
  padding:12px 14px;
  font-size:22px;
  font-weight:800;
  border-radius:8px;
  margin:0 0 16px;
}
label{display:block;font-size:17px;font-weight:800;margin-bottom:8px}
input,select{
  width:100%;
  font-size:20px;
  padding:14px 12px;
  border:2px solid #b7cadb;
  border-radius:10px;
  background:#fff;
}
.help{font-size:14px;color:#546575;margin-top:7px}
button{
  width:100%;
  border:0;
  border-radius:12px;
  background:#1769aa;
  color:#fff;
  padding:16px;
  font-size:20px;
  font-weight:800;
  cursor:pointer;
  margin-top:16px;
}
button:hover{filter:brightness(.96)}
.result{
  display:none;
  background:#f6fbff;
  border:2px solid #a9d2ef;
  border-radius:14px;
  padding:18px;
  margin-top:18px;
}
.result h3{font-size:22px;color:#12395b;margin:0 0 12px}
.big{
  font-size:30px;
  font-weight:900;
  color:#0f5f9c;
  margin:8px 0;
}
.break{
  margin-top:14px;
  background:#fff7df;
  border:1px solid #f0ce77;
  border-radius:10px;
  padding:14px;
  font-weight:700;
}
.taxnote{
  margin-top:16px;
  background:#fff0f0;
  border:2px solid #e4aaaa;
  border-radius:12px;
  padding:16px;
}
.taxnote strong{color:#8d2525;font-size:18px}
.point{
  background:#eef8f0;
  border:1px solid #b8d9be;
  border-radius:12px;
  padding:16px;
  margin-top:16px;
}
.table-scroll{overflow-x:auto;margin-top:18px}
table{width:100%;border-collapse:collapse;min-width:600px;font-size:15px}
th{background:#e8f3fb;color:#12395b;font-weight:800}
th,td{border:1px solid #cfdbe6;padding:10px;text-align:right}
th:first-child,td:first-child{text-align:center}
.notice{
  background:#fffbea;
  border:1px solid #ead794;
  border-radius:12px;
  padding:16px;
  margin-top:18px;
}
.small{font-size:13px;color:#5d6874}
@media(max-width:520px){
  .hero h1{font-size:25px}
  .hero p{font-size:16px}
  .section-title{font-size:20px}
  .big{font-size:26px}
}

.money-input{
  font-variant-numeric: tabular-nums;
}
.quiz-item{
  background:#f8fbfe;
  border:1px solid #d7e6f2;
  border-radius:12px;
  padding:14px;
  margin:12px 0;
}
.quiz-item p{
  margin:0 0 10px;
  font-weight:800;
}
.quiz-options{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}
.quiz-options label{
  font-size:16px;
  font-weight:700;
  margin:0;
}
.quiz-options input{
  width:auto;
  margin-right:6px;
}
.qa{
  border-top:1px solid #dbe5ee;
  padding:16px 0;
}
.qa:first-child{border-top:0}
.qa strong{display:block;color:#12395b;margin-bottom:6px}
.result-box{
  display:none;
  background:#eef8f0;
  border:2px solid #b8d9be;
  border-radius:12px;
  padding:16px;
  margin-top:16px;
}
.dark-safe{
  background:#12395b !important;
  color:#fff !important;
}
.dark-safe *{
  color:#fff !important;
}

/* STEP5: senior-friendly tappable checklist */
.benefits1-wrap .benefits1-checklist {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
  margin-top: 10px !important;
}
.benefits1-wrap .benefits1-check-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  padding: 15px 16px !important;
  background: #f4f9fd !important;
  border: 2px solid #c8dfef !important;
  border-radius: 12px !important;
  color: #16324a !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
  cursor: pointer !important;
}
.benefits1-wrap .benefits1-check-item span,
.benefits1-wrap .benefits1-check-item strong {
  color: #16324a !important;
}
.benefits1-wrap .benefits1-check-item input[type="checkbox"] {
  -webkit-appearance: checkbox !important;
  appearance: checkbox !important;
  width: 26px !important;
  height: 26px !important;
  min-width: 26px !important;
  margin: 1px 0 0 0 !important;
  cursor: pointer !important;
  accent-color: #1f6fa8 !important;
}
.benefits1-wrap .benefits1-check-progress {
  margin-top: 14px !important;
  padding: 13px 16px !important;
  border-radius: 10px !important;
  background: #eef6fc !important;
  color: #16324a !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  text-align: center !important;
}
.benefits1-wrap .benefits1-check-progress strong {
  color: #0f5f96 !important;
  font-size: 22px !important;
}
