/* --- 利用規約ページ スマホ最適化CSS --- */

.terms-card {
  padding: 16px 12px;
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.intro-text {
  font-size: 0.85rem;
  color: #555;
  line-height: 1.6;
  margin-bottom: 24px;
}

/* 各第◯条の区切りを視覚的に明確にする */
.terms-block {
  margin-bottom: 28px;
}

.terms-block h3 {
  font-size: 1.05rem;
  font-weight: bold;
  color: #2471a3;
  border-bottom: 2px solid #e1e8ed;
  padding-bottom: 6px;
  margin-bottom: 12px;
}

/* 条文リスト：1. 2. などの数字と文章の整列（ぶら下げインデント） */
.clause-list {
  list-style: none;
  padding-left: 0;
}

.clause-list li {
  position: relative;
  padding-left: 20px; /* 数字が入るスペース */
  font-size: 0.88rem;
  color: #333;
  line-height: 1.6;
  margin-bottom: 10px;
}

.clause-list li .num {
  position: absolute;
  left: 0;
  top: 0;
  font-weight: bold;
  color: #2471a3;
}

/* 条文内に単一の段落しかない場合 */
.single-p {
  font-size: 0.88rem;
  color: #333;
  line-height: 1.6;
  padding-left: 4px;
}

/* 支払方法のバッジ化（直感的にすぐ目に入る工夫） */
.payment-badges {
  display: flex;
  gap: 8px;
  margin-top: 8px;
}

.pay-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background-color: #f0f4f8;
  color: #2471a3;
  font-size: 0.75rem;
  font-weight: bold;
  padding: 4px 10px;
  border-radius: 12px;
}

/* キャンセル等、超重要条項のカードハイライト */
.policy-highlight {
  background-color: #fff9f9;
  border: 1px dashed #f5c6cb;
  border-radius: 6px;
  padding: 10px 10px 10px 28px !important; /* インデントの親に配慮 */
  margin-top: 8px;
}

.policy-highlight strong {
  color: #bd2042;
}

.alert-border {
  border: 1px dashed #e2b34c; /* 免責・賠償は警告用のオレンジ点線 */
  background-color: #fffdf5;
}

/* 4条の免責文章を少し弱める（重要だが、一番に読ませるものではないため薄い色に） */
.caution-text {
  color: #666 !important;
}

/* --- 第3条（禁止事項）をスマホ用に特別リフレッシュ --- */
.warning-block {
  background-color: #fdfefe;
  border: 1.5px solid #e1e8ed;
  border-radius: 8px;
  padding: 12px;
}

.warning-title {
  color: #e04f5f !important; /* 警告としての赤 */
  border-bottom: 2px solid #fbc4c4 !important;
  display: flex;
  align-items: center;
  gap: 6px;
}

.booking-notice{
  font-size: 13px;
}
.block-intro {
  font-size: 0.82rem;
  color: #666;
  line-height: 1.5;
  margin-bottom: 16px;
}

/* スマホ用禁止事項の縦積みリスト */
.ban-grid {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.ban-item {
  background-color: #fff;
  border: 1px solid #f2f4f4;
  border-radius: 6px;
  padding: 10px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
}

.ban-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}

.ban-header i {
  color: #e04f5f; /* アイコンを警告赤に */
  font-size: 1rem;
}

.ban-header h4 {
  font-size: 0.88rem;
  font-weight: bold;
  color: #333;
}

.ban-item p {
  font-size: 0.8rem;
  color: #555;
  line-height: 1.5;
  padding-left: 2px;
}

.ban-item p strong {
  color: #e04f5f;
}

/* プライバシーポリシーのインラインリンク */
.inline-link {
  color: #2080bc;
  text-decoration: underline;
  font-weight: bold;
}

/* 附則エリア */
.terms-footer-info {
  margin-top: 40px;
  border-top: 1px solid #e1e8ed;
  padding-top: 16px;
  font-size: 0.8rem;
  color: #666;
  line-height: 1.6;
}

.appendix {
  color: #333;
  font-size: 0.85rem;
  margin-bottom: 4px;
}

.operator {
  text-align: right;
  margin-top: 8px;
}

/* ==========================================================================
   Buttons & Action Area (下部戻るボタン等)
   ========================================================================== */
.action-area {
  margin-top: 24px;
  text-align: center;
}

.btn {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.2s;
  width: 100%;
}

.btn-secondary-back {
  background-color: #5f6c8d;
  color: white;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.btn-secondary-back:hover {
  background-color: #4b5772;
}
