@charset "utf-8";
/* CSS Document */

/* ツアーポイント：楽しげ */
.tour_point {
  max-width:1100px;
  margin:0 auto 10px auto;
  padding:28px 18px;
  border-radius:14px;
  background: linear-gradient(180deg,#fffaf8,#fff);
  box-shadow:0 6px 18px rgba(230,0,51,0.06);
  border:1px solid rgba(230,0,51,0.08);
}
.point_title {
  font-size:1.6rem;
  color:#004DA0;
  margin-bottom:12px;
  font-weight:800;
  text-align:center;
}

/* カード群 */
.points {
  display:grid;
  grid-template-columns:repeat(2,1fr); /* ★ デフォルト2列 */
  gap:16px;
}
.point-card {
  background:#fff;
  border-radius:12px;
  padding:14px;
  text-align:left;
  box-shadow:0 6px 16px rgba(0,0,0,0.06);
  position:relative;
  overflow:hidden;
  transition:transform .18s ease;
}
.point-card:hover { transform:translateY(-6px); }
.point-card .badge {
  position:absolute;
  top:12px;
  right:12px;
  background:#ffdcdf;
  color:#c20b2f;
  font-weight:700;
  padding:8px 10px;
  border-radius:10px;
  font-size:0.95rem;
  box-shadow:0 2px 6px rgba(0,0,0,0.06);
}
/* h3 スタイル */
.point-card h3 {
  font-size: 1.5rem;
  color: #ff416c;
  margin-bottom: 8px;
  display: inline-block;
  position: relative;
}

/* 黄色マーカー風ライン */
.point-card h3::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 2px; /* 文字の下ぎりぎりに */
  width: 100%;
  height: 0.6em; /* マーカーっぽくする高さ */
  background: #ffeb3b; /* 黄色 */
  opacity: 0.6; /* 透過でマーカー感 */
  z-index: -1; /* 文字の下に配置 */
}

.point-card p {
  color:#555;
  font-size:0.95rem;
  line-height:1.5;
}

/* small screens: 1列表示 */
@media (max-width:900px) {
	.point-card h3{font-size: 1.3rem;}
  .points { grid-template-columns:1fr; }
  .top-title { bottom:4vh; }
  .point-card { text-align:center;
	}
}

/* ツアポイントにアイコン感を出す（擬似） */
.point-card::before {
  content: "✨";
  position:absolute;
  left:12px;
  top:12px;
  font-size:1.1rem;
  opacity:0.08;
  transform:rotate(-12deg);
}

/* Make numbered points bigger and avoid overlap */
.point {
  display:flex;
  gap:16px;
  align-items:flex-start;
}
.point .num {
  flex:0 0 64px;
  font-size:28px;
  line-height:1;
  font-weight:700;
  background:#eee;
  border-radius:50%;
  width:64px;
  height:64px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.point .content { flex:1; }

@media (max-width:700px){
  .point { gap:12px; }
  .point .num { width:48px; height:48px; font-size:20px; }
}
