/* 5つの視点 セクション */
.diag-perspectives {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
  margin: 0 auto;
}

.perspective-card {
  background: var(--white);
  border: 1px solid rgba(26,92,67,0.1);
  padding: 24px 12px;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(26,92,67,0.04);
  transition: transform 0.3s ease;
}

.perspective-card:hover {
  transform: translateY(-5px);
  border-color: var(--gold);
}

.perspective-card .num {
  font-family: var(--serif);
  font-size: 14px;
  font-weight: 700;
  color: var(--gold);
  margin-bottom: 8px;
  display: block;
}

.perspective-card .txt {
  font-size: 15px;
  font-weight: 700;
  color: var(--green-dark);
  line-height: 1.4;
}

@media (max-width: 992px) {
  .diag-perspectives {
    grid-template-columns: repeat(3, 1fr);
  }
  .sp-hide {
    display: none;
  }
}

@media (max-width: 600px) {
  .diag-perspectives {
    grid-template-columns: repeat(2, 1fr);
  }
  .perspective-card {
    padding: 20px 10px;
  }
  .perspective-card .txt {
    font-size: 14px;
  }
}

/* 既存の診断ツール スタイル */
.dg-box{background:#fff;border:1px solid rgba(26,92,67,0.08);max-width:680px;margin:0 auto;padding:48px;border-radius:var(--radius, 14px);font-family:var(--sans, sans-serif);position:relative;overflow:hidden;box-shadow:var(--shadow, 0 4px 24px rgba(14,61,43,.08));}
.dg-progress-wrap{margin-bottom:32px;}
.dg-progress-top{display:flex;justify-content:space-between;font-size:12.5px;font-weight:700;color:var(--ink-light, #5f6f67);margin-bottom:10px;}
.dg-progress{height:6px;background:var(--green-soft, #e8f1ec);border-radius:99px;overflow:hidden;}
.dg-progress i{display:block;height:100%;background:var(--green-deep, #1a5c43);transition:width .4s ease;}
.dg-cat{font-size:12px;font-weight:700;color:var(--gold, #c2a24b);letter-spacing:.1em;margin-bottom:8px;text-transform:uppercase;}
.dg-cat-desc {font-size:14px; color:var(--ink-light); margin-bottom:20px; line-height:1.5; background:rgba(26,92,67,0.03); padding:12px 16px; border-radius:8px; border-left:4px solid var(--gold);}
.dg-qtext{font-family:var(--serif);font-weight:700;font-size:clamp(19px, 3vw, 23px);line-height:1.6;color:var(--green-dark, #0e3d2b);margin-bottom:32px;min-height:70px;}
.dg-opts{display:flex;flex-direction:column;gap:12px;}
.dg-opt{display:flex;align-items:center;gap:14px;border:1.5px solid rgba(26,92,67,0.15);background:#fff;border-radius:12px;padding:18px 22px;font-size:16px;font-weight:700;cursor:pointer;text-align:left;transition:.2s;font-family:inherit;color:var(--ink);}
.dg-opt:hover{border-color:var(--green-deep);background:var(--green-soft);}
.dg-pip{width:22px;height:22px;border-radius:50%;border:2px solid rgba(26,92,67,0.2);flex-shrink:0;position:relative;}
.dg-opt:hover .dg-pip{border-color:var(--green-deep);}
.dg-foot{margin-top:28px;display:flex;justify-content:space-between;align-items:center;}
.dg-back{border:none;background:none;color:var(--ink-light);font-size:14px;cursor:pointer;font-family:inherit;font-weight:500;text-decoration:underline;}
.dg-back:hover{color:var(--green-deep);}
.dg-count{font-size:13px;color:var(--ink-light);font-weight:500;}

/* 結果表示 */
.dg-result{text-align:center;}
.dg-gauge{position:relative;width:200px;height:200px;margin:10px auto 16px;}
.dg-num{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.dg-num b{font-family:var(--serif);font-size:60px;font-weight:900;line-height:1;color:var(--green-dark);}
.dg-num small{font-size:13px;color:var(--ink-light);margin-top:4px;font-weight:700;}
.dg-tier{display:inline-block;font-family:var(--serif);font-weight:900;font-size:24px;padding:8px 32px;margin:12px 0 10px;border-radius:99px;color:#fff;background:var(--green-deep);box-shadow:0 4px 12px rgba(26,92,67,0.2);}
.dg-msg{font-size:15px;color:var(--ink-light);max-width:32em;margin:12px auto 0;line-height:1.9;font-weight:500;}
.dg-weak{text-align:left;margin:32px 0 12px;background:var(--bg);border:1px solid rgba(26,92,67,0.1);border-radius:14px;padding:28px;}
.dg-weak h4{font-family:var(--serif);font-size:16px;font-weight:700;color:var(--green-dark);margin-bottom:16px;display:flex;align-items:center;gap:10px;}
.dg-weak h4::before{content:"!";display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:var(--alert);color:#fff;border-radius:50%;font-size:12px;font-weight:900;}
.dg-weak ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;}
.dg-weak li{font-size:14.5px;line-height:1.7;padding-left:20px;position:relative;color:var(--ink);}
.dg-weak li::before{content:"";position:absolute;left:0;top:10px;width:7px;height:7px;background:var(--gold);border-radius:50%;}
.dg-weak li b{color:var(--green-deep);}
.dg-good{font-family:var(--serif);font-size:15px;color:var(--green-deep);font-weight:700;margin:24px 0 8px;}
.dg-line{margin-top:32px;background:linear-gradient(135deg,var(--line-green),#0aa64a);border-radius:16px;padding:32px;color:#fff;text-align:center;box-shadow:0 10px 30px rgba(6,199,85,0.25);}
.dg-line-lead{font-family:var(--serif);font-weight:700;font-size:18px;margin:0 0 8px;}
.dg-line-sub{font-size:14px;color:rgba(255,255,255,0.9);margin:0 0 20px;}
.dg-line-btn{display:inline-flex;align-items:center;gap:12px;background:#fff;color:var(--line-green);font-weight:700;padding:16px 36px;border-radius:999px;text-decoration:none;transition:all .25s;font-size:16px;}
.dg-line-btn::before{content:"LINE";background:var(--line-green);color:#fff;font-size:10px;padding:2px 6px;border-radius:4px;font-weight:900;}
.dg-line-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,0.15);filter:brightness(1.05);}
.dg-restart{margin-top:24px;border:none;background:none;color:var(--ink-light);font-size:14px;text-decoration:underline;cursor:pointer;font-family:inherit;font-weight:500;}
.dg-identity{display:flex;flex-direction:column;gap:10px;max-width:340px;margin:20px auto 0;text-align:left;}
.dg-identity input{border:1.5px solid rgba(26,92,67,0.15);border-radius:10px;padding:12px 16px;font-size:15px;background:var(--bg);transition:all .25s;}
.dg-identity input:focus{border-color:var(--gold);background:#fff;outline:none;}

@media (max-width: 600px) {
  .dg-box{padding:24px 20px;}
  .dg-qtext{font-size:18px;}
  .dg-opt{padding:14px 16px; font-size: 15px;}
}
