#plan-guide {
  padding: clamp(40px, 5vw, 76px) 0;
  background: #f2f8f7;
  color: #193e40;
  scroll-margin-top: 12px;
}
.guide-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 5vw, 76px); }
#plan-guide h2 { color: #183f42; font-size: clamp(2rem, 4vw, 3.2rem); font-weight: 700; line-height: 1.3; }
#plan-guide fieldset { margin: 24px 0 12px; }
#plan-guide legend { float: none; font-size: 1rem; font-weight: 700; }
#plan-guide label { display: flex; align-items: center; gap: 12px; background: white; border: 1px solid #bdd3d2; border-radius: 9px; padding: 14px; margin: 8px 0; cursor: pointer; }
#plan-guide input { flex: none; width: 18px; height: 18px; accent-color: #066d76; }
#plan-guide label:has(:checked) { border-color: #066d76; background: #dfefee; box-shadow: inset 0 0 0 1px #066d76; font-weight: 700; }
#plan-guide fieldset + a { color: #086872; text-underline-offset: 3px; }
.guide-card { background: white; border: 1px solid #c7dada; border-radius: 16px; overflow: hidden; }
.guide-card figure { margin: 0; padding: 18px 8% 10px; background: #dfedeb; text-align: center; }
.guide-card img { width: 100%; height: auto; border-radius: 4px; }
.guide-card figcaption, .guide-card small { display: block; text-align: center; font-size: .85rem; margin-top: 6px; color: #406260; }
.guide-detail { padding: 22px clamp(18px, 3vw, 34px); }
.guide-price { display: flex; align-items: baseline; justify-content: space-between; gap: 2px 12px; flex-wrap: wrap; }
.guide-price h3 { font-weight: 700; font-size: 2rem; color: #095f66; }
.guide-detail p { margin: 8px 0 18px; }
.guide-apply, .guide-apply:hover { display: block; border-radius: 8px; padding: 13px; text-align: center; font-weight: 700; text-decoration: none; background: #09666b; color: white; }
.guide-apply:hover { background: #084f54; }
#plan-guide:has(input:checked) .guide-card { display: none; }
#plan-guide:has(input[value="1"]:checked) [data-plan="1"],
#plan-guide:has(input[value="2"]:checked) [data-plan="2"],
#plan-guide:has(input[value="3"]:checked) [data-plan="3"] { display: flex; flex-direction: column; }
@media (max-width: 767px) {
  .guide-grid { grid-template-columns: 1fr; gap: 18px; }
  .guide-detail { order: -1; }
}
