
.ktd {
  --ktd-green: var(--color-brand-green, #00a86b);
  --ktd-green-dark: var(--color-brand-green-dark, #008455);
  --ktd-green-darker: var(--color-brand-green-darker, #006b45);
  --ktd-yellow: var(--color-cta-yellow, #ffd400);
  --ktd-text: var(--color-text-primary, #0b1f1a);
  --ktd-text-2: var(--color-text-secondary, #4b625b);
  --ktd-muted: var(--color-text-muted, #667871);
  --ktd-surface: var(--color-surface-base, #fff);
  --ktd-soft: var(--color-surface-soft, #f2fbf7);
  --ktd-mint: var(--color-surface-mint, #e2f7ed);
  --ktd-border: var(--color-border-default, #cfe7dc);
  --ktd-border-strong: var(--color-border-strong, #5b9e81);
  --ktd-danger: var(--color-state-danger, #c53b32);
  --ktd-navy: var(--color-badge-high-pressure, #1b2475);
  --ktd-radius: var(--radius-medium, 1rem);
  --ktd-radius-sm: var(--radius-small, .5rem);
  --ktd-radius-btn: var(--radius-button, .4rem);
  --ktd-shadow-btn: var(--shadow-button, 0 3px 1px rgba(51, 51, 51, .24));
  --ktd-shadow-btn-pressed: var(--shadow-button-pressed, 0 1px 1px rgb(51 51 51 / 24%));
  --ktd-num: var(--font-numeric, "Inter", Arial, sans-serif);
  box-sizing: border-box;
  min-width: 0;
  color: var(--ktd-text);
  font-size: 1rem;
  line-height: 1.7;
  scroll-margin-top: 96px; /* 固定ヘッダーの高さ分 */
}
.ktd--card { padding: clamp(1.125rem, .8rem + 1.5vw, 1.5rem); border: 1px solid var(--ktd-border); border-radius: var(--ktd-radius); background: var(--ktd-surface); }
.ktd *, .ktd *::before, .ktd *::after { box-sizing: border-box; }
.ktd [hidden] { display: none !important; }
.ktd h3, .ktd p, .ktd dl, .ktd dd, .ktd ul, .ktd fieldset { margin: 0; }
.ktd ul { padding: 0; list-style: none; }
.ktd fieldset { padding: 0; border: 0; min-width: 0; }
.ktd svg { flex: none; }

/* 進み具合 */
.ktd-progress { display: grid; gap: .375rem; margin-bottom: 1rem; }
.ktd-progress__row { display: flex; justify-content: space-between; align-items: baseline; font-size: .8125rem; color: var(--ktd-muted); }
.ktd-progress__row b { color: var(--ktd-green-darker); font-family: var(--ktd-num); font-size: 1rem; }
.ktd-progress__bar { height: 6px; border-radius: 999rem; background: var(--ktd-mint); overflow: hidden; }
.ktd-progress__bar span { display: block; height: 100%; width: 0; background: var(--ktd-green); border-radius: inherit; transition: width .24s ease; }

/* 質問 */
.ktd-q legend { display: grid; gap: .125rem; margin-bottom: .875rem; padding: 0; }
.ktd-q legend:focus { outline: none; }
.ktd-q__label { display: inline-flex; align-items: center; gap: .5rem; color: var(--ktd-green-darker); font-size: .8125rem; font-weight: 700; }
.ktd-q__label span { display: inline-grid; place-items: center; min-width: 2rem; height: 1.375rem; padding-inline: .375rem; border-radius: .25rem; background: var(--ktd-green); color: #fff; font-family: var(--ktd-num); font-size: .75rem; }
.ktd-q__text { font-size: 1.125rem; font-weight: 700; line-height: 1.5; text-wrap: balance; }
.ktd-q__note { color: var(--ktd-muted); font-size: .8125rem; font-weight: 400; }

.ktd-opts { display: grid; gap: .5rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 13rem), 1fr)); }
.ktd-opt { position: relative; min-width: 0; }
.ktd-opt input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.ktd-opt label { display: flex; align-items: center; gap: .625rem; min-height: 3rem; height: 100%; padding: .625rem .875rem; border: 1px solid var(--ktd-border); border-radius: var(--ktd-radius-sm); background: var(--ktd-surface); font-size: .9375rem; font-weight: 500; line-height: 1.45; cursor: pointer; transition: border-color .16s ease, background-color .16s ease; }
.ktd-opt label:hover { border-color: var(--ktd-border-strong); background: var(--ktd-soft); }
.ktd-opt__mark { display: grid; place-items: center; width: 1.25rem; height: 1.25rem; border: 2px solid var(--ktd-border-strong); border-radius: 50%; background: var(--ktd-surface); color: transparent; }
.ktd-opt--multi .ktd-opt__mark { border-radius: .25rem; }
.ktd-opt input:checked + label { border-color: var(--ktd-green); box-shadow: inset 0 0 0 1px var(--ktd-green); background: var(--ktd-mint); color: var(--ktd-green-darker); font-weight: 700; }
.ktd-opt input:checked + label .ktd-opt__mark { border-color: var(--ktd-green); background: var(--ktd-green); color: #fff; }
.ktd-opt input:focus-visible + label { outline: 3px solid var(--ktd-yellow); outline-offset: 2px; }
.ktd-opt--alert label { border-color: #f0c9c5; }
.ktd-opt--alert input:checked + label { border-color: var(--ktd-danger); box-shadow: inset 0 0 0 1px var(--ktd-danger); background: #fdf1f0; color: var(--ktd-danger); }
.ktd-opt--alert input:checked + label .ktd-opt__mark { border-color: var(--ktd-danger); background: var(--ktd-danger); }

.ktd-nav { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: space-between; align-items: center; margin-top: 1rem; }
.ktd-error-msg { flex-basis: 100%; color: var(--ktd-danger); font-size: .875rem; font-weight: 700; }

/* ボタン（テーマの .button と同じ見た目と押下時の動き） */
.ktd-btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 3rem; padding: .625rem 1.25rem; border: 1px solid transparent; border-radius: var(--ktd-radius-btn); box-shadow: var(--ktd-shadow-btn); font: inherit; font-size: .9375rem; font-weight: 700; line-height: 1.4; text-align: center; text-decoration: none; cursor: pointer; transition: translate .16s ease, box-shadow .16s ease, background-color .16s ease, color .16s ease; }
.ktd-btn:focus-visible { outline: 3px solid var(--ktd-yellow); outline-offset: 2px; }
.ktd-btn--cta { background: var(--ktd-yellow); border-color: var(--ktd-yellow); color: var(--ktd-text); }
.ktd-btn--solid { background: var(--ktd-green-dark); border-color: var(--ktd-green-dark); color: #fff; }
.ktd-btn--outline { background: var(--ktd-surface); border-color: var(--ktd-green-dark); color: var(--ktd-green-darker); }
.ktd-btn--ghost { box-shadow: none; background: transparent; border-color: transparent; color: var(--ktd-text-2); padding-inline: .375rem; min-height: 2.75rem; font-weight: 500; }
.ktd-btn--ghost:hover { color: var(--ktd-green-darker); }
@media (hover: hover) {
  .ktd-btn--cta:hover, .ktd-btn--solid:hover, .ktd-btn--outline:hover { background: var(--ktd-surface); border-color: var(--ktd-green-dark); color: var(--ktd-green-dark); box-shadow: inset 0 0 0 1px var(--ktd-green-dark), var(--ktd-shadow-btn-pressed); translate: 0 2px; }
}
.ktd-btn--cta:active, .ktd-btn--solid:active, .ktd-btn--outline:active { background: var(--ktd-surface); border-color: var(--ktd-green-dark); color: var(--ktd-green-dark); box-shadow: inset 0 0 0 1px var(--ktd-green-dark), var(--ktd-shadow-btn-pressed); translate: 0 2px; }
.ktd-btn__sub { display: block; font-size: .75rem; font-weight: 500; }

/* 結果 */
.ktd-result { display: grid; gap: 1rem; }
.ktd-result:focus { outline: none; }
.ktd-result__eyebrow { color: var(--ktd-green-darker); font-size: .8125rem; font-weight: 700; }
.ktd-result__title { font-size: 1.25rem; font-weight: 700; line-height: 1.45; text-wrap: balance; }
.ktd-meter { display: grid; gap: .5rem; padding: 1rem; border-radius: var(--ktd-radius-sm); background: var(--ktd-soft); border: 1px solid var(--ktd-border); }
.ktd-meter__nums { display: flex; justify-content: space-between; gap: 1rem; }
.ktd-meter__num { display: grid; gap: 0; font-size: .75rem; font-weight: 700; }
.ktd-meter__num:last-child { text-align: right; }
.ktd-meter__num b { font-family: var(--ktd-num); font-size: 2.25rem; line-height: 1.15; font-variant-numeric: tabular-nums; }
.ktd-meter__num b small { font-size: .5em; margin-left: .125rem; }
.ktd-meter__num--replace { color: var(--ktd-green-darker); }
.ktd-meter__num--repair { color: var(--ktd-navy); }
.ktd-meter__bar { display: flex; height: 12px; border-radius: 999rem; overflow: hidden; background: var(--ktd-mint); }
.ktd-meter__bar span { display: block; height: 100%; transition: width .5s ease; }
.ktd-meter__bar .is-replace { background: var(--ktd-green); }
.ktd-meter__bar .is-repair { background: var(--ktd-navy); }
.ktd-result__desc { font-size: .9375rem; }

.ktd-notes { display: grid; gap: .5rem; }
.ktd-notes:empty { display: none; }
.ktd-note { display: flex; gap: .625rem; padding: .75rem .875rem; border-radius: var(--ktd-radius-sm); border: 1px solid var(--ktd-border); background: var(--ktd-surface); font-size: .8125rem; line-height: 1.65; }
.ktd-note > svg { color: var(--ktd-green-dark); margin-top: .125rem; }
.ktd-note strong { display: block; font-size: .875rem; }
.ktd-note a { color: var(--ktd-green-darker); font-weight: 700; }
.ktd-note--warn { border-color: #f0c9c5; background: #fdf1f0; }
.ktd-note--warn > svg, .ktd-note--warn strong { color: var(--ktd-danger); }

.ktd-actions { display: grid; gap: .625rem; padding: 1rem; border-radius: var(--ktd-radius-sm); background: var(--ktd-green-darker); color: #fff; }
.ktd-actions__btns { display: grid; gap: .625rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); }
.ktd-actions .ktd-btn { justify-content: space-between; text-align: left; padding-inline: 1rem; }
.ktd-actions .ktd-btn--outline { border-color: #fff; }
.ktd-tel { display: flex; flex-wrap: wrap; align-items: center; gap: 0 .75rem; padding-top: .625rem; border-top: 1px solid rgb(255 255 255 / 28%); }
.ktd-tel a { display: inline-flex; align-items: center; gap: .375rem; color: #fff; font-family: var(--ktd-num); font-size: 1.5rem; font-weight: 800; letter-spacing: .02em; text-decoration: none; font-variant-numeric: tabular-nums; }
.ktd-tel a:focus-visible { outline: 3px solid var(--ktd-yellow); outline-offset: 2px; }
.ktd-tel span { font-size: .75rem; }
.ktd-actions__facts { font-size: .75rem; }
.ktd-actions__facts a { color: #fff; font-weight: 700; }

.ktd-answers summary { cursor: pointer; font-size: .8125rem; font-weight: 700; color: var(--ktd-green-darker); }
.ktd-answers dl { display: grid; grid-template-columns: max-content 1fr; gap: .25rem .75rem; margin-top: .5rem; font-size: .8125rem; }
.ktd-answers dt { color: var(--ktd-muted); }
.ktd-answers dd { min-width: 0; }
.ktd-result__foot { display: flex; flex-wrap: wrap; gap: 0 .5rem; justify-content: space-between; align-items: center; border-top: 1px solid var(--ktd-border); padding-top: .5rem; }
.ktd-disclaimer { flex-basis: 100%; color: var(--ktd-muted); font-size: .75rem; }

/* 緊急時 */
.ktd-emergency { display: grid; gap: .75rem; padding: 1rem; border: 2px solid var(--ktd-danger); border-radius: var(--ktd-radius-sm); background: #fdf1f0; }
.ktd-emergency:focus { outline: none; }
.ktd-emergency__title { display: flex; align-items: center; gap: .5rem; color: var(--ktd-danger); font-size: 1.125rem; font-weight: 700; line-height: 1.45; }
.ktd-emergency ul { display: grid; gap: .25rem; font-size: .875rem; }
.ktd-emergency li { display: flex; gap: .5rem; }
.ktd-emergency li::before { content: ""; flex: none; width: .375rem; height: .375rem; margin-top: .62em; border-radius: 50%; background: var(--ktd-danger); }
.ktd-emergency .ktd-tel { border-top-color: #f0c9c5; }
.ktd-emergency .ktd-tel a { color: var(--ktd-danger); }
.ktd-emergency .ktd-tel span { color: var(--ktd-text-2); }

@media (max-width: 480px) {
  .ktd-nav [data-ktd="next"] { flex: 1 1 auto; }
  .ktd-answers dl { grid-template-columns: 1fr; gap: 0; }
  .ktd-answers dd { margin-bottom: .375rem; }
}
@media (prefers-reduced-motion: reduce) {
  .ktd *, .ktd *::before, .ktd *::after { transition: none !important; }
}

.repair-diagnosis.simulator-shell{grid-column:1 / -1;padding:0;overflow:hidden}.repair-diagnosis.decision-card>h3{margin:0;border-radius:0;font-size:22px}.repair-diagnosis>.diagnosis-body:has([data-ktd="emergency"][hidden]):has([data-ktd="result"][hidden]){padding-top:1rem}.repair-diagnosis>.diagnosis-body{border:0;border-radius:0;box-shadow:none} .repair-diagnosis .ktd-q__label{font-size:1rem}.repair-diagnosis .ktd-q__label span{font-size:.875rem;min-width:2.25rem;height:1.625rem}.repair-diagnosis .ktd-q__text{font-size:1.5rem}.repair-diagnosis .ktd-opts{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:767px){.repair-diagnosis .ktd-q__text{font-size:1.25rem}.repair-diagnosis .ktd-opts{grid-template-columns:minmax(0,1fr)}} .repair-diagnosis .ktd-nav [data-ktd="next"]{position:relative;justify-content:center;min-height:3.5rem;min-width:min(100%,12.5rem);padding:.875rem 2rem;font-size:1.125rem} .repair-diagnosis .ktd-nav [data-ktd="next"]>svg{position:absolute;right:1rem;top:50%;transform:translateY(-50%)} .repair-diagnosis .ktd-opt label{min-height:4rem;padding-block:1.125rem} .repair-diagnosis .ktd-progress{margin-bottom:1.75rem} @media(min-width:768px){.repair-diagnosis .ktd-q:has(input[name="ktd1-symptom"]) .ktd-opts,.repair-diagnosis .ktd-q:has(input[name="ktd1-history"]) .ktd-opts,.repair-diagnosis .ktd-q:has(input[name="ktd1-warranty"]) .ktd-opts{grid-template-columns:repeat(3,minmax(0,1fr))}} @media(min-width:768px){.repair-diagnosis .ktd-q:has(.ktd-q__note) legend{width:100%;grid-template-columns:minmax(0,1fr) auto;column-gap:1.5rem;align-items:baseline}.repair-diagnosis .ktd-q:has(.ktd-q__note) .ktd-q__label{grid-column:1 / -1}.repair-diagnosis .ktd-q__note{grid-column:2;grid-row:2;text-align:right}} .repair-diagnosis .ktd-tel [data-ktd-tel-text]{font-family:"Inter",Arial,sans-serif;font-size:clamp(1.5rem,3vw,2rem);font-weight:800;line-height:1.25;letter-spacing:0;white-space:nowrap}.repair-diagnosis .ktd-tel a>svg{width:1.75rem;height:1.75rem;flex-shrink:0} .repair-diagnosis .ktd-actions .ktd-btn{font-size:1.25rem}.repair-diagnosis .ktd-actions .ktd-btn__sub{font-size:.875rem} .repair-diagnosis .ktd-note:not(.ktd-note--warn){background:#f5f6f7} .repair-diagnosis .diagnosis-header-meta{display:flex;align-items:center;gap:.75rem;margin-left:auto;font-size:.875rem}.repair-diagnosis .diagnosis-header-meta b{font-weight:400}@media(max-width:767px){.repair-diagnosis.decision-card>h3{flex-wrap:wrap}.repair-diagnosis .diagnosis-header-meta{flex-wrap:wrap}} .repair-diagnosis .ktd-meter,.repair-diagnosis .ktd-actions,.repair-diagnosis .ktd-note{padding:1.5rem}@media(max-width:767px){.repair-diagnosis .ktd-meter,.repair-diagnosis .ktd-actions,.repair-diagnosis .ktd-note{padding:1.25rem}} .repair-diagnosis .ktd-note{padding-block:.75rem} .repair-diagnosis .ktd-actions__btns{margin-bottom:.875rem}@media(max-width:767px){.repair-diagnosis .ktd-actions__btns{margin-bottom:.625rem}} .repair-diagnosis .ktd-actions__facts{margin-top:-.625rem} .repair-diagnosis .ktd-actions{padding-bottom:.75rem} .repair-diagnosis [data-ktd-cta="replace_web"]{display:grid;grid-template-columns:28px minmax(0,1fr) 20px;gap:.75rem}.repair-diagnosis .diagnosis-estimate-icon{display:block;width:28px;height:28px;background:currentColor;mask:url(/assets/media/simulator-estimate-dark-604ef04743.svg) center/contain no-repeat} .repair-diagnosis .ktd-meter__num--repair{color:var(--ktd-green-darker)}.repair-diagnosis .ktd-meter__bar .is-repair{background:var(--ktd-green)}.repair-diagnosis .ktd-meter__num--replace{color:#b33f24}.repair-diagnosis .ktd-meter__bar .is-replace{background:#df8538} .repair-diagnosis .diagnosis-result-heading .ktd-result__title{font-size:22px;line-height:1.6;margin:0} .repair-diagnosis .diagnosis-result-heading{margin-top:0} .repair-diagnosis .ktd-nav{align-items:flex-end} .repair-diagnosis .ktd-note--warn>svg>path:first-child,.repair-diagnosis .ktd-emergency__title>svg>path:first-child{fill:currentColor;stroke:currentColor}.repair-diagnosis .ktd-note--warn>svg>path:last-child,.repair-diagnosis .ktd-emergency__title>svg>path:last-child{stroke:#fff;stroke-linecap:round} .repair-diagnosis .ktd-note:not(.ktd-note--warn)>svg>circle{fill:currentColor}.repair-diagnosis .ktd-note:not(.ktd-note--warn)>svg>path{stroke:#fff;stroke-linecap:round} .diagnosis-outside-note{grid-column:1/-1;text-align:right;margin-top:8px}.repair-diagnosis-section .trouble-grid{row-gap:0} .repair-diagnosis [data-ktd-cta="repair_web"]:hover{border-color:#fff;box-shadow:var(--ktd-shadow-btn-pressed)} .repair-diagnosis [data-ktd-fee]:hover,.repair-diagnosis .ktd-note a:hover{text-decoration:none} .repair-diagnosis .ktd-meter__num{font-size:1rem}.repair-diagnosis .ktd-meter__num b{font-size:3rem} .diagnosis-outside-note[hidden]{display:none!important} @media(max-width:767px){.repair-diagnosis.decision-card>h3{justify-content:center;text-align:center;row-gap:4px}.repair-diagnosis .diagnosis-header-meta{margin-left:0;justify-content:center;width:100%}} @media(max-width:767px){.repair-diagnosis .diagnosis-header-meta{gap:6px}.repair-diagnosis .diagnosis-header-meta>span{margin-inline-start:0}} @media(max-width:767px){.repair-diagnosis .ktd-nav{flex-wrap:wrap}.repair-diagnosis .ktd-nav [data-ktd="next"]{width:100%;flex-basis:100%}} @media(max-width:767px){.repair-diagnosis .ktd-nav [data-ktd="next"]{order:0}.repair-diagnosis .ktd-nav [data-ktd="back"]{order:1}} @media(max-width:767px){.repair-diagnosis .ktd-nav{flex-wrap:nowrap;gap:12px}.repair-diagnosis .ktd-nav [data-ktd="back"]{order:0;flex:0 0 auto;gap:2px;padding-inline:0}.repair-diagnosis .ktd-nav [data-ktd="next"]{order:1;flex:1 1 0;width:auto;min-width:0}.repair-diagnosis .ktd-nav [data-ktd="back"][hidden]+[data-ktd="next"]{flex-basis:100%}} @media(max-width:767px){.repair-diagnosis .ktd-nav [data-ktd="next"]{flex:0 1 200px;width:200px;margin-left:auto}.repair-diagnosis .ktd-nav [data-ktd="back"][hidden]+[data-ktd="next"]{flex-basis:200px}} @media(max-width:767px){.repair-diagnosis .ktd-nav{flex-wrap:wrap;gap:8px}.repair-diagnosis .ktd-nav [data-ktd="next"],.repair-diagnosis .ktd-nav [data-ktd="back"][hidden]+[data-ktd="next"]{order:0;flex:0 0 100%;width:100%;margin-left:0}.repair-diagnosis .ktd-nav [data-ktd="back"]{order:1}} @media(max-width:767px){.repair-diagnosis .ktd-nav [data-ktd="back"]{margin-inline:auto}.repair-diagnosis>.diagnosis-body:has([data-ktd="back"][style*="hidden"]):has([data-ktd="result"][hidden]):has([data-ktd="emergency"][hidden]){padding-bottom:12px}} @media(max-width:767px){.repair-diagnosis .ktd-nav [data-ktd="back"][style*="hidden"]{display:none}} @media(max-width:767px){.repair-diagnosis .ktd-q:has(input[name="ktd1-symptom"]) .ktd-opts{grid-template-columns:minmax(0,1fr)}} @media(max-width:767px){.repair-diagnosis .ktd-nav [data-ktd="back"] svg{display:none}.repair-diagnosis>.diagnosis-body:has([data-ktd="back"][style*="visible"]):has([data-ktd="result"][hidden]):has([data-ktd="emergency"][hidden]){padding-bottom:8px}} @media(max-width:767px){.repair-diagnosis .ktd-q:has(input[name="ktd1-history"]) .ktd-opts{grid-template-columns:minmax(0,1fr)}} @media(max-width:767px){.repair-diagnosis .ktd-q:has(input[name="ktd1-years"]) .ktd-opts{grid-template-columns:repeat(2,minmax(0,1fr))}} @media(max-width:767px){.repair-diagnosis .diagnosis-estimate-icon{display:none}.repair-diagnosis .ktd-actions [data-ktd-cta="replace_web"]{grid-template-columns:minmax(0,1fr) 20px;font-size:16px;gap:8px;padding-inline:12px}} .estimate-label-mobile{display:none}@media(max-width:767px){.estimate-label-desktop{display:none}.estimate-label-mobile{display:inline}.repair-diagnosis .ktd-actions [data-ktd-cta="replace_web"]{font-size:20px}} @media(max-width:767px){.diagnosis-disclaimer-intro{display:none}} @media(max-width:767px){.repair-diagnosis .ktd-actions .ktd-tel a{width:100%;min-height:56px;box-sizing:border-box;justify-content:center;padding:12px;border:1px solid #fff;border-radius:var(--ktd-radius-sm);background:transparent;color:#fff;box-shadow:none}.repair-diagnosis .ktd-actions .ktd-tel{row-gap:6px}} @media(max-width:767px){.repair-diagnosis .ktd-note{padding:.75rem}} @media(max-width:767px){.repair-diagnosis .ktd-result__foot{padding-top:20px}}
#sos .error-card{grid-column:1/-1}


/* TOP: explain the diagnosis before presenting the questions. */
.repair-diagnosis-section .diagnosis-intro {
  display: grid;
  grid-template-columns: 140px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  margin-bottom: 0;
}
.repair-diagnosis-section .diagnosis-intro__lead {
  margin: 0 0 4px;
  color: var(--color-brand-green-darker, #006b45);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.6;
}
.repair-diagnosis-section .diagnosis-intro__title {
  margin: 0;
  font-size: clamp(24px, 2.4vw, 36px);
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: .02em;
}
.repair-diagnosis-section .diagnosis-intro__title span {
  color: var(--color-brand-green-darker, #006b45);
}
.repair-diagnosis-section .diagnosis-intro__description {
  margin: 16px 0 0;
  font-size: 16px;
  line-height: 1.8;
}
.repair-diagnosis-section .diagnosis-intro__image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--radius-medium, 16px);
}
@media (max-width: 767px) {
  .repair-diagnosis-section .diagnosis-intro {
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 8px;
    margin-bottom: 0;
  }
  .repair-diagnosis-section .diagnosis-intro__copy { text-align: left; }
  .repair-diagnosis-section .diagnosis-intro__lead { font-size: 16px; }
  .repair-diagnosis-section .diagnosis-intro__title { font-size: 24px; }
  .repair-diagnosis-section .diagnosis-intro__description { font-size: 15px; margin-top: 12px; }
}

/* Tighten only the space after the introduction heading comma. */
.repair-diagnosis-section .diagnosis-intro__title .diagnosis-intro__comma {
  color: inherit;
  margin-right: -.4em;
}

.repair-diagnosis-section .diagnosis-intro__title .diagnosis-intro__exclamation {
  margin-left: -.3em;
}

.repair-diagnosis-section .diagnosis-intro__illustration { display: block; width: 100%; height: auto; }

/* Position the two-line copy slightly below the illustration center. */
.repair-diagnosis-section .diagnosis-intro__copy { transform: translateY(8px); }

/* Mobile: keep the simulator header focused on its title. */
@media (max-width: 767px) {
  .repair-diagnosis .diagnosis-header-meta { display: none; }
}

/* Selected mobile introduction: centered illustration above full-width copy. */
.intro-lead-mobile { display: none; }
@media (max-width: 767px) {
  .repair-diagnosis-section .diagnosis-intro { display: block; margin-bottom: 8px; }
  .repair-diagnosis-section .diagnosis-intro__illustration { width: 110px; margin: 0 auto 6px; }
  .repair-diagnosis-section .diagnosis-intro__copy { text-align: center; transform: none; }
  .repair-diagnosis-section .diagnosis-intro__lead { margin: 0 0 6px; font-size: 14px; line-height: 1.5; }
  .intro-lead-desktop { display: none; }
  .intro-lead-mobile { display: inline; }
  .repair-diagnosis-section .diagnosis-intro__title { font-size: 22px; line-height: 1.45; letter-spacing: -.04em; }
  .repair-diagnosis-section .diagnosis-intro__title .diagnosis-intro__timing { display: block; font-size: 26px; letter-spacing: 0; }
  .repair-diagnosis-section .diagnosis-intro__title .diagnosis-intro__comma { margin-right: 0; }
  .repair-diagnosis-section .diagnosis-intro__title .diagnosis-intro__exclamation { margin-left: 0; }
}

/* Compact simulator title band on mobile. */
@media (max-width: 767px) {
  .repair-diagnosis.decision-card > h3 {
    font-size: 20px;
    line-height: 1.5;
    padding-block: 12px;
  }
}

/* v2: 既存の配色・レイアウトを維持し、追加説明と長いCTAを収める。 */
.repair-diagnosis .ktd-meter__note { color: var(--ktd-muted); font-size: 12px; line-height: 1.6; }
.repair-diagnosis .ktd-actions__btns .ktd-btn > span:not(.diagnosis-estimate-icon) { min-width: 0; }
@media (max-width: 767px) {
  .repair-diagnosis [data-ktd-cta="repair_web"] { white-space: normal; }
  .repair-diagnosis .ktd-meter__num { min-width: 0; }
}
.repair-diagnosis .ktd-result { min-width: 0; grid-template-columns: minmax(0, 1fr); }
@media (max-width: 360px) {
  .repair-diagnosis .ktd-meter__num b { font-size: 36px; }
  .repair-diagnosis .ktd-actions .ktd-tel a { font-size: 22px; gap: 6px; padding-inline: 8px; }
  .repair-diagnosis .ktd-actions .ktd-tel a svg { width: 18px; height: 18px; }
}

@media (max-width: 767px) {
  .repair-diagnosis .repair-label-prefix { display: none; }
}

@media (max-width: 767px) {
  .repair-diagnosis .ktd-meter__label { white-space: nowrap; line-height: 1.3; }
  .repair-diagnosis .ktd-meter__label-tail { display: block; }
}
