/* static/css/pestle_matrix.css */

.psm-panel{
  position:relative;
  margin:2rem 0;
  padding:2.5rem;
  background:linear-gradient(180deg,#fbf7f0 0%,#fbfcff 100%);
  border:.0625rem solid #ecdfc7;
  border-radius:1.5rem;
  box-shadow:0 .75rem 2.5rem rgba(0,0,0,.08);
}

.psm-lead-box{
  text-align:center;
  margin:0 0 1.5rem;
}

.psm-lead-box__label{
  display:inline-block;
  width:fit-content;
  margin:0 auto .85rem;
  padding:.6rem 2rem;
  border-radius:999rem;
  background:#c2740f;
  color:#fff;
  font-size:1.3rem;
  font-weight:700;
  letter-spacing:.04em;
  box-shadow:0 0 0 0 rgba(194,116,15,.45);
  animation:psm-badge-pulse 2.2s ease-out infinite;
}

@keyframes psm-badge-pulse{
  0%{ box-shadow:0 0 0 0 rgba(194,116,15,.45); }
  70%{ box-shadow:0 0 0 .55rem rgba(194,116,15,0); }
  100%{ box-shadow:0 0 0 0 rgba(194,116,15,0); }
}

.psm-lead-box p{
  margin:0;
  color:#1f2937;
  font-size:.95rem;
  line-height:1.8;
}

.psm-tabs{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:.6rem;
  margin-bottom:1.75rem;
}

.psm-tab{
  padding:.55rem 1.1rem;
  background:#fff;
  border:.0625rem solid #ecdfc7;
  border-radius:999rem;
  color:#1f2937;
  font-size:.85rem;
  font-weight:700;
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease,color .2s ease;
}

.psm-tab:hover{
  border-color:#c2740f;
}

.psm-tab.is-active{
  background:#c2740f;
  border-color:#c2740f;
  color:#fff;
}

/* ===== マトリクス本体(6ボックス) ===== */
.pestle-matrix{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.2rem;
}

.pestle-matrix-box{
  padding:1.2rem 1.35rem;
  background:#fff;
  border-radius:1rem;
  box-shadow:0 .375rem 1.125rem rgba(30,41,59,.06);
}

.pestle-matrix-box h4{
  margin:0 0 .5rem;
  font-size:1rem;
  font-weight:700;
}

.pestle-matrix-box .pestle-matrix-list{
  margin:0;
  padding:0;
  list-style:none;
}

.pestle-matrix-list li{
  position:relative;
  margin:0 0 .55rem;
  padding-left:1.1rem;
  color:#374151;
  font-size:.86rem;
  line-height:1.7;
}

.pestle-matrix-list li:last-child{
  margin-bottom:0;
}

.pestle-matrix-list li::before{
  content:"・";
  position:absolute;
  left:0;
  top:0;
}

.pestle-matrix-box--p{ border:.14rem solid #7c3aed; }
.pestle-matrix-box--p h4{ color:#7c3aed; }

.pestle-matrix-box--e{ border:.14rem solid #0175d8; }
.pestle-matrix-box--e h4{ color:#0175d8; }

.pestle-matrix-box--s{ border:.14rem solid #1c9c5f; }
.pestle-matrix-box--s h4{ color:#1c9c5f; }

.pestle-matrix-box--t{ border:.14rem solid #0891b2; }
.pestle-matrix-box--t h4{ color:#0891b2; }

.pestle-matrix-box--l{ border:.14rem solid #d97706; }
.pestle-matrix-box--l h4{ color:#d97706; }

.pestle-matrix-box--en{ border:.14rem solid #16a34a; }
.pestle-matrix-box--en h4{ color:#16a34a; }

.psm-note{
  margin:1.5rem 0 0;
  color:#6b7280;
  font-size:.82rem;
  line-height:1.8;
}

@media (max-width:64rem){

  .pestle-matrix{
    grid-template-columns:repeat(2,1fr);
  }

}

@media (max-width:48rem){

  .psm-panel{
    padding:1.25rem;
  }

  .pestle-matrix{
    grid-template-columns:1fr;
  }

  .pestle-matrix-box h4{
    font-size:.92rem;
  }

  .pestle-matrix-list li{
    font-size:.85rem;
  }

}
