/* ===== Refund Policy ===== */

.refundpolicy{
  max-width: 880px;
  margin: 16px auto;
  padding: 0 16px;
}

.refundpolicy-wrapper{
  background: #ffffff;
  border: 1px solid #e5e7eb;        /* gray-200 */
  border-radius: 12px;
  padding: 20px 22px;
  box-shadow: 0 2px 10px rgba(0,0,0,.05);
}

.refundpolicy h4{
  margin: 0 0 10px;
  font-size: 1.15rem;
  font-weight: 700;
  color: #1f2937;                    /* slate-800 */
}

.refundpolicy p{
  margin: 10px 0;
  line-height: 1.75;
  font-size: .95rem;
  color: #111827;                    /* slate-900 */
}

.refundpolicy a{
  color: #2563eb;                    /* blue-600 */
  text-decoration: none;
  border-bottom: 1px dashed rgba(37,99,235,.35);
}
.refundpolicy a:hover{
  color: #1e40af;                    /* blue-800 */
  border-bottom-color: rgba(30,64,175,.6);
}

.refundpolicy ul {
  list-style-type: disc;
  margin: 0 0 0 1.5em;
}

/* 同意チェック */
.refundpolicy label{
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
  padding: 10px 12px;
  background: #f9fafb;               /* gray-50 */
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  color: #374151;                     /* gray-700 */
  cursor: pointer;
}
.refundpolicy input[type="checkbox"]{
  width: 18px;
  height: 18px;
  accent-color: #2563eb;             /* support modern browsers */
}

/* コンテキストに合わせた余白調整（任意） */
.refundpolicy + .refundpolicy{ margin-top: 20px; }

/* 小さめ画面 */
@media (max-width: 640px){
  .refundpolicy-wrapper{ padding: 16px; }
  .refundpolicy h4{ font-size: 1.05rem; }
  .refundpolicy p{ font-size: .93rem; }
}
