/* A clear invitation, a single illustrated outcome, and a working consultation memo. */
[hidden] { display: none !important; }
.diagnostic-home .site-header { height: 91px; }
.clear-hero { background: #fcf8e9; border-block: 1px solid #eee6cd; padding: 58px 0 61px; overflow: clip; }
.clear-description .no-break { white-space: nowrap; }
.clear-hero-grid { display: grid; grid-template-columns: 1.08fr 1fr; gap: 48px; align-items: center; }
.clear-hero-grid > * { min-width: 0; }
.clear-audience { font-size: 14px; font-weight: 700; color: #57734e; letter-spacing: .07em; margin-bottom: 22px; }
.clear-hero h1 { font-size: clamp(32px, 3.4vw, 46px); line-height: 1.65; letter-spacing: -.045em; }
.clear-hero h1 em { font-style: normal; color: #80532a; background: linear-gradient(transparent 77%,#f0ce74 77%,#f0ce74 92%,transparent 92%); }
.clear-description { font-size: 15px; line-height: 2; margin-top: 23px; }
.diagnostic-button { background: #f2af25; color: #4b351f; box-shadow: 0 3px 0 #bb8625; }
.diagnostic-button:hover { background: #e9a319; }
.diagnostic-button:disabled { opacity: .6; }
.hero-diagnose { margin-top: 28px; width: 100%; font-size: 15px; gap: 14px; }
.clear-cta-note { font-size: 12px; text-align: center; margin: 10px 0 0; }
.clear-monitor { display: block; text-align: center; font-size: 12px; color: #746049; margin-top: 19px; text-decoration: underline; text-underline-offset: 4px; }
.hero-work-scene { margin: 0; position: relative; padding: 6px 0 0 20px; }
.hero-work-scene:before { content: ''; position: absolute; inset: 30px -13px 10px 0; border-radius: 48% 52% 42% 58%; background: #e8ebd2; transform: rotate(-7deg); }
.hero-request { position: relative; padding: 17px 20px 19px; margin: 0 21px 26px 0; background: #fffefb; border: 1px solid #c6cbb6; border-radius: 18px 18px 18px 2px; transform: rotate(-2deg); }
.hero-request > span { font-size: 12px; color: #557449; }
.hero-request p { font-size: 17px; line-height: 1.8; font-weight: 700; margin: 5px 0 0; }
.hero-paper { position: relative; margin-left: 19px; padding: 24px 24px 20px; background: #fffefb; border: 1px solid #d9cfb5; box-shadow: 5px 6px 0 #d7d9be; transform: rotate(1.5deg); }
.hero-paper:before { content: ''; position: absolute; width: 70px; height: 19px; top: -10px; left: 39%; background: #e7d398b5; transform: rotate(-7deg); }
.hero-paper-label { font-size: 11px; color: #6a7659; }
.hero-paper h2 { font-size: 21px; border-bottom: 1px solid #c7cbb9; padding: 7px 0 14px; letter-spacing: 0; }
.hero-paper h2 span { font-size: 16px; }
.hero-paper dl { margin: 12px 0 18px; font-size: 12px; }
.hero-paper dl > div { margin-top: 13px; }
.hero-paper dt { font-weight: 700; }
.hero-paper dd { margin: 3px 0 0; color: #7c7566; }
.hero-paper-check { padding-top: 12px; border-top: 1px solid #c7cbb9; font-size: 13px; color: #536c47; font-weight: 700; padding-right: 53px; }
.hero-paper svg { position: absolute; width: 95px; height: 130px; bottom: -7px; right: -28px; }
.hero-work-scene figcaption { position: relative; margin: 20px -9px 0 10px; font-size: 12px; line-height: 1.7; text-align: center; color: #746c5b; }
.evening-introduction { display: grid; grid-template-columns: 1fr 210px; align-items: center; gap: 50px; padding-block: 57px; }
.evening-introduction .small-title { font-size: 12px; }
.evening-introduction h2 { font-size: 23px; line-height: 1.8; }
.evening-introduction > div > p:last-child { font-size: 14px; line-height: 2; margin-top: 18px; }
.evening-introduction figure { margin: 0; position: relative; }
.evening-introduction img { display: block; width: 100%; height: auto; aspect-ratio: 1.2; object-fit: cover; border-radius: 45% 50% 43% 24%; }
.evening-introduction svg { position: absolute; width: 39px; height: 72px; bottom: -11px; right: -16px; transform: rotate(12deg); }
.diagnosis-section { background: #edf2e9; padding-block: 61px 66px; scroll-margin-top: 20px; }
.diagnosis-heading { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-bottom: 31px; }
.diagnosis-heading h2 { font-size: 31px; }
.diagnosis-heading p:last-child { font-size: 14px; line-height: 1.9; margin-top: 15px; }
.diagnosis-heading > svg { width: 230px; height: 167px; margin-right: 40px; }
.diagnosis-paper { background: #fffefb; padding: 33px 39px 31px; border: 1px solid #d0d6c6; box-shadow: 5px 5px 0 #dce3d2; }
.diagnosis-jobs { margin: 0; padding: 0; border: 0; min-width: 0; }
.diagnosis-jobs > legend { font-size: 21px; font-weight: 700; padding: 0; }
.diagnosis-jobs > legend small { font-size: 12px; color: #746f60; font-weight: 400; margin-left: 13px; }
.diagnosis-help { font-size: 13px; color: #706d60; margin: 12px 0 22px; max-width: 720px; }
.diagnosis-job { border-top: 1px solid #dedfcf; padding: 18px 0; }
.diagnosis-job:last-child { border-bottom: 1px solid #dedfcf; }
.diagnosis-choice { display: flex; align-items: center; gap: 15px; min-height: 57px; cursor: pointer; }
.diagnosis-choice input { width: 21px; height: 21px; accent-color: #50724c; flex: none; margin: 0; }
.diagnosis-choice strong { display: block; font-size: 17px; }
.diagnosis-choice small { display: block; font-size: 12px; margin-top: 3px; color: #706d60; }
.diagnosis-job:has(input[name="job"]:checked) .diagnosis-choice strong { color: #42673f; }
.diagnosis-time { margin: 14px 0 0 36px; padding: 14px 20px 12px; border: 1px solid #dce1d2; background: #f5f7f0; min-width: 0; }
.diagnosis-time legend { padding-inline: 5px; font-size: 12px; color: #50684a; }
.diagnosis-time legend span { color: #746f60; padding-left: 8px; }
.diagnosis-time > div { display: flex; gap: 20px; align-items: center; }
.diagnosis-time label { display: flex; align-items: center; gap: 10px; font-size: 13px; }
.diagnosis-time input { width: 80px; min-height: 44px; padding: 8px; border: 1px solid #898577; background: #fff; border-radius: 3px; color: #514337; font-size: 16px; }
.diagnosis-time > div > span { color: #787461; }
.field-error { font-size: 13px; color: #a5301b; margin-top: 8px; }
.field-error:empty { display: none; }
.diagnosis-time input[aria-invalid="true"] { border: 2px solid #a5301b; }
.diagnosis-submit { margin-top: 25px; text-align: center; }
.diagnosis-submit > p:last-child { font-size: 12px; margin-top: 14px; color: #716c5b; }
.diagnosis-submit .button { min-width: 350px; }
.diagnosis-submit .field-error { margin-bottom: 14px; }
.diagnosis-result { margin-top: 35px; padding: 34px 39px 30px; background: #fffefb; border-top: 4px solid #8ca36f; }
.diagnosis-result h3 { font-size: 24px; scroll-margin-top: 24px; }
.diagnosis-total { border-block: 1px solid #d8dacc; padding: 20px 0; margin-top: 23px; }
.diagnosis-total p { font-size: 13px; }
.diagnosis-total p + p { margin-top: 9px; }
.diagnosis-total strong { font-size: 29px; color: #526d45; margin-right: 8px; }
.diagnosis-total .time-note { font-size: 12px; color: #716d60; }
.diagnosis-result-item { padding: 25px 0; border-bottom: 1px solid #d8dacc; }
.diagnosis-result-item h4 { font-size: 18px; }
.diagnosis-result-item .result-time { font-size: 12px; margin: 6px 0 15px; color: #716d60; }
.diagnosis-result-item dl { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; margin: 15px 0; }
.diagnosis-result-item dt { font-size: 12px; font-weight: 700; color: #517346; }
.diagnosis-result-item dd { font-size: 14px; margin: 6px 0 0; line-height: 1.9; }
.diagnosis-result-item a { font-size: 13px; text-decoration: underline; text-underline-offset: 4px; color: #346c78; }
.diagnosis-next { padding: 21px 23px; background: #f4f4e7; margin-top: 25px; }
.diagnosis-next h4 { font-size: 15px; }
.diagnosis-next p { font-size: 13px; margin-top: 8px; }
.diagnosis-actions { display: flex; align-items: center; gap: 25px; margin-top: 28px; }
.diagnosis-actions .text-button { font-size: 13px; min-height: 44px; }
.diagnosis-result-note,#diagnosis-status { font-size: 12px; line-height: 1.9; margin-top: 17px; }
.diagnosis-attached { background: #f0f4e8; padding: 15px; margin-top: 20px; }
.diagnosis-attached > p { font-size: 13px; line-height: 1.85; }
.diagnosis-attached summary { font-size: 13px; min-height: 44px; padding-block: 10px; cursor: pointer; color: #3e6b45; text-decoration: underline; text-underline-offset: 3px; }
.contact-form-wrap .diagnosis-attached label { margin-top: 0; }
.diagnosis-attached textarea { font-size: 13px; background: #fffefb; line-height: 1.8; }
.diagnosis-attached .text-button { font-size: 12px; min-height: 44px; }
.diagnosis-noscript { margin-block: 20px; }
.diagnosis-noscript a { text-decoration: underline; }
@media (min-width:701px) and (max-width:1050px) {
 .clear-hero-grid { gap: 28px; grid-template-columns: 1fr 1fr; }
 .clear-hero h1 { font-size: 32px; }
 .clear-description { font-size: 14px; }
 .hero-diagnose { font-size: 13px; padding-inline: 15px; }
 .hero-paper { padding: 20px 17px; margin-left: 0; }
 .hero-paper h2 { font-size: 18px; }
 .hero-request { margin-right: 0; padding: 15px; }
 .hero-request p { font-size: 14px; }
 .hero-paper-check { font-size: 12px; padding-right: 30px; }
 .hero-paper svg { width: 75px; height: 100px; }
 .evening-introduction { grid-template-columns: 1fr 170px; gap: 30px; }
 .evening-introduction h2 { font-size: 20px; }
}
@media (max-width:700px) {
 .diagnostic-home .site-header { height: 77px; }
 .clear-hero { padding-block: 24px 35px; }
 .clear-hero-grid { display: block; }
 .clear-audience { font-size: 12px; margin-bottom: 14px; }
 .clear-hero h1 { font-size: clamp(27px,8.1vw,37px); letter-spacing: -.04em; line-height: 1.7; }
 .clear-description { font-size: 14px; line-height: 1.95; margin-top: 18px; }
 .hero-diagnose { min-height: 67px; margin-top: 21px; font-size: 15px; gap: 15px; padding-inline: 19px; }
 .hero-diagnose .mobile-only { display: block; }
 .clear-cta-note { margin-top: 9px; font-size: 11px; }
 .clear-monitor { font-size: 11px; margin-top: 14px; }
 .hero-work-scene { margin: 32px 10px 0 0; padding-left: 0; }
 .hero-work-scene:before { inset: 10px -10px 20px; }
 .hero-request { margin: 0 24px 20px 2px; padding: 14px 19px; }
 .hero-request p { font-size: 15px; }
 .hero-request > span { font-size: 11px; }
 .hero-paper { margin-left: 23px; padding: 21px 19px 17px; }
 .hero-paper h2 { font-size: 19px; padding-bottom: 12px; }
 .hero-paper-label { font-size: 10px; }
 .hero-paper-check { font-size: 12px; padding-right: 30px; }
 .hero-paper svg { width: 75px; height: 105px; right: -21px; }
 .hero-work-scene figcaption { font-size: 12px; margin: 19px 0 0; text-align: left; }
 .evening-introduction { display: block; padding-block: 37px; }
 .evening-introduction .small-title { font-size: 11px; }
 .evening-introduction h2 { font-size: 21px; line-height: 1.9; }
 .evening-introduction > div > p:last-child { font-size: 14px; margin-top: 15px; }
 .evening-introduction figure { width: 175px; margin: 23px 16px 0 auto; }
 .evening-introduction img { aspect-ratio: 1.4; }
 .diagnosis-section { padding-block: 40px; }
 .diagnosis-heading { position: relative; margin-bottom: 23px; gap: 0; }
 .diagnosis-heading .small-title { font-size: 11px; }
 .diagnosis-heading h2 { font-size: 25px; }
 .diagnosis-heading > svg { width: 76px; height: 65px; margin: 0; position: absolute; top: -10px; right: -6px; }
 .diagnosis-heading p:last-child { font-size: 14px; }
 .diagnosis-paper { padding: 23px 20px; box-shadow: 4px 4px 0 #dce3d2; }
 .diagnosis-jobs > legend { font-size: 19px; }
 .diagnosis-jobs > legend small { display: block; margin: 3px 0 0; }
 .diagnosis-help { font-size: 12px; margin-block: 13px 17px; }
 .diagnosis-job { padding-block: 16px; }
 .diagnosis-choice { gap: 11px; }
 .diagnosis-choice input { width: 20px; height: 20px; }
 .diagnosis-choice strong { font-size: 16px; }
 .diagnosis-choice small { font-size: 12px; }
 .diagnosis-time { margin-left: 0; padding: 10px 12px; }
 .diagnosis-time > div { flex-wrap: wrap; gap: 10px; }
 .diagnosis-time label { font-size: 12px; gap: 8px; }
 .diagnosis-time > div > span { display: none; }
 .diagnosis-time input { width: 70px; }
 .diagnosis-time legend { font-size: 11px; }
 .diagnosis-submit .button { min-width: 0; width: 100%; padding-inline: 12px; font-size: 14px; gap: 8px; }
 .diagnosis-submit > p:last-child { font-size: 11px; text-align: left; }
 .diagnosis-result { padding: 25px 20px; margin-top: 29px; }
 .diagnosis-result h3 { font-size: 21px; }
 .diagnosis-total strong { font-size: 26px; }
 .diagnosis-result-item h4 { font-size: 17px; }
 .diagnosis-result-item dl { grid-template-columns: 1fr; gap: 17px; }
 .diagnosis-next { padding: 18px; margin-top: 22px; }
 .diagnosis-next h4 { font-size: 14px; }
 .diagnosis-actions { flex-direction: column; gap: 10px; }
 .diagnosis-actions .button { width: 100%; font-size: 13px; padding-inline: 10px; gap: 8px; }
 .diagnosis-result-note { font-size: 11px; }
 .diagnosis-attached textarea { font-size: 16px; }
}
@media(max-width:360px) {
 .hero-diagnose { font-size: 13px; }
 .hero-request p { font-size: 14px; }
 .hero-paper h2 { font-size: 17px; }
 .hero-paper-check { font-size: 11px; }
 .diagnosis-paper,.diagnosis-result { padding-inline: 16px; }
 .diagnosis-choice strong { font-size: 15px; }
}

/* Transparent, editable assumptions and a quiet before/after comparison. */
.estimate-assumptions { margin-top: 24px; border-block: 1px solid #d4d9ca; }
.estimate-assumptions > summary { cursor: pointer; min-height: 52px; padding-block: 13px; color: #496a44; font-size: 14px; }
.estimate-assumptions > summary > span { font-size: 12px; margin-left: 12px; color: #766b56; }
.assumption-body { padding: 5px 0 23px; }
.assumption-body > p,.assumption-body fieldset > p { font-size: 13px; line-height: 1.9; }
.assumption-body fieldset { border: 0; border-top: 1px solid #e0e2d7; padding: 18px 0 0; margin: 23px 0 0; min-width: 0; }
.assumption-body legend { font-size: 14px; font-weight: 700; padding-right: 12px; }
.assumption-shares { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.assumption-shares label { display: flex; flex-direction: column; gap: 6px; font-size: 13px; }
.assumption-shares label > span { display: flex; align-items: center; gap: 8px; }
.assumption-body input { font: inherit; font-size: 16px; width: 75px; min-height: 44px; padding: 8px; border: 1px solid #898577; border-radius: 3px; background: #fff; color: #514337; }
.assumption-body input[aria-invalid="true"] { border: 2px solid #a5301b; }
.assumption-body fieldset > p { margin-top: 13px; color: #706b5c; }
.assumption-range { display: flex; align-items: center; gap: 18px; }
.assumption-range label { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.assumption-formula { padding: 14px 17px; background: #f3f4e9; margin-top: 22px; }
.diagnosis-total .estimate-disclosure { font-size: 13px; line-height: 1.9; margin-bottom: 23px; color: #736249; }
.estimate-overview { display: grid; grid-template-columns: 1fr 1.05fr; gap: 35px; align-items: center; }
.estimate-benefit { order: 2; padding: 26px 27px; background: #f3eed6; border-radius: 2px 24px 2px 2px; }
.diagnosis-total .estimate-label { font-size: 13px; margin: 0 0 9px; font-weight: 700; }
.diagnosis-total .estimate-value { display: flex; flex-wrap: wrap; align-items: baseline; font-size: 29px; line-height: 1.65; letter-spacing: -.035em; color: #765426; margin: 0; }
.estimate-value > span,.estimate-compare-value > span { white-space: nowrap; }
.range-separator { padding-inline: 4px; }
.diagnosis-total .estimate-caption { font-size: 12px; line-height: 1.8; margin-top: 11px; color: #6d6958; }
.estimate-comparison { order: 1; }
.estimate-bar-row + .estimate-bar-row { margin-top: 22px; }
.diagnosis-total .estimate-compare-value { display: flex; flex-wrap: wrap; align-items: baseline; font-size: 24px; font-weight: 700; line-height: 1.7; margin: 0 0 9px; }
.estimate-bar-row.before .estimate-compare-value { color: #6e6453; font-size: 21px; }
.estimate-bar-track { width: 100%; background: #f3f1e9; height: 15px; }
.estimate-bar { display: block; height: 100%; background: #afa288; }
.estimate-bar-row.after .estimate-bar { background: #bdcda6; }
.estimate-bar-solid { display: block; height: 100%; background: #728c59; }
.diagnosis-total .estimate-condition { font-size: 13px; line-height: 1.95; border-top: 1px solid #d8dacc; padding-top: 19px; margin-top: 24px; }
.diagnosis-total .estimate-partial { font-size: 13px; font-weight: 700; color: #826039; }
.estimate-adjust { font-size: 13px; min-height: 44px; text-align: left; margin-top: 12px; }
.estimate-job-change { border-left: 3px solid #91a37b; padding: 11px 16px; background: #f1f5e9; margin: 16px 0; }
.estimate-job-change p { font-size: 14px; font-weight: 700; }
.estimate-job-change p + p { margin-top: 6px; }
.estimate-job-change .estimate-job-condition { font-size: 12px; font-weight: 400; color: #646b56; }
.diagnosis-wage { border: 0; padding: 0; margin: 26px 0; min-width: 0; }
.diagnosis-wage legend { font-size: 17px; font-weight: 700; padding: 0; }
.diagnosis-wage legend small { font-size: 12px; font-weight: 400; margin-left: 8px; }
.diagnosis-wage > label { display: flex; align-items: center; gap: 18px; margin-top: 16px; font-size: 14px; }
.diagnosis-wage label > span { display: flex; align-items: center; gap: 10px; }
.diagnosis-wage input { width: 130px; min-height: 44px; font-size: 16px; padding: 9px; color: #514337; background: white; border: 1px solid #898577; border-radius: 3px; }
.diagnosis-wage input[aria-invalid="true"] { border: 2px solid #a5301b; }
.diagnosis-wage > p { font-size: 12px; margin-top: 12px; line-height: 1.9; }
.estimate-premise { font-size: 13px; padding: 17px 20px; background: #f5f2df; border-left: 3px solid #bb9d54; line-height: 1.95; }
.estimate-cost { margin-top: 27px; padding-top: 23px; border-top: 1px solid #d8dacc; }
.estimate-cost-title { font-size: 19px; margin-bottom: 16px; }
.diagnosis-total .labor-value { display: flex; flex-wrap: wrap; align-items: baseline; gap: 7px; margin: 6px 0 12px; }
.diagnosis-total .labor-value strong { color: #765426; font-size: 28px; margin: 0; overflow-wrap: anywhere; line-height: 1.6; }
.labor-value > span { font-size: 14px; white-space: nowrap; }
.diagnosis-next { display: grid; grid-template-columns: 1fr 105px; align-items: center; gap: 25px; background: #f5f2df; }
.diagnosis-next > svg { width: 105px; height: 100px; }
.diagnosis-next .small-title { font-size: 12px; color: #68784f; margin: 0 0 7px; }
.diagnosis-next h4 { font-size: 19px; line-height: 1.8; }
.diagnosis-actions { margin-top: 20px; }
.result-assumptions { margin-top: 17px; }
.result-assumptions > summary,.result-breakdown > summary { cursor: pointer; min-height: 44px; padding-block: 12px; font-size: 13px; color: #4a6c43; }
.diagnosis-total .result-assumptions .estimate-condition { border: 0; margin-top: 0; padding-top: 5px; }
.result-breakdown { margin-top: 13px; border-block: 1px solid #d8dacc; }
.result-breakdown .diagnosis-result-item:last-child { border-bottom: 0; }
.diagnosis-total .cost-formula,.diagnosis-total .cost-note { font-size: 12px; color: #716d60; line-height: 1.9; }
.estimate-cost .text-button { min-height: 44px; text-align: left; font-size: 14px; }
@media (max-width:700px) {
 .diagnosis-wage legend { font-size: 15px; }
 .diagnosis-wage > label { gap: 12px; font-size: 13px; }
 .diagnosis-wage input { width: 108px; }
 .estimate-premise { font-size: 12px; padding: 13px 15px; }
 .estimate-cost-title { font-size: 18px; }
 .diagnosis-next { grid-template-columns: 1fr; gap: 10px; padding: 19px 17px; }
 .diagnosis-next > svg { display: none; }
 .diagnosis-next h4 { font-size: 17px; }
 .diagnosis-next .small-title { font-size: 11px; }
 .diagnosis-total .labor-value strong { font-size: 26px; }
 .result-breakdown > summary { font-size: 12px; }

 .estimate-assumptions > summary { font-size: 13px; }
 .estimate-assumptions > summary > span { display: block; margin-left: 18px; }
 .assumption-body > p,.assumption-body fieldset > p { font-size: 12px; }
 .assumption-body legend { font-size: 13px; }
 .assumption-shares { display: flex; flex-direction: column; gap: 13px; }
 .assumption-shares label { flex-direction: row; justify-content: space-between; align-items: center; gap: 10px; font-size: 12px; }
 .assumption-body input { width: 64px; }
 .assumption-range { gap: 9px; flex-wrap: wrap; }
 .assumption-range label { font-size: 12px; gap: 6px; }
 .assumption-formula { padding: 13px; }
 .estimate-overview { display: flex; flex-direction: column; align-items: stretch; gap: 25px; }
 .estimate-benefit { order: 0; padding: 20px 18px; }
 .diagnosis-total .estimate-value { font-size: 26px; }
 .diagnosis-total .estimate-compare-value { font-size: 24px; }
 .diagnosis-total .estimate-disclosure { font-size: 12px; }
 .estimate-job-change { padding: 12px; }
 .estimate-job-change p { font-size: 13px; }
 .diagnosis-total .estimate-condition { font-size: 12px; }
}
