/* /start/ のLP・登録完了ページ・無料ガイドで共通(style.css に重ねる) */

.hero .lede { font-size: 19px; color: #FFFFFF; }
.hero .try { font-size: 15px; color: var(--gold); margin: 0 0 10px; font-weight: 700; }

/* メール登録のフォーム */
.signup { display: flex; flex-wrap: wrap; gap: 10px; max-width: 560px; margin: 0; }
.signup label.visually-hidden,
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.signup input[type="email"] {
  flex: 1 1 240px;
  min-width: 0;
  font: inherit;
  padding: 13px 18px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: #FFFFFF;
  color: var(--text);
}
.signup button {
  flex: 0 0 auto;
  font: inherit;
  font-weight: 700;
  border: 0;
  cursor: pointer;
  background: var(--gold);
  color: var(--navy);
  padding: 13px 24px;
  border-radius: 999px;
}
.signup button:hover { background: #EEC678; }
.signup .consent { flex: 1 1 100%; order: 3; display: flex; gap: 8px; align-items: flex-start; font-size: 14px; line-height: 1.5; }
.signup .consent input { margin-top: 3px; }
.hero .signup .consent { color: #DDE3EE; }
.signup button { order: 2; }
.signup .hp { position: absolute; left: -9999px; }
.form-note { font-size: 13px; margin: 10px 0 0; }
.hero .form-note { color: #B9C3D6; }
.form-error { display: none; background: #FFF2E0; color: var(--navy); border-radius: 10px; padding: 10px 14px; margin: 0 0 12px; font-size: 15px; max-width: 560px; }
.form-error.show { display: block; }

/* Steady → Drive の2段の図 */
.steps2 { display: flex; align-items: stretch; gap: 10px; margin: 0 0 20px; }
.steps2 .step { flex: 1; background: var(--paper); border: 1px solid var(--line); border-radius: 14px; padding: 16px 18px; }
.steps2 .step b { display: block; font-size: 20px; }
.steps2 .step span { font-size: 14px; color: var(--muted); }
.steps2 .step.drive { background: var(--navy); border-color: var(--navy); color: #FFFFFF; }
.steps2 .step.drive span { color: #DDE3EE; }
.steps2 .arrow { align-self: center; font-size: 22px; color: var(--gold); font-weight: 700; }

.founder { display: flex; gap: 20px; align-items: flex-start; }
.founder img { width: 112px; height: 112px; object-fit: cover; border-radius: 50%; flex: 0 0 auto; }

.price-box { background: var(--paper); border: 1px solid var(--line); border-radius: 14px; padding: 22px 24px; margin: 0 0 16px; }
.price-box .big { font-size: 28px; font-weight: 700; margin: 0 0 4px; }
.price-box ul { margin-top: 12px; }

/* 7日の記録(無料ガイド) */
.log { width: 100%; border-collapse: collapse; background: var(--paper); }
.log th, .log td { border: 1px solid var(--line); padding: 10px 8px; font-size: 14px; vertical-align: top; }
.log td { height: 46px; }
.log th { background: #EFE8DB; }

@media (max-width: 600px) {
  .hero .lede { font-size: 17px; }
  .signup button { width: 100%; }
  .steps2 { flex-direction: column; }
  .steps2 .arrow { transform: rotate(90deg); }
  .founder { flex-direction: column; }
}

@media print {
  .site-header, .site-footer, .no-print { display: none !important; }
  body { background: #FFFFFF; font-size: 13px; line-height: 1.5; }
  main section { padding: 10px 0; border: 0; }
  .card { break-inside: avoid; }
  .log td { height: 34px; }
}
