/* =========================================================
   ご遺骨葬ページ専用CSS
   ========================================================= */

:root{
  --gk-bg:      #F7F2E7;   /* 生成り・和紙のような背景 */
  --gk-ink:     #2B2520;   /* 墨色に近い本文色 */
  --gk-ink-soft:#5B5347;
  --gk-gold:    #A9823C;   /* くすんだ金 */
  --gk-gold-deep:#8C6A2E;
  --gk-gold-soft:#E4D6B4;  /* 淡い金（背景・枠用） */
  --gk-card:    #FFFFFF;
  --gk-line:    #E7DFCB;
  --gk-deep:    #3D3A34;
  --gk-deep-soft:#524E45;
  --gk-gray:    #8C8676;
}

/* ==========================================================
   ヒーロー：写真＋バッジ＋価格バー
   ========================================================== */
.gk-hero{
     position:relative;
     overflow:hidden;
     background:var(--gray-deep);
     padding:460px 0;
     text-align:center;
   }
   
   .gk-hero picture,
   .gk-hero img{
     position:absolute;
     inset:0;
     width:100%;
     height:100%;
     object-fit:cover;
   }

.gk-hero-card .gk-hero-title-img{
     position: static;
     inset: auto;
     display: block;
     width: 100%;
     max-width:1100px;
     height: auto;
     object-fit: initial;
   }

.gk-hero-overlay{
   position:absolute;
   inset:0;
   background:linear-gradient(
     to top,
     rgba(20,16,10,0.55) 0%,
     rgba(20,16,10,0.15) 38%,
     rgba(20,16,10,0) 60%
   );
}

/* ---------- 丸いバッジ（重なり配置） ---------- */
.gk-hero-badges{
  position:absolute;
  top:10%;
  right:8%;
  z-index:2;
  width: 400px;
  height: 380px;
}

.gk-hero-badge{
  position:absolute;
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:16px;
  box-shadow:0 12px 30px rgba(0,0,0,0.18);
}

.gk-hero-badge--1{
  top:0;
  left:0;
  width:260px;
  height:260px;
  background:#FFEEA5;
}

.gk-hero-badge--2{
  bottom:0;
  right:0;
  width:220px;
  height:220px;
  background:#FFF3C4;
}

.gk-hero-badge-tag{
  display:inline-block;
  background:#C8AF6C;
  color:var(--gk-ink);
  font-family:'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-weight:800;
  font-size:24px;
  padding:3px 10px;
  margin-bottom:8px;
  line-height:1.6;
}

.gk-hero-badge-text{
  font-family:'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-weight:800;
  font-size:22px;
  line-height:1.6;
  color:var(--gk-ink);
}

/* ---------- 左下：ピル型バー（名称＋価格） ---------- */
.gk-hero-card{
  position: absolute;
  left: 50%;
  bottom: 7%;
  transform: translateX(-50%);
  z-index: 2;
  width: 92%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* ---------- ヒーロー：価格バー下の注記（スマホ専用・画像の外に表示） ---------- */
.gk-hero-note-sp{
  display: none;
}

/* 外枠：#2F1704を62%透明度で塗り、内側に淡い金の線 */
.gk-hero-bar{
  display:inline-block;
  max-width:100%;
  background: rgba(47, 23, 4, 0.62);
  border: 1px solid rgba(244, 244, 158, 0.62);
  border-radius: 999px;
  padding: 6px;
}

.gk-hero-bar-inner{
  display: flex;
  align-items: center;
  gap: 18px;
  border: 1px solid rgba(244, 244, 158, 0.62);
  border-radius: 999px;
  padding: 12px 20px 12px 32px;
}

.gk-hero-bar-name{
  flex-shrink: 0;
  font-family: 'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-weight: 800;
  font-size: 56px;
  color: #fff;
  letter-spacing: 0.1em;
  white-space: nowrap;
}

/* ---------- 内側：価格カード（白・ピル型） ---------- */
.gk-hero-price{
  background: #fff;
  border: 2px solid #9A731E;
  border-radius: 999px;
  padding: 12px 28px;
  flex: 0 0 auto;
  min-width: 0;
}

.gk-hero-price-row{
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 12px;
  margin-bottom: 6px;
}

.gk-hero-price-label{
  font-family: 'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-weight: 800;
  font-size: 30px;
  color: var(--gk-ink);
}

.gk-hero-price-amount{
  font-family: 'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-weight: 800;
  font-size: 60px;
  color: #B5442E;
}

.gk-hero-price-unit{
  font-size: 30px;
  font-weight: 600;
  margin-left: 2px;
}

.gk-hero-price-detail{
  margin: 0 0 4px;
  padding-top: 6px;
  border-top: 1px solid var(--gk-line);
  font-family: 'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-size: 20px;
  color: var(--gk-ink-soft);
  text-align: center;
  white-space: nowrap;
}

.gk-hero-price-note{
  margin: 0;
  font-family: 'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-size: 20px;
  color: var(--gk-ink-soft);
  text-align: center;
  opacity: 0.8;
}

/* ---------- ページ見出し帯（旧・未使用） ---------- */
.page-hero{
  position:relative;
  overflow:hidden;
  background:var(--gray-deep);
  padding:460px 0;
  text-align:center;
}
.page-hero img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.page-hero h1{
  font-size:clamp(34px,5vw,52px);
  color:#fff;
  letter-spacing:0.1em;
}
.page-hero .inner{
  animation: heroFadeUp 1.6s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}
@keyframes heroFadeUp{
  0%{
  opacity:0;
  transform:translateY(50px) scale(0.9);
  }
  100%{
  opacity:1;
  transform:translateY(0) scale(1);
  }
}

/* ---------- ご遺骨葬とは ---------- */
.gk-about{
  padding:96px 0;
  background:var(--white);
}
.gk-about-head{
  text-align:center;
  margin-bottom:32px;
}
.gk-about-head .eyebrow{
  justify-content:center;
}
.gk-about-head h2{
  font-size:42px;
  color:var(--gray-deep);
  letter-spacing:0.08em;
  margin-top:12px;
}
.js-anim-ready .gk-about-head{
  opacity:0;
  transform:translateY(50px) scale(0.9);
  transition:
    opacity 1.6s cubic-bezier(0.34, 1.56, 0.64, 1),
    transform 1.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.gk-about-head.is-visible{
  opacity:1;
  transform:translateY(0) scale(1);
}

.gk-about-desc{
  max-width:820px;
  margin:0 auto;
  font-size:17px;
  color:var(--ink);
  line-height:2.1;
  text-align:center;
}

/* ---------- ページ内ジャンプボタン ---------- */
.gk-jumpnav{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:14px;
  max-width:900px;
  margin:40px auto 0;
}

.gk-jumpnav-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:200px;
  padding:15px 12px;
  border:1px solid var(--gold);
  border-radius:999px;
  font-family:'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-size:20px;
  font-weight:800;
  letter-spacing:0.02em;
  color:#fff;
  background:var(--gold);
  text-decoration:none;
  white-space:nowrap;
  text-align:center;
  transition:
    background-color 0.3s ease,
    color 0.3s ease;
}

.gk-jumpnav-btn:hover{
  background: var(--gk-gold-deep);
  border-color: var(--gk-gold-deep);
  color: #fff;
}


.gk-jumpnav-wrap{
  margin-top:40px;
}
.gk-jumpnav-head{
  text-align:center;
  position:relative;
  z-index:2;
}
.gk-jumpnav-head .eyebrow{
  justify-content:center;
}

.gk-jumpnav-box{
  position:relative;
  border:2px solid var(--gk-gold-soft);
  border-radius:24px;
  padding:64px 48px 48px;
  margin-top:20px;
  background:var(--gk-bg);
}

.gk-jumpnav-title{
  position:absolute;
  top:0;
  left:50%;
  transform:translate(-50%,-50%);
  margin:0;
  padding:0 32px;
  background:var(--gk-bg);
  font-family:'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-weight:800;
  font-size:32px;
  color:var(--gray-deep);
  letter-spacing:0.12em;
  white-space:nowrap;
}

/* ボタン内に番号を入れるための調整 */
.gk-jumpnav-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:100%;
  padding:22px 16px;
  border:1px solid var(--gold);
  border-radius:999px;
  font-family:'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-size:24px;
  font-weight:800;
  line-height:1;
  letter-spacing:0.02em;
  color:#fff;
  background:var(--gold);
  text-decoration:none;
  white-space:nowrap;
  text-align:center;
  transition:
    background-color 0.3s ease,
    color 0.3s ease;
}

.gk-jumpnav{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:22px;
  max-width:1080px;
  margin:8px auto 0;
}

.gk-jumpnav-num{
  display:inline-flex;
  align-items:center;
  font-family:'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-weight:700;
  font-size:22px;
  line-height:1;
  opacity:0.85;
}

#merit,
#recommend,
#flow,
#prepare,
#chokusou,
#cost,
#qa,
#message{
  scroll-margin-top:100px;
}

/* ---------- ヒーロー：写真+透過PNGのオーバーレイ（旧・未使用） ---------- */
.page-hero-goikotsusou{
  padding:0;
}

.page-hero-overlay{
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:auto;
  z-index:2;
  pointer-events:none;
}


/* ---------- 永寿院のご遺骨葬のメリット（濃い背景でメリハリをつける） ---------- */
.gk-merit{
  padding:96px 0;
  background:#937B69;
}
.gk-merit-head{
  text-align:center;
  margin-bottom:56px;
}
.gk-merit-head .eyebrow{
  justify-content:center;
  color:var(--gold-light);
}
.gk-merit-head .eyebrow::before{
  background:var(--gold-light);
}
.gk-merit-head h2{
  font-size:clamp(26px,3.5vw,34px);
  color:#fff;
  letter-spacing:0.08em;
  margin-top:12px;
}
.js-anim-ready .gk-merit-head{
  opacity:0;
  transform:translateY(50px) scale(0.9);
  transition:
    opacity 1.6s cubic-bezier(0.34, 1.56, 0.64, 1),
    transform 1.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.gk-merit-head.is-visible{
  opacity:1;
  transform:translateY(0) scale(1);
}

.gk-merit-num{
  display:block;
  font-size:48px;
  font-weight:700;
  color:var(--gold);
  letter-spacing:0.02em;
  line-height:1;
  margin-bottom:22px;
  padding-bottom:22px;
  position:relative;
}
.gk-merit-num::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:32px;
  height:3px;
  background:var(--gold);
}

.gk-merit-list{
  display:flex;
  flex-direction:column;
  gap:24px;
  max-width:900px;
  margin:0 auto;
}

/* テキストのみのカード */
.gk-merit-card{
  background:var(--white);
  border-top:3px solid var(--gold);
  border-radius:20px;
  padding:44px 44px 40px;
}
.gk-merit-card{
  opacity:1;
  transform:none;
}
.gk-merit-card-title{
  font-family:'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-size:25px;
  font-weight:700;
  color:var(--gray-deep);
  line-height:1.6;
  margin-bottom:16px;
}
.gk-merit-card-desc{
  font-family:'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-size:18px;
  color:var(--ink);
  line-height:1.9;
}

/* 写真つきの行 */
.gk-merit-photo-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  align-items:center;
  background:var(--white);
  border-top:3px solid var(--gold);
  border-radius:20px;
  padding:44px 44px 40px;
}
.gk-merit-photo{
  aspect-ratio:4/3;
  overflow:hidden;
  border-radius:8px;
}
.gk-merit-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.gk-merit-photo-text{
  opacity:1;
  transform:none;
}

/* 04・06：写真を右側に配置 */
.gk-merit-photo-row--reverse .gk-merit-photo{
  order:2;
}
.gk-merit-photo-row--reverse .gk-merit-photo-text{
  order:1;
}

/* ---------- ご遺骨葬はこのような方におすすめです ---------- */
.gk-recommend{
  padding:96px 0;
  background:var(--white);
}
.gk-recommend-head{
  text-align:center;
  margin-bottom:56px;
}
.gk-recommend-head .eyebrow{
  justify-content:center;
}
.gk-recommend-head h2{
  font-size:clamp(24px,3.2vw,32px);
  color:var(--gray-deep);
  letter-spacing:0.06em;
  margin-top:12px;
}
.js-anim-ready .gk-recommend-head{
  opacity:0;
  transform:translateY(50px) scale(0.9);
  transition:
    opacity 0.8s cubic-bezier(0.34, 1.56, 0.64, 1),
    transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.gk-recommend-head.is-visible{
  opacity:1;
  transform:translateY(0) scale(1);
}

.gk-recommend-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
  max-width:1080px;
  margin:0 auto;
}
.gk-recommend-item{
  position:relative;
  background:var(--beige);
  border-radius:12px;
  padding:40px 28px;
  text-align:center;
}
.gk-recommend-item::before{
  content:"✓";
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  margin:0 auto 20px;
  border-radius:50%;
  background:var(--gold);
  color:#fff;
  font-size:20px;
  font-weight:700;
}
.gk-recommend-item{
  opacity:1;
  transform:none;
}
.gk-recommend-item-text{
  font-family:'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-size:19px;
  font-weight:600;
  color:var(--gray-deep);
  line-height:1.7;
}


/* ---------- ご遺骨葬の流れ（見出し帯） ---------- */
.gk-flow{
  padding:96px 0;
  background:var(--beige);
}
.gk-flow-head{
  position:relative;
  overflow:hidden;
  border-radius:20px;
  max-width:1080px;
  margin:0 auto 64px;
  aspect-ratio:16/8;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.gk-flow-head-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0.8;
}
.gk-flow-head::after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(20,18,15,0.35);
  z-index:0;
}

.gk-flow-head-inner{
  position:relative;
  z-index:1;
}
.gk-flow-head .eyebrow{
  justify-content:center;
  color:var(--gold-light);
}
.gk-flow-head h2{
  font-size:clamp(24px,3.2vw,32px);
  color:#fff;
  letter-spacing:0.08em;
  margin-top:12px;
}
.js-anim-ready .gk-flow-head-inner{
  opacity:0;
  transform:translateY(50px) scale(0.9);
  transition:
    opacity 1.6s cubic-bezier(0.34, 1.56, 0.64, 1),
    transform 1.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.gk-flow-head-inner.is-visible{
  opacity:1;
  transform:translateY(0) scale(1);
}

/* ---------- ご遺骨葬の流れ（詳細：ステップ＋比較表） ---------- */
.gk-flow-detail{
  background: var(--beige);
  padding: 40px 24px 104px;
}

.gk-flow-detail__inner{
  max-width: 1200px;
  margin: 0 auto;
  background: var(--white);
  border-radius: 24px;
  padding: 56px 48px;
}

.gk-flow-detail__note{
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin: 0 0 56px;
  padding: 0;
  background: none;
  border-left: none;
  font-family: 'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-size: 17px;
  line-height: 1.9;
  color: #C0392B;
}

.gk-flow-detail__note strong{
  flex-shrink: 0;
  font-family: 'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-weight: 600;
  color: #C0392B;
  font-size: 17px;
}

.gk-flow-detail__layout{
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 48px;
  align-items: start;
}

.gk-flow-steps{
  list-style: none;
  margin: 0;
  padding: 0;
}

.gk-flow-step{
  position: relative;
  background: var(--gk-card);
  border-left: 5px solid var(--gk-gold-deep);
  border-radius: 0 16px 16px 0;
  box-shadow: 0 6px 20px rgba(43,37,32,0.08);
  padding: 36px 36px 36px 108px;
  margin-bottom: 28px;
}

.gk-flow-step:last-child{
  margin-bottom: 0;
}

.gk-flow-step:nth-child(even){
  background: var(--gk-bg);
}

.gk-flow-step__marker{
  position: absolute;
  top: 30px;
  left: 28px;
  display: block;
}

.gk-flow-step__num{
  display: block;
  width: auto;
  height: auto;
  border-radius: 0;
  background: none;
  border: none;
  font-family: 'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-weight: 800;
  font-size: 44px;
  line-height: 1;
  letter-spacing: 0;
  color: var(--gk-deep);
  position: relative;
}

.gk-flow-step__num::after{
  content: "";
  position: absolute;
  left: 2px;
  bottom: -10px;
  width: 26px;
  height: 3px;
  background: var(--gk-gold);
}

.gk-flow-step__body{
  padding-top: 0;
}

.gk-flow-step__label{
  font-family: 'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-weight: 800;
  font-size: 22px;
  color: var(--gk-ink);
  margin: 0 0 12px;
  letter-spacing: 0.04em;
}

.gk-flow-step__text{
  font-family: 'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-size: 18px;
  line-height: 1.9;
  color: var(--gk-ink-soft);
  margin: 0 0 4px;
  font-weight: 600;
}

.gk-flow-step__list{
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
}

.gk-flow-step__list li{
  font-family: 'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-size: 18px;
  line-height: 2.1;
  color: var(--gk-ink-soft);
  padding-left: 1.3em;
  position: relative;
}

.gk-flow-step__list li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0.95em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--gk-gold);
}

/* 「※希望者のみ」の添え書き */
.gk-flow-step__opt{
  margin-left: 10px;
  font-size: 15px;
  font-weight: 600;
  color: #C0392B;
  white-space: nowrap;
}

.gk-flow-step__box{
  margin-top: 20px;
  background: var(--gk-card);
  border: 1px solid var(--gk-line);
  border-radius: 16px;
  padding: 0;
  overflow: hidden;
}

.gk-flow-step__box-title{
  font-family: 'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-weight: 700;
  font-size: 17px;
  color: #fff;
  margin: 0;
  padding: 14px 24px;
  background: var(--gk-gold-deep);
  display: flex;
  align-items: center;
  gap: 10px;
}

.gk-flow-step__box-title::before{
  content: "";
  width: 18px;
  height: 2px;
  background: #fff;
  display: inline-block;
}

.gk-flow-step__grid{
  list-style: none;
  margin: 0;
  padding: 24px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  column-gap: 20px;
  row-gap: 16px;
}

.gk-flow-step__grid li{
  font-family: 'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.7;
  color: var(--gk-ink);
  padding-left: 1.4em;
  text-align: left;
  text-indent: 0;
  white-space: normal;
  position: relative;
}

.gk-flow-step__grid li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0.75em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gk-gold);
}

.gk-flow-step__box-foot{
  margin: 0;
  padding: 14px 24px 20px;
  font-family: 'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-size: 15px;
  line-height: 1.8;
  color: var(--gk-ink-soft);
  opacity: 1;
}

/* ---------- 右側：比較表（ご遺骨葬 vs 一般的な葬儀） ---------- */
.gk-compare{
  position: relative;
  background: var(--gk-card);
  border: 1px solid var(--gk-line);
  border-radius: 20px;
  padding: 20px 18px 24px;
}

/* 中身：縦に並べる（背景の上に重ねる） */
.gk-compare__content{
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* 背景の縦長2本の枠：見出しから納骨まで貫く */
.gk-compare__bg{
  position: absolute;
  top: 20px;
  bottom: 24px;
  left: 18px;
  right: 18px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 12px;
  z-index: 0;
  pointer-events: none;
}
.gk-compare__bg-col{
  border-radius: 16px;
}
.gk-compare__bg-col--main{
  background: rgba(169, 130, 60, 0.08);
  border: 2px solid var(--gk-gold-deep);
}
.gk-compare__bg-col--sub{
  background: rgba(140, 134, 118, 0.08);
  border: 2px solid var(--gk-gray);
}

.gk-compare__lane-wrap{
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 12px;
}

/* 左右の列全体を囲む背景レーン（装飾のみ・クリック不可） */
.gk-compare__lane{
  display: flex;
  flex-direction: column;
  gap: 10px;
  border-radius: 16px;
  padding: 12px;
}
/* .gk-compare__lane--main{
  background: rgba(169, 130, 60, 0.08);
  border: 2px solid var(--gk-gold-deep);
}

.gk-compare__lane--sub{
  background: rgba(140, 134, 118, 0.08);
  border: 2px solid var(--gk-gray);
} */

.gk-compare__lane--main,
.gk-compare__lane--sub{
  background: none;
  border: none;
}

.gk-compare__headers{
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 12px;
}

.gk-compare__row,
.gk-compare__arrows{
  display: contents;
}

.gk-compare__header{
  text-align: center;
  padding: 10px 6px;
  font-family: 'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-weight: 800;
  font-size: 18px;
  letter-spacing: 0.04em;
  color: var(--gk-ink-soft);
  /* background: rgba(140, 134, 118, 0.08); */
  background: #F7F6F3;
  border: 1px solid var(--gk-gray);
  border-radius: 10px;
}

.gk-compare__header--main{
  background: var(--gk-gold-deep);
  border-color: var(--gk-gold-deep);
  color: #fff;
}

.gk-compare__shared{
  grid-column: 1 / -1;
  text-align: center;
  padding: 11px 6px;
  font-family: 'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-weight: 500;
  font-size: 17px;
  color: var(--gk-ink);
  background: var(--gk-gold-soft);
  border: 1px solid var(--gk-gold-soft);
  border-radius: 10px;
}

.gk-compare__shared--final{
  margin-top: 4px;
}

.gk-compare__cell{
  text-align: center;
  padding: 11px 6px;
  font-family: 'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-size: 17px;
  line-height: 1.4;
  color: var(--gk-ink-soft);
  background: #fff;
  border: 1px solid var(--gk-line);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}


.gk-compare__cell--main{
  background: #FBF3E2;
  border-color: var(--gk-gold-soft);
  color: var(--gk-ink);
  font-weight: 500;
}

.gk-compare__row--note{
  align-items: center;
}

.gk-compare__note-text{
  margin: 0;
  padding: 6px 4px;
  font-family: 'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-size: 17px;
  line-height: 1.5;
  color: var(--gk-ink-soft);
  text-align: center;
}

/* レーン内の▼（少し大きく） */
.gk-compare__arrow{
  width: 0;
  height: 0;
  margin: 6px auto;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 15px solid var(--gk-gold);
}

/* 共通の▼：白い丸の台座の上に▼を載せ、枠線の上に飛び出させる */
.gk-compare__arrow-shared{
  grid-column: 1 / -1;
  position: relative;
  z-index: 2;
  width: 0;
  height: 44px;
  margin: 0 auto;
  border: none;
  background: none;
}
/* 外側：白い▼ */
.gk-compare__arrow-shared::before{
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 0;
  height: 0;
  border-left: 28px solid transparent;
  border-right: 28px solid transparent;
  border-top: 42px solid #fff;
}

/* 内側：金色の▼ */
.gk-compare__arrow-shared::after{
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -62%);
  width: 0;
  height: 0;
  border-left: 18px solid transparent;
  border-right: 18px solid transparent;
  border-top: 27px solid var(--gk-gold);
}

.gk-compare__arrow-shared--merge{
  margin: 0 auto;
}

/* ==========================================================
   ① ご用意するもの／いただくもの
   ========================================================== */
.gk-prepare{
  padding:96px 0;
  background:var(--white);
}
.gk-prepare-head{
  text-align:center;
  margin-bottom:48px;
}
.gk-prepare-head .eyebrow{
  justify-content:center;
}
.gk-prepare-head h2{
  font-size:clamp(24px,3.2vw,32px);
  color:var(--gray-deep);
  letter-spacing:0.06em;
  margin-top:12px;
}

.gk-prepare-list{
  display:flex;
  flex-direction:column;
  gap:24px;
  max-width:820px;
  margin:0 auto;
}

.gk-prepare-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  align-items:center;
  padding:40px 44px;
  border:1px solid var(--gk-gold-soft);
  border-radius:20px;
  background:#FBF3E2;
}

.gk-prepare-row-photo{
  aspect-ratio: 914 / 1050;
  overflow:hidden;
  border-radius:14px;
}

.gk-prepare-row-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.gk-prepare-row .gk-prepare-card-title{
  color:var(--gk-gold-deep);
}

.gk-prepare-card--family{
  padding:40px 44px;
  border:1px solid var(--gk-line);
  border-radius:20px;
  background:var(--gk-bg);
}

.gk-prepare-card-title{
  display:flex;
  align-items:center;
  gap:10px;
  font-family:'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-weight:800;
  font-size:25px;
  color:var(--gk-ink);
  letter-spacing:0.02em;
  margin:0 0 20px;
  padding-bottom:25px;
  border-bottom:1px solid var(--gk-gold-soft);
}

.gk-prepare-card-title::before{
  content:"";
  flex-shrink:0;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--gk-gold);
}

.gk-prepare-list-items{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}

.gk-prepare-list-items li{
  position:relative;
  padding:10px 0 10px 1.4em;
  font-family:'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-size:20px;
  line-height:1.8;
  color:var(--gk-ink-soft);
  border-bottom:1px dashed var(--gk-line);
}

.gk-prepare-list-items li:last-child{
  border-bottom:none;
}

.gk-prepare-list-items li::before{
  content:"";
  position:absolute;
  left:0;
  top:1.15em;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--gk-gold);
}

/* ==========================================================
   ② 直葬について
   ========================================================== */
.gk-chokusou{
  padding:96px 0;
  background:var(--beige);
}
.gk-chokusou-head{
  text-align:center;
  margin-bottom:32px;
}
.gk-chokusou-head .eyebrow{
  justify-content:center;
}
.gk-chokusou-head h2{
  font-size:clamp(24px,3.2vw,32px);
  color:var(--gray-deep);
  letter-spacing:0.06em;
  margin-top:12px;
}

.gk-chokusou-lead{
  max-width:640px;
  margin:0 auto 40px;
  font-family:'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-size:18px;
  line-height:2;
  color:var(--gk-ink-soft);
  text-align:center;
  font-weight: 600;
}

.gk-chokusou-anchor{
  color:var(--gk-gold-deep);
  text-decoration:underline;
  text-underline-offset:3px;
}

/* .gk-chokusou-partner{
  max-width:520px;
  margin:0 auto 32px;
  background:var(--gk-card);
  border:1px solid var(--gk-line);
  border-radius:16px;
  padding:0;
  overflow:hidden;
} */

/* .gk-chokusou-partner-name{
  font-family:'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-weight:800;
  font-size:22px;
  color:#fff;
  margin:0;
  padding:20px 32px;
  background:var(--gk-gold-deep);
  letter-spacing:0.04em;
} */

/* .gk-chokusou-partner-plan{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  padding-bottom:20px;
  margin-bottom:20px;
  border-bottom:1px solid var(--gk-line);
} */

.gk-chokusou-partner-plan-label{
  font-family:'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-size:20px;
  font-weight: 800;
  color:#000;
}

/* .gk-chokusou-partner-plan-price{
  font-family:'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-weight:800;
  font-size:26px;
  color:var(--gk-gold-deep);
} */

/* .gk-chokusou-partner-plan-unit{
  font-family:'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-size:18px;
  font-weight:600;
  color:#000;
  margin-left:2px;
} */

/* .gk-chokusou-partner-sub{
  font-family:'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-weight:600;
  font-size:16px;
  color:var(--gk-gold-deep);
  margin:0 0 12px;
  display:flex;
  align-items:center;
  gap:8px;
} */

/* .gk-chokusou-partner-sub::before{
  content:"";
  width:14px;
  height:1px;
  background:var(--gk-gold);
  display:inline-block;
} */

/* .gk-chokusou-partner-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:20px;
  row-gap:10px;
} */

/* .gk-chokusou-partner-list li{
  position:relative;
  padding-left:1.2em;
  font-family:'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-size:18px;
  font-weight:600;
  line-height:1.6;
  color:#000;
} */

/* .gk-chokusou-partner-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:0.65em;
  width:4px;
  height:4px;
  border-radius:50%;
  background:var(--gk-gold);
} */

.gk-chokusou-note{
  max-width:520px;
  margin:0 auto;
  padding:0;
  background:var(--gk-card);
  border:1px solid var(--gk-line);
  border-radius:16px;
  overflow:hidden;
}

.gk-chokusou-note-title{
  font-family:'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-weight:700;
  font-size:22px;
  color:#fff;
  margin:0;
  padding:14px 28px;
  background:var(--gk-deep);
}

.gk-chokusou-note-text{
  font-family:'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-size:17px;
  font-weight:500;
  line-height:1.9;
  color:#000;
  margin:0;
  padding:24px 28px 28px;
}

/* ==========================================================
   ③ 費用総額（濃い背景でメリハリをつける）
   ========================================================== */
.gk-cost{
     padding:96px 0;
     background:#5a544b;
   }
.gk-cost-head{
  text-align:center;
  margin-bottom:16px;
}
.gk-cost-head .eyebrow{
  justify-content:center;
  color:var(--gold-light);
}
.gk-cost-head .eyebrow::before{
  background:var(--gold-light);
}
.gk-cost-head h2{
  font-size:clamp(24px,3.2vw,32px);
  color:#fff;
  letter-spacing:0.06em;
  margin-top:12px;
}

.gk-cost-lead{
  max-width:520px;
  margin:0 auto 40px;
  font-family:'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-size:18px;
  line-height:1.9;
  color:#D9D2C4;
  text-align:center;
}

.gk-cost-card{
  max-width:480px;
  margin:0 auto;
  background:var(--gk-card);
  border:1px solid var(--gk-line);
  border-radius:24px;
  padding:16px;
}

.gk-cost-row{
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:20px;
  padding:24px 28px;
  background:var(--gk-bg);
  border-radius:16px;
}

.gk-cost-row-label{
  font-family:'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-weight:500;
  font-size:20px;
  color:var(--gk-ink);
}

.gk-cost-row-amount{
  font-family:'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-weight:600;
  font-size:30px;
  color:var(--gk-ink);
}

.gk-cost-row-note{
  margin:10px 0 0;
  padding:0 4px;
  font-family:'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-size:16px;
  color:var(--gk-ink-soft);
  opacity:0.85;
}

.gk-cost-operator{
  display:flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  margin:14px auto;
  border-radius:50%;
  background:var(--gk-gold-soft);
  font-family:'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-size:18px;
  color:var(--gk-gold-deep);
}

.gk-cost-operator--equal{
  width:44px;
  height:44px;
  margin:18px auto 20px;
  font-size:20px;
  background:var(--gk-gold);
  color:#fff;
}

.gk-cost-row--total{
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:20px;
  padding:28px 28px 30px;
  background:linear-gradient(135deg, var(--gk-gold-deep), var(--gk-gold));
  border-radius:16px;
}

.gk-cost-row--total .gk-cost-row-label{
  font-family:'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-weight:600;
  font-size:20px;
  color:#fff;
}

.gk-cost-row--total .gk-cost-row-amount{
  font-size:40px;
  color:#fff;
}

/* ==========================================================
   ご遺骨葬 Q&A（背景に写真を敷く）
   ========================================================== */
.gk-qa{
  position:relative;
  overflow:hidden;
  padding:96px 0;
}

.gk-qa-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.gk-qa-overlay{
  position:absolute;
  inset:0;
  background:rgba(20,16,10,0.55);
}

.gk-qa-inner{
  position:relative;
  z-index:1;
}

.gk-qa-head{
  text-align:center;
  margin-bottom:48px;
}
.gk-qa-head .eyebrow{
  justify-content:center;
  color:var(--gold-light);
}
.gk-qa-head .eyebrow::before{
  background:var(--gold-light);
}
.gk-qa-head h2{
  font-size:clamp(24px,3.2vw,32px);
  color:#fff;
  letter-spacing:0.06em;
  margin-top:12px;
}

.gk-qa-list{
  max-width:820px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:12px;
}

.gk-qa-item{
  background:var(--gk-card);
  border:none;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(0,0,0,0.12);
}

.gk-qa-item[open]{
  background:#FFFFFF;
}

.gk-qa-question{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:18px;
  padding:22px 28px;
}
.gk-qa-question::-webkit-details-marker{
  display:none;
}
.gk-qa-question::marker{
  content:"";
}

.gk-qa-badge{
  flex-shrink:0;
  width:38px;
  height:38px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-weight:600;
  font-size:18px;
}

.gk-qa-badge--q{
  background:var(--gk-gold-deep);
  color:#fff;
}

.gk-qa-badge--a{
  background:var(--gk-gold-soft);
  color:var(--gk-gold-deep);
}

.gk-qa-question-text{
  flex:1;
  font-family:'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-weight:500;
  font-size:19px;
  line-height:1.7;
  color:var(--gk-ink);
}

.gk-qa-toggle{
  flex-shrink:0;
  position:relative;
  width:20px;
  height:20px;
}
.gk-qa-toggle::before,
.gk-qa-toggle::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  background:var(--gk-gold);
  transform:translate(-50%,-50%);
  transition:transform 0.25s ease;
}
.gk-qa-toggle::before{
  width:14px;
  height:1.5px;
}
.gk-qa-toggle::after{
  width:1.5px;
  height:14px;
}
.gk-qa-item[open] .gk-qa-toggle::after{
  transform:translate(-50%,-50%) rotate(90deg);
  opacity:0;
}

.gk-qa-answer{
  display:flex;
  align-items:flex-start;
  gap:18px;
  padding:0 28px 26px 28px;
}

.gk-qa-answer-text{
  margin:0;
  padding-top:6px;
  font-family:'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-size:18px;
  line-height:2;
  color:var(--gk-ink-soft);
}

/* ==========================================================
   住職メッセージ
   ========================================================== */
.gk-message{
  padding:96px 0;
  background:var(--gk-bg);
}
.gk-message-head{
  text-align:center;
  margin-bottom:48px;
}
.gk-message-head .eyebrow{
  justify-content:center;
}
.gk-message-head h2{
  font-size:clamp(24px,3.2vw,32px);
  color:var(--gray-deep);
  letter-spacing:0.06em;
  margin-top:12px;
}

.gk-message-body{
  display:grid;
  grid-template-columns:320px 1fr;
  gap:56px;
  align-items:start;
  max-width:960px;
  margin:0 auto;
}

.gk-message-photo{
  aspect-ratio:3/4;
  overflow:hidden;
  border-radius:20px;
}

.gk-message-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.gk-message-text{
  padding-top:4px;
  border-left:2px solid var(--gk-gold);
  padding-left:36px;
}

.gk-message-headline{
  font-family:'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-weight:600;
  font-size:26px;
  line-height:1.6;
  color:var(--gk-ink);
  letter-spacing:0.02em;
  margin:0 0 24px;
}

.gk-message-desc{
  font-family:'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-size:19px;
  line-height:2.1;
  color:var(--gk-ink-soft);
  margin:0 0 28px;
}

.gk-message-sign{
  font-family:'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-weight:500;
  font-size:18px;
  color:var(--gk-ink-soft);
  text-align:right;
  margin:0;
}

.gk-hero-title-img{
  display: block;
  width: 100%;
  max-width: 851px;
  height: auto;
}

/* ---------- ヒーロー：価格バー下の注記 ---------- */
.gk-hero-note{
  margin-top: 14px;
  font-family: 'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-weight: 800;
  font-size: 25px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 6px rgba(0,0,0,0.4);
}

/* ---------- ヒーロー：タイトルバー・バッジのふわっと表示 ---------- */
.gk-hero-title-img,
.gk-hero-badges{
  opacity:0;
  animation: gkHeroReveal 1.6s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}
.gk-hero-badges{
  animation-delay: 0.15s;
}
@keyframes gkHeroReveal{
  0%{
    opacity:0;
    transform:translateY(50px) scale(0.9);
  }
  100%{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}



.gk-chokusou-note{
  max-width:520px;
  margin:0 auto;
  padding:0;
  background:var(--gk-card);
  border:1px solid var(--gk-line);
  border-radius:16px;
  overflow:hidden;
}

.gk-chokusou-note-title{
  font-family:'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-weight:700;
  font-size:22px;
  color:#fff;
  margin:0;
  padding:14px 28px;
  background:var(--gk-deep);
}

.gk-chokusou-note-text{
  font-family:'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-size:17px;
  font-weight:500;
  line-height:1.9;
  color:#000;
  margin:0;
  padding:24px 28px 28px;
}

/* ---------- Q&Aと住職メッセージの間：横長写真 ---------- */
.gk-qa-photo{
  aspect-ratio:21/9;
  overflow:hidden;
}

.gk-qa-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* ---------- ご準備いただくもの：見出しふわっと表示 ---------- */
.js-anim-ready .gk-prepare-head{
  opacity:0;
  transform:translateY(50px) scale(0.9);
  transition:
    opacity 1.6s cubic-bezier(0.34, 1.56, 0.64, 1),
    transform 1.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.gk-prepare-head.is-visible{
  opacity:1;
  transform:translateY(0) scale(1);
}

/* ---------- 直葬について：見出しふわっと表示 ---------- */
.js-anim-ready .gk-chokusou-head{
  opacity:0;
  transform:translateY(50px) scale(0.9);
  transition:
    opacity 1.6s cubic-bezier(0.34, 1.56, 0.64, 1),
    transform 1.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.gk-chokusou-head.is-visible{
  opacity:1;
  transform:translateY(0) scale(1);
}

/* ---------- 費用総額：見出しふわっと表示 ---------- */
.js-anim-ready .gk-cost-head{
  opacity:0;
  transform:translateY(50px) scale(0.9);
  transition:
    opacity 1.6s cubic-bezier(0.34, 1.56, 0.64, 1),
    transform 1.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.gk-cost-head.is-visible{
  opacity:1;
  transform:translateY(0) scale(1);
}

/* ---------- Q&A：見出しふわっと表示 ---------- */
.js-anim-ready .gk-qa-head{
  opacity:0;
  transform:translateY(50px) scale(0.9);
  transition:
    opacity 1.6s cubic-bezier(0.34, 1.56, 0.64, 1),
    transform 1.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.gk-qa-head.is-visible{
  opacity:1;
  transform:translateY(0) scale(1);
}

/* ---------- 住職メッセージ：見出しふわっと表示 ---------- */
.js-anim-ready .gk-message-head{
  opacity:0;
  transform:translateY(50px) scale(0.9);
  transition:
    opacity 1.6s cubic-bezier(0.34, 1.56, 0.64, 1),
    transform 1.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.gk-message-head.is-visible{
  opacity:1;
  transform:translateY(0) scale(1);
}

/* ---------- 直葬先の電話番号カード ---------- */
.gk-chokusou-providers{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  max-width:720px;
  margin:0 auto 32px;
}

.gk-chokusou-provider{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  background:var(--gk-card);
  border:2px solid var(--gk-gold-soft);
  border-radius:20px;
  padding:32px 24px;
  text-decoration:none;
  transition:border-color .2s ease, background .2s ease, transform .2s ease;
}

.gk-chokusou-provider:hover{
  border-color:var(--gk-gold-deep);
  background:#FBF3E2;
  transform:translateY(-3px);
}

.gk-chokusou-provider-name{
  font-family:'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-weight:800;
  font-size:19px;
  color:var(--gk-ink);
  letter-spacing:0.02em;
  text-align:center;
  line-height:1.5;
}

.gk-chokusou-provider-tel{
  display:flex;
  align-items:center;
  gap:10px;
  font-family:'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-weight:800;
  font-size:28px;
  color:var(--gk-gold-deep);
  letter-spacing:0.02em;
}

.gk-chokusou-provider-tel-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:4px 10px;
  border-radius:999px;
  background:var(--gk-gold-deep);
  color:#fff;
  font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic Medium","Yu Gothic",Meiryo,sans-serif;
  font-weight:700;
  font-size:12px;
  letter-spacing:0.05em;
}

.gk-chokusou-note-photo{
  aspect-ratio:16/10;
  overflow:hidden;
  border-radius:16px;
  margin:0 28px 28px;
}

.gk-chokusou-note-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.gk-chokusou-photo{
  max-width:820px;
  margin:32px auto 0;
  aspect-ratio:16/10;
  overflow:hidden;
  border-radius:16px;
}

.gk-chokusou-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}


/* ---------- 各セクション見出し：目次と対応した番号バッジ ---------- */
.gk-section-num{
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  margin:0 auto 16px;
  border-radius:50%;
  background:var(--gold);
  color:#fff;
  font-family:'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-weight:800;
  font-size:20px;
  letter-spacing:0;
}

/* 濃い背景セクション（メリット・費用総額・Q&A）は金色を明るめに */
.gk-merit-head .gk-section-num,
.gk-cost-head .gk-section-num,
.gk-qa-head .gk-section-num{
  background:var(--gold-light);
  color:var(--gray-deep);
}

/* ---------- 分数表記（例：1/8、1/10） ---------- */
.gk-fraction{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  vertical-align:middle;
  margin:0 6px;
  line-height:1.3;
  font-family:'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-size:0.85em;
}
.gk-fraction-num{
  min-width:1.4em;
  padding-bottom:3px;
  text-align:center;
  border-bottom:1.5px solid currentColor;
}
.gk-fraction-den{
  min-width:1.4em;
  padding-top:3px;
  text-align:center;
}

/* ---------- 動画リンクカード（見たくなるサムネイル＋再生ボタン） ---------- */
.gk-video-link{
  display:block;
  max-width:820px;
  margin:40px auto 0;
  border-radius:16px;
  overflow:hidden;
  background:var(--gk-card);
  border:1px solid var(--gk-line);
  text-decoration:none;
  box-shadow:0 8px 24px rgba(43,37,32,0.10);
  transition:box-shadow .3s ease, transform .3s ease;
}

.gk-video-link:hover{
  box-shadow:0 16px 36px rgba(43,37,32,0.18);
  transform:translateY(-3px);
}

.gk-video-link-thumb{
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
  background:var(--gk-deep);
}

.gk-video-link-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .5s ease, filter .3s ease;
}

.gk-video-link:hover .gk-video-link-thumb img{
  transform:scale(1.05);
  filter:brightness(0.85);
}

.gk-video-link-thumb::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    to top,
    rgba(20,16,10,0.45) 0%,
    rgba(20,16,10,0.05) 40%,
    rgba(20,16,10,0) 60%
  );
}

.gk-video-link-play{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  z-index:2;
  width:76px;
  height:76px;
  border-radius:50%;
  background:rgba(255,255,255,0.92);
  color:var(--gk-gold-deep);
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 8px 20px rgba(0,0,0,0.3);
  transition:transform .3s ease, box-shadow .3s ease, background .3s ease;
}

/* 再生ボタンの周りにじわっと広がる波紋 */
.gk-video-link-play::before{
  content:"";
  position:absolute;
  inset:-14px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,0.6);
  opacity:0;
  transition:opacity .3s ease, transform .3s ease;
}

.gk-video-link:hover .gk-video-link-play{
  transform:translate(-50%,-50%) scale(1.1);
  background:#fff;
  box-shadow:0 10px 28px rgba(0,0,0,0.4);
}

.gk-video-link:hover .gk-video-link-play::before{
  opacity:1;
  transform:scale(1.25);
}

.gk-video-link-play svg{
  margin-left:4px; /* 三角アイコンの視覚的重心を中央に寄せる */
}

.gk-video-link-body{
  display:flex;
  align-items:center;
  gap:16px;
  padding:24px 28px;
}

.gk-video-link-eyebrow{
  flex-shrink:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 20px;
  border-radius:999px;
  background:var(--gk-gold-deep);
  color:#fff;
  font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic Medium","Yu Gothic",Meiryo,sans-serif;
  font-weight:700;
  font-size:15px;
  letter-spacing:0.06em;
}

.gk-video-link-title{
  margin:0 0 4px;
  font-family:'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-weight:700;
  font-size:19px;
  color:var(--gk-ink);
  line-height:1.5;
}

.gk-video-link-sub{
  margin:0;
  font-family:'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
  font-size:15px;
  color:var(--gk-ink-soft);
  line-height:1.6;
  font-weight:600;
}

/* =========================================================
   スマホ用
   ========================================================= */
@media (max-width:860px){
 .gk-hero{
   padding:180px 0;
 }

 .gk-hero img{
  object-position: center 15%;
}

  .gk-hero-badges{
    position:absolute;
    top:64px;
    left:16px;
    right:16px;
    z-index:2;
    width:auto;
    height:auto;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:8px;
  }

  .gk-hero-badge{
    position:static;
    width:auto;
    max-width:100%;
    height:auto;
    border-radius:999px;
    flex-direction:row;
    align-items:center;
    justify-content:flex-start;
    gap:8px;
    padding:8px 16px;
    box-shadow:0 6px 16px rgba(0,0,0,0.15);
    border:none;
  }

 .gk-hero-badge--1{
   background:#FFEEA5;
 }
 
 .gk-hero-badge--2{
   background:#FFF3C4;
 }

  .gk-hero-badge-tag{
    background:#C8AF6C;
    color:var(--gk-ink);
    font-size:11px;
    font-weight:700;
    padding:4px 10px;
    margin-bottom:0;
    border-radius:999px;
    white-space:nowrap;
  }

  .gk-hero-badge-text{
    font-size:12px;
    color:var(--gk-ink);
    white-space:nowrap;
    line-height:1.4;
  }

  .gk-hero-badge-text br{
   display:none;
 }

  .gk-hero-card{
    left:50%;
    bottom:5%;
    width:92%;
  }

.gk-hero-bar-inner{
    display: flex;
    align-items: center;
    gap: 18px;
    border: 1px solid rgba(244, 244, 158, 0.62);
    border-radius: 999px;
    padding: 12px 20px 12px 32px;
  }
  .gk-hero-bar{
    display:block;
    width:100%;
    border-radius: 28px;
  }
  .gk-hero-bar-name{
    text-align: center;
    font-size: 34px;
  }

  .gk-hero-price{
    border-radius: 16px;
    padding: 16px 20px;
  }
  .gk-hero-price-detail{
    white-space: normal;
  }


  .page-hero{
  padding:160px 0;
  }

  /* ---------- ご遺骨葬とは ---------- */
  .gk-about{
    padding:56px 0;
  }
  .gk-about-desc{
    font-size:15px;
    line-height:2;
    text-align:left;
  }

  /* ---------- ジャンプボタン：横スクロール ---------- */
 .gk-jumpnav{
   display:flex;
   flex-direction:column;
   flex-wrap:unset;
   overflow-x:visible;
   gap:10px;
   margin-top:24px;
   padding:0;
 }
 
 .gk-jumpnav::-webkit-scrollbar{
   display:none;
 }
  .gk-jumpnav-btn{
    flex-shrink:unset;
    width:100%;
    padding:14px 20px;
    font-size:16px;
    line-height:1;
    gap:8px;
    justify-content:flex-start;
  }

  /* ---------- ヒーロー：写真+透過PNGのオーバーレイ ---------- */
 .page-hero-goikotsusou{
   aspect-ratio:1624/700;
 }

  .page-hero-overlay{
   width:100%;
 }

 /* ---------- 永寿院のご遺骨葬のメリット ---------- */
 .gk-merit{
   padding:56px 0;
 }
 .gk-merit-list{
   gap:16px;
 }
 .gk-merit-card,
 .gk-merit-photo-row{
   padding:32px 26px;
   border-radius:16px;
 }
 .gk-merit-card{
   font-size: 18px;
   font-weight:800;
 }
 .gk-merit-num{
   font-size:36px;
   margin-bottom:16px;
   padding-bottom:16px;
 }
 .gk-merit-card-title{
   font-size:17px;
 }
 .gk-merit-card-desc{
   font-size:16px;
 }
 .gk-merit-photo-row{
   grid-template-columns:1fr;
   gap:20px;
 }
 .gk-merit-photo-row--reverse .gk-merit-photo,
 .gk-merit-photo-row--reverse .gk-merit-photo-text{
   order:initial;
 }

 /* ---------- ご遺骨葬はこのような方におすすめです ---------- */
 .gk-recommend{
   padding:56px 0;
 }
 .gk-recommend-head{
   margin-bottom:32px;
 }
 .gk-recommend-grid{
   grid-template-columns:1fr;
   gap:16px;
 }
 .gk-recommend-item{
   padding:28px 24px;
 }
 .gk-recommend-item-text{
   font-size:18px;
   font-weight: 800;
 }

 /* ---------- ご遺骨葬の流れ（見出し帯） ---------- */
 .gk-flow{
   padding:56px 0;
 }
 .gk-flow-head{
   border-radius:0;
   aspect-ratio:4/3;
   margin-bottom:40px;
 }

  /* ---------- ご遺骨葬の流れ（詳細） ---------- */
  .gk-flow-detail{
    padding: 24px 16px 80px;
  }
  .gk-flow-detail__inner{
    border-radius: 18px;
    padding: 32px 20px;
  }

 .gk-flow-detail__note{
   font-size: 14px;
   line-height: 1.7;
 }
  
.gk-flow-detail__note strong{
   font-size: 14px;
 }

  .gk-flow-detail__layout{
    grid-template-columns: 1fr;
    gap: 40px;
  }

 .gk-flow-step{
    padding: 28px 20px 28px 20px;
    margin-bottom: 20px;
  }
  
  .gk-flow-step__marker{
    position: static;
    display: block;
    margin-bottom: 12px;
  }

  .gk-flow-step__num{
    font-size: 40px;
  }
  
 .gk-flow-step__num::after{
    bottom: -8px;
  }
  
  .gk-flow-step__body{
    padding-top: 8px;
  }

 .gk-flow-step__label{
   font-size: 20px;
   margin-bottom: 10px;
 }
 
 .gk-flow-step__text{
   font-size: 16px;
 }
 
 .gk-flow-step__list li{
   font-size: 16px;
   line-height: 1.9;
 }

  .gk-flow-step__grid{
    grid-template-columns: 1fr;
  }

 .gk-compare{
    padding: 20px 14px 24px;
  }

 .gk-compare__header{
   font-size: 17px;
   padding: 14px 8px;
 }
  
  .gk-compare__shared{
    font-size: 16px;
    padding: 15px 10px;
    font-weight:700;
  }
  
  .gk-compare__lane{
    gap: 16px;
    padding: 16px 10px;
  }

  .gk-compare__cell{
    font-size: 15px;
    padding: 16px 12px;
    min-height: 52px;
    line-height: 1.5;
    font-weight: 700;
  }
  
  .gk-compare__note-text{
    font-size: 14px;
    line-height: 1.7;
    font-weight:600;
    padding: 4px 6px;
  }
  
  .gk-compare__arrow{
    margin: 4px auto;
  }
 .gk-compare__arrow-shared{
    margin: 0 auto;
    height: 38px;
  }
 .gk-compare__arrow-shared::before{
   border-left-width: 24px;
   border-right-width: 24px;
   border-top-width: 36px;
 }
 
 .gk-compare__arrow-shared::after{
   border-left-width: 15px;
   border-right-width: 15px;
   border-top-width: 23px;
 }

  .gk-compare__note-text{
    font-size: 16px;
    font-weight:600;
  }

  /* ---------- ご準備いただくもの／直葬について／費用総額 ---------- */
  .gk-prepare,
  .gk-chokusou,
  .gk-cost{
    padding:56px 0;
  }
  .gk-prepare-row{
    grid-template-columns:1fr;
    gap:20px;
    padding:28px 24px;
    border-radius:16px;
  }

  .gk-prepare-card--family{
    padding:28px 24px;
    border-radius:16px;
}

.gk-prepare-card-title{
  font-size:20px;
}

  /* .gk-chokusou-partner{
  padding:0;
} */
/* .gk-chokusou-partner-name{
  font-size:19px;
  padding:16px 24px;
} */

.gk-chokusou-note-title{
  padding:12px 20px;
  font-size:14.5px;
}
.gk-chokusou-note-text{
  padding:18px 20px 22px;
}
  .gk-chokusou-note-photo{
  margin:0 20px 22px;
  border-radius:12px;
}
  .gk-chokusou-providers{
  grid-template-columns:1fr;
  gap:16px;
}
.gk-chokusou-provider{
  padding:24px 20px;
}
.gk-chokusou-provider-name{
  font-size:17px;
}
.gk-chokusou-provider-tel{
  font-size:24px;
}
  /* .gk-chokusou-partner-plan-price{
    font-size:22px;
  } */
 .gk-cost-card{
   padding:12px;
   border-radius:20px;
 }
 .gk-cost-row{
   padding:20px 22px;
   border-radius:14px;
 }
 .gk-cost-row-amount{
   font-size:24px;
 }
 .gk-cost-row--total{
   padding:24px 22px 26px;
   border-radius:14px;
 }
 .gk-cost-row--total .gk-cost-row-amount{
   font-size:32px;
 }
 
 .gk-chokusou-photo{
   margin-top:24px;
   border-radius:12px;
 }

  /* ---------- Q&A ---------- */
  .gk-qa{
    padding:56px 0;
  }
  .gk-qa-overlay{
    background:rgba(20,16,10,0.6);
  }
  .gk-qa-question{
    padding:18px 18px;
    gap:12px;
  }
  .gk-qa-badge{
    width:28px;
    height:28px;
    font-size:14px;
  }
.gk-qa-question-text{
    font-size:16px;
    font-weight:800;
  }
  .gk-qa-answer{
    padding:0 18px 20px 18px;
    gap:12px;
  }
.gk-qa-answer-text{
    font-size:17px;
    font-weight:600;
  }

  /* ---------- 住職メッセージ ---------- */
  .gk-message{
    padding:56px 0;
  }
  .gk-message-body{
    grid-template-columns:1fr;
    gap:28px;
  }
  .gk-message-photo{
    max-width:260px;
    margin:0 auto;
    border-radius:16px;
  }
  .gk-message-text{
    padding-left:20px;
    border-left-width:2px;
  }
 .gk-message-headline{
   font-size:21px;
 }
  .gk-message-desc{
   font-size:16px;
 }
  
 .gk-hero-card .gk-hero-title-img{
    max-width: 100%;
  }
  
 /* PC用の注記はスマホでは非表示にする */
 .gk-hero-note{
   display: none;
 }
 
 /* スマホ専用の注記：画像の外・白背景の中に表示 */
 .gk-hero-note-sp{
   display: block;
   margin: 15px 0 15px;
   padding: 0 20px;
   font-family: 'Shippori Mincho',"Hiragino Mincho ProN","Yu Mincho",serif;
   font-weight: 700;
   font-size: 14px;
   line-height: 1.8;
   color: #C0392B;
   text-align: center;
 }
  
  /* 打合せ内容ボックス：見出しが折り返さないよう調整 */
  .gk-flow-step__box-title{
    font-size: 16px;
    padding: 14px 20px;
    white-space: nowrap;
  }
  .gk-flow-step__grid{
    grid-template-columns: 1fr;
    padding: 20px;
    row-gap: 14px;
  }
  
  .gk-flow-step__box{
    padding: 22px 20px;
  }
  .gk-flow-step__box-title{
    font-size: 16px;
  }
  .gk-flow-step__grid li{
    font-size: 16px;
    font-weight:800;
  }
 .gk-flow-step__box-foot{
   font-size: 15px;
   padding: 14px 20px 20px;
   font-weight: 600;
 }
  
  .gk-qa-photo{
    aspect-ratio:16/10;
  }
  
  .gk-section-num{
    width:36px;
    height:36px;
    font-size:17px;
    margin-bottom:12px;
  }
  
.gk-video-link{
    margin-top:28px;
    border-radius:12px;
  }
  
  .gk-video-link-play{
    width:56px;
    height:56px;
  }
  
  .gk-video-link-play svg{
    width:22px;
    height:22px;
  }
  
  .gk-video-link-body{
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
    padding:20px;
  }
  
  .gk-video-link-title{
    font-size:16px;
  }
  
  .gk-video-link-sub{
    font-size:13px;
  }
  
  .gk-compare__bg{
    left: 14px;
    right: 14px;
  }
  
  .gk-flow-step__opt{
    font-size: 13px;
    margin-left: 8px;
  }
  
}