/* ==========================================================================
   火葬式ページ専用スタイル
   ========================================================================== */

/* ========== ページヒーロー ========== */
.page-hero{
  position:relative;
  height:44vh;
  min-height:320px;
  overflow:hidden;
  background:#000;
}
.page-hero-img{
  position:absolute;inset:0;
  background-size:cover;
  background-position:center;
  background-image:url("../images/ihinseiri_hero.webp"); /* 差し替え用：kaso_hero.webp をアップしたら変更可 */
}
.page-hero .hero-divider{
  position:absolute;
  z-index:2;
}
.page-hero-title{
  position:absolute;
  bottom:12%;
  left:8%;
  z-index:3;
  color:#fff;
  font-size:44px;
  letter-spacing:6px;
  font-weight:700;
  font-family:"じゅん 501",sans-serif;
  text-shadow:0 3px 12px rgba(0,0,0,0.55);
  margin:0;
  line-height:1.2;
}

/* ========== 導入文 ========== */
.kasou-intro{
  padding:60px 20px 40px;
  text-align:center;
}
.kasou-intro h2{
  font-size:26px;
  color:var(--brand-blue);
  letter-spacing:2px;
  margin:0 0 24px;
  font-family:"じゅん 501",sans-serif;
  line-height:1.6;
}
.kasou-intro p{
  font-size:16px;
  line-height:1.95;
  color:var(--text-body);
  max-width:900px;
  margin:0 auto;
}

/* ========== 火葬式セクション ========== */
.kaso-section{
  background:#eff8fd;
  padding:80px 20px;
  margin:0 0 60px;
}
.kaso-section h2{
  font-size:28px;
  color:var(--brand-blue);
  letter-spacing:3px;
  text-align:center;
  margin:0 0 40px;
  font-family:"じゅん 501",sans-serif;
  line-height:1.6;
}
.kaso-intro{
  max-width:900px;
  margin:0 auto 60px;
}
.kaso-intro p{
  font-size:16px;
  line-height:1.95;
  color:var(--text-body);
  margin:0 0 16px;
}
.kaso-list{
  list-style:none;
  padding:0;
  margin:0;
}
.kaso-list li{
  font-size:16px;
  line-height:2;
  color:var(--brand-blue);
  padding-left:1em;
  text-indent:-1em;
  font-weight:700;
  font-family:"じゅん 501",sans-serif;
}
.kaso-list li::before{
  content:"・";
  color:var(--brand-blue);
}
.kaso-img{
  width:100%;
  height:auto;
  border-radius:10px;
  display:block;
}
.kaso-price-title{
  font-size:22px;
  color:var(--brand-blue);
  letter-spacing:2px;
  text-align:center;
  margin:0 0 30px;
  font-family:"じゅん 501",sans-serif;
}
.kaso-notes{
  max-width:760px;
  margin:30px auto 0;
}
.kaso-notes p{
  font-size:14px;
  line-height:1.9;
  color:var(--text-body);
  margin:0 0 12px;
}
.kaso-notes p:last-child{margin-bottom:0;}
.kaso-note-free{
  color:var(--brand-blue) !important;
  font-weight:700;
}

/* ========== 料金表 ========== */
.price-table-wrap{
  max-width:900px;
  margin:0 auto;
  overflow-x:auto;
}
.price-table{
  width:100%;
  border-collapse:collapse;
  background:#fff;
  border:1px solid #d8e2e6;
  font-family:"じゅん 501",sans-serif;
}
.price-table thead th{
  background:var(--brand-blue);
  color:#fff;
  font-size:16px;
  font-weight:700;
  letter-spacing:1px;
  padding:16px 20px;
  border:1px solid #1789ab;
  text-align:center;
}
.price-table tbody td{
  padding:14px 20px;
  border:1px solid #d8e2e6;
  font-size:15px;
  color:var(--text-body);
  text-align:center;
  font-weight:600;
}
.price-table tbody tr:nth-child(even) td{
  background:#f5fafc;
}
.price-table thead th:first-child,
.price-table tbody td:first-child{
  width:40%;
}
/* プラン説明行（2列結合） */
.kaso-section .price-table .plan-desc td{
  background:#f5fafc;
  color:var(--text-body);
  line-height:1.8;
  padding:12px 18px;
  font-weight:400;
  text-align:left;
  font-size:14px;
  border-right:none;
}

/* ========== タブレット (≤991.98px) ========== */
@media (max-width: 991.98px){
  .page-hero{height:38vh;min-height:280px;}
  .page-hero-title{font-size:36px;letter-spacing:4px;}
  .kasou-intro h2{font-size:22px;}
  .kaso-section h2{font-size:24px;}
}

/* ========== スマホ (≤767.98px) ========== */
@media (max-width: 767.98px){
  .page-hero{height:32vh;min-height:220px;}
  .page-hero-title{font-size:24px;letter-spacing:3px;left:6%;}
  .kasou-intro{padding:40px 20px 30px;}
  .kasou-intro h2{font-size:20px;letter-spacing:2px;}
  .kasou-intro p{font-size:14px;line-height:1.9;}
  .kaso-section{padding:50px 16px;margin:0 0 40px;}
  .kaso-section h2{font-size:20px;letter-spacing:2px;margin-bottom:30px;}
  .kaso-intro p,
  .kaso-list li{font-size:14px;line-height:1.9;}
  .kaso-price-title{font-size:18px;margin-bottom:24px;}
  .kaso-notes{margin-top:20px;}
  .kaso-notes p{font-size:13px;line-height:1.85;}
  .kaso-section .price-table .plan-desc td{font-size:13px;padding:10px 12px;}
  .price-table thead th{font-size:14px;padding:12px 8px;}
  .price-table tbody td{font-size:13px;padding:12px 8px;}
}
