/* Reform Case CPT basic styles (pxベース＋モバイルで段組み崩し) */
.case-wrap{max-width:1100px;margin:0 auto;padding:24px 12px;font-family:'Noto Sans JP',system-ui,sans-serif;color:#0E1116}
.case-hero{display:flex;gap:24px;align-items:flex-start;margin-bottom:24px}
.case-hero__thumb img{width:560px;max-width:560px;height:315px;object-fit:cover;border-radius:12px}
.case-title{font-size:28px;line-height:1.3;margin:0 0 12px}
.case-meta{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2, 280px);gap:8px 16px}
.case-meta li{background:#F6F8FC;border:1px solid #E5EAF3;border-radius:10px;padding:8px 12px}
.case-meta span{display:block;font-size:12px;color:#6B7280}
.case-meta strong{font-size:14px}
.case-meta__sub{display:block;font-size:11px;color:#6B7280}

.case-section{margin:28px 0}
.case-h2{font-size:22px;margin:0 0 12px;border-left:6px solid #18408E;padding-left:10px}
.case-lead{font-size:15px;line-height:1.9}

.case-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.case-box{background:#fff;border:1px solid #E5EAF3;border-radius:12px;padding:16px}

.case-gallery{display:grid;grid-template-columns:repeat(3, 1fr);gap:12px}
.case-gallery img{width:100%;height:160px;object-fit:cover;border-radius:10px;border:1px solid #E5EAF3;background:#fff}

.case-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3, 1fr);gap:16px}
.case-step figure{margin:0;background:#fff;border:1px solid #E5EAF3;border-radius:12px;overflow:hidden}
.case-step img{display:block;width:100%;height:180px;object-fit:cover}
.case-step h3{font-size:16px;margin:10px 12px 6px}
.case-step p{font-size:14px;line-height:1.8;margin:0 12px 12px;color:#111}

.case-cta{margin:32px 0;padding:16px;border-radius:12px;background:#E4ECFA;border:1px solid #18408E;text-align:center;font-weight:700}

/* archive */
.case-archive-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:16px}
.case-card{border:1px solid #E5EAF3;border-radius:12px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.case-card img{width:100%;height:160px;object-fit:cover}
.case-card__body{padding:12px}
.case-card__title{font-size:16px;margin:0 0 6px}
.case-card__meta{font-size:12px;color:#6B7280}

/* responsive (レイアウトのみ崩す) */
@media (max-width: 900px){
  .case-hero{flex-direction:column}
  .case-hero__thumb img{width:100%;max-width:100%;height:240px}
  .case-meta{grid-template-columns:1fr}
  .case-cols{grid-template-columns:1fr}
  .case-gallery{grid-template-columns:repeat(2,1fr)}
  .case-steps{grid-template-columns:1fr}
  .case-archive-grid{grid-template-columns:1fr 1fr}
}

@media (max-width: 600px){
  .case-archive-grid{grid-template-columns:1fr}
}

.case-cta {
  margin: 32px 0;
  padding: 24px 16px;
  border-radius: 12px;
  background: #E4ECFA;
  border: 1px solid #18408E;
  text-align: center;
  font-weight: 700;
}

.case-cta p {
  margin: 0 0 16px;
  font-size: 16px;
}

.cta-buttons {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}

.cta-buttons .btn {
  display: inline-block;
  padding: 12px 24px;
  border-radius: 8px;
  font-size: 15px;
  font-weight: bold;
  text-decoration: none;
  color: #fff;
  transition: 0.3s;
}

/* LINEボタン */
.cta-buttons .btn-line {
  background-color: #06C755; /* LINE公式カラー */
}
.cta-buttons .btn-line:hover {
  background-color: #04a046;
}

/* メールボタン */
.cta-buttons .btn-mail {
  background-color: #18408E; /* ブランドカラー */
}
.cta-buttons .btn-mail:hover {
  background-color: #072657;
}