/* Visual adjustments for the supplied Honkan renewal 2 proposal. */
.honkan-renewal2-template .honkan-reason-list { display:grid; gap:16px; max-width:900px; margin:40px auto; padding:0; list-style:none; }
.honkan-renewal2-template .honkan-reason-list > li { border:1px solid #17378d; border-radius:8px; background:#FCF9F5; padding:20px 28px; box-shadow:0 1px 4px rgba(23,55,141,.08); }
.honkan-renewal2-template .honkan-reason-list h3 { color:#142f79; }
.honkan-renewal2-template .honkan-gallery__main figure { margin:0; }
.honkan-heading--gallery { display:flex; flex-direction:column; align-items:center; gap:10px; }
.honkan-heading--gallery::after { display:none; }
.honkan2-gallery-line { display:block; width:min(100%,560px); height:auto; margin:0 auto; }
.honkan-renewal2-template .honkan-gallery__main img { width:100%; aspect-ratio: 2.22/1; object-fit:cover; border-radius:10px; }
.honkan-renewal2-template .honkan-gallery__main figcaption { text-align:center; }
.honkan2-gallery-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:32px 24px; margin-top:42px; }
.honkan2-gallery-grid figure { grid-column:span 2; margin:0; text-align:center; }
.honkan2-gallery-grid figure:nth-child(n+4) { grid-column:span 3; }
.honkan2-gallery-grid img { width:100%; object-fit:cover; border-radius:8px; }
.honkan2-gallery-grid figcaption { display:flex; flex-direction:column; gap:5px; color:#17356f; padding-top:12px; }
.honkan2-gallery-grid figcaption strong { font-size:1.15rem; }
.honkan2-gallery-grid figcaption span { font-size:1.1rem; line-height:1.6; }
.honkan2-facilities-section { padding-top:70px; }
.honkan2-facility-group { display:grid; grid-template-columns:92px minmax(0,1fr); gap:20px; align-items:start; margin-top:34px; }
.honkan2-facility-group + .honkan2-facility-group { border-top:1px solid #bba867; padding-top:28px; }
.honkan2-facility-group h3 { display:flex; flex-direction:column; align-items:center; justify-content:center; box-sizing:border-box; min-height:150px; margin:0; border:2px solid #17378d; border-radius:8px; padding:12px 8px; text-align:center; font-size:1.6rem; font-weight:400; line-height:1.35; color:#17378d; }
.honkan2-facility-group h3 span,.honkan2-facility-group h3 strong { display:block; white-space:nowrap; }
.honkan2-facility-group h3 strong { font-size:2.8rem; font-weight:400; line-height:1.05; letter-spacing:.08em; }
.honkan2-facility-group:first-of-type h3 span:nth-of-type(2) { width:100%; margin-bottom:5px; border-bottom:1px solid #17378d; padding-bottom:5px; }
.honkan2-facility-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; }
.honkan2-facility { display:flex; flex-direction:column; justify-content:center; align-items:center; box-sizing:border-box; min-width:0; min-height:150px; gap:8px; padding:12px 8px; border:2px solid #17378d; border-radius:8px; color:#17378d; text-align:center; }
.honkan2-facility-group + .honkan2-facility-group .honkan2-facility { background:#EDE8E3; }
.honkan2-facility img { display:block; width:100px; height:86px; max-width:72%; object-fit:contain; mix-blend-mode:multiply; }
.honkan2-facility span { font-size:1.8rem; }
@media (max-width:800px) {
  .honkan2-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 12px; }
  .honkan2-gallery-grid figure,.honkan2-gallery-grid figure:nth-child(n+4) { grid-column:span 1; }
  .honkan2-facility-group { grid-template-columns:1fr; gap:14px; }
  .honkan2-facility-group h3 { flex-direction:row; gap:.35em; min-height:58px; max-width:none; }
  .honkan2-facility-group h3 strong { font-size:2.2rem; }
  .honkan2-facility-group:first-of-type h3 span:nth-of-type(2) { width:auto; margin:0; border:0; padding:0; }
  .honkan2-facility-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

/* 西館（nisi_new）固有差分 */
.nisi-new-template .nisi-hero-subtitle {
  display:block;
  margin-top:.15em;
  font-size:.58em;
  letter-spacing:.08em;
}

.nisi-new-template .honkan2-feature-strip .honkan2-feature-list {
  grid-template-columns:repeat(4,minmax(0,1fr));
  max-width: 1000px !important;
  margin-right: auto;
  margin-left: auto;
}

.nisi-new-template .honkan2-gallery-grid figure,
.nisi-new-template .honkan2-gallery-grid figure:nth-child(n+4) {
  grid-column:span 2;
}

.nisi-new-template .nisi-course-facilities .honkan2-facility-group {
  grid-template-columns:92px minmax(0,1fr);
}

.nisi-new-template .nisi-course-facilities .honkan2-facility-group h3 {
  min-height:150px;
  padding:10px 6px;
  border:2px solid #17378d;
}

.nisi-new-template .nisi-course-facilities .honkan2-facility-grid {
  grid-template-columns:repeat(5,minmax(0,1fr));
}

.nisi-new-template .nisi-course-facilities .honkan2-facility {
  min-height:150px;
  padding:18px 10px;
  background:#fff;
}

.nisi-new-template .nisi-course-facilities .honkan2-facility-group h3 small,
.nisi-new-template .nisi-course-facilities .honkan2-facility-group h3 span,
.nisi-new-template .nisi-course-facilities .honkan2-facility-group h3 strong {
  display:block;
  white-space:nowrap;
}

.nisi-new-template .nisi-course-facilities .honkan2-facility-group h3 small {
  font-size:1rem;
  font-weight:400;
}

.nisi-new-template .nisi-course-facilities .honkan2-facility-group h3 span {
  font-size:1.15rem;
}

.nisi-new-template .nisi-course-facilities .honkan2-facility-group h3 strong {
  margin:.05em 0;
  font-size:2.5rem;
}

.nisi-new-template .nisi-course-facilities .honkan2-facility-group h3 span:last-child {
  width:100%;
  margin-top:5px;
  border-top:1px solid #17378d;
  border-bottom:0;
  padding-top:5px;
  padding-bottom:0;
}

.nisi-new-template .nisi-course-facility {
  gap:4px;
}

.nisi-new-template .nisi-course-facility strong {
  font-size:1.25rem;
  font-weight:400;
}

.nisi-new-template .nisi-course-facility img {
  width:58px;
  height:52px;
}

@media (max-width:950px) {
  .nisi-new-template .honkan2-feature-strip .honkan2-feature-list {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .nisi-new-template .honkan2-feature-list li:nth-child(2) {
    border-right:0;
  }

  .nisi-new-template .nisi-course-facilities .honkan2-facility-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width:720px) {
  .nisi-new-template .nisi-course-facilities .honkan2-facility-group {
    grid-template-columns:1fr;
  }

  .nisi-new-template .nisi-course-facilities .honkan2-facility-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:520px) {
  .honkan-heading--gallery { gap:6px; }
  .honkan2-gallery-line { width:min(100%,420px); }
  .honkan2-gallery-grid { grid-template-columns:1fr; }
  .honkan2-facility-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .honkan2-facility { min-height:124px; }
  .honkan2-facility img { width:76px; height:66px; max-width:70%; }
}

/* Revision against the supplied proposal sheets 1 and 2. */
.honkan2-feature-strip .honkan2-feature-list { display:grid; width:100% !important; max-width:none !important; box-sizing:border-box; grid-template-columns:repeat(6,minmax(0,1fr)); align-items:center; gap:0; list-style:none; margin:0; }
.honkan2-feature-list li { display:flex; align-items:center; justify-content:center; gap:8px; padding:4px 10px; border-right:1px solid #a4afc8; color:#153677; white-space:nowrap; }
.honkan2-feature-list li:last-child { border:0; }
.honkan2-feature-list img { width:40px; height:40px; object-fit:contain; mix-blend-mode:multiply; }
.honkan2-reason-section { padding:15px 0 90px; }
.honkan2-reason-lead { max-width:850px; margin:20px auto 10px; font-size:2rem; line-height:1.75; }
.honkan2-reason-note { max-width:850px; margin:0 auto 30px; font-size:1.6rem; line-height:1.7; }
.honkan2-reason-note2 { font-size:1.5rem !important; }
.honkan-renewal2-template .honkan2-reason-list { max-width:850px; margin:30px auto 0; counter-reset:honkan2; }
.honkan-renewal2-template .honkan2-reason-list li { position:relative; display:grid; grid-template-columns:110px 1fr; gap:24px; align-items:center; min-height:120px; counter-increment:honkan2; padding:16px 30px; margin-top: 5px; }
.honkan2-reason-list li::before { content:counter(honkan2,decimal-leading-zero); position:absolute; left:-24px; top:-18px; width:46px; height:46px; display:grid; place-items:center; border-radius:50%; background:#194069; color:#fff; font-size: 2.1rem !important; }
.honkan2-reason-list img { width:90px; height:90px; object-fit:contain; mix-blend-mode:multiply; }
.honkan2-reason-list p { margin:0; color:#194069; line-height:1.7; }
.honkan2-reason-clock { display:grid; place-items:center; width:80px; height:80px; border:4px solid #133687; border-radius:50%; color:#133687; font-size:2rem; font-weight:bold; }
.honkan2-tag-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; max-width:1000px; margin:30px auto 70px; }
.honkan2-tag-grid li { display:grid; place-items:center; min-height:44px; border:1px solid #18398a; border-radius:4px; padding:8px; text-align:center; color:#14346d; }
.honkan2-area-box { padding:42px 34px; border-radius:18px; background:#f1fbff; color:#12326f; }
.honkan2-area-box > p { max-width:800px; margin:12px auto; line-height:1.7; font-size: 1.9rem; }
.honkan2-area-layout { display:grid; grid-template-columns:1.55fr 1fr; gap:28px; align-items:start; margin-top:30px; }
.honkan2-area-tags { display:grid; gap:12px; align-content:start; }
.honkan2-area-tags-primary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; width:100%; max-width:570px; }
.honkan2-area-tags-secondary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; font-size: 1.9rem !important; }
.honkan2-area-tags span { display:grid; place-items:center; box-sizing:border-box; min-width:0; min-height:50px; padding:10px 8px; border:1px solid #12366F; border-radius:14px; background:#D3EDF9; color:#111; font-weight:bold; text-align:center; }
.honkan2-area-tags-primary span { min-height:64px; border-color:#12366F; border-radius:24px; font-size:2.5rem; white-space:nowrap; }
.honkan2-area-tags small { margin-top:8px; font-size: 1.5rem !important; }
.honkan2-area-layout img { width:100%; height:auto; }
@media (max-width:950px) { .honkan2-feature-strip .honkan2-feature-list { grid-template-columns:repeat(3,minmax(0,1fr)); } .honkan2-feature-list li:nth-child(3) { border:0; } }
@media (max-width:700px) { .honkan2-tag-grid { grid-template-columns:1fr 1fr; } .honkan2-area-layout { grid-template-columns:1fr; } .honkan-renewal2-template .honkan2-reason-list li { grid-template-columns:65px 1fr; gap:12px; padding:18px 20px; } .honkan2-reason-list img,.honkan2-reason-clock { width:55px; height:55px; } }
@media (max-width:460px) { .honkan2-feature-strip .honkan2-feature-list { grid-template-columns:repeat(2,minmax(0,1fr)); } .honkan2-feature-list li:nth-child(3) { border-right:1px solid #a4afc8; } .honkan2-feature-list li:nth-child(even) { border:0; } .honkan2-tag-grid { grid-template-columns:1fr; } .honkan2-area-box { padding:25px 16px; } }
@media (max-width:600px) { .honkan2-area-tags-secondary { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:460px) { .honkan2-area-tags-primary span { min-height:54px; font-size:1rem; } }
.honkan2-voice { border-bottom:1px dashed #c7bf8e; padding:16px 0; }
.honkan2-voice:last-child { border:0; }
.honkan2-voice small { display:block; color:#4b4440; font-size: 1.1rem !important; }
.honkan2-voice p { margin:5px 0 0; font-size: 1.6rem !important; }
.honkan2-course-note { font-size:.75rem; line-height:1.5; margin:8px; }
.honkan2-cremation-rates { display:flex; flex-direction:column; width:max-content; max-width:100%; gap:6px; margin:20px auto; padding:15px 30px; background:#fff; color:#163576; }
.honkan-renewal2-template .honkan-cost-details .honkan-container { max-width:970px; }
.honkan-renewal2-template .honkan-cost-details .honkan-cost-block { margin-bottom:0; color:#173576; text-align:center; }
.honkan-renewal2-template .honkan-cost-details .honkan-cost-block h3 { margin:0 0 30px; color:#12366F; font-size:2rem; font-weight:500; letter-spacing:.08em; }
.honkan-renewal2-template .honkan-cost-details .honkan-cost-block p { margin:0 auto; font-size:1.6rem; line-height:1.85; }
.honkan-renewal2-template .honkan-cost-details .honkan2-cremation-rates {  padding:12px 28px; font-size:1.9rem; line-height:1.45; text-align:left; }
.honkan-renewal2-template .honkan-cost-summary { margin:0 auto 36px; border:2px solid #262626; border-radius:8px; padding:22px 42px; color:#111; font-size:2rem; font-weight:600; line-height:2; text-align:center; }
.honkan-renewal2-template .honkan-cost-button { display:flex; justify-content:center; align-items:center; box-sizing:border-box; width:500px; max-width:52%; min-height:72px; margin:0 0 88px auto; border:1px solid #172B88; border-radius:5px; background:#F0F4FB; color:#194069; font-size:2.3rem; font-weight:400; }
.honkan2-insurance-section { padding:0 0 70px; color:#173576; }
.honkan2-insurance-section .honkan-container { max-width:1000px; }
.honkan2-insurance-section .honkan-heading { margin-bottom:38px; font-size:2.4rem !important; font-weight:500; line-height:1.5; }
.honkan2-insurance-section .honkan-heading::after { width:70%; margin-top:20px; background:#b98a36; }
.honkan2-insurance-section h3 { font-size:1.3rem; margin:42px 0 18px; color:#173576; }
.honkan2-insurance-intro { margin:0 auto 28px; font-size:1.6rem; line-height:1.8; max-width: 830px; }
.honkan2-insurance-details { margin:0; }
.honkan2-insurance-details > summary { list-style:none; }
.honkan2-insurance-details > summary::-webkit-details-marker { display:none; }
.honkan2-insurance-details .honkan-insurance-detail-link { display:flex; justify-content:center; align-items:center; position:relative; box-sizing:border-box; width:52%; min-height:64px; margin:0 0 0 auto; border:0; border-radius:9px; padding:12px 60px 12px 24px; background:#0E3E79; color:#fff; cursor:pointer; font-size:1.8rem; text-align:center; }
.honkan2-insurance-details .honkan-insurance-detail-link span { position:absolute; right:24px; transition:transform .2s ease; }
.honkan2-insurance-details[open] .honkan-insurance-detail-link span { transform:rotate(180deg); }
.honkan2-insurance-details__body { max-width:900px; margin:0 auto; padding-top:58px; color:#111; }
.honkan2-insurance-details__body > h3 { margin:0 0 54px; color:#173576; font-size:2.4rem; font-weight:500; line-height:1.5; text-align:center; }
.honkan2-insurance-details__body > h3::after { content:""; display:block; width:70%; height:1px; margin:20px auto 0; background:#b98a36; }
.honkan2-insurance-grid { display:grid; grid-template-columns:1fr; gap:68px; }
.honkan2-insurance-grid article { padding:0; background:transparent; color:#111; font-size:1.6rem; line-height:1.75; }
.honkan2-insurance-grid h4 { margin:0 0 18px; color:#111; font-size:2rem; font-weight:normal; line-height:1.6; }
.honkan2-insurance-grid p { margin:0 0 22px; color:#111; line-height:1.75; }
.honkan2-insurance-grid .honkan2-insurance-amount { margin:0 0 8px 38px; font-size:2rem; }
.honkan2-insurance-grid article > p:not(.honkan2-insurance-amount) { margin-left:38px; }
.honkan2-insurance-grid dl { display:block; margin:22px 0 0 38px; }
.honkan2-insurance-grid dt { margin:0 0 2px; color:#111; font-size:2.3rem; font-weight:400; }
.honkan2-insurance-grid dd { margin:0 0 20px; color:#111; }
.honkan2-insurance-grid .honkan2-insurance-note { margin-top:-4px; }
.honkan2-insurance-caution { margin-top:70px; color:#173576; }
.honkan2-insurance-caution h3 { margin:0 0 42px; color:#194069; font-size:2.4rem; font-weight:600; letter-spacing:.08em; text-align:center; }
.honkan2-insurance-caution p { margin:0; color:#194069; font-size:1.6rem; line-height:1.85; }
.honkan2-insurance-section > .honkan-container > p { line-height:1.75; }
.honkan-renewal2-template .honkan2-member-section { padding-bottom:0 !important; }
.honkan2-member-section .honkan-container { max-width:none; padding:0; }
.honkan2-member-banner { min-height:820px; box-sizing:border-box; padding:34px 8% 24px; text-align:center; color:#123b91; background-size:cover; background-position:center top; }
.honkan-page .honkan2-member-banner .honkan-member-title { margin:0 !important; padding:0 !important; color:#12366F !important; -webkit-text-fill-color:#12366F !important; font-family:inherit !important; font-size:3rem !important; font-weight:600 !important; letter-spacing:.04em !important; line-height:1.35 !important; -webkit-text-stroke:0 transparent !important; text-shadow:none !important; filter:none !important; }
.honkan2-member-title-line { display:block; width:min(100%,760px); height:30px; margin:-8px auto 4px; object-fit:fill; }
.honkan2-member-subtitle { margin:0 0 25px; color:#12366F; font-size:1.8rem; }
.honkan2-member-summary { max-width:900px; margin:0 auto; padding:12px 28px; border-radius:12px; background:#1C478E; color:#fff; font-size:1.7rem; font-weight:bold; line-height:1.75; box-shadow:0 2px 4px rgba(0,0,0,.18); }
.honkan2-member-summary strong { color:#ffef00; font-size:1.45em; }
.honkan2-member-condition { display:flex; align-items:center; justify-content:center; gap:28px; max-width:720px; margin:18px auto; padding:12px 24px; border-radius:10px; background:#FEFCEC; color:#278de4; text-align:left; box-shadow:0 2px 4px rgba(0,0,0,.2); }
.honkan2-member-condition > strong { flex:0 0 auto; border:1px solid #F3D021; border-radius:28px; padding:6px 18px; font-size:2.3rem; font-weight:500; color: #0D77BD !important; }
.honkan2-member-condition > div { display:grid; gap:5px; }
.honkan2-member-condition span { position:relative; padding-left:34px; font-size:2.1rem; font-weight:bold; color: #0D77BD !important; }
.honkan2-member-condition span::before { content:"✓"; position:absolute; left:0; top:50%; display:grid; place-items:center; width:24px; height:24px; border-radius:50%; background:#f0cd19; color:#fff; transform:translateY(-50%); }
.honkan2-member-condition span strong { font-size:3.3rem; font-weight:500; }
.honkan2-member-benefits { position:relative; box-sizing:border-box; max-width:540px; margin:15px auto; padding:8px 30px 9px; border-radius:12px; background:rgba(255,255,255,.88); box-shadow:0 2px 5px rgba(0,0,0,.2); }
.honkan2-member-benefits p { margin:0 0 12px; font-size:1.6rem; line-height:1.35; color: #12366F; }
.honkan2-member-benefits p strong { display:flex; align-items:center; gap:10px; font-size:1.8rem; font-weight:500; white-space:nowrap; }
.honkan2-member-benefits p strong::before,
.honkan2-member-benefits p strong::after { content:""; flex:1 1 30px; height:1px; background:#bdc7d1; }
.honkan2-member-rates { display:flex; align-items:center; justify-content:center; gap:10px; }
.honkan2-member-rates > span { flex:0 0 auto; font-size:2rem; line-height:1; }
.honkan2-member-rates div { display:flex; position:relative; flex:0 0 120px; flex-direction:column; justify-content:center; box-sizing:border-box; min-width:120px; min-height:91px; padding:22px 8px 7px; border:1px solid #afcae9; border-radius:10px; background:#f3fff5; box-shadow:0 2px 3px rgba(0,0,0,.14); font-size:1.4rem; line-height:1.1; }
.honkan2-member-rates div:nth-of-type(2) { background:#f2f3f8; }
.honkan2-member-rates div:nth-of-type(3) { background:#fff964; }
.honkan2-member-rates strong { font-size:5rem; font-weight:500; line-height:.9; }
.honkan2-member-rates em { font-size:2.4rem; font-style:normal; }
.honkan2-member-rates .honkan2-member-off { display:flex; width:100%; align-items:center; justify-content:center; gap:6px; font-size:1.4rem; line-height:1; text-align:center; }
.honkan2-member-rates .honkan2-member-off::before,
.honkan2-member-rates .honkan2-member-off::after { content:""; flex:0 0 14px; height:1px; background:#aeb9c8; }
.honkan2-member-rates small { position:absolute; top:-10px; left:16px; right:16px; padding:3px; background:#12366F; color:#fff; font-size:1.1rem; line-height:1.15; }
.honkan2-member-rates div:nth-of-type(2) small { background:#9F9FA0; }
.honkan2-member-rates div:nth-of-type(3) small { background:#CAB826; }
.honkan2-member-extra { position:absolute; right:-152px; top:20px; display:grid; place-items:center; width:150px; height:150px; box-sizing:border-box; border:1px solid #8aa8dc; border-radius:50%; background:rgba(255,255,255,.85); color:#173576; font-size:1.7rem; font-weight:bold; line-height:1.45; }
.honkan2-member-footer { display:flex !important; position:relative; flex-flow:row nowrap !important; justify-content:space-between !important; align-items:flex-start !important; gap:28px; width:100%; max-width:740px; margin:12px auto 0 !important; text-align:left; }
.honkan2-member-footer p { flex:1 1 auto; max-width:430px; margin:0 !important; color:#12366F; font-size:1.6rem; font-weight:500; line-height:1.45; text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff,0 -1px 0 #fff,0 1px 0 #fff,-1px 0 0 #fff,1px 0 0 #fff; }
.honkan2-member-footer p a { display:block; margin-top:20px; color:#153c91; font-size:1.6rem; text-align:right; }
.honkan2-member-footer .honkan-member-cta { display:flex !important; position:static !important; inset:auto !important; flex:0 0 290px; flex-direction:column; justify-content:center; align-items:flex-start; box-sizing:border-box; width:290px !important; min-width:290px; min-height:84px; margin:40px 0 0 !important; padding:12px 28px !important; border-radius:6px; background:#CAB826; color:#fff; text-align:left; transform:none !important; box-shadow:0 2px 5px rgba(0,0,0,.3); }
.honkan2-member-footer .honkan-member-cta small { font-size:1.7rem; line-height:1.2; }
.honkan2-member-footer .honkan-member-cta strong { font-size:2.4rem; line-height:1.2; white-space:nowrap; }
.honkan2-flow-heading { margin:84px auto 0 !important; color:#173576 !important; font-size:3rem !important; font-weight:500 !important; line-height:1.4; }
.honkan2-flow-heading::after { width:170px !important; margin-top:14px !important; background:#b98a36 !important; }
.honkan-flow-section { padding-top:0 !important; }
.honkan-renewal2-template .honkan-flow { overflow-x:auto; padding-bottom:8px; }
.honkan-renewal2-template .honkan-flow__bar,
.honkan-renewal2-template .honkan-flow__steps { min-width:980px; }
.honkan-renewal2-template .honkan-flow__steps { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:32px; align-items:stretch; margin-top:18px; padding:0 7px; }
.honkan-renewal2-template .honkan-flow__step { position:relative; display:flex; flex-direction:column; align-items:center; box-sizing:border-box; min-width:0; min-height:410px; padding:18px 10px 22px; border:1px solid #12366F; border-radius:11px; background:#fff; }
.honkan-renewal2-template .honkan-flow__step:not(:last-child)::after { content:""; position:absolute; z-index:1; top:50%; right:-24px; width:0; height:0; border-top:12px solid transparent; border-bottom:12px solid transparent; border-left:15px solid #11356F; transform:translateY(-50%); }
.honkan-renewal2-template .honkan-flow__step img { display:block; width:78px; height:78px; margin:0 auto 6px; object-fit:contain; }
.honkan-renewal2-template .honkan-flow__number { display:block; margin:0 0 8px; color:#1C478E; font-family:serif; font-size:1.9rem; font-weight:600; line-height:1; letter-spacing:.08em; }
.honkan-renewal2-template .honkan-flow__step strong { margin:0; color:#050505; font-size:3.7rem; font-weight:700; line-height:1.15; letter-spacing:.02em; writing-mode:vertical-rl; text-orientation:mixed; }
.honkan2-staff-grid { align-items:stretch; }
.honkan2-staff-grid .honkan-staff { display:flex; flex-direction:column; align-items:center; height:100%; box-sizing:border-box; }
.honkan2-staff-grid .honkan-staff small { margin-top:auto; }
.honkan2-staff-grid img { width:120px; height:120px; object-fit:cover; object-position:top center; border-radius:50%; }
.honkan2-badges-section { margin-top:70px; }
.honkan-heading--image-line { display:flex; flex-direction:column; align-items:center; gap:10px; }
.honkan-heading--image-line::after { display:none; }
.honkan2-heading-line { display:block; width:min(100%,560px); height:auto; margin:0 auto; }
.honkan2-badges { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; align-items:center; }
.honkan2-badges img { width:100%; height:auto; object-fit:contain; }
@media (max-width:950px) { .honkan2-member-extra { position:static; width:auto; height:auto; margin-top:12px; border:0; border-radius:0; background:transparent; } .honkan2-member-extra br { display:none; } }
@media (max-width:750px) { .honkan2-member-banner { min-height:0; padding:30px 18px 20px; } .honkan-page .honkan2-member-banner .honkan-member-title { font-size:2rem !important; } .honkan2-member-title-line { height:20px; } .honkan2-member-footer { flex-flow:column nowrap !important; align-items:center !important; text-align:center; } .honkan2-member-footer .honkan-member-cta { flex-basis:auto; align-items:center; width:100% !important; min-width:0; text-align:center; } .honkan2-flow-heading { margin-top:58px !important; font-size:2rem !important; } .honkan2-badges { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:520px) { .honkan2-member-condition { flex-direction:column; gap:8px; text-align:center; } .honkan2-member-rates { gap:4px; } .honkan2-member-rates div { min-width:0; } .honkan2-member-rates strong { font-size:1.8rem; } .honkan2-insurance-grid dl { grid-template-columns:1fr; } }

@media (max-width:700px) {
  .honkan-renewal2-template .honkan-cost-details .honkan-cost-block { margin-bottom:60px; }
  .honkan-renewal2-template .honkan-cost-details .honkan-cost-block h3 { font-size:1.55rem; }
  .honkan-renewal2-template .honkan-cost-details .honkan-cost-block p,
  .honkan-renewal2-template .honkan-cost-details .honkan2-cremation-rates { font-size:1rem; }
  .honkan-renewal2-template .honkan-cost-summary { padding:18px 20px; font-size:1.05rem; line-height:1.8; }
  .honkan-renewal2-template .honkan-cost-button,
  .honkan2-insurance-details .honkan-insurance-detail-link { width:100%; max-width:none; }
  .honkan2-insurance-section .honkan-heading { font-size:1.5rem !important; }
  .honkan2-insurance-intro { font-size:1rem; }
  .honkan2-insurance-details__body { padding-top:38px; }
  .honkan2-insurance-details__body > h3 { margin-bottom:38px; font-size:1.5rem; }
  .honkan2-insurance-details__body > h3::after { width:82%; margin-top:14px; }
  .honkan2-insurance-grid { gap:48px; }
  .honkan2-insurance-grid article { font-size:1rem; }
  .honkan2-insurance-grid h4 { font-size:1.1rem; }
  .honkan2-insurance-grid .honkan2-insurance-amount,
  .honkan2-insurance-grid article > p:not(.honkan2-insurance-amount),
  .honkan2-insurance-grid dl { margin-left:0; }
  .honkan2-insurance-grid dt { font-size:1.15rem; }
  .honkan2-insurance-caution { margin-top:52px; }
  .honkan2-insurance-caution h3 { margin-bottom:28px; font-size:1.4rem; }
  .honkan2-insurance-caution p { font-size:1rem; }
  .honkan2-insurance-details__body br { display:none; }
}

.honkan-heading {
  font-size: 3.7rem !important;
}

/* Cost cards 1 and 2: match proposal sheet 7. */
.honkan-renewal2-template .honkan-cost-card--base .honkan-cost-card__altar {
  display:block;
  width:calc(100% - 48px);
  height:120px;
  margin:6px auto 4px;
  object-fit:cover;
}
.honkan-renewal2-template .honkan-cost-card--base .honkan-cost-card__price {
  display:grid;
  grid-template-columns:1fr auto;
  align-items:end;
  padding:0 18px 11px;
  text-align:left;
}
.honkan-renewal2-template .honkan-cost-card--base .honkan-cost-card__price > span {
  grid-column:1 / -1;
  margin:0 0 2px;
  font-size:1.6rem;
  line-height:1.2;
}
.honkan-renewal2-template .honkan-cost-card--base .honkan-cost-card__price > .honkan-cost-card__plan-price { display:flex; align-items:baseline; justify-content:center; gap:4px; white-space:nowrap; }
.honkan-renewal2-template .honkan-cost-card--base .honkan-cost-card__plan-price > strong { font-size:3.3rem; line-height:1; font-weight:400; }
.honkan-renewal2-template .honkan-cost-card--base .honkan-cost-card__plan-price > small { font-size:1.1rem; line-height:1; }
.honkan-renewal2-template .honkan-cost-card--base .honkan-cost-card__price > strong {
  grid-column:1;
  justify-self:end;
  margin:0 4px 0 0;
  font-size:2.1rem;
  line-height:1.05;
  font-weight:400;
}
.honkan-renewal2-template .honkan-cost-card--base .honkan-cost-card__price > small {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  grid-column:2;
  align-self:end;
  margin:0 0 2px;
  font-size:1rem;
  line-height:1.15;
  white-space:nowrap;
}
.honkan-renewal2-template .honkan-cost-card--base .honkan-cost-card__price > small span:first-child { font-size:.85em; }
.honkan-renewal2-template .honkan-cost-card--course .honkan-cost-course-number {
  padding:18px 0 0;
  font-size:7.6rem;
  line-height:.9;
}
.honkan-renewal2-template .honkan-cost-card--course .honkan-cost-course-number small {
  display:block;
  margin-top:8px;
  font-size:1.5rem;
  line-height:1;
}
.honkan-renewal2-template .honkan-cost-card--course .honkan-cost-course-name {
  display:flex;
  justify-content:center;
  align-items: center;
  gap:4px;
  width:auto;
  margin:14px 30px 0;
  border-top:1px solid currentColor;
  padding:9px 0 0;
  line-height:1.1;
  white-space:nowrap;
}
.honkan-renewal2-template .honkan-cost-card--course .honkan-cost-course-name strong {
  font-size:2.6rem;
  line-height:1;
  font-weight:400;
}
.honkan-renewal2-template .honkan-cost-card--course .honkan-cost-course-name small {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  font-size:1rem;
  line-height:1.15;
}
.honkan-renewal2-template .honkan-cost-card--course .honkan-cost-course-name small span:first-child { font-size:.85em; }
.honkan-renewal2-template .honkan-cost-card--course .honkan2-course-note {
  width:auto;
  margin:10px 18px 0 !important;
  padding:0;
  color:inherit;
  font-size:1.1rem !important;
  line-height:1.45 !important;
  text-align:left;
}
@media (max-width:700px) {
  .honkan-renewal2-template .honkan-cost-card--course .honkan2-course-note {
    margin:10px 14px 14px !important;
  }
}

.honkan-heading2 {
  margin: 0 0 48px;
  color: #183f69;
  font-size: 2.5rem;
  margin-bottom: 0;
  font-weight: 500;
  letter-spacing: .12em;
  line-height: 1.45;
  text-align: center;
}

.honkan-heading2::after {
  background: transparent;
  margin: 0 auto;
}

.honkan-caption2 strong {
  font-size: 17px !important;
}

.honkan-section {
  padding: 20px 0 95px !important;
}

.honkan2-facility-group_bg h3 {
  background: #EDE8E3;
}

.honkan-type img {
  aspect-ratio: unset !important;
}

.honkan-type-lead {
  font-size: 1.6rem !important;
}

.honkan-type-lead_name {
  font-size: 1.9rem !important;
}

.honkan-cta__label {
  font-size: 2rem !important;
}

.honkan-voices-cta .honkan-cta small {
  font-size: 1.6rem !important;
}

.honkan-voices-cta {
  margin: 35px auto 0 !important;
}

.honkan-cost-card__price_medium {
  font-size: 1.6rem !important;
}

.honkan-cost-block h3 .honkan-cost-block__title-part + .honkan-cost-block__title-part {
  font-size: 2.7em !important;
}

.honkan2-cremation-rates_notes {
  font-size: 1.9rem !important;
}

.honkan-cost-block_padding {
  padding-bottom: 30px !important;
}

.honkan2-cremation-rates_margin {
  margin: 34px auto 28px;
}

.honkan-flow-copy {
  color: #194069 !important;
}

.honkan-flow-copy::after {
  background: url(../img/kaikan/honkan-renewal2/flow_line.png) center / contain no-repeat !important;
  height: 40px !important;
}

.honkan-faq-search-title {
  font-size: 2rem !important;
}

.honkan-faq-q {
  font-size: 2.7rem !important;
}

.honkan-faq-accordion .honkan-accordion__button {
  font-size: 1.7rem;
}

.honkan-faq-more {
  font-size: 1.8rem;
}

.honkan-staff strong {
  font-size: 1.3rem !important;
}

.honkan-staff_name {
  font-size: 1.6rem !important;
}

.honkan-staff small {
  font-size: 1.3rem !important;
}

.honkan-faq-section {
  background: #fff url(../img/kaikan/honkan-renewal2/bg_img_05.jpg) center top / cover no-repeat;
}

.honkan-summary-box {
  background: transparent !important;
}

.honkan-summary-box h2 {
  font-size: 2.1rem !important;
}

.honkan-summary-box p {
  font-size: 1.6rem !important;
}

.honkan-final-cta__eyebrow {
  font-size: 2.3rem !important;
}

.honkan-final-cta__title {
  font-size: 3.7rem !important;
}

.honkan-closing-card__label {
  font-size: 2.7rem !important;
}

.honkan-closing-card small {
  font-size: 2.2rem !important;
}

.honkan-closing-card > span:not(.honkan-closing-card__label) {
  font-size: 2.7rem !important;
}

.honkan-areas-large {
  font-size: 3.7rem !important;
}

.honkan-final-cta__visual::after {
  background: url(../img/kaikan/honkan-renewal2/bg_img_04.jpg) center / 100% 100% no-repeat !important;
}

.honkan2-member-summary_text {
  font-size: 2rem !important;
}

.honkan-caption2_small {
  font-size: 1.3rem !important;
}

/* Mobile typography: keep the desktop proposal scale from overflowing small screens. */
@media (max-width:700px) {
  .honkan-heading {
    font-size:2.4rem !important;
    line-height:1.45;
  }

  .honkan-heading2 {
    font-size:2.1rem;
  }

  .honkan2-reason-lead,
  .honkan2-area-box > p {
    font-size:1.6rem;
  }

  .honkan2-reason-note,
  .honkan2-reason-note2,
  .honkan2-area-tags small {
    font-size:1.3rem !important;
  }

  .honkan2-area-tags-primary span {
    min-height:54px;
    font-size:1.7rem;
  }

  .honkan2-area-tags-secondary {
    font-size:1.5rem !important;
  }

  .honkan2-facility-group h3 {
    font-size:1.5rem;
  }

  .honkan2-facility-group h3 strong {
    font-size:2rem;
  }

  .honkan2-facility span {
    font-size:1.5rem;
  }

  .honkan-type-lead,
  .honkan-type-lead_name {
    font-size:1.5rem !important;
  }

  .honkan-cta__label {
    font-size:1.6rem !important;
  }

  .honkan-voices-cta .honkan-cta small,
  .honkan-cost-card__price_medium {
    font-size:1.3rem !important;
  }

  .honkan-cost-block h3 .honkan-cost-block__title-part + .honkan-cost-block__title-part {
    font-size:1.8em !important;
  }

  .honkan2-cremation-rates_notes {
    font-size:1.4rem !important;
  }

  .honkan2-member-subtitle {
    font-size:1.5rem;
  }

  .honkan2-member-summary {
    padding:12px 16px;
    font-size:1.5rem;
  }

  .honkan2-member-condition > strong {
    font-size:1.8rem;
  }

  .honkan2-member-condition span {
    font-size:1.6rem;
  }

  .honkan2-member-condition span strong {
    font-size:1.4rem;
  }

  .honkan2-member-footer p,
  .honkan2-member-footer p a {
    font-size:1.5rem;
  }

  .honkan2-member-footer p a {
    margin-top:14px;
    text-align:center;
  }

  .honkan2-member-footer .honkan-member-cta {
    margin-top:20px !important;
  }

  .honkan2-member-footer .honkan-member-cta small {
    font-size:1.4rem;
  }

  .honkan2-member-footer .honkan-member-cta strong {
    font-size:2rem;
  }

  .honkan-faq-search-title {
    font-size:1.7rem !important;
  }

  .honkan-faq-q {
    font-size:2rem !important;
  }

  .honkan-faq-accordion .honkan-accordion__button,
  .honkan-faq-more {
    font-size:1.5rem;
  }

  .honkan-summary-box h2 {
    font-size:1.8rem !important;
  }

  .honkan-summary-box p {
    font-size:1.5rem !important;
  }

  .honkan-final-cta__eyebrow {
    font-size:1.6rem !important;
  }

  .honkan-final-cta__title {
    font-size:2.4rem !important;
  }

  .honkan-closing-card__label,
  .honkan-closing-card > span:not(.honkan-closing-card__label) {
    font-size:1.9rem !important;
  }

  .honkan-closing-card small {
    font-size:1.5rem !important;
  }

  .honkan-areas-large {
    font-size:2.4rem !important;
  }
}

@media (max-width:460px) {
  .honkan2-area-tags-primary span {
    font-size:1.5rem;
  }
}

@media (max-width:520px) {
  .honkan2-member-benefits {
    width:100%;
    max-width:100%;
    padding:10px 12px 12px;
  }

  .honkan2-member-benefits p {
    font-size:1.4rem;
  }

  .honkan2-member-benefits p strong {
    gap:6px;
    font-size:1.5rem;
    white-space:normal;
  }

  .honkan2-member-benefits p strong::before,
  .honkan2-member-benefits p strong::after {
    flex-basis:12px;
  }

  .honkan2-member-rates {
    width:100%;
    gap:4px;
  }

  .honkan2-member-rates > span {
    font-size:1.6rem;
  }

  .honkan2-member-rates div {
    flex:1 1 0;
    min-width:0;
    padding-right:4px;
    padding-left:4px;
  }

  .honkan2-member-rates small {
    right:6px;
    left:6px;
    font-size:.9rem;
  }

  .honkan2-member-rates .honkan2-member-off::before,
  .honkan2-member-rates .honkan2-member-off::after {
    flex-basis:9px;
  }
}
