@charset "utf-8";
/* 無料診断 — 紙面の余白と罫線で、質問と結果の読み順を示す。 */
.diagnosis-intro .page-head__lede{ max-width:36rem }
.diagnosis-intro__privacy{ max-width:36rem; color:var(--ink-2); font-size:.94rem }
.diagnosis-facts{
  display:flex; flex-wrap:wrap; gap:.35rem 1.25rem;
  list-style:none; padding:0; margin:1.5rem 0 0;
  font-size:.82rem; color:var(--ink-2);
}
.diagnosis-facts li{ margin:0; padding-left:.8rem; border-left:1px solid var(--rule-2) }
.diagnosis-workspace{ margin:2.5rem 0 3rem; min-width:0 }
.diagnosis-question{
  display:grid; grid-template-columns:7rem minmax(0,1fr); gap:2.1rem;
  border-top:2px solid var(--ai); border-bottom:1px solid var(--rule-2);
  padding:2rem 0 2.3rem;
}
.diagnosis-position{ min-width:0; color:var(--ai) }
.diagnosis-position__step{ margin:0; font-size:.86rem; line-height:1.4 }
.diagnosis-position__step strong{
  display:block; font-family:var(--font-serif); font-size:3.7rem;
  font-weight:500; line-height:1.2; font-variant-numeric:tabular-nums;
}
.diagnosis-position__step>span{ display:block; margin:.3rem 0 1.5rem; font-size:.9rem }
.diagnosis-position__answered{ margin:0 0 .5rem; font-size:.76rem; color:var(--ink-2) }
.diagnosis-progress{
  display:block; appearance:none; width:100%; height:4px; border:0;
  border-radius:0; background:var(--rule); color:var(--ai);
}
.diagnosis-progress::-webkit-progress-bar{ background:var(--rule) }
.diagnosis-progress::-webkit-progress-value{ background:var(--ai) }
.diagnosis-progress::-moz-progress-bar{ background:var(--ai) }
.diagnosis-position__editing{ margin:1rem 0 0; font-size:.78rem; line-height:1.7 }
.diagnosis-form{ min-width:0 }
.diagnosis-question__title{
  font-family:var(--font-serif); font-size:clamp(1.35rem,3vw,1.7rem);
  font-weight:600; line-height:1.7; border:0; padding:0; margin:0 0 .7rem;
  scroll-margin-top:7rem;
}
.diagnosis-question__hint{ margin:0 0 1.5rem; color:var(--ink-2); font-size:.88rem; line-height:1.8 }
.diagnosis-options{ min-width:0; border:0; padding:0; margin:0 }
.diagnosis-choice{
  display:flex; align-items:flex-start; gap:.85rem; min-width:0; min-height:3.5rem;
  border:1px solid var(--rule-2); border-radius:2px; background:var(--paper-2);
  padding:.9rem 1rem; margin:0 0 .6rem; cursor:pointer; line-height:1.65;
}
.diagnosis-choice>span{ min-width:0; overflow-wrap:anywhere }
.diagnosis-choice input{
  flex:0 0 auto; width:1.2rem; height:1.2rem; margin:.18rem 0 0;
  accent-color:var(--ai); cursor:pointer;
}
.diagnosis-choice:hover{ border-color:var(--ai) }
.diagnosis-choice:has(input:checked){ border-color:var(--ai); background:var(--ai-soft); box-shadow:inset 3px 0 0 var(--ai) }
.diagnosis-choice:has(input:checked)>span{ font-weight:700; color:var(--ai-2) }
.diagnosis-choice:has(input:focus-visible){ outline:3px solid var(--ai); outline-offset:3px }
.diagnosis-question__instruction{ margin:.9rem 0 0; color:var(--ink-3); font-size:.77rem; line-height:1.8 }
.diagnosis-question__actions,.diagnosis-confirm-actions{
  display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center;
  gap:.7rem; padding-top:1.25rem; margin-top:1.25rem; border-top:1px solid var(--rule);
}
.diagnosis-question__actions .btn{ min-height:3.1rem; flex:0 1 auto; font-size:.9rem }
.diagnosis-question__actions .btn[type="submit"]{ min-width:10rem }
.diagnosis-question__actions .btn:disabled{
  opacity:1; cursor:not-allowed; color:var(--ink-3); background:var(--paper-3); border-color:var(--rule);
}
.diagnosis-question__actions .btn--ghost:disabled{ background:transparent; opacity:.6 }
.diagnosis-text-button{
  appearance:none; display:inline-block; border:0; border-radius:0;
  padding:.6rem 0; min-height:2.75rem; font:inherit; font-size:.86rem; line-height:1.65;
  background:transparent; color:var(--ai); text-align:left; text-decoration:underline;
  text-underline-offset:.25em; text-decoration-thickness:1px; cursor:pointer;
}
.diagnosis-text-button:hover{ color:var(--ai-2); text-decoration-thickness:2px }
.diagnosis-form>.diagnosis-text-button{ margin-top:.8rem }
.diagnosis-sr{
  position:absolute; width:1px; height:1px; margin:-1px; padding:0;
  overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0;
}
.diagnosis-message{ padding:2rem 0; border-top:2px solid var(--ai); border-bottom:1px solid var(--rule) }
.diagnosis-message__title{ font-family:var(--font-serif); font-size:1.3rem; margin-bottom:.6rem }
.diagnosis-result-heading{ padding:1.75rem 0 1.4rem; border-top:2px solid var(--ai); border-bottom:1px solid var(--rule-dark) }
.diagnosis-kicker{ margin:0 0 .5rem; color:var(--ai); font-size:.83rem; letter-spacing:.08em }
.diagnosis-result-heading__title{
  margin:0 0 .8rem; padding:0; border:0; font-size:2rem;
  font-family:var(--font-serif); scroll-margin-top:7rem;
}
.diagnosis-result-heading>p:last-child{ max-width:35rem; margin:0; font-size:.94rem; color:var(--ink-2) }
.diagnosis-result-tools{ display:flex; align-items:center; flex-wrap:wrap; gap:.6rem 1.5rem; padding:1.1rem 0 }
.diagnosis-result-tools .btn{ min-height:2.8rem; padding:.55rem 1.05rem; font-size:.85rem }
.diagnosis-answers{ border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); margin:0 0 2rem }
.diagnosis-answers>summary{ padding:1rem 0; font-size:.9rem; color:var(--ai); cursor:pointer; font-weight:700 }
.diagnosis-answer-list{ list-style:none; margin:0; padding:0 0 .6rem }
.diagnosis-answer-list>li{ display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:1rem; padding:.9rem 0; margin:0; border-top:1px solid var(--rule) }
.diagnosis-answer-list__number{ color:var(--ink-3); font-size:.72rem }
.diagnosis-answer-list__question{ margin:.15rem 0 .3rem; font-size:.85rem; line-height:1.7 }
.diagnosis-answer-list__answer{ color:var(--ai); font-size:.9rem; font-weight:700; line-height:1.7; margin:0 }
.diagnosis-answer-list .diagnosis-text-button{ margin-top:1.15rem; font-size:.79rem; white-space:nowrap }
.diagnosis-roles{ margin:0 0 1.6rem; font-size:.8rem; line-height:1.75 }
.diagnosis-roles>div{ display:grid; grid-template-columns:7.6rem minmax(0,1fr); gap:1rem; padding:.55rem 0; border-bottom:1px solid var(--rule) }
.diagnosis-roles dt{ color:var(--ai); font-weight:700 }
.diagnosis-roles dd{ color:var(--ink-2); margin:0 }
.diagnosis-procedures{ list-style:none; padding:0; margin:0 0 2rem }
.diagnosis-procedure{
  display:grid; grid-template-columns:1.8rem minmax(0,10.5rem) minmax(0,1fr);
  gap:1.4rem; padding:1.65rem 0; margin:0; border-bottom:1px solid var(--rule-2);
  break-inside:avoid;
}
.diagnosis-procedure:first-child{ border-top:1px solid var(--rule-dark) }
.diagnosis-procedure__index{ padding-top:.1rem; color:var(--ink-3); font-size:.83rem; font-variant-numeric:tabular-nums }
.diagnosis-procedure__timing,.diagnosis-procedure__body{ min-width:0 }
.diagnosis-procedure__caption{ display:block; margin:0 0 .35rem; color:var(--ink-3); font-size:.72rem }
.diagnosis-procedure .diagnosis-deadline{
  display:block; width:auto; max-width:100%; white-space:normal; overflow-wrap:anywhere;
  font-family:var(--font-serif); font-size:1.07rem; font-weight:600; line-height:1.75; margin:0; color:var(--ink);
}
.diagnosis-procedure .diagnosis-deadline--urgent{ color:var(--warn) }
.diagnosis-procedure__category{ font-size:.72rem; color:var(--ink-3); margin:0 0 .25rem }
.diagnosis-procedure__title{ font-size:1.12rem; line-height:1.7; margin:0 0 .6rem; font-weight:700 }
.diagnosis-owner{ display:inline-block; max-width:100%; border-left:2px solid var(--rule-2); padding-left:.5rem; font-size:.75rem; color:var(--ink-2); line-height:1.65 }
.diagnosis-owner--ours{ color:var(--ai); border-color:var(--ai) }
.diagnosis-procedure__reason{ font-size:.86rem; line-height:1.9; margin:.6rem 0 0; color:var(--ink-2) }
.diagnosis-scope-note{ margin-top:1.6rem }
.diagnosis-result-actions{ border-top:2px solid var(--ai); padding:1.75rem 0 0; margin:2.5rem 0 0 }
.diagnosis-result-actions>.btn{ max-width:100%; white-space:normal; text-align:left }
.diagnosis-result-actions__hint{ max-width:33rem; margin:1rem 0 .3rem; font-size:.84rem; color:var(--ink-2) }
.diagnosis-afterword{ margin-top:2.5rem }
.diagnosis-result-date{ font-size:.8rem; color:var(--ink-3); margin:.75rem 0 }
.diagnosis-print-heading{ display:none }
body[data-diagnosis-view="question"]>.cta-fixed,
body[data-diagnosis-view="confirm"]>.cta-fixed{ display:none }

@media (max-width:40rem){
  .diagnosis-workspace{ margin-top:1.8rem }
  .diagnosis-question{ display:block; padding-top:1.2rem }
  .diagnosis-position{ display:grid; grid-template-columns:1fr auto; gap:.6rem 1rem; margin-bottom:1.6rem }
  .diagnosis-position__step{ display:flex; align-items:baseline; gap:.45rem }
  .diagnosis-position__step strong{ display:inline; font-size:1.75rem; line-height:1 }
  .diagnosis-position__step>span{ display:inline; margin:0; font-size:.84rem }
  .diagnosis-position__answered{ align-self:end; margin:0 }
  .diagnosis-progress,.diagnosis-position__editing{ grid-column:1 / -1 }
  .diagnosis-position__editing{ margin:.2rem 0 0 }
  .diagnosis-choice{ padding:.95rem .8rem }
  .diagnosis-question__title{ font-size:1.4rem }
  .diagnosis-question__actions{ gap:.6rem }
  .diagnosis-question__actions .btn{ padding:.7rem .75rem; font-size:.84rem }
  .diagnosis-question__actions .btn[type="submit"]{ min-width:0; flex:1 }
  .diagnosis-roles>div{ grid-template-columns:1fr; gap:.15rem; padding:.65rem 0 }
  .diagnosis-procedure{ grid-template-columns:1.5rem minmax(0,1fr); gap:.5rem .8rem; padding:1.4rem 0 }
  .diagnosis-procedure__index{ grid-row:1 / 3 }
  .diagnosis-procedure__timing,.diagnosis-procedure__body{ grid-column:2 }
  .diagnosis-procedure__timing{ margin-bottom:.45rem }
  .diagnosis-procedure__caption{ display:inline; margin-right:.6rem }
  .diagnosis-procedure .diagnosis-deadline{ display:inline; font-size:1.06rem }
  .diagnosis-answer-list>li{ gap:.65rem }
  .diagnosis-confirm-actions{ flex-direction:column-reverse; align-items:stretch }
  .diagnosis-confirm-actions .btn{ white-space:normal }
  body[data-diagnosis-view="question"],body[data-diagnosis-view="confirm"]{ padding-bottom:0 }
}

@media print{
  .diagnosis-intro,.diagnosis-result-tools,.diagnosis-result-actions,
  .diagnosis-afterword,.diagnosis-question__actions,.diagnosis-text-button{ display:none !important }
  .diagnosis-workspace{ margin:0 }
  .diagnosis-result-heading{ border-top:0; padding:0 0 4mm; margin-bottom:4mm }
  .diagnosis-result-heading__title{ font-size:18pt }
  .diagnosis-result-heading>p:last-child{ font-size:10pt; max-width:none }
  .diagnosis-result-date{ color:#000; font-size:9pt }
  .diagnosis-answers{ margin:4mm 0 6mm; padding:3mm 0; break-inside:auto }
  .diagnosis-answers>summary{ display:none }
  .diagnosis-answers::details-content{ content-visibility:visible }
  .diagnosis-print-heading{ display:block; font-weight:700; font-size:11pt; margin:0 0 2mm }
  .diagnosis-answer-list{ margin:0 }
  .diagnosis-answer-list>li{ display:block; padding:2mm 0; break-inside:avoid }
  .diagnosis-answer-list__number{ font-size:8pt }
  .diagnosis-answer-list__question,.diagnosis-answer-list__answer{ font-size:9pt; line-height:1.6 }
  .diagnosis-roles{ font-size:8.5pt; margin-bottom:4mm }
  .diagnosis-roles>div{ grid-template-columns:29mm minmax(0,1fr); gap:3mm; padding:1.5mm 0 }
  .diagnosis-procedure{ grid-template-columns:7mm 40mm minmax(0,1fr); gap:4mm; padding:4mm 0 }
  .diagnosis-procedure__index{ grid-row:auto; font-size:9pt }
  .diagnosis-procedure__timing,.diagnosis-procedure__body{ grid-column:auto; margin:0 }
  .diagnosis-procedure__caption,.diagnosis-procedure__category{ font-size:8pt }
  .diagnosis-procedure .diagnosis-deadline{ display:block; font-size:10.5pt; line-height:1.6; color:#000 }
  .diagnosis-procedure__title{ font-size:11pt; margin-bottom:1.5mm }
  .diagnosis-owner{ font-size:8.5pt; color:#000 }
  .diagnosis-procedure__reason{ font-size:9pt; line-height:1.65; margin-top:1.5mm }
  [data-shindan-root]>h2{ break-after:avoid; font-size:13pt }
}
