.otera-kaiki{--ink:#253c34;--accent:#476d55;max-width:880px;margin:32px auto;padding:32px;color:var(--ink);background:#fffdf7;font:18px/1.8 sans-serif;border-top:5px solid var(--accent);box-sizing:border-box}.otera-kaiki *{box-sizing:border-box}.otera-kaiki h2{font-size:clamp(25px,4vw,36px);line-height:1.5;margin:8px 0 20px}.otera-kaiki h3{font-size:23px}.otera-kaiki .eyebrow{font-size:14px;letter-spacing:.1em}.otera-kaiki fieldset{border:1px solid #c7d1c8;border-radius:10px;padding:24px;margin:28px 0 0}.otera-kaiki legend{font-weight:bold;padding:0 8px}.otera-kaiki label{display:block;font-size:16px}.otera-kaiki select,.otera-kaiki input{display:block;font:inherit;font-size:18px;min-height:48px;width:100%;padding:9px;border:1px solid #8a9e91;border-radius:5px;background:white;color:#21362b}.otera-kaiki .date-fields{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin-top:18px}.otera-kaiki button,.otera-kaiki .consult{display:inline-block;min-height:48px;padding:12px 22px;border:0;border-radius:6px;background:var(--accent);color:white;font:inherit;font-weight:bold;text-decoration:none;cursor:pointer}.otera-kaiki :focus-visible{outline:3px solid #b06b21;outline-offset:3px}.otera-kaiki .help{font-size:14px;color:#526458}.otera-kaiki .error{color:#a51c24;font-weight:bold}.otera-kaiki table{border-collapse:collapse;width:100%;margin:20px 0;font-size:17px}.otera-kaiki caption{text-align:left;font-weight:bold}.otera-kaiki th,.otera-kaiki td{padding:12px;text-align:left;border-bottom:1px solid #cbd4cb}.otera-kaiki th{background:#e7eee5}.otera-kaiki td small{display:block;font-size:14px;color:#526458}.otera-kaiki aside{background:#eaf0e6;padding:24px;margin-top:30px;border-radius:8px}.otera-kaiki [hidden]{display:none!important}@media(max-width:480px){.otera-kaiki{padding:18px;margin:12px auto;font-size:16px}.otera-kaiki fieldset{padding:14px}.otera-kaiki .date-fields{gap:8px}.otera-kaiki th,.otera-kaiki td{padding:9px 5px;font-size:15px}.otera-kaiki aside{padding:18px}}
#otera-kaiki-print-sheet{display:none}
@media print {
 @page{size:A4 portrait;margin:12mm}
 html,body{margin:0!important;padding:0!important;height:auto!important;min-height:0!important;background:#fff!important}
 body.otera-kaiki-printing > :not(#otera-kaiki-print-sheet){display:none!important}
 body.otera-kaiki-printing > #otera-kaiki-print-sheet{display:block!important;position:static!important;width:100%!important;margin:0!important;padding:0!important;color:#000!important;background:white!important;font:10pt/1.3 sans-serif!important}
 #otera-kaiki-print-sheet *{box-sizing:border-box;box-shadow:none!important;text-shadow:none!important;color:#000!important;background:transparent!important}
 #otera-kaiki-print-sheet h2{font-size:17pt!important;line-height:1.3!important;margin:0 0 4mm!important;padding:0!important;border:0!important}
 #otera-kaiki-print-sheet h3{font-size:12pt!important;line-height:1.3!important;margin:0 0 2mm!important;padding:0!important;border:0!important}
 #otera-kaiki-print-sheet h2:before,#otera-kaiki-print-sheet h2:after,#otera-kaiki-print-sheet h3:before,#otera-kaiki-print-sheet h3:after{display:none!important}
 #otera-kaiki-print-sheet p{font-size:9pt!important;line-height:1.4!important;margin:2mm 0!important;padding:0!important}
 #otera-kaiki-print-sheet .death-date{font-size:11pt!important;margin:2mm 0 4mm!important}
 #otera-kaiki-print-sheet table{display:table!important;border-collapse:collapse!important;width:100%!important;table-layout:fixed!important;margin:0 0 3mm!important;font-size:10pt!important;line-height:1.3!important;break-inside:avoid!important}
 #otera-kaiki-print-sheet caption{display:none!important}
 #otera-kaiki-print-sheet thead{display:table-header-group!important}
 #otera-kaiki-print-sheet th,#otera-kaiki-print-sheet td{font-size:10pt!important;line-height:1.3!important;text-align:left!important;border:1px solid #aaa!important;padding:2mm 2.5mm!important;height:auto!important;vertical-align:middle!important}
 #otera-kaiki-print-sheet th{width:32%!important;font-weight:bold!important}
 #otera-kaiki-print-sheet td small{display:inline!important;margin-left:3mm!important;font-size:9pt!important;white-space:nowrap!important}
 #otera-kaiki-print-sheet tr{break-inside:avoid!important}
 #otera-kaiki-print-sheet button{display:none!important}
}

@media print {
 #otera-kaiki-print-sheet, #otera-kaiki-print-sheet .results {
  display:block!important; position:static!important; float:none!important;
  margin:0!important; padding:0!important; width:100%!important;
  height:auto!important; min-height:0!important; max-height:none!important;
  break-before:auto!important; break-after:auto!important; break-inside:auto!important;
  page-break-before:auto!important; page-break-after:auto!important; page-break-inside:auto!important;
 }
 #otera-kaiki-print-sheet * {
  break-before:auto!important; break-after:auto!important;
  page-break-before:auto!important; page-break-after:auto!important;
  min-height:0!important; letter-spacing:normal!important;
 }
 #otera-kaiki-print-sheet h2,#otera-kaiki-print-sheet h3,#otera-kaiki-print-sheet .death-date {
  break-after:avoid!important; page-break-after:avoid!important;
 }
 #otera-kaiki-print-sheet table {break-inside:auto!important;page-break-inside:auto!important}
 #otera-kaiki-print-sheet th,#otera-kaiki-print-sheet td {padding:1.4mm 2mm!important;font-size:9.5pt!important;line-height:1.25!important}
 #otera-kaiki-print-sheet tr {break-inside:avoid!important;page-break-inside:avoid!important}
}@media print{#otera-kaiki-print-sheet .kaiki-print-guidance{margin:3mm 0 0!important;padding-top:2mm!important;border-top:1px solid #aaa!important;font-size:9pt!important;line-height:1.4!important;text-align:center!important;break-inside:avoid!important;page-break-inside:avoid!important}}
.otera-kaiki .age-summary{font-weight:bold}.otera-kaiki .birth-summary{margin-bottom:0}@media print{#otera-kaiki-print-sheet .birth-summary,#otera-kaiki-print-sheet .age-summary{font-size:10pt!important;margin:1mm 0!important}#otera-kaiki-print-sheet .age-summary{font-weight:bold!important;margin-bottom:3mm!important}#otera-kaiki-print-sheet [hidden]{display:none!important}}
@media screen{.otera-kaiki .birth-fields legend,.otera-kaiki .birth-fields label,.otera-kaiki .birth-fields input,.otera-kaiki .birth-fields select,.otera-kaiki .birth-summary{color:#a5222a}.otera-kaiki .birth-fields{border-color:#c9868b}.otera-kaiki .death-fields legend,.otera-kaiki .death-fields label,.otera-kaiki .death-fields input,.otera-kaiki .death-fields select,.otera-kaiki .death-date{color:#185a9d}.otera-kaiki .death-fields{border-color:#7c9fc8}}