:root{
  --green:#1d6c5a;
  --green2:#2d9077;
  --deep:#174b43;
  --mint:#eaf7f2;
  --mint2:#f6fbf8;
  --beige:#fbf7ee;
  --cream:#fffdf8;
  --gold:#c59c48;
  --orange:#e8793d;
  --mail:#4fa3c7;
  --line:#2dbd73;
  --text:#23322f;
  --muted:#65736f;
  --border:#dfe9e5;
  --shadow:0 18px 45px rgba(27,87,76,.14);
  --shadow-soft:0 12px 32px rgba(27,87,76,.09);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--text);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif;line-height:1.9;letter-spacing:.03em;-webkit-text-size-adjust:100%}
a{color:inherit} img{max-width:100%;height:auto;vertical-align:middle}.container{width:min(1120px,calc(100% - 48px));margin:0 auto}.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link:focus{position:fixed;left:16px;top:16px;z-index:9999;width:auto;height:auto;padding:12px 18px;border-radius:8px;background:#fff;color:var(--green);box-shadow:var(--shadow)}
.site-header{position:relative;z-index:20}.header-top{background:var(--deep);color:#fff;font-size:13px}.header-top-inner{display:flex;justify-content:space-between;gap:20px;align-items:center;min-height:34px}.header-top p{margin:0}.header-main{background:rgba(255,255,255,.96);box-shadow:0 4px 24px rgba(0,0,0,.06);backdrop-filter:blur(10px)}.header-main-inner{min-height:82px;display:flex;align-items:center;gap:24px}.logo{display:flex;align-items:center;gap:12px;text-decoration:none;flex:0 0 auto}.logo img{width:52px;height:52px}.logo small{display:block;color:#668079;font-size:12px;line-height:1.2;margin-bottom:3px}.logo strong{display:block;color:#164e44;font-size:24px;line-height:1;font-weight:900;letter-spacing:.04em}.global-nav{display:flex;gap:18px;align-items:center;margin-left:auto;font-size:14px;font-weight:800;color:#3f5b55}.global-nav a{text-decoration:none;white-space:nowrap}.global-nav a:hover{color:var(--green)}.header-actions{display:flex;gap:8px;align-items:center}.mini-btn{height:40px;border-radius:999px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;font-weight:900;font-size:13px;white-space:nowrap;box-shadow:0 8px 18px rgba(0,0,0,.12)}.mini-tel{background:var(--orange)}.mini-mail{background:var(--mail)}.mini-line{background:var(--line)}.menu-toggle{display:none}
.hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#f5fbf8 0%,#fffdf8 48%,#e6f6ef 100%);padding:86px 0 82px}.hero:before{content:"";position:absolute;right:-200px;top:-220px;width:680px;height:680px;background:radial-gradient(circle,rgba(142,211,190,.48),rgba(142,211,190,0) 66%)}.hero:after{content:"";position:absolute;left:-220px;bottom:-260px;width:560px;height:560px;background:radial-gradient(circle,rgba(197,156,72,.18),rgba(197,156,72,0) 70%)}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}.kicker{display:inline-flex;align-items:center;gap:10px;margin:0 0 22px;padding:9px 18px;border-radius:999px;background:#fff;border:1px solid #cce4dc;color:var(--green);font-weight:900;box-shadow:0 10px 22px rgba(29,108,90,.08)}.kicker:before{content:"";width:11px;height:11px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px rgba(197,156,72,.16)}.hero h1{margin:0 0 20px;color:#153f38;font-size:clamp(38px,4.2vw,58px);line-height:1.28;font-weight:900;letter-spacing:.04em}.hero h1 span{color:var(--green);background:linear-gradient(transparent 68%,#dcefe6 0)}.hero-lead{margin:0 0 26px;color:#405852;font-size:18px;line-height:2}.hero-badges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:26px 0 30px}.hero-badges span{position:relative;background:rgba(255,255,255,.94);border:1px solid #d7e8e2;border-radius:14px;padding:11px 14px 11px 42px;font-weight:900;color:#1e6155;box-shadow:0 10px 25px rgba(28,98,84,.07)}.hero-badges span:before{content:"✓";position:absolute;left:13px;top:50%;transform:translateY(-50%);width:21px;height:21px;border-radius:50%;background:#e5f3ee;color:var(--green);display:flex;align-items:center;justify-content:center;font-size:12px}.cta-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.cta{min-height:60px;border-radius:14px;text-decoration:none;color:#fff;font-weight:900;text-align:center;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 14px 28px rgba(0,0,0,.14);letter-spacing:.04em;padding:0 22px}.cta-tel{background:linear-gradient(135deg,#ef7d43,#d95f24);min-width:230px;font-size:24px;flex-direction:column;line-height:1.25}.cta-tel small{font-size:12px;opacity:.95}.cta-mail{background:linear-gradient(135deg,#62b2d0,#3c91b8);min-width:138px}.cta-line{background:linear-gradient(135deg,#38c77d,#1da85f);min-width:138px}.hero-visual{filter:drop-shadow(0 24px 40px rgba(27,87,76,.15))}.section{padding:94px 0;position:relative;background:#fff}.section-soft{background:var(--mint2)}.section-beige{background:var(--beige)}.section-title{text-align:center;margin:0 auto 46px;max-width:900px}.section-title span{display:inline-flex;align-items:center;gap:10px;color:var(--green);font-size:13px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.section-title h2{margin:10px 0 10px;color:#173f38;font-size:clamp(28px,3vw,40px);line-height:1.45;font-weight:900}.section-title h2:after{content:"";display:block;width:66px;height:4px;margin:20px auto 0;border-radius:4px;background:linear-gradient(90deg,var(--green),var(--gold))}.section-title p{margin:0;color:#687974;font-size:16px}.section-title-left{text-align:left;margin-bottom:18px}.section-title-left h2:after{margin-left:0}
.check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.check-grid div{position:relative;display:flex;align-items:center;min-height:76px;border:1px solid var(--border);background:#fff;border-radius:16px;padding:16px 18px 16px 50px;font-weight:800;color:#38524b;box-shadow:var(--shadow-soft)}.check-grid div:before{content:"✓";position:absolute;left:18px;top:50%;transform:translateY(-50%);width:23px;height:23px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:900}.message-box{margin:32px 0 0;padding:24px 30px;border:1px solid #cce4dc;border-radius:22px;background:linear-gradient(135deg,#e9f6f1,#fff);text-align:center;color:#2f5048;font-size:18px;font-weight:900;box-shadow:0 16px 40px rgba(29,108,90,.08)}
.reason-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.reason-grid article,.plan-card,.case-card,.voice-card,.card-large,.info-card,.consult-box,.flow-grid article{border:1px solid #e0ece7;background:#fff;border-radius:24px;box-shadow:var(--shadow-soft)}.reason-grid article{position:relative;overflow:hidden;padding:30px 26px}.reason-grid article:before{content:"";position:absolute;right:-36px;top:-36px;width:110px;height:110px;border-radius:50%;background:#eaf7f2}.reason-grid b{position:relative;z-index:1;color:var(--gold);font-family:Georgia,serif;font-size:34px;line-height:1}.reason-grid h3{position:relative;z-index:1;margin:14px 0 8px;color:var(--deep);font-size:20px;line-height:1.5}.reason-grid p{position:relative;z-index:1;margin:0;color:#60736e;font-size:14.5px;line-height:1.85}
.hall-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:stretch}.card-large{padding:38px}.card-large h3,.hall-text h3{margin:0 0 18px;color:var(--deep);font-size:27px;line-height:1.5}.card-large p{margin:0 0 14px;color:#435d56}.card-large p:last-child{margin-bottom:0}.info-card{overflow:hidden}.info-card h3{margin:0;padding:22px 28px;background:linear-gradient(135deg,var(--green),var(--green2));color:#fff;font-size:22px}.info-card dl{margin:0}.info-card div{display:grid;grid-template-columns:120px 1fr;border-bottom:1px solid #e6efeb}.info-card dt{padding:17px 18px;background:#f1f8f5;color:var(--green);font-weight:900}.info-card dd{margin:0;padding:17px 20px;color:#344d47;font-weight:700}.plan-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.plan-card{padding:24px 18px;text-align:center}.plan-icon{width:58px;height:58px;margin:0 auto 16px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eaf7f2;color:var(--green);font-weight:900;font-size:22px}.plan-card h3{margin:0 0 10px;color:var(--deep);font-size:19px;line-height:1.45}.plan-card p{margin:0 0 18px;color:#65736f;font-size:14px;line-height:1.7}.plan-card a{display:inline-flex;align-items:center;justify-content:center;min-width:110px;height:38px;padding:0 15px;border-radius:999px;border:1px solid #9fcfc1;color:var(--green);font-weight:900;text-decoration:none;background:#fff}.plan-card a:hover{background:var(--green);color:#fff}.case-grid,.voice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.case-card{overflow:hidden}.case-card img{width:100%;aspect-ratio:4/2.45;object-fit:cover}.case-body{padding:22px}.case-body h3,.voice-card h3{margin:0 0 10px;color:var(--deep);font-size:20px;line-height:1.5}.case-body p,.voice-card p{margin:0;color:#60736e;font-size:15px}.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.tags span,.area-tags span,.support-tags span,.cost-items span{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#eaf7f2;color:var(--green);font-weight:900;font-size:13px}.tags span{min-height:32px;padding:5px 12px}.case-note{text-align:center;margin:28px 0 0;color:#65736f;font-weight:800}.dark-section{background:linear-gradient(135deg,#174b43,#23705f);color:#fff;overflow:hidden}.transport-layout{display:grid;grid-template-columns:360px 1fr;gap:42px;align-items:center}.emergency-card{background:#fff;color:var(--text);border-radius:24px;padding:30px;box-shadow:0 20px 48px rgba(0,0,0,.18)}.emergency-card span{display:inline-flex;border-radius:999px;padding:6px 12px;background:#fff1e8;color:var(--orange);font-weight:900;font-size:13px}.emergency-card h2{margin:15px 0;color:var(--deep);font-size:25px;line-height:1.45}.emergency-card p{margin:0 0 18px;color:#61746f}.emergency-card a{display:block;text-align:center;background:linear-gradient(135deg,#ef7d43,#d95f24);color:#fff;text-decoration:none;border-radius:14px;padding:13px 16px;font-size:25px;font-weight:900}.transport-copy p{font-size:17px;color:#e9f6f1;margin:0 0 18px}.mini-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}.mini-steps div{background:rgba(255,255,255,.92);color:var(--deep);border-radius:16px;min-height:86px;display:flex;gap:10px;align-items:center;justify-content:center;font-weight:900;text-align:center}.mini-steps b{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--green);color:#fff}.cost-layout{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:stretch}.note{margin-top:18px!important;padding:16px 18px;border-radius:14px;background:#fff9df;color:#765b17!important;font-weight:800}.cost-items{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.cost-items span{min-height:74px;padding:10px 12px;text-align:center;background:#fff;border:1px solid #d9e9e3;box-shadow:var(--shadow-soft)}.save-layout{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}.point-list{display:grid;gap:12px}.point-list div{position:relative;background:#f0f8f5;border-radius:14px;padding:14px 18px 14px 45px;color:#285249;font-weight:900}.point-list div:before{content:"✓";position:absolute;left:16px;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px}.flow-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}.flow-grid article{position:relative;text-align:center;padding:26px 14px}.flow-grid b{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--green);color:#fff;font-size:18px;margin-bottom:13px}.flow-grid h3{margin:0 0 8px;color:var(--deep);font-size:16px}.flow-grid p{margin:0;color:#65736f;font-size:13px;line-height:1.6}.after-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.support-tags,.area-tags{display:flex;flex-wrap:wrap;gap:10px}.support-tags span{padding:8px 18px}.area-lead{text-align:center;max-width:880px;margin:0 auto 24px;color:#475f59;font-size:17px}.area-tags{justify-content:center}.area-tags span{min-height:36px;padding:6px 14px;background:#fff;border:1px solid #dceae5;color:#45625b}.voice-card{padding:28px}.voice-icon{width:54px;height:54px;border-radius:50%;background:#dff2eb;color:var(--green);display:flex;align-items:center;justify-content:center;font-weight:900;margin-bottom:16px}.voice-card b{display:block;margin-top:16px;color:var(--green)}.consult-section{padding-top:42px}.consult-box{padding:40px;text-align:center}.consult-box h2{margin:0 0 12px;color:var(--deep);font-size:32px}.consult-box p{max-width:820px;margin:0 auto 24px;color:#526963}.cta-center{justify-content:center}.faq-list{display:grid;gap:12px;max-width:940px;margin:0 auto}.faq-list details{background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 8px 22px rgba(27,87,76,.06);overflow:hidden}.faq-list summary{list-style:none;cursor:pointer;position:relative;padding:18px 55px 18px 48px;color:var(--deep);font-weight:900}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:before{content:"Q";position:absolute;left:18px;top:18px;color:var(--gold);font-weight:900}.faq-list summary:after{content:"+";position:absolute;right:22px;top:17px;color:var(--green);font-size:22px;line-height:1}.faq-list details[open] summary:after{content:"−"}.faq-list p{margin:0;padding:0 24px 20px 48px;color:#60736e}.final-cta{background:linear-gradient(135deg,#174b43,#26856f);color:#fff;padding:72px 0;position:relative;overflow:hidden}.final-cta:before,.final-cta:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.08)}.final-cta:before{width:300px;height:300px;left:-80px;bottom:-160px}.final-cta:after{width:260px;height:260px;right:-80px;top:-130px}.final-box{position:relative;z-index:1;text-align:center}.final-box h2{font-size:clamp(28px,3vw,42px);line-height:1.45;margin:0 0 14px}.final-box p{max-width:860px;margin:0 auto 24px;color:#e8f7f2}.site-footer{background:#0f372f;color:#d7ebe4;padding:36px 0 44px;text-align:center}.footer-logo{font-size:22px;font-weight:900;color:#fff;margin:0 0 8px}.site-footer p{margin:0 0 10px}.site-footer nav{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin:12px 0}.site-footer a{color:#eaf7f2;text-decoration:none}.mobile-fixed-cta{display:none}
@media (max-width:1100px){.header-actions{display:none}.global-nav{gap:14px;font-size:13px}.plan-grid{grid-template-columns:repeat(3,1fr)}.flow-grid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:820px){body{padding-bottom:70px}.container{width:min(100% - 28px,720px)}.header-top{display:none}.header-main-inner{min-height:70px}.logo img{width:44px;height:44px}.logo small{font-size:10px}.logo strong{font-size:18px}.menu-toggle{display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;margin-left:auto;width:52px;height:52px;border:0;border-radius:14px;background:#edf7f3;color:var(--green);font-weight:900}.menu-toggle span{display:block;width:25px;height:2px;background:var(--green);border-radius:2px}.menu-toggle em{font-size:9px;font-style:normal;line-height:1}.global-nav{display:none;position:absolute;left:14px;right:14px;top:76px;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);padding:14px;flex-direction:column;align-items:stretch;gap:0}.global-nav.is-open{display:flex}.global-nav a{padding:12px 10px;border-bottom:1px solid #edf4f1}.global-nav a:last-child{border-bottom:0}.hero{padding:42px 0 52px}.hero-grid{grid-template-columns:1fr;gap:28px}.hero h1{font-size:34px}.hero-lead{font-size:15.5px;line-height:1.9}.hero-badges{grid-template-columns:1fr}.cta-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}.cta{min-height:54px;padding:0 12px}.cta-tel{grid-column:1/-1;min-width:0;font-size:22px}.cta-mail,.cta-line{min-width:0}.hero-visual{max-width:420px;margin:0 auto}.section{padding:58px 0}.section-title{margin-bottom:28px}.section-title p{font-size:14.5px}.check-grid,.reason-grid,.hall-layout,.cost-layout,.save-layout,.after-grid,.transport-layout,.case-grid,.voice-grid{grid-template-columns:1fr}.check-grid div{min-height:auto}.plan-grid{grid-template-columns:1fr 1fr}.dark-section{padding:58px 0}.mini-steps,.cost-items{grid-template-columns:1fr}.flow-grid{grid-template-columns:1fr 1fr}.info-card div{grid-template-columns:100px 1fr}.card-large,.consult-box{padding:26px}.card-large h3,.hall-text h3{font-size:22px}.consult-box h2{font-size:26px}.voice-card,.case-body{padding:22px}.mobile-fixed-cta{position:fixed;z-index:50;left:0;right:0;bottom:0;height:64px;background:#fff;display:grid;grid-template-columns:1fr 1fr 1fr;box-shadow:0 -8px 24px rgba(0,0,0,.15)}.mobile-fixed-cta a{display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;font-weight:900}.mobile-fixed-cta .m-tel{background:var(--orange)}.mobile-fixed-cta .m-mail{background:var(--mail)}.mobile-fixed-cta .m-line{background:var(--line)}}
@media (max-width:520px){.container{width:min(100% - 24px,480px)}.hero h1{font-size:30px}.hero-lead{font-size:14.5px}.kicker{font-size:13px}.section-title h2{font-size:25px}.plan-grid{grid-template-columns:1fr}.flow-grid{grid-template-columns:1fr}.info-card div{grid-template-columns:1fr}.info-card dt{padding-bottom:6px}.info-card dd{padding-top:0}.area-tags span{font-size:12px;padding:5px 11px}.footer-inner{font-size:13px}}

/* --- 2026-06 update: mobile fixed header / custom images --- */
.hall-main-col{display:grid;gap:18px;align-items:start}
.hall-photo{margin:0;border-radius:24px;overflow:hidden;border:1px solid #e0ece7;background:#fff;box-shadow:var(--shadow-soft)}
.hall-photo img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.hall-photo figcaption{padding:10px 16px;background:#fff;color:var(--green);font-weight:900;font-size:14px}
.cost-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:210px;padding:18px 14px;text-align:center;background:#fff;border:1px solid #d9e9e3;border-radius:20px;box-shadow:var(--shadow-soft)}
.cost-item img{width:min(104px,75%);height:auto;object-fit:contain}
.cost-item span{display:block;min-height:auto;padding:0;background:none;border-radius:0;box-shadow:none;font-size:15px;line-height:1.5;color:var(--green)}
.flow-grid article{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px}
.flow-grid .flow-icon{margin:0;display:flex;align-items:center;justify-content:center;min-height:96px}
.flow-grid .flow-icon img{width:92px;height:72px;object-fit:contain}
.flow-grid h3{margin:0;color:var(--deep);font-size:16px}
.flow-grid p{margin:0;color:#65736f;font-size:13px;line-height:1.6}

@media (max-width:820px){
  body{padding-top:70px!important;padding-bottom:70px}
  .site-header{position:fixed;top:0;left:0;right:0;background:#fff;z-index:100}
  .header-main{border-bottom:1px solid rgba(0,0,0,.04)}
  .global-nav{top:72px}
  .cost-items{grid-template-columns:repeat(3,1fr)!important;gap:10px}
  .cost-item{min-height:160px;padding:14px 8px;gap:8px;border-radius:16px}
  .cost-item img{width:min(76px,72%)}
  .cost-item span{font-size:12px;line-height:1.45}
  .hall-photo figcaption{font-size:13px;padding:8px 12px}
}

@media (max-width:520px){
  .cost-items{grid-template-columns:repeat(3,1fr)!important;gap:8px}
  .cost-item{min-height:132px;padding:10px 6px;border-radius:14px}
  .cost-item img{width:min(58px,70%)}
  .cost-item span{font-size:11px;letter-spacing:0}
  .flow-grid .flow-icon{min-height:82px}
  .flow-grid .flow-icon img{width:78px;height:60px}
}

/* --- 2026-06 update: cost item icons/captions 170% larger --- */
.cost-item{
  height:210px;
  min-height:210px;
  gap:4px;
  overflow:hidden;
}
.cost-item img{
  width:177px!important;
  max-width:92%;
}
.cost-item span{
  display:block!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  padding:0!important;
  min-height:0!important;
  font-size:26px!important;
  line-height:1.12!important;
  color:var(--green)!important;
  font-weight:900!important;
}
@media (max-width:820px){
  .cost-item{
    height:160px;
    min-height:160px;
    gap:2px;
  }
  .cost-item img{
    width:129px!important;
    max-width:94%;
  }
  .cost-item span{
    font-size:20px!important;
    line-height:1.08!important;
    letter-spacing:-.04em!important;
  }
}
@media (max-width:520px){
  .cost-item{
    height:132px;
    min-height:132px;
    gap:1px;
  }
  .cost-item img{
    width:99px!important;
    max-width:96%;
  }
  .cost-item span{
    font-size:18.7px!important;
    line-height:1.02!important;
    letter-spacing:-.08em!important;
  }
}


/* restore/final cost and image overrides */
.hall-main-col{display:grid;gap:18px;align-items:start}
.hall-photo{margin:0;border-radius:24px;overflow:hidden;border:1px solid #e0ece7;background:#fff;box-shadow:var(--shadow-soft)}
.hall-photo img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.hall-photo figcaption{padding:10px 16px;background:#fff;color:var(--green);font-weight:900;font-size:14px}
.cost-items{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.cost-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:210px;padding:10px 10px;text-align:center;background:#fff;border:1px solid #d9e9e3;border-radius:20px;box-shadow:var(--shadow-soft)}
.cost-item img{width:min(176px,98%);height:auto;object-fit:contain}
.cost-item span{display:block;padding:0;background:none!important;border:none!important;box-shadow:none!important;border-radius:0!important;font-size:25px;line-height:1.25;color:var(--green);font-weight:900}
.flow-grid article{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px}
.flow-grid .flow-icon{margin:0;display:flex;align-items:center;justify-content:center;min-height:96px}
.flow-grid .flow-icon img{width:92px;height:72px;object-fit:contain}
@media (max-width:820px){body{padding-top:70px!important;padding-bottom:70px}.site-header{position:fixed;top:0;left:0;right:0;background:#fff;z-index:100}.header-main{border-bottom:1px solid rgba(0,0,0,.04)}.global-nav{top:72px}.cost-items{grid-template-columns:repeat(3,1fr)!important;gap:10px}.cost-item{min-height:160px;padding:10px 6px;border-radius:16px}.cost-item img{width:min(86px,92%)}.cost-item span{font-size:14px;line-height:1.3}.hall-photo figcaption{font-size:13px;padding:8px 12px}}
@media (max-width:520px){.cost-items{grid-template-columns:repeat(3,1fr)!important;gap:8px}.cost-item{min-height:140px;padding:8px 5px;border-radius:14px}.cost-item img{width:min(74px,92%)}.cost-item span{font-size:13px;line-height:1.25}.flow-grid .flow-icon{min-height:82px}.flow-grid .flow-icon img{width:78px;height:60px}}


/* 2026-06-20 revision: hero illustration, adjusted captions, updated flow icons */
.cost-item span{font-size:20px!important;line-height:1.28!important;}
.hero-visual img{display:block;width:100%;max-width:560px;margin:0 auto;filter:drop-shadow(0 24px 40px rgba(27,87,76,.12));border-radius:24px;}
.flow-grid{align-items:stretch;}
.flow-grid article{padding:22px 10px 18px!important;gap:8px!important;}
.flow-grid .flow-icon{min-height:120px!important;}
.flow-grid .flow-icon img{width:118px!important;height:118px!important;object-fit:contain;}
@media (max-width:820px){
  .cost-item span{font-size:13px!important;line-height:1.3!important;}
  .hero-visual img{max-width:460px;border-radius:20px;}
  .flow-grid .flow-icon{min-height:98px!important;}
  .flow-grid .flow-icon img{width:88px!important;height:88px!important;}
}
@media (max-width:520px){
  .cost-item span{font-size:12px!important;line-height:1.28!important;}
  .hero-visual img{max-width:100%;border-radius:16px;}
  .flow-grid .flow-icon{min-height:86px!important;}
  .flow-grid .flow-icon img{width:78px!important;height:78px!important;}
}


/* 2026-06-20 revision 2: hero redesign + flow direction + caption harmonize */
.hero{position:relative;overflow:hidden;padding:0!important;background:#eef7f3;}
.hero .container.hero-grid{position:relative;display:block!important;min-height:560px;max-width:100%!important;padding:0!important;}
.hero .hero-visual{position:absolute!important;inset:0;z-index:0;display:block!important;width:100%;height:100%;} 
.hero .hero-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg, rgba(255,255,255,.90) 0%, rgba(255,255,255,.82) 28%, rgba(255,255,255,.45) 55%, rgba(255,255,255,.08) 100%), linear-gradient(180deg, rgba(16,69,60,.06) 0%, rgba(16,69,60,.18) 100%);}
.hero .hero-visual img{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;object-position:center center;border-radius:0!important;filter:none!important;}
.hero .hero-copy{position:relative;z-index:2;max-width:640px;margin:64px 0 64px 6vw;padding:34px 36px;border-radius:28px;background:rgba(255,255,255,.72);backdrop-filter: blur(6px);-webkit-backdrop-filter: blur(6px);box-shadow:0 18px 46px rgba(27,87,76,.14);border:1px solid rgba(255,255,255,.45);}
.hero .kicker{display:inline-block;padding:8px 14px;border-radius:999px;background:#1d6c5a;color:#fff;font-weight:800;letter-spacing:.04em;margin-bottom:14px;}
.hero h1{font-size:clamp(2.6rem,4.2vw,4.2rem);line-height:1.22;margin-bottom:18px;color:#123f37;text-shadow:0 1px 0 rgba(255,255,255,.35);}
.hero h1 span{color:#1d6c5a;}
.hero .hero-lead{font-size:1.6rem;line-height:1.95;color:#38524c;}
.hero .hero-badges{gap:10px;margin:20px 0 24px;}
.hero .hero-badges span{background:#fff;border:1px solid #dbe9e3;box-shadow:0 8px 18px rgba(20,60,53,.06);}
.hero .cta-row{display:flex;flex-wrap:wrap;gap:12px;}
.hero .cta{box-shadow:0 10px 24px rgba(23,72,62,.11);}

.cost-item span, .flow-grid h3{font-size:16px!important;line-height:1.35!important;font-weight:900;}
.cost-item img{width:min(152px,90%)!important;}

.flow-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:18px;align-items:stretch;position:relative;}
.flow-grid article{position:relative;padding:22px 12px 20px!important;border-radius:22px;background:#fff;border:1px solid #dceae4;box-shadow:var(--shadow-soft);min-width:0;}
.flow-grid article:not(:last-child)::after{content:"→";position:absolute;right:-16px;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;background:#1d6c5a;color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:900;box-shadow:0 8px 18px rgba(29,108,90,.25);z-index:3;}
.flow-grid .flow-icon{min-height:126px!important;margin-bottom:2px;}
.flow-grid .flow-icon img{width:108px!important;height:108px!important;object-fit:contain;}
.flow-grid p{font-size:13px;line-height:1.6;}

@media (max-width:1024px){
  .hero .hero-copy{max-width:600px;margin:48px 20px;padding:28px 28px;}
  .flow-grid{grid-template-columns:repeat(4,1fr);row-gap:30px;}
  .flow-grid article:nth-child(4)::after{display:none;}
}
@media (max-width:820px){
  .hero .container.hero-grid{min-height:520px;}
  .hero .hero-visual::after{background:linear-gradient(180deg, rgba(255,255,255,.88) 0%, rgba(255,255,255,.78) 35%, rgba(255,255,255,.42) 70%, rgba(255,255,255,.18) 100%), linear-gradient(180deg, rgba(16,69,60,.04) 0%, rgba(16,69,60,.16) 100%);}
  .hero .hero-copy{max-width:none;margin:24px 14px 28px;padding:22px 18px;border-radius:20px;}
  .hero h1{font-size:3.0rem;}
  .hero .hero-lead{font-size:1.45rem;line-height:1.85;}
  .hero .hero-badges span{font-size:1.2rem;}
  .cost-item span{font-size:15px!important;}
  .flow-grid{display:grid;grid-template-columns:repeat(7, minmax(150px,1fr));gap:14px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x proximity;}
  .flow-grid article{scroll-snap-align:start;min-width:150px;}
  .flow-grid article:not(:last-child)::after{right:-13px;width:26px;height:26px;font-size:16px;}
  .flow-grid .flow-icon{min-height:98px!important;}
  .flow-grid .flow-icon img{width:82px!important;height:82px!important;}
  .flow-grid p{font-size:12px;}
}
@media (max-width:520px){
  .hero .container.hero-grid{min-height:480px;}
  .hero .hero-copy{margin:16px 12px 20px;padding:18px 14px;}
  .hero .kicker{font-size:1.15rem;padding:6px 20px;margin-bottom:10px;}
  .hero h1{font-size:2.5rem;line-height:1.25;}
  .hero .hero-lead{font-size:1.32rem;line-height:1.8;}
  .hero .cta-row{gap:10px;}
  .hero .cta{width:100%;justify-content:center;}
  .hero .cta-mail,.hero .cta-line{width:calc(50% - 5px);}
  .cost-item img{width:min(68px,88%)!important;}
  .cost-item span{font-size:14px!important;line-height:1.32!important;}
}
.flow-scroll-note{display:none;margin:0 0 12px;color:#5f726d;font-size:13px;font-weight:700}
@media (max-width:820px){.flow-scroll-note{display:block}}


/* 2026-06-20 revision 3: richer hall guide + stronger full width hero */
.hero{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);}
.hero .container, .hero .container.hero-grid{width:100%!important;max-width:none!important;margin:0 auto!important;}
.hero .hero-copy{margin-left:clamp(20px,6vw,96px)!important;margin-right:20px;max-width:680px;}
.hero .hero-visual{left:0;right:0;width:100vw;}
.hero .hero-visual img{width:100vw!important;}

.hall-layout-rich{align-items:start;margin-bottom:28px;}
.hall-photo-large img{aspect-ratio:16 / 9;}
.hall-intro-card p{line-height:1.95;}
.hall-guide{display:grid;gap:22px;}
.hall-guide-block,.hall-summary{background:#fff;border:1px solid #e0ece7;border-radius:24px;box-shadow:var(--shadow-soft);padding:28px 30px;}
.hall-guide-heading{margin-bottom:16px;}
.hall-guide-heading span{display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border-radius:999px;background:#eaf7f2;color:var(--green);font-size:12px;font-weight:900;letter-spacing:.08em;margin-bottom:10px;}
.hall-guide-heading h3{margin:0 0 10px;color:var(--deep);font-size:26px;line-height:1.45;}
.hall-guide-heading p{margin:0;color:#5b6c67;line-height:1.85;}
.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:18px;border:1px solid #dce9e4;background:#fff;}
.guide-table{width:100%;min-width:720px;border-collapse:collapse;font-size:15px;line-height:1.75;color:#314a44;}
.guide-table th,.guide-table td{padding:15px 16px;border-bottom:1px solid #e3efeb;border-right:1px solid #e3efeb;vertical-align:top;}
.guide-table tr:last-child th,.guide-table tr:last-child td{border-bottom:none;}
.guide-table th:last-child,.guide-table td:last-child{border-right:none;}
.guide-table thead th{background:#1d6c5a;color:#fff;font-size:14px;font-weight:800;text-align:left;}
.guide-table tbody th{background:#f3f9f6;color:#1d6c5a;font-weight:900;white-space:nowrap;width:180px;}
.guide-table td strong{color:#15463d;font-size:1.05em;}
.guide-table-wide{min-width:980px;}
.guide-table-notice{min-width:760px;}
.hall-caution{margin:14px 2px 0;color:#6b7774;font-size:13px;line-height:1.75;}
.hall-summary{background:linear-gradient(135deg,#ffffff 0%, #f5fbf8 100%);}
.hall-summary h3{margin:0 0 12px;color:var(--deep);font-size:28px;line-height:1.45;}
.hall-summary p{margin:0 0 12px;line-height:1.95;color:#405a54;}
.hall-summary p:last-child{margin-bottom:0;}

@media (max-width:1024px){
  .hall-layout{grid-template-columns:1fr!important;}
  .guide-table{font-size:14px;}
}
@media (max-width:820px){
  .hero{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);}
  .hero .hero-copy{max-width:none;margin-left:14px!important;margin-right:14px;}
  .hall-guide-block,.hall-summary{padding:22px 18px;border-radius:20px;}
  .hall-guide-heading h3{font-size:22px;}
  .table-wrap{border-radius:16px;}
  .guide-table{min-width:620px;font-size:13px;line-height:1.65;}
  .guide-table th,.guide-table td{padding:12px 12px;}
  .guide-table-wide{min-width:860px;}
  .guide-table-notice{min-width:620px;}
}
@media (max-width:520px){
  .hall-guide-block,.hall-summary{padding:18px 14px;border-radius:18px;}
  .hall-guide-heading span{font-size:11px;padding:6px 10px;}
  .hall-guide-heading h3{font-size:20px;line-height:1.4;}
  .hall-guide-heading p,.hall-summary p,.hall-intro-card p{font-size:14px;line-height:1.85;}
  .guide-table{font-size:12px;}
  .guide-table th,.guide-table td{padding:11px 10px;}
}

/* 2026-06-20 revision 4: remove duplicate hall point card, compact hero, fixed PC header */
body{padding-top:116px;}
.site-header{position:fixed!important;top:0;left:0;right:0;z-index:1000;background:#fff;box-shadow:0 4px 24px rgba(0,0,0,.06);}
.site-header .header-main{box-shadow:none;}
.hero .container.hero-grid{min-height:392px!important;}
.hero .hero-copy{margin-left:max(44px, calc((100vw - 1120px)/2 + 54px))!important;margin-top:38px!important;margin-bottom:38px!important;max-width:620px!important;padding:25px 30px!important;border-radius:24px!important;}
.hero h1{font-size:clamp(2.2rem,3.2vw,3.45rem)!important;line-height:1.22!important;margin-bottom:12px!important;}
.hero .hero-lead{font-size:1.34rem!important;line-height:1.82!important;margin-bottom:18px!important;}
.hero .kicker{font-size:1.25rem!important;margin-bottom:10px!important;}
.hero .hero-badges{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important;margin:14px 0 18px!important;}
.hero .hero-badges span{font-size:1.15rem!important;padding:8px 10px 8px 36px!important;}
.hero .cta{min-height:52px!important;}
.hero .cta-tel{font-size:2.0rem!important;}
.hero .cta-tel small{font-size:1.05rem!important;}

.hall-layout-rich{display:block!important;margin-bottom:28px;}
.hall-layout-rich .hall-main-col{display:grid!important;grid-template-columns:1.05fr .95fr;gap:30px;align-items:stretch;}
.hall-layout-rich .hall-photo,.hall-layout-rich .hall-intro-card{height:100%;}
.hall-layout-rich .hall-intro-card{display:flex;flex-direction:column;justify-content:center;}
.hall-layout-rich .hall-photo img{height:100%;min-height:390px;object-fit:cover;}

@media (max-width:1024px){
  body{padding-top:104px;}
  .hero .container.hero-grid{min-height:380px!important;}
  .hero .hero-copy{margin-left:40px!important;max-width:590px!important;}
  .hall-layout-rich .hall-main-col{grid-template-columns:1fr!important;}
  .hall-layout-rich .hall-photo img{height:auto;min-height:0;}
}
@media (max-width:820px){
  body{padding-top:70px!important;}
  .site-header{position:fixed!important;}
  .hero .container.hero-grid{min-height:364px!important;}
  .hero .hero-copy{max-width:none!important;margin:20px 14px 22px!important;padding:18px 16px!important;border-radius:20px!important;}
  .hero h1{font-size:2.45rem!important;}
  .hero .hero-lead{font-size:1.28rem!important;line-height:1.75!important;}
  .hero .kicker{font-size:1.1rem!important;}
  .hero .hero-badges{grid-template-columns:1fr 1fr;}
  .hero .hero-badges span{font-size:1.05rem!important;}
}
@media (max-width:520px){
  .hero .container.hero-grid{min-height:338px!important;}
  .hero .hero-copy{margin:14px 12px 16px!important;padding:15px 12px!important;}
  .hero h1{font-size:2.1rem!important;}
  .hero .hero-lead{font-size:1.18rem!important;line-height:1.68!important;}
  .hero .hero-badges{display:none;}
  .hero .cta{min-height:46px!important;}
}

/* 2026-06-21 revision: hall vertical layout and hero title line balance */
#hall .section-title h2{line-height:1.42;}
#hall .hall-layout-rich{display:block!important;margin-bottom:28px;}
#hall .hall-main-col{display:block!important;width:100%;}
#hall .hall-photo-large{width:100%;margin:0 0 26px!important;border-radius:26px;}
#hall .hall-photo-large img{width:100%;height:auto;aspect-ratio:16 / 7.5;object-fit:cover;object-position:center center;}
#hall .hall-intro-card{width:100%;max-width:none;padding:42px 46px;}
#hall .hall-intro-card h3{font-size:30px;line-height:1.45;}
#hall .hall-intro-card p{font-size:16.5px;line-height:2.05;}

@media (min-width:821px){
  .hero .container.hero-grid{min-height:392px!important;}
  .hero .hero-copy{max-width:760px!important;width:min(760px,calc(100% - 80px));margin-left:max(44px,calc((100vw - 1120px) / 2 + 32px))!important;margin-top:32px!important;margin-bottom:32px!important;padding:24px 32px 26px!important;}
  .hero h1{font-size:clamp(2.35rem,3.65vw,3.78rem)!important;line-height:1.24!important;margin-bottom:12px!important;letter-spacing:.035em;}
  .hero .hero-lead{font-size:1.38rem!important;line-height:1.78!important;margin-bottom:14px!important;max-width:700px;}
  .hero .kicker{margin-bottom:10px!important;font-size:1.18rem!important;padding:6px 25px!important;}
  .hero .hero-badges{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;margin:14px 0 16px!important;}
  .hero .hero-badges span{font-size:1.08rem!important;min-height:36px;padding:7px 8px 7px 32px!important;white-space:nowrap;}
  .hero .hero-badges span:before{left:9px;width:18px;height:18px;font-size:10px;}
  .hero .cta{min-height:48px!important;border-radius:12px;}
  .hero .cta-tel{font-size:1.9rem!important;min-width:210px!important;}
  .hero .cta-tel small{font-size:1.05rem!important;}
  .hero .cta-mail,.hero .cta-line{min-width:126px!important;font-size:1.2rem!important;}
}

@media (max-width:820px){
  #hall .hall-photo-large img{aspect-ratio:16 / 9;}
  #hall .hall-intro-card{padding:28px 22px;}
  #hall .hall-intro-card h3{font-size:23px;}
  #hall .hall-intro-card p{font-size:14.5px;line-height:1.9;}
  .hero h1{font-size:2.7rem!important;}
}
@media (max-width:520px){
  #hall .section-title h2{font-size:24px;}
  #hall .hall-photo-large{border-radius:18px;margin-bottom:18px!important;}
  #hall .hall-intro-card{padding:22px 16px;}
  #hall .hall-intro-card h3{font-size:20px;}
  .hero h1{font-size:2.38rem!important;}
}

/* 2026-06-22 rebase fix: hero title 75% + after-support accordion */
.hero h1{font-size:clamp(1.76rem,2.74vw,2.84rem)!important;line-height:1.22!important;letter-spacing:.02em!important;}
.hero .hero-copy{max-width:760px!important;}
@media (max-width:820px){.hero h1{font-size:2.03rem!important;line-height:1.22!important;}}
@media (max-width:520px){.hero h1{font-size:1.79rem!important;line-height:1.22!important;}}

.after-intro{margin:0 auto 24px;max-width:1120px;}
.after-intro h3{margin:0 0 12px;color:var(--deep);font-size:30px;line-height:1.45;}
.after-intro p{margin:0 0 12px;color:#516660;line-height:1.95;}
.after-intro p:last-child{margin-bottom:0;}
.after-accordion{display:grid;gap:14px;max-width:1120px;margin:0 auto;}
.after-accordion>details{background:#fff;border:1px solid #d8e8e1;border-radius:20px;box-shadow:0 12px 28px rgba(27,87,76,.06);overflow:hidden;}
.after-accordion>details>summary{list-style:none;cursor:pointer;position:relative;padding:22px 68px 22px 24px;color:var(--deep);font-size:22px;line-height:1.5;font-weight:900;background:linear-gradient(180deg,#ffffff 0%,#f7fbf9 100%);}
.after-accordion>details>summary::-webkit-details-marker{display:none;}
.after-accordion>details>summary:after{content:'+';position:absolute;right:24px;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;background:#e8f4ef;color:var(--green);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;}
.after-accordion>details[open]>summary:after{content:'−';}
.after-detail-body{padding:6px 24px 26px;}
.after-detail-body p{margin:0 0 14px;color:#536862;line-height:1.95;}
.after-detail-body p:last-child{margin-bottom:0;}
.after-detail-body h4{margin:16px 0 10px;color:var(--deep);font-size:20px;line-height:1.5;}
.after-detail-body .table-wrap{margin:12px 0 16px;border:1px solid #dce9e4;border-radius:18px;background:#fff;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.after-detail-body .guide-table{width:100%;min-width:780px;border-collapse:collapse;font-size:15px;line-height:1.75;color:#314a44;}
.after-detail-body .guide-table th,.after-detail-body .guide-table td{padding:14px 14px;border-right:1px solid #e3efeb;border-bottom:1px solid #e3efeb;vertical-align:top;}
.after-detail-body .guide-table tr:last-child th,.after-detail-body .guide-table tr:last-child td{border-bottom:none;}
.after-detail-body .guide-table th:last-child,.after-detail-body .guide-table td:last-child{border-right:none;}
.after-detail-body .guide-table thead th{background:#1d6c5a;color:#fff;font-size:14px;font-weight:800;text-align:left;}
.after-detail-body .guide-table tbody th{background:#f4faf7;color:#1d6c5a;font-weight:900;white-space:nowrap;width:180px;}
.after-detail-body .guide-table td strong{color:#15463d;}
.faq-mini{display:grid;gap:10px;}
.faq-mini details{background:#f8fcfa;border:1px solid #dceae5;border-radius:14px;overflow:hidden;}
.faq-mini summary{list-style:none;cursor:pointer;position:relative;padding:16px 52px 16px 20px;font-weight:900;color:var(--deep);}
.faq-mini summary::-webkit-details-marker{display:none;}
.faq-mini summary:after{content:'+';position:absolute;right:18px;top:50%;transform:translateY(-50%);color:var(--green);font-size:22px;}
.faq-mini details[open] summary:after{content:'−';}
.faq-mini p{padding:0 20px 18px;margin:0;color:#60736e;line-height:1.9;}

@media (max-width:820px){
  .after-intro h3{font-size:24px;}
  .after-accordion>details>summary{padding:18px 58px 18px 18px;font-size:19px;line-height:1.5;}
  .after-accordion>details>summary:after{right:16px;width:30px;height:30px;font-size:22px;}
  .after-detail-body{padding:4px 16px 18px;}
  .after-detail-body p{font-size:14px;line-height:1.9;}
  .after-detail-body h4{font-size:18px;}
  .after-detail-body .guide-table{min-width:680px;font-size:13px;}
  .after-detail-body .guide-table th,.after-detail-body .guide-table td{padding:11px 11px;}
}

/* 2026-06-22 additional fixes: readable benefit cards, hall accordion, hero badges */
.hero .hero-copy{
  max-width:740px!important;
  width:min(740px, calc(100vw - 120px))!important;
}
.hero h1{
  font-size:clamp(28px, 2.95vw, 42px)!important;
  line-height:1.32!important;
  letter-spacing:.015em!important;
  word-break:keep-all!important;
}
.hero-line-nowrap{
  white-space:nowrap!important;
}
.hero .hero-badges{
  display:grid!important;
  grid-template-columns:repeat(2, minmax(0, 1fr))!important;
  gap:12px!important;
  max-width:650px!important;
  margin:18px 0 24px!important;
}
.hero .hero-badges span{
  min-width:0!important;
  width:100%!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  padding:10px 14px 10px 38px!important;
  font-size:14px!important;
  line-height:1.45!important;
  display:flex!important;
  align-items:center!important;
}
.hero .hero-badges span:before{
  left:12px!important;
  width:19px!important;
  height:19px!important;
  flex:0 0 auto!important;
}

.benefit-card-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  margin:18px 0 20px;
}
.benefit-card{
  background:#fff;
  border:1px solid #dceae5;
  border-radius:22px;
  box-shadow:0 12px 28px rgba(27,87,76,.07);
  overflow:hidden;
}
.benefit-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 20px;
  background:linear-gradient(135deg,#1d6c5a,#258169);
  color:#fff;
}
.benefit-card-head h4{
  margin:0!important;
  color:#fff!important;
  font-size:19px!important;
  line-height:1.45!important;
}
.benefit-card-head strong{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:86px;
  min-height:42px;
  padding:4px 12px;
  border-radius:999px;
  background:#fff;
  color:#1d6c5a;
  font-size:22px;
  white-space:nowrap;
}
.benefit-card dl{
  margin:0;
}
.benefit-card dl div{
  display:grid;
  grid-template-columns:130px 1fr;
  border-bottom:1px solid #edf3f0;
}
.benefit-card dl div:last-child{border-bottom:none;}
.benefit-card dt{
  padding:14px 14px;
  background:#f4faf7;
  color:#1d6c5a;
  font-weight:900;
  line-height:1.6;
}
.benefit-card dd{
  margin:0;
  padding:14px 16px;
  color:#344d47;
  line-height:1.8;
}

.hall-accordion{
  display:grid;
  gap:14px;
}
.hall-accordion>details{
  background:#fff;
  border:1px solid #dceae5;
  border-radius:22px;
  box-shadow:0 12px 28px rgba(27,87,76,.07);
  overflow:hidden;
}
.hall-accordion>details>summary{
  list-style:none;
  cursor:pointer;
  position:relative;
  display:flex;
  align-items:center;
  gap:14px;
  padding:20px 64px 20px 24px;
  background:linear-gradient(180deg,#ffffff 0%,#f7fbf9 100%);
  color:#174b43;
}
.hall-accordion>details>summary::-webkit-details-marker{display:none;}
.hall-accordion>details>summary span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:96px;
  padding:7px 12px;
  border-radius:999px;
  background:#eaf7f2;
  color:#1d6c5a;
  font-size:12px;
  letter-spacing:.08em;
  font-weight:900;
  flex:0 0 auto;
}
.hall-accordion>details>summary strong{
  display:block;
  font-size:22px;
  line-height:1.45;
  font-weight:900;
}
.hall-accordion>details>summary:after{
  content:'+';
  position:absolute;
  right:22px;
  top:50%;
  transform:translateY(-50%);
  width:34px;
  height:34px;
  border-radius:50%;
  background:#e8f4ef;
  color:#1d6c5a;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
  font-weight:700;
}
.hall-accordion>details[open]>summary:after{content:'−';}
.hall-detail-body{
  padding:0 24px 24px;
}
.hall-detail-body>p{
  margin:0 0 16px;
  color:#5b6c67;
  line-height:1.9;
}
.hall-detail-body .table-wrap{
  margin-top:12px;
}
.hall-accordion .hall-summary{
  margin-top:8px;
}

@media (max-width:820px){
  .hero .hero-copy{
    width:calc(100% - 28px)!important;
    max-width:none!important;
  }
  .hero h1{
    font-size:clamp(25px, 7vw, 34px)!important;
  }
  .hero .hero-badges{
    grid-template-columns:1fr!important;
    max-width:none!important;
    gap:9px!important;
  }
  .hero .hero-badges span{
    font-size:13px!important;
  }
  .benefit-card-grid{
    grid-template-columns:1fr;
    gap:14px;
  }
  .benefit-card-head{
    padding:16px 16px;
  }
  .benefit-card-head h4{
    font-size:17px!important;
  }
  .benefit-card-head strong{
    min-width:72px;
    font-size:18px;
  }
  .benefit-card dl div{
    grid-template-columns:1fr;
  }
  .benefit-card dt{
    padding:11px 14px 4px;
    background:#fff;
  }
  .benefit-card dd{
    padding:0 14px 13px;
  }
  .hall-accordion>details>summary{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
    padding:18px 56px 18px 18px;
  }
  .hall-accordion>details>summary span{
    min-width:0;
    font-size:11px;
  }
  .hall-accordion>details>summary strong{
    font-size:19px;
  }
  .hall-accordion>details>summary:after{
    right:16px;
    width:30px;
    height:30px;
    font-size:22px;
  }
  .hall-detail-body{
    padding:0 16px 18px;
  }
}


/* FLOW_READABILITY_FINAL_20260622 */
.flow-guide-note{
  max-width:760px;
  margin:0 auto 24px;
  text-align:center;
  color:#58706a;
  font-weight:800;
  font-size:14px;
}
.flow-grid-large{
  display:flex !important;
  flex-wrap:wrap;
  justify-content:center;
  gap:24px;
  max-width:1120px;
  margin:0 auto;
}
.flow-grid-large article{
  position:relative;
  width:calc((100% - 72px) / 4);
  min-width:220px;
  max-width:260px;
  min-height:314px;
  padding:28px 18px 22px !important;
  border-radius:24px;
  text-align:center;
  background:#fff;
  border:1px solid #dbe9e3;
  box-shadow:0 14px 28px rgba(27,87,76,.08);
}
.flow-grid-large article::after{
  content:"→";
  position:absolute;
  right:-19px;
  top:50%;
  transform:translateY(-50%);
  width:36px;
  height:36px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--green);
  color:#fff;
  font-size:20px;
  font-weight:900;
  box-shadow:0 8px 18px rgba(29,108,90,.25);
  z-index:2;
}
.flow-grid-large article:nth-child(4)::after,
.flow-grid-large article:last-child::after{
  display:none;
}
.flow-step-no{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:0 12px;
  margin-bottom:14px;
  border-radius:999px;
  background:#eaf7f2;
  color:var(--green);
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
}
.flow-grid-large .flow-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:116px;
  margin:0 0 12px;
}
.flow-grid-large .flow-icon img{
  width:120px !important;
  height:120px !important;
  object-fit:contain;
}
.flow-grid-large h3{
  margin:0 0 10px;
  color:var(--deep);
  font-size:28px !important;
  line-height:1.4;
  font-weight:900;
}
.flow-grid-large p{
  margin:0;
  color:#60736e;
  font-size:16px !important;
  line-height:1.75;
}
@media (max-width:1100px){
  .flow-grid-large article{
    width:calc((100% - 24px) / 2);
    max-width:none;
  }
  .flow-grid-large article::after{display:none;}
  .flow-grid-large h3{font-size:24px !important;}
}
@media (max-width:820px){
  .flow-guide-note{margin-bottom:18px;font-size:13px;line-height:1.7;}
  .flow-grid-large{gap:16px;}
  .flow-grid-large article{
    width:100%;
    min-width:0;
    min-height:auto;
    padding:22px 16px 18px !important;
  }
  .flow-grid-large .flow-icon{min-height:96px;}
  .flow-grid-large .flow-icon img{width:98px !important;height:98px !important;}
  .flow-grid-large h3{font-size:22px !important;}
  .flow-grid-large p{font-size:14px !important;line-height:1.8;}
}


/* 2026-06-22 hero illustration visibility improvement */
.hero .hero-visual::after{
  background:
    linear-gradient(90deg, rgba(255,255,255,.52) 0%, rgba(255,255,255,.34) 22%, rgba(255,255,255,.16) 46%, rgba(255,255,255,.04) 72%),
    linear-gradient(180deg, rgba(16,69,60,.03) 0%, rgba(16,69,60,.10) 100%) !important;
}
.hero .hero-visual img{
  object-position:36% center !important;
  filter:saturate(1.02) contrast(1.02) !important;
}
.hero .hero-copy{
  background:rgba(255,255,255,.86) !important;
  box-shadow:0 20px 48px rgba(27,87,76,.12) !important;
}
@media (max-width:1100px){
  .hero .hero-visual img{object-position:42% center !important;}
}
@media (max-width:820px){
  .hero .hero-visual::after{
    background:
      linear-gradient(180deg, rgba(255,255,255,.72) 0%, rgba(255,255,255,.52) 30%, rgba(255,255,255,.22) 64%, rgba(255,255,255,.10) 100%),
      linear-gradient(180deg, rgba(16,69,60,.03) 0%, rgba(16,69,60,.10) 100%) !important;
  }
  .hero .hero-visual img{object-position:48% center !important;}
  .hero .hero-copy{background:rgba(255,255,255,.88) !important;}
}


/* 2026-06-22: match flow icon size to fee icon size */
.flow-grid-large .flow-icon{min-height:150px !important;}
.flow-grid-large .flow-icon img{width:152px !important;height:152px !important;object-fit:contain !important;}
@media (max-width:820px){
  .flow-grid-large .flow-icon{min-height:86px !important;}
  .flow-grid-large .flow-icon img{width:68px !important;height:68px !important;}
}


/* 2026-06-22: flow icons +10% size up */
.flow-grid-large .flow-icon{min-height:165px !important;}
.flow-grid-large .flow-icon img{width:167px !important;height:167px !important;object-fit:contain !important;}
@media (max-width:820px){
  .flow-grid-large .flow-icon{min-height:95px !important;}
  .flow-grid-large .flow-icon img{width:200px !important;height:200px !important;}
}

/* 2026-06-22: additional Tsutsuji detailed usage guide */
.tsutsuji-guide-section{position:relative;overflow:hidden;}
.tsutsuji-guide-section:before{content:"";position:absolute;right:-160px;top:80px;width:420px;height:420px;border-radius:50%;background:rgba(29,108,90,.05);pointer-events:none;}
.guide-lead-card{max-width:1120px;margin:0 auto 24px;background:linear-gradient(135deg,#fff 0%,#f7fcfa 100%);}
.guide-lead-card h3{font-size:28px;}
.guide-lead-card p{line-height:1.95;}
.tsutsuji-guide-accordion{position:relative;z-index:1;display:grid;gap:14px;max-width:1120px;margin:0 auto;}
.tsutsuji-guide-accordion details{background:#fff;border:1px solid #d8e8e1;border-radius:20px;box-shadow:0 12px 28px rgba(27,87,76,.06);overflow:hidden;}
.tsutsuji-guide-accordion summary{list-style:none;cursor:pointer;position:relative;display:flex;align-items:center;gap:14px;min-height:64px;padding:17px 70px 17px 22px;color:var(--deep);font-weight:900;line-height:1.5;background:linear-gradient(180deg,#fff 0%,#f8fcfa 100%);}
.tsutsuji-guide-accordion summary::-webkit-details-marker{display:none;}
.tsutsuji-guide-accordion summary span{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:34px;border-radius:999px;background:#eaf7f2;color:var(--green);font-size:13px;letter-spacing:.08em;}
.tsutsuji-guide-accordion summary strong{display:block;font-size:20px;}
.tsutsuji-guide-accordion summary:after{content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;background:#e8f4ef;color:var(--green);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;}
.tsutsuji-guide-accordion details[open] summary:after{content:"−";}
.tsutsuji-guide-body{padding:4px 24px 26px 80px;}
.tsutsuji-guide-body p{margin:0 0 14px;color:#516660;font-size:16px;line-height:1.9;}
.tsutsuji-guide-body p:last-child{margin-bottom:0;}
.tsutsuji-guide-body .small-note{font-size:13px;color:#6b7774;line-height:1.75;}
.guide-mini-table-wrap{margin:16px 0;border:1px solid #dce9e4;border-radius:16px;overflow:hidden;background:#fff;}
.guide-mini-table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.75;}
.guide-mini-table th,.guide-mini-table td{padding:14px 16px;border-bottom:1px solid #e3efeb;vertical-align:top;}
.guide-mini-table tr:last-child th,.guide-mini-table tr:last-child td{border-bottom:none;}
.guide-mini-table th{width:210px;background:#f4faf7;color:var(--green);font-weight:900;text-align:left;}
.tsutsuji-guide-cta{max-width:1120px;margin:26px auto 0;padding:34px 30px;border-radius:26px;background:linear-gradient(135deg,#174b43,#26856f);color:#fff;text-align:center;box-shadow:0 18px 42px rgba(27,87,76,.18);}
.tsutsuji-guide-cta h3{margin:0 0 12px;font-size:28px;line-height:1.45;}
.tsutsuji-guide-cta p{max-width:860px;margin:0 auto 22px;color:#e8f7f2;line-height:1.9;}
.tsutsuji-guide-note{max-width:1120px;margin:18px auto 0;color:#63736f;font-size:13px;line-height:1.8;}
@media (max-width:820px){
  .guide-lead-card h3{font-size:22px;}
  .tsutsuji-guide-accordion summary{align-items:flex-start;gap:10px;min-height:58px;padding:16px 56px 16px 16px;}
  .tsutsuji-guide-accordion summary span{min-width:38px;height:30px;font-size:12px;}
  .tsutsuji-guide-accordion summary strong{font-size:17px;line-height:1.55;}
  .tsutsuji-guide-accordion summary:after{right:14px;width:30px;height:30px;font-size:22px;}
  .tsutsuji-guide-body{padding:0 16px 20px 16px;}
  .tsutsuji-guide-body p{font-size:15px;line-height:1.9;}
  .guide-mini-table{font-size:14px;}
  .guide-mini-table th,.guide-mini-table td{display:block;width:auto;padding:12px 14px;}
  .guide-mini-table th{border-bottom:0;padding-bottom:4px;}
  .guide-mini-table td{padding-top:4px;}
  .tsutsuji-guide-cta{padding:26px 18px;border-radius:22px;}
  .tsutsuji-guide-cta h3{font-size:22px;}
  .tsutsuji-guide-cta p{font-size:14px;}
}

/* 2026-06-22: separate funeral benefit and after-procedure sections */
.benefit-intro,
.procedure-intro{
  max-width:1120px;
  margin:0 auto 24px;
}
.benefit-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  max-width:1120px;
  margin:0 auto 24px;
}
.benefit-summary-grid article{
  min-height:150px;
  padding:24px 18px;
  border-radius:22px;
  background:linear-gradient(180deg,#fff 0%,#f7fcfa 100%);
  border:1px solid #d9eae4;
  box-shadow:0 12px 26px rgba(27,87,76,.07);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:10px;
}
.benefit-summary-grid span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:0 13px;
  border-radius:999px;
  background:#eaf7f2;
  color:var(--green);
  font-size:13px;
  font-weight:900;
  letter-spacing:.05em;
}
.benefit-summary-grid strong{
  display:block;
  color:var(--deep);
  font-size:clamp(20px,2.1vw,30px);
  line-height:1.4;
  font-weight:900;
}
.benefit-accordion,
.procedure-accordion{
  max-width:1120px;
}
.benefit-accordion>details>summary,
.procedure-accordion>details>summary{
  min-height:58px;
}
.benefit-accordion>details>summary{
  background:linear-gradient(180deg,#ffffff 0%,#f7fcfa 100%);
}
.procedure-accordion>details>summary{
  background:linear-gradient(180deg,#ffffff 0%,#fffaf0 100%);
}
.mini-cta{
  max-width:1120px;
  margin:26px auto 0;
  padding:28px 30px;
  border-radius:24px;
  background:linear-gradient(135deg,#174b43,#26856f);
  color:#fff;
  text-align:center;
  box-shadow:0 18px 42px rgba(27,87,76,.16);
}
.mini-cta h3{
  margin:0 0 10px;
  color:#fff;
  font-size:26px;
  line-height:1.45;
}
.mini-cta p{
  max-width:850px;
  margin:0 auto 20px;
  color:#e9f7f2;
  line-height:1.9;
}
.procedure-table{
  min-width:760px;
}
#after-procedure .after-note,
#after-support .after-note{
  max-width:1120px;
  margin:18px auto 0;
  padding:14px 18px;
  border-radius:14px;
  background:#fff9df;
  color:#71591c;
  font-size:13px;
  line-height:1.75;
  font-weight:800;
}
@media (max-width:900px){
  .benefit-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:520px){
  .benefit-summary-grid{grid-template-columns:1fr;gap:12px;}
  .benefit-summary-grid article{min-height:118px;padding:20px 14px;}
  .benefit-summary-grid strong{font-size:23px;}
  .mini-cta{padding:22px 16px;border-radius:20px;}
  .mini-cta h3{font-size:21px;}
  .mini-cta p{font-size:14px;line-height:1.85;}
  .procedure-table{min-width:620px;}
}


/* 2026-06-22: benefit summary readability + expanded FAQ groups */
.benefit-summary-grid{gap:18px;align-items:stretch;}
.benefit-summary-grid .benefit-card{min-height:198px;padding:24px 20px 22px;justify-content:flex-start;gap:14px;}
.benefit-summary-grid .benefit-card span{margin-bottom:2px;}
.benefit-summary-grid .benefit-card strong{display:flex;align-items:center;justify-content:center;flex:1;width:100%;font-size:clamp(18px,1.75vw,26px);line-height:1.55;letter-spacing:.01em;word-break:keep-all;overflow-wrap:anywhere;}
.benefit-summary-grid .benefit-card small{display:block;color:#60736e;font-size:13px;line-height:1.75;font-weight:700;}
.benefit-summary-grid .benefit-card-price strong{font-size:clamp(28px,2.6vw,40px);line-height:1.25;}
.benefit-summary-grid .benefit-card-limit strong{font-size:clamp(17px,1.55vw,24px);line-height:1.65;}

.faq-groups{display:grid;gap:22px;max-width:1120px;margin:0 auto;}
.faq-group{padding:24px;border-radius:24px;background:linear-gradient(180deg,#ffffff 0%,#f7fcfa 100%);border:1px solid #d9eae4;box-shadow:0 12px 26px rgba(27,87,76,.06);}
.faq-group h3{margin:0 0 14px;color:var(--deep);font-size:24px;line-height:1.5;}
.faq-group .faq-list{max-width:none;margin:0;}
.faq-list details+details{margin-top:0;}

@media (max-width:1024px){
  .benefit-summary-grid .benefit-card{min-height:210px;}
}
@media (max-width:900px){
  .benefit-summary-grid .benefit-card{min-height:190px;}
}
@media (max-width:520px){
  .benefit-summary-grid .benefit-card{min-height:auto;padding:18px 14px 16px;gap:10px;}
  .benefit-summary-grid .benefit-card strong{font-size:24px;line-height:1.45;}
  .benefit-summary-grid .benefit-card-target strong,.benefit-summary-grid .benefit-card-limit strong{font-size:20px;line-height:1.55;}
  .benefit-summary-grid .benefit-card small{font-size:12px;line-height:1.65;}
  .faq-group{padding:18px 14px;border-radius:20px;}
  .faq-group h3{font-size:20px;margin-bottom:12px;}
}

/* 2026-06-22: Ageo area section enhanced by town names */
.area-section{
  background:linear-gradient(180deg,#ffffff 0%,#f4fbf8 100%);
}
.area-intro{
  max-width:1120px;
  margin:0 auto 30px;
  background:linear-gradient(135deg,#ffffff 0%,#f7fcfa 100%);
}
.area-intro h3,
.area-outside h3{
  margin:0 0 14px;
  color:var(--deep);
  font-size:28px;
  line-height:1.45;
}
.area-intro p,
.area-outside p{
  margin:0 0 12px;
  color:#4f655f;
  line-height:1.95;
}
.area-intro p:last-child,
.area-outside p:last-child{margin-bottom:0;}
.area-card-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  max-width:1120px;
  margin:0 auto 28px;
}
.area-card{
  position:relative;
  overflow:hidden;
  padding:28px 24px 24px;
  border-radius:24px;
  background:#fff;
  border:1px solid #d9eae4;
  box-shadow:0 12px 28px rgba(27,87,76,.07);
}
.area-card::before{
  content:"";
  position:absolute;
  right:-38px;
  top:-38px;
  width:112px;
  height:112px;
  border-radius:50%;
  background:#eaf7f2;
}
.area-card-icon{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  border-radius:18px;
  background:linear-gradient(135deg,var(--green),var(--green2));
  color:#fff;
  font-weight:900;
  margin-bottom:16px;
  box-shadow:0 10px 20px rgba(29,108,90,.18);
}
.area-card h3{
  position:relative;
  z-index:1;
  margin:0 0 12px;
  color:var(--deep);
  font-size:22px;
  line-height:1.5;
}
.area-card p{
  position:relative;
  z-index:1;
  margin:0 0 16px;
  color:#5d706a;
  font-size:15px;
  line-height:1.85;
}
.area-card-towns,
.area-town-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.area-card-towns span,
.area-town-tags span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:6px 12px;
  border-radius:999px;
  background:#eaf7f2;
  border:1px solid #d8ebe4;
  color:var(--green);
  font-size:13px;
  line-height:1.4;
  font-weight:900;
}
.area-outside{
  max-width:1120px;
  margin:0 auto 18px;
  padding:30px 34px;
  border:1px solid #d9eae4;
  box-shadow:0 12px 26px rgba(27,87,76,.06);
}
.area-all-support{
  background:linear-gradient(135deg,#fffdf8 0%,#f6fbf8 100%);
}
.area-town-accordion{
  max-width:1120px;
  margin:24px auto 0;
  border:1px solid #d9eae4;
  border-radius:24px;
  background:#fff;
  box-shadow:0 12px 26px rgba(27,87,76,.06);
  overflow:hidden;
}
.area-town-accordion summary{
  list-style:none;
  cursor:pointer;
  position:relative;
  min-height:64px;
  padding:20px 66px 20px 28px;
  color:var(--deep);
  font-size:22px;
  line-height:1.45;
  font-weight:900;
  background:linear-gradient(180deg,#ffffff 0%,#f7fcfa 100%);
}
.area-town-accordion summary::-webkit-details-marker{display:none;}
.area-town-accordion summary::after{
  content:"+";
  position:absolute;
  right:24px;
  top:50%;
  transform:translateY(-50%);
  width:34px;
  height:34px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#e8f4ef;
  color:var(--green);
  font-size:24px;
  font-weight:900;
}
.area-town-accordion[open] summary::after{content:"−";}
.area-town-body{
  padding:24px 28px 28px;
}
.area-town-body h3{
  margin:0 0 14px;
  color:var(--deep);
  font-size:24px;
  line-height:1.45;
}
.area-note{
  margin:16px 0 0;
  padding:14px 18px;
  border-radius:14px;
  background:#fff9df;
  color:#71591c;
  font-size:13px;
  line-height:1.75;
  font-weight:800;
}
.area-mini-cta{margin-top:28px;}

@media (max-width:1024px){
  .area-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:820px){
  .area-card-grid{grid-template-columns:1fr;gap:16px;}
  .area-intro,.area-outside{padding:24px 18px;border-radius:20px;}
  .area-intro h3,.area-outside h3{font-size:23px;}
  .area-card{padding:24px 18px 20px;border-radius:20px;}
  .area-card h3{font-size:20px;}
  .area-card p{font-size:14px;line-height:1.85;}
  .area-town-accordion{border-radius:20px;}
  .area-town-accordion summary{min-height:58px;padding:17px 58px 17px 18px;font-size:20px;}
  .area-town-accordion summary::after{right:16px;width:30px;height:30px;font-size:22px;}
  .area-town-body{padding:20px 16px 22px;}
  .area-town-body h3{font-size:20px;}
  .area-card-towns span,.area-town-tags span{font-size:12px;min-height:30px;padding:5px 10px;}
}
@media (max-width:520px){
  .area-card-icon{width:46px;height:46px;border-radius:15px;}
  .area-intro h3,.area-outside h3{font-size:21px;}
  .area-town-accordion summary{font-size:18px;}
}

/* ===== Koshigaya page additions ===== */
.facility-cards-single{grid-template-columns:minmax(0,760px);justify-content:center}
.koshigaya-official-reservation-link{display:inline-flex;align-items:center;justify-content:center;margin-top:10px;padding:10px 18px;border:1px solid #1d6c5a;border-radius:999px;color:#1d6c5a;font-weight:800;text-decoration:none;background:#fff}.koshigaya-official-reservation-link:hover{background:#eef8f4}
.facility-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:34px 0 26px}.facility-card{background:#fff;border:1px solid rgba(135,103,69,.18);border-radius:24px;padding:28px;box-shadow:0 14px 30px rgba(74,54,32,.08)}.facility-card h3{font-size:1.35rem;margin:0 0 8px;color:#4c321f}.facility-sub{font-weight:700;color:#8b5e34;margin:0 0 16px}.facility-card dl{margin:20px 0 0;border-top:1px solid rgba(135,103,69,.15)}.facility-card dt{font-weight:700;color:#6f4b28;margin-top:14px}.facility-card dd{margin:4px 0 0;line-height:1.8}.fee-accordion-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.fee-accordion{background:#fff;border:1px solid rgba(128,96,56,.18);border-radius:18px;box-shadow:0 8px 22px rgba(76,49,20,.06);overflow:hidden}.fee-accordion summary{cursor:pointer;list-style:none;position:relative;padding:20px 56px 20px 22px;font-weight:700;color:#4c321f;background:linear-gradient(90deg,#fffdf8,#fbf3e9)}.fee-accordion summary::-webkit-details-marker{display:none}.fee-accordion summary:after{content:'+';position:absolute;right:22px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:#8f6a3d;color:#fff;display:grid;place-items:center;font-weight:700}.fee-accordion[open] summary:after{content:'−'}.fee-accordion__body{padding:22px}.price-cell{text-align:right;font-weight:700;white-space:nowrap}.compact-list{columns:2;column-gap:28px;margin:0}.compact-list li{break-inside:avoid;margin-bottom:10px}.number-list{counter-reset:koshigaya-step;list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px}.number-list li{position:relative;padding:12px 16px 12px 48px;background:#fff;border-radius:12px;border:1px solid rgba(135,103,69,.12)}.number-list li:before{counter-increment:koshigaya-step;content:counter(koshigaya-step);position:absolute;left:14px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;background:#8f6a3d;color:#fff;display:grid;place-items:center;font-size:.85rem;font-weight:700}.procedure-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.procedure-grid article{background:#fff;border-radius:22px;padding:24px;box-shadow:0 12px 28px rgba(74,54,32,.07);border:1px solid rgba(135,103,69,.14)}.procedure-grid h3{margin-top:0;color:#4c321f}.area-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:26px}.area-grid article{background:#fff;border:1px solid rgba(135,103,69,.14);border-radius:20px;padding:22px;box-shadow:0 10px 24px rgba(74,54,32,.05)}.area-grid h3{margin-top:0;color:#4c321f}.koshigaya-guide-accordion details,.koshigaya-hall-guide details{scroll-margin-top:100px}@media(max-width:900px){.facility-cards,.procedure-grid,.area-grid,.fee-accordion-list{grid-template-columns:1fr}.compact-list{columns:1}.fee-accordion summary{padding-right:52px}.fee-accordion__body{padding:16px}.price-cell{text-align:left}}


.hall-intro-noimage{max-width:100%;margin:0 0 28px!important;}
.facility-photo-cards{margin-top:28px;margin-bottom:30px;}
.facility-photo{margin:0 0 18px;border-radius:20px;overflow:hidden;border:1px solid rgba(135,103,69,.16);background:#fff;box-shadow:0 10px 24px rgba(74,54,32,.06)}
.facility-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.koshigaya-facility-guide{margin-top:26px;}
.koshigaya-facility-guide details{margin-bottom:14px;}
.koshigaya-facility-guide .guide-table th{vertical-align:top;}
@media(max-width:900px){.facility-photo img{aspect-ratio:16/10}.koshigaya-facility-guide .guide-table-wide{min-width:680px}}

/* ===== Fee table no horizontal scroll adjustment ===== */
#fee-table .fee-accordion__body .table-wrap{
  overflow-x:visible!important;
  -webkit-overflow-scrolling:auto!important;
}
#fee-table .fee-accordion__body .guide-table,
#fee-table .fee-accordion__body .guide-table-wide,
#fee-table .fee-accordion__body .guide-table-notice{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  table-layout:fixed!important;
  font-size:15px!important;
}
#fee-table .fee-accordion__body .guide-table th,
#fee-table .fee-accordion__body .guide-table td{
  white-space:normal!important;
  overflow-wrap:anywhere;
  word-break:normal;
  line-break:strict;
  padding:12px 10px;
}
#fee-table .fee-accordion__body .guide-table tbody th{
  width:auto!important;
}
#fee-table .fee-accordion__body .guide-table th:first-child,
#fee-table .fee-accordion__body .guide-table td:first-child{
  width:34%;
}
#fee-table .fee-accordion__body .guide-table th:nth-child(2),
#fee-table .fee-accordion__body .guide-table td:nth-child(2){
  width:32%;
}
#fee-table .fee-accordion__body .guide-table th:nth-child(3),
#fee-table .fee-accordion__body .guide-table td:nth-child(3){
  width:34%;
}
#fee-table .fee-accordion__body .guide-table th:nth-child(4),
#fee-table .fee-accordion__body .guide-table td:nth-child(4){
  width:22%;
}
#fee-table .fee-accordion__body .guide-table thead th{
  font-size:14px!important;
}
#fee-table .price-cell{
  text-align:right;
  white-space:normal!important;
  overflow-wrap:normal;
}
@media(max-width:900px){
  #fee-table .fee-accordion__body .guide-table,
  #fee-table .fee-accordion__body .guide-table-wide,
  #fee-table .fee-accordion__body .guide-table-notice{
    font-size:15px!important;
  }
  #fee-table .fee-accordion__body .guide-table th,
  #fee-table .fee-accordion__body .guide-table td{
    padding:12px 9px;
  }
  #fee-table .price-cell{text-align:right;}
}
@media(max-width:560px){
  #fee-table .fee-accordion-list{grid-template-columns:1fr!important;}
  #fee-table .fee-accordion__body .guide-table th:first-child,
  #fee-table .fee-accordion__body .guide-table td:first-child{width:36%;}
  #fee-table .fee-accordion__body .guide-table th:nth-child(2),
  #fee-table .fee-accordion__body .guide-table td:nth-child(2){width:30%;}
  #fee-table .fee-accordion__body .guide-table th:nth-child(3),
  #fee-table .fee-accordion__body .guide-table td:nth-child(3){width:34%;}
}

/* 火葬料・待合室使用料：単位列を狭くし、区分列を広く表示 */
#fee-table .fee-accordion__body .fee-table-unit-narrow th:first-child,
#fee-table .fee-accordion__body .fee-table-unit-narrow td:first-child{
  width:50%!important;
}
#fee-table .fee-accordion__body .fee-table-unit-narrow th:nth-child(2),
#fee-table .fee-accordion__body .fee-table-unit-narrow td:nth-child(2){
  width:16%!important;
  text-align:center;
}
#fee-table .fee-accordion__body .fee-table-unit-narrow th:nth-child(3),
#fee-table .fee-accordion__body .fee-table-unit-narrow td:nth-child(3){
  width:34%!important;
}
@media(max-width:560px){
  #fee-table .fee-accordion__body .fee-table-unit-narrow th:first-child,
  #fee-table .fee-accordion__body .fee-table-unit-narrow td:first-child{width:52%!important;}
  #fee-table .fee-accordion__body .fee-table-unit-narrow th:nth-child(2),
  #fee-table .fee-accordion__body .fee-table-unit-narrow td:nth-child(2){width:15%!important;}
  #fee-table .fee-accordion__body .fee-table-unit-narrow th:nth-child(3),
  #fee-table .fee-accordion__body .fee-table-unit-narrow td:nth-child(3){width:33%!important;}
}

/* 2026-06-22: Koshigaya final adjustments */
.consult-section{padding-top:76px;padding-bottom:76px;}
.consult-card-koshigaya{position:relative;overflow:hidden;max-width:1120px;margin:0 auto;padding:42px 46px;border-radius:30px;background:linear-gradient(135deg,#ffffff 0%,#f7fcfa 52%,#fff7ec 100%);border:1px solid rgba(29,108,90,.14);box-shadow:0 20px 48px rgba(27,87,76,.10);text-align:center;}
.consult-card-koshigaya:before{content:"";position:absolute;left:-80px;top:-95px;width:220px;height:220px;border-radius:50%;background:rgba(29,108,90,.07);}
.consult-card-koshigaya:after{content:"";position:absolute;right:-70px;bottom:-95px;width:220px;height:220px;border-radius:50%;background:rgba(239,125,67,.10);}
.consult-card-koshigaya > *{position:relative;z-index:1;}
.consult-label{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-bottom:14px;padding:7px 18px;border-radius:999px;background:#eaf7f2;color:var(--green);font-size:13px;font-weight:900;letter-spacing:.16em;}
.consult-card-koshigaya h2{margin:0 0 14px;color:#173f38;font-size:clamp(28px,3vw,38px);line-height:1.45;font-weight:900;}
.consult-card-koshigaya p{max-width:880px;margin:0 auto 22px;color:#465d58;font-size:16px;line-height:1.95;}
.consult-points{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:0 auto 28px;}
.consult-points span{display:inline-flex;align-items:center;min-height:34px;padding:6px 14px;border-radius:999px;background:#fff;border:1px solid #dceae5;color:#1d6c5a;font-size:13px;font-weight:900;box-shadow:0 6px 14px rgba(27,87,76,.05);}
.contact-cta-row{margin-top:4px;}
.contact-cta-row .cta{min-height:62px;border-radius:16px;}
@media(max-width:820px){.consult-section{padding-top:54px;padding-bottom:54px}.consult-card-koshigaya{padding:28px 18px;border-radius:24px}.consult-card-koshigaya p{font-size:14.5px;line-height:1.85}.consult-points{gap:8px;margin-bottom:22px}.consult-points span{font-size:12px;padding:6px 10px}.contact-cta-row{display:grid;grid-template-columns:1fr 1fr}.contact-cta-row .cta-tel{grid-column:1/-1}.section-title h2 br{display:block;}}

/* 2026-06-27: FAQ category accordion + admin logo compatibility */
.logo img{object-fit:contain;border-radius:0;}
.faq-groups{display:grid;gap:18px;max-width:1120px;margin:0 auto;}
.faq-group{display:block;padding:0!important;border-radius:24px;background:linear-gradient(180deg,#ffffff 0%,#f7fcfa 100%);border:1px solid #d9eae4;box-shadow:0 12px 26px rgba(27,87,76,.06);overflow:hidden;}
.faq-group-title{list-style:none;cursor:pointer;position:relative;display:block;padding:22px 64px 22px 28px;color:var(--deep);font-weight:900;font-size:24px;line-height:1.5;background:#fff;}
.faq-group-title::-webkit-details-marker{display:none;}
.faq-group-title:after{content:'+';position:absolute;right:24px;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-size:24px;line-height:1;font-weight:900;}
.faq-group[open]>.faq-group-title:after{content:'−';}
.faq-group>.faq-list{max-width:none;margin:0;padding:0 24px 24px;}
.faq-group:not([open])>.faq-list{display:none;}
@media(max-width:900px){.faq-group-title{font-size:20px;padding:18px 58px 18px 18px}.faq-group-title:after{right:16px;width:32px;height:32px}.faq-group>.faq-list{padding:0 14px 18px}}

/* 2026-06-27: FAQ category title readability and clear open/close controls */
.faq-groups .faq-group{
  border-radius:24px!important;
  overflow:hidden!important;
}
.faq-groups .faq-group-title{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding:26px 30px!important;
  min-height:92px!important;
  list-style:none!important;
  cursor:pointer!important;
  color:var(--deep)!important;
  background:#fff!important;
  font-size:28px!important;
  font-weight:900!important;
  line-height:1.45!important;
  letter-spacing:.02em!important;
}
.faq-groups .faq-group-title::-webkit-details-marker{display:none!important;}
.faq-groups .faq-group-title::marker{content:""!important;font-size:0!important;}
.faq-groups .faq-group-title:before{content:none!important;display:none!important;}
.faq-groups .faq-group-title span{display:block!important;flex:1 1 auto!important;min-width:0!important;font-weight:900!important;}
.faq-groups .faq-group-title:after{
  content:'+'!important;
  position:static!important;
  transform:none!important;
  flex:0 0 42px!important;
  width:42px!important;
  height:42px!important;
  border-radius:50%!important;
  background:linear-gradient(135deg,var(--green),var(--green2))!important;
  color:#fff!important;
  display:grid!important;
  place-items:center!important;
  font-size:30px!important;
  line-height:1!important;
  font-weight:900!important;
  box-shadow:0 8px 18px rgba(27,87,76,.18)!important;
}
.faq-groups .faq-group[open]>.faq-group-title:after{content:'−'!important;}
.faq-groups .faq-group-title:hover{background:#f8fcfa!important;}
@media(max-width:900px){
  .faq-groups .faq-group-title{
    padding:20px 18px!important;
    min-height:76px!important;
    font-size:21px!important;
    line-height:1.5!important;
  }
  .faq-groups .faq-group-title:after{
    flex-basis:36px!important;
    width:36px!important;
    height:36px!important;
    font-size:26px!important;
  }
}


.koshigaya-detail-consult{padding:28px 0 30px}
.koshigaya-detail-consult:before,.koshigaya-detail-consult:after{display:none}
.detail-consult-buttons{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;position:relative;z-index:1}
.detail-consult-buttons .cta{min-height:54px;border-radius:999px;padding:0 26px;font-size:18px;letter-spacing:.02em;box-shadow:none}
.detail-consult-buttons .cta-tel{min-width:0;flex-direction:row;line-height:1.2;font-size:17px;white-space:nowrap}
.detail-consult-buttons .cta-tel small{display:none}
.detail-consult-buttons .cta-mail,.detail-consult-buttons .cta-line{min-width:0;font-size:17px;white-space:nowrap}
@media (max-width:820px){
  .koshigaya-detail-consult{padding:22px 0 24px}
  .detail-consult-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .detail-consult-buttons .cta{width:100%;min-height:52px;padding:0 14px;font-size:16px}
  .detail-consult-buttons .cta-tel{grid-column:1/-1;font-size:16px}
}


/* 下層記事詳細ページ下部の無料相談CTA：旧1ボタンを3ボタンに置換後の表示 */
.koshigaya-detail-consult-auto{
  background:#15584d!important;
  border-radius:12px!important;
  padding:28px 24px!important;
  margin:28px 0!important;
  text-align:center!important;
  box-sizing:border-box!important;
  color:#fff!important;
  box-shadow:none!important;
}
.koshigaya-detail-consult-auto:before,
.koshigaya-detail-consult-auto:after{display:none!important;content:none!important}
.koshigaya-detail-consult-auto .container,
.koshigaya-detail-consult-auto .final-cta-inner{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.koshigaya-detail-consult-buttons{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:14px!important;
  flex-wrap:wrap!important;
  width:100%!important;
  position:relative!important;
  z-index:2!important;
}
.koshigaya-detail-consult-buttons .cta{
  min-height:54px!important;
  border-radius:999px!important;
  padding:0 26px!important;
  font-size:18px!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
  color:#fff!important;
  text-decoration:none!important;
  box-shadow:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1.2!important;
  min-width:0!important;
  width:auto!important;
  flex:0 0 auto!important;
  white-space:nowrap!important;
}
.koshigaya-detail-consult-buttons .cta-tel{background:#ef7838!important;flex-direction:row!important;font-size:17px!important}
.koshigaya-detail-consult-buttons .cta-mail{background:#55a9c9!important;font-size:17px!important}
.koshigaya-detail-consult-buttons .cta-line{background:#24bd72!important;font-size:17px!important}
.koshigaya-detail-consult-buttons .cta-tel small{display:none!important}
@media (max-width:820px){
  .koshigaya-detail-consult-auto{padding:22px 16px!important;margin:22px 0!important}
  .koshigaya-detail-consult-buttons{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
  .koshigaya-detail-consult-buttons .cta{width:100%!important;min-height:52px!important;padding:0 12px!important;font-size:16px!important}
  .koshigaya-detail-consult-buttons .cta-tel{grid-column:1/-1!important;font-size:16px!important}
}

/* koshigaya archive/list/detail pages */
.archive-hero{padding-top:72px;padding-bottom:48px}.archive-hero .section-title h1{margin:10px 0 10px;color:#173f38;font-size:clamp(30px,3vw,42px);line-height:1.45;font-weight:900}.archive-hero a{color:var(--green);font-weight:900}.archive-list-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.archive-card,.archive-detail-card{background:#fff;border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow-soft);overflow:hidden}.archive-card-body{padding:22px}.archive-card h2,.archive-detail-card h2{margin:0 0 12px;color:var(--deep);font-size:22px;line-height:1.5}.archive-card h2 a{color:inherit;text-decoration:none}.archive-card p{margin:0 0 18px;color:#60736e}.archive-thumb{display:block;background:#f3f7f5}.archive-thumb img{display:block;width:100%;aspect-ratio:4/2.6;object-fit:cover}.archive-more{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--green);color:#fff!important;text-decoration:none;font-weight:900;min-height:40px;padding:0 18px}.archive-detail-container{max-width:960px}.archive-detail-card{padding:34px}.archive-detail-image{margin:0 0 26px;border-radius:20px;overflow:hidden}.archive-detail-image img{display:block;width:100%;height:auto}.archive-meta-table{margin:20px 0 28px;border-top:1px solid var(--border)}.archive-meta-table div{display:grid;grid-template-columns:150px 1fr;border-bottom:1px solid var(--border)}.archive-meta-table dt{padding:14px 16px;background:#f0f8f5;color:var(--green);font-weight:900}.archive-meta-table dd{margin:0;padding:14px 18px}.archive-detail-body{color:#435d56;font-size:16px;line-height:2}.archive-detail-body p{margin:0 0 1.2em}.koshigaya-detail-consult{margin-top:30px;border-radius:26px}.koshigaya-detail-consult .final-cta-inner{text-align:center}.koshigaya-detail-consult h2{margin:0 0 18px;color:#fff;font-size:clamp(24px,2.5vw,34px)}.detail-consult-buttons{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;position:relative;z-index:1}.detail-consult-buttons .cta{min-height:56px;border-radius:999px;padding:0 26px;font-size:18px;letter-spacing:.02em}.detail-consult-buttons .cta-tel{min-width:250px;flex-direction:row;line-height:1.2;font-size:17px;white-space:nowrap}.detail-consult-buttons .cta-mail,.detail-consult-buttons .cta-line{min-width:150px;font-size:17px;white-space:nowrap}@media(max-width:900px){.archive-list-grid{grid-template-columns:1fr}.archive-detail-card{padding:22px}.archive-meta-table div{grid-template-columns:1fr}.archive-meta-table dt{padding-bottom:6px}.archive-meta-table dd{padding-top:6px}.detail-consult-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}.detail-consult-buttons .cta{width:100%;min-height:52px;padding:0 14px;font-size:16px}.detail-consult-buttons .cta-tel{grid-column:1/-1;min-width:0;font-size:16px}}

/* ===== 越谷市 一覧・詳細ページ改善（works / voice） ===== */
.koshigaya-archive-page{background:#f7fbf9;color:var(--text)}
.koshigaya-archive-page .site-header{position:relative;z-index:30}
.koshigaya-archive-page .archive-hero{padding:58px 0 46px;background:linear-gradient(135deg,#edf8f4 0%,#fffdf8 100%)}
.archive-breadcrumb{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:0 0 22px;color:#627873;font-size:13px;font-weight:800}
.archive-breadcrumb a{color:var(--green);text-decoration:none}.archive-breadcrumb b{color:#39534c;font-weight:900}.archive-breadcrumb span{color:#a6b7b1}
.archive-section-title{margin-bottom:0}.archive-section-title h1{font-size:clamp(30px,3.3vw,44px);line-height:1.45;margin:10px 0 12px;color:var(--deep);font-weight:900}.archive-section-title a{color:var(--green);font-weight:900;text-decoration:none;border-bottom:2px solid rgba(29,108,90,.25)}
.koshigaya-archive-page .archive-list-section,.koshigaya-archive-page .archive-detail-section{padding:64px 0 82px;background:#fff}
.koshigaya-archive-page .archive-list-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;align-items:stretch}
.koshigaya-archive-page .archive-card{display:flex;flex-direction:column;background:#fff;border:1px solid #dfeee8;border-radius:26px;box-shadow:0 16px 36px rgba(27,87,76,.08);overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.koshigaya-archive-page .archive-card:hover{transform:translateY(-4px);box-shadow:0 22px 46px rgba(27,87,76,.13);border-color:#b9ddd2}
.koshigaya-archive-page .archive-thumb{display:block;position:relative;background:#edf7f3;text-decoration:none;overflow:hidden}
.koshigaya-archive-page .archive-thumb img{display:block;width:100%;aspect-ratio:4/2.6;object-fit:cover;transition:transform .25s ease}.koshigaya-archive-page .archive-card:hover .archive-thumb img{transform:scale(1.035)}
.archive-thumb-placeholder{aspect-ratio:4/2.6;display:flex!important;align-items:center;justify-content:center;background:linear-gradient(135deg,#e9f6f1,#fff8e6)}.archive-thumb-placeholder span{display:grid;place-items:center;width:82px;height:82px;border-radius:50%;background:#fff;color:var(--green);font-weight:900;letter-spacing:.12em;box-shadow:0 12px 26px rgba(27,87,76,.1)}
.koshigaya-archive-page .archive-card-body{display:flex;flex-direction:column;gap:12px;flex:1;padding:24px}
.archive-type-label{display:inline-flex;align-items:center;align-self:flex-start;margin:0;padding:5px 12px;border-radius:999px;background:#eaf7f2;color:var(--green)!important;font-size:12px!important;font-weight:900;letter-spacing:.12em}
.koshigaya-archive-page .archive-card h2{margin:0;color:var(--deep);font-size:21px;line-height:1.55;font-weight:900}.koshigaya-archive-page .archive-card h2 a{color:inherit;text-decoration:none}.koshigaya-archive-page .archive-card p{margin:0;color:#60736e;line-height:1.85;font-size:15px}
.archive-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin:0}.archive-chip-row span{display:inline-flex;max-width:100%;border:1px solid #dceee8;background:#f7fcfa;color:#3d6259;border-radius:999px;padding:5px 11px;font-size:12px;font-weight:800;line-height:1.45}
.koshigaya-archive-page .archive-more{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;margin-top:auto;border-radius:999px;background:linear-gradient(135deg,var(--green),var(--green2));color:#fff!important;text-decoration:none;font-weight:900;min-height:42px;padding:0 20px;box-shadow:0 10px 22px rgba(29,108,90,.18)}
.archive-detail-container{max-width:1000px}.koshigaya-archive-page .archive-detail-card{background:#fff;border:1px solid #dfeee8;border-radius:30px;box-shadow:0 18px 44px rgba(27,87,76,.09);overflow:hidden;padding:0}.archive-detail-image{margin:0;background:#edf7f3}.archive-detail-image img{display:block;width:100%;max-height:520px;object-fit:cover}.archive-detail-head{padding:34px 40px 18px}.archive-detail-head h2{margin:12px 0 0;color:var(--deep);font-size:clamp(26px,3vw,38px);line-height:1.5;font-weight:900}
.archive-meta-table{margin:10px 40px 28px;border:1px solid #dceee8;border-radius:18px;overflow:hidden;background:#fff}.archive-meta-table div{display:grid;grid-template-columns:160px 1fr;border-bottom:1px solid #dceee8}.archive-meta-table div:last-child{border-bottom:0}.archive-meta-table dt{padding:15px 18px;background:#f0f8f5;color:var(--green);font-weight:900}.archive-meta-table dd{margin:0;padding:15px 20px;color:#405852;font-weight:700}.archive-detail-body{padding:0 40px 40px;color:#435d56;font-size:16.5px;line-height:2.05}.archive-detail-body p{margin:0 0 1.25em}.archive-detail-body img{max-width:100%;height:auto;border-radius:16px}.archive-empty-card{background:#fff;border:1px solid #dfeee8;border-radius:26px;box-shadow:0 16px 36px rgba(27,87,76,.08);padding:32px;text-align:center;color:#60736e}.archive-empty-card h2{margin-top:0;color:var(--deep)}
.koshigaya-archive-page .koshigaya-detail-consult{margin:36px 0 0;border-radius:30px;padding:42px 24px;background:linear-gradient(135deg,#174b43,#26856f)}.koshigaya-archive-page .koshigaya-detail-consult .container{width:min(100%,1000px)}.koshigaya-archive-page .koshigaya-detail-consult h2{margin:0 0 22px;color:#fff;font-size:clamp(26px,3vw,36px)}.koshigaya-archive-page .detail-consult-buttons{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap}.koshigaya-archive-page .detail-consult-buttons .cta{min-height:58px;border-radius:999px;padding:0 28px;font-size:18px}.koshigaya-archive-page .detail-consult-buttons .cta-tel{flex-direction:column;line-height:1.22;font-size:22px;min-width:240px}.koshigaya-archive-page .detail-consult-buttons .cta-tel small{display:block!important;font-size:12px}.koshigaya-archive-page .detail-consult-buttons .cta-mail,.koshigaya-archive-page .detail-consult-buttons .cta-line{min-width:150px}
@media(max-width:980px){.koshigaya-archive-page .archive-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.koshigaya-archive-page .archive-hero{padding:42px 0 34px}.koshigaya-archive-page .archive-list-section,.koshigaya-archive-page .archive-detail-section{padding:46px 0 60px}.koshigaya-archive-page .archive-list-grid{grid-template-columns:1fr}.archive-detail-head{padding:26px 22px 14px}.archive-meta-table{margin:8px 22px 22px}.archive-meta-table div{grid-template-columns:1fr}.archive-meta-table dt{padding:12px 16px 4px}.archive-meta-table dd{padding:4px 16px 12px}.archive-detail-body{padding:0 22px 28px;font-size:15.5px}.koshigaya-archive-page .koshigaya-detail-consult{border-radius:24px;padding:30px 16px}.koshigaya-archive-page .detail-consult-buttons{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:10px}.koshigaya-archive-page .detail-consult-buttons .cta{width:100%;min-height:54px;padding:0 14px;font-size:16px}.koshigaya-archive-page .detail-consult-buttons .cta-tel{grid-column:1/-1;min-width:0;font-size:21px}.archive-breadcrumb{font-size:12px}}

/* 2026-07: archive link/body/image/category fixes */
.koshigaya-archive-page .archive-card-link{color:inherit;text-decoration:none;cursor:pointer}
.koshigaya-archive-page .archive-card-link:focus{outline:3px solid rgba(29,108,90,.35);outline-offset:4px}
.koshigaya-archive-page .archive-card-title{display:block;margin:0;color:var(--deep);font-size:21px;line-height:1.55;font-weight:900}
.koshigaya-archive-page .archive-card-excerpt{display:block;margin:0;color:#60736e;line-height:1.85;font-size:15px}
.koshigaya-archive-page .archive-card-link .archive-more{pointer-events:none}
.archive-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:0 40px 40px}
.archive-gallery figure{margin:0;border-radius:18px;overflow:hidden;background:#edf7f3;border:1px solid #dfeee8}
.archive-gallery img{display:block;width:100%;height:auto;object-fit:cover}
@media(max-width:820px){.archive-gallery{grid-template-columns:1fr;padding:0 22px 28px;gap:14px}.koshigaya-archive-page .archive-card-title{font-size:20px}}


.archive-detail-image figcaption,
.archive-gallery figcaption{
  padding:12px 16px;
  background:#f4fbf8;
  color:#31564e;
  font-weight:900;
  text-align:center;
  border-top:1px solid #dfeee8;
}
.archive-detail-image figcaption{
  font-size:16px;
}
.archive-gallery figcaption{
  font-size:15px;
}


/* 越谷トップの葬儀実績・お客様の声カードを一覧ページと統一 */
.home-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:4px}
.home-archive-grid .archive-card{display:flex;flex-direction:column;background:#fff;border:1px solid #dfeee8;border-radius:26px;box-shadow:0 16px 36px rgba(27,87,76,.08);overflow:hidden;text-decoration:none;color:inherit;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.home-archive-grid .archive-card:hover{transform:translateY(-4px);box-shadow:0 22px 46px rgba(27,87,76,.13);border-color:#b9ddd2}
.home-archive-grid .archive-card-body{display:flex;flex-direction:column;gap:12px;flex:1;padding:24px}
.home-archive-grid .archive-thumb{display:block;background:#f3f7f5;overflow:hidden}
.home-archive-grid .archive-thumb img{display:block;width:100%;aspect-ratio:4/2.6;object-fit:cover;transition:transform .25s ease}
.home-archive-grid .archive-card:hover .archive-thumb img{transform:scale(1.035)}
.archive-voice-media{display:grid;grid-template-columns:82px 1fr;gap:14px;align-items:stretch;padding:18px 18px 0}
.archive-voice-media .voice-icon{width:82px;height:118px;margin:0;border-radius:20px;background:linear-gradient(135deg,#dff2eb,#f8fffc);border:1px solid #d5e9e2;color:var(--green);font-size:24px;box-shadow:none}
.archive-voice-thumb{border-radius:20px;border:1px solid #dfeee8;min-height:118px}
.archive-voice-thumb img{height:118px;aspect-ratio:auto!important;object-fit:cover;background:#fff}
.archive-thumb-placeholder{display:flex;align-items:center;justify-content:center;min-height:160px;color:var(--green);font-weight:900;letter-spacing:.12em}
.archive-card-link .archive-more{pointer-events:none}
@media(max-width:900px){.home-archive-grid{grid-template-columns:1fr}.archive-voice-media{grid-template-columns:70px 1fr}.archive-voice-media .voice-icon{width:70px;height:106px}.archive-voice-thumb{min-height:106px}.archive-voice-thumb img{height:106px}}

/* 越谷版：一覧への導線ボタンをトップページの以前の見た目に戻す */
.srr-more{margin:30px 0 0;text-align:center}
.srr-more a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 28px;border-radius:999px;background:linear-gradient(135deg,var(--green),var(--green2));color:#fff!important;text-decoration:none;font-weight:900;box-shadow:0 12px 26px rgba(29,108,90,.18);letter-spacing:.04em}
.srr-more a:hover{filter:brightness(1.04);transform:translateY(-1px)}

/* お客様の声：管理画面設定のイラスト＋アンケートサムネイルを横並び表示 */
.archive-voice-media{display:grid;grid-template-columns:82px 1fr;gap:14px;align-items:stretch;padding:18px 18px 0}
.archive-voice-media .voice-icon{width:82px;height:118px;margin:0;border-radius:20px;background:linear-gradient(135deg,#dff2eb,#f8fffc);border:1px solid #d5e9e2;color:var(--green);font-size:24px;box-shadow:none;display:flex;align-items:center;justify-content:center;font-weight:900;overflow:hidden}
.archive-voice-media .voice-icon img{display:block;width:100%;height:100%;object-fit:cover}
.archive-voice-thumb{border-radius:20px;border:1px solid #dfeee8;min-height:118px;overflow:hidden;background:#fff}
.archive-voice-thumb img{display:block;width:100%;height:118px!important;aspect-ratio:auto!important;object-fit:cover;background:#fff}
.koshigaya-archive-page .archive-card-voice .archive-voice-media{padding:18px 18px 0}
.koshigaya-archive-page .archive-card-voice .archive-thumb img{height:118px!important;aspect-ratio:auto!important}
@media(max-width:900px){.archive-voice-media{grid-template-columns:70px 1fr}.archive-voice-media .voice-icon{width:70px;height:106px}.archive-voice-thumb{min-height:106px}.archive-voice-thumb img,.koshigaya-archive-page .archive-card-voice .archive-thumb img{height:106px!important}}

/* お客様の声カード：masteradmin/reprint.php設定の人物イラストを切らずに表示 */
.archive-voice-media .voice-icon.voice-illustration img{
  width:100%;
  height:100%;
  object-fit:contain!important;
  padding:8px;
  box-sizing:border-box;
  background:#f8fffc;
}

/* お客様の声カード：人物イラストを正方形で大きく表示し、アンケート画像は全体表示 */
.archive-voice-media{
  grid-template-columns:124px minmax(0,1fr)!important;
  align-items:center!important;
  gap:14px!important;
}
.archive-voice-media .voice-icon{
  width:124px!important;
  height:124px!important;
  border-radius:22px!important;
}
.archive-voice-media .voice-icon.voice-illustration img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  padding:4px!important;
  box-sizing:border-box!important;
}
.archive-voice-thumb{
  min-height:124px!important;
  height:124px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.archive-voice-thumb img,
.koshigaya-archive-page .archive-card-voice .archive-thumb img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  padding:6px!important;
  box-sizing:border-box!important;
  background:#fff!important;
}
@media(max-width:900px){
  .archive-voice-media{grid-template-columns:104px minmax(0,1fr)!important;gap:12px!important;}
  .archive-voice-media .voice-icon{width:104px!important;height:104px!important;border-radius:20px!important;}
  .archive-voice-thumb{min-height:104px!important;height:104px!important;}
  .archive-voice-thumb img,
  .koshigaya-archive-page .archive-card-voice .archive-thumb img{height:100%!important;}
}
@media(max-width:480px){
  .archive-voice-media{grid-template-columns:92px minmax(0,1fr)!important;gap:10px!important;}
  .archive-voice-media .voice-icon{width:92px!important;height:92px!important;}
  .archive-voice-thumb{min-height:92px!important;height:92px!important;}
}


/* お客様の声詳細：トップ画像は拡大・トリミングせず全体表示 */
.archive-type-voice.archive-detail-view .archive-detail-card{
  padding:36px 40px 42px!important;
  overflow:visible!important;
}
.archive-type-voice.archive-detail-view .archive-detail-image{
  margin:0 auto 30px!important;
  padding:22px!important;
  border:1px solid #dfeee8!important;
  border-radius:26px!important;
  background:linear-gradient(135deg,#f7fcfa,#fff)!important;
  box-shadow:0 12px 30px rgba(27,87,76,.07)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
}
.archive-type-voice.archive-detail-view .archive-detail-image img{
  display:block!important;
  width:min(100%,680px)!important;
  max-width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center center!important;
  margin:0 auto!important;
  border-radius:16px!important;
  background:#fff!important;
  transform:none!important;
}
.archive-type-voice.archive-detail-view .archive-detail-head{
  padding:0 0 18px!important;
}
.archive-type-voice.archive-detail-view .archive-meta-table{
  margin:10px 0 28px!important;
}
.archive-type-voice.archive-detail-view .archive-detail-body{
  padding:0 0 10px!important;
}
.archive-type-voice.archive-detail-view .archive-gallery{
  padding:20px 0 0!important;
}
@media(max-width:820px){
  .archive-type-voice.archive-detail-view .archive-detail-card{padding:22px 18px 28px!important;}
  .archive-type-voice.archive-detail-view .archive-detail-image{padding:14px!important;border-radius:22px!important;margin-bottom:24px!important;}
  .archive-type-voice.archive-detail-view .archive-detail-image img{width:100%!important;border-radius:14px!important;}
}

/* 2026-08: 越谷ページCTAデザイン強化 */
.mini-cta,
.consult-card-koshigaya,
.final-cta,
.koshigaya-archive-page .koshigaya-detail-consult{
  position:relative!important;
  isolation:isolate;
  overflow:hidden!important;
}
.mini-cta,
.koshigaya-archive-page .koshigaya-detail-consult,
body:not(.koshigaya-archive-page) > main > .final-cta,
main > .final-cta:not(.koshigaya-detail-consult){
  max-width:1120px;
  margin-left:auto;
  margin-right:auto;
  border-radius:32px!important;
  padding:48px 48px!important;
  background:
    radial-gradient(circle at 12% 18%, rgba(255,255,255,.16) 0, rgba(255,255,255,.10) 19%, transparent 20%),
    radial-gradient(circle at 88% 82%, rgba(214,170,79,.24) 0, rgba(214,170,79,.11) 24%, transparent 25%),
    linear-gradient(135deg,#104a42 0%,#1b6c5d 48%,#27876f 100%)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:0 26px 64px rgba(21,88,77,.22), inset 0 1px 0 rgba(255,255,255,.16)!important;
  color:#fff!important;
}
.mini-cta:before,
.koshigaya-archive-page .koshigaya-detail-consult:before,
body:not(.koshigaya-archive-page) > main > .final-cta:before,
main > .final-cta:not(.koshigaya-detail-consult):before{
  content:"";
  position:absolute;
  left:30px;
  top:30px;
  width:88px;
  height:88px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.24);
  background:rgba(255,255,255,.06);
  z-index:-1;
}
.mini-cta:after,
.koshigaya-archive-page .koshigaya-detail-consult:after,
body:not(.koshigaya-archive-page) > main > .final-cta:after,
main > .final-cta:not(.koshigaya-detail-consult):after{
  content:"";
  position:absolute;
  right:-54px;
  bottom:-72px;
  width:210px;
  height:210px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  z-index:-1;
}
.mini-cta h3,
.final-cta h2,
.koshigaya-archive-page .koshigaya-detail-consult h2{
  color:#fff!important;
  font-weight:900!important;
  letter-spacing:.04em;
  text-shadow:0 2px 12px rgba(0,0,0,.12);
}
.mini-cta h3{
  font-size:clamp(25px,2.35vw,34px)!important;
  margin-bottom:14px!important;
}
.mini-cta p,
.final-cta p,
.koshigaya-archive-page .koshigaya-detail-consult p:not(.consult-label){
  color:#edf9f5!important;
  font-size:16.5px;
  line-height:2.05;
}
.mini-cta .cta-row,
.final-cta .cta-row,
.contact-cta-row,
.koshigaya-archive-page .detail-consult-buttons{
  gap:16px!important;
}
.mini-cta .cta,
.consult-card-koshigaya .cta,
.final-cta .cta,
.koshigaya-archive-page .detail-consult-buttons .cta{
  min-height:62px!important;
  border-radius:18px!important;
  padding:0 30px!important;
  border:1px solid rgba(255,255,255,.20)!important;
  box-shadow:0 16px 30px rgba(0,0,0,.18)!important;
  transform:translateZ(0);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.mini-cta .cta:hover,
.consult-card-koshigaya .cta:hover,
.final-cta .cta:hover,
.koshigaya-archive-page .detail-consult-buttons .cta:hover{
  transform:translateY(-2px);
  filter:saturate(1.05) brightness(1.03);
  box-shadow:0 20px 38px rgba(0,0,0,.23)!important;
}
.mini-cta .cta-tel,
.consult-card-koshigaya .cta-tel,
.final-cta .cta-tel,
.koshigaya-archive-page .detail-consult-buttons .cta-tel{
  min-width:250px!important;
  background:linear-gradient(135deg,#ff8a45 0%,#ef6f2d 100%)!important;
  font-size:25px!important;
}
.mini-cta .cta-tel small,
.consult-card-koshigaya .cta-tel small,
.final-cta .cta-tel small,
.koshigaya-archive-page .detail-consult-buttons .cta-tel small{
  display:block!important;
  font-size:12px!important;
  letter-spacing:.04em;
  opacity:.96;
}
.mini-cta .cta-mail,
.consult-card-koshigaya .cta-mail,
.final-cta .cta-mail,
.koshigaya-archive-page .detail-consult-buttons .cta-mail{
  background:linear-gradient(135deg,#66b6d3 0%,#3f97bd 100%)!important;
}
.mini-cta .cta-line,
.consult-card-koshigaya .cta-line,
.final-cta .cta-line,
.koshigaya-archive-page .detail-consult-buttons .cta-line{
  background:linear-gradient(135deg,#38c97d 0%,#1fab63 100%)!important;
}
.consult-card-koshigaya{
  padding:52px 50px!important;
  border-radius:34px!important;
  background:
    radial-gradient(circle at 9% 20%, rgba(255,255,255,.18) 0, rgba(255,255,255,.10) 18%, transparent 19%),
    linear-gradient(135deg,#124f46 0%,#1b705f 50%,#2b8a72 100%)!important;
  border:1px solid rgba(255,255,255,.20)!important;
  box-shadow:0 28px 68px rgba(21,88,77,.23)!important;
}
.consult-card-koshigaya:before{background:rgba(255,255,255,.09)!important;border:1px solid rgba(255,255,255,.18);}
.consult-card-koshigaya:after{background:rgba(214,170,79,.20)!important;}
.consult-card-koshigaya .consult-label,
.koshigaya-detail-consult .consult-label{
  margin-bottom:18px!important;
  background:rgba(255,255,255,.92)!important;
  color:#116150!important;
  box-shadow:0 12px 24px rgba(0,0,0,.10);
}
.consult-card-koshigaya h2{
  color:#fff!important;
  font-size:clamp(30px,3.2vw,42px)!important;
  text-shadow:0 2px 12px rgba(0,0,0,.14);
}
.consult-card-koshigaya p{
  color:#eefaf6!important;
  font-size:16.8px!important;
}
.consult-card-koshigaya .consult-points span{
  background:rgba(255,255,255,.13)!important;
  border-color:rgba(255,255,255,.22)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.koshigaya-archive-page .koshigaya-detail-consult .container,
.koshigaya-archive-page .koshigaya-detail-consult .final-cta-inner{
  position:relative;
  z-index:1;
}
@media(max-width:820px){
  .mini-cta,
  .consult-card-koshigaya,
  body:not(.koshigaya-archive-page) > main > .final-cta,
  main > .final-cta:not(.koshigaya-detail-consult),
  .koshigaya-archive-page .koshigaya-detail-consult{
    border-radius:24px!important;
    padding:34px 18px!important;
  }
  .mini-cta .cta-row,
  .final-cta .cta-row,
  .contact-cta-row,
  .koshigaya-archive-page .detail-consult-buttons{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    width:100%!important;
    gap:10px!important;
  }
  .mini-cta .cta,
  .consult-card-koshigaya .cta,
  .final-cta .cta,
  .koshigaya-archive-page .detail-consult-buttons .cta{
    width:100%!important;
    min-width:0!important;
    min-height:56px!important;
    padding:0 12px!important;
    font-size:16px!important;
  }
  .mini-cta .cta-tel,
  .consult-card-koshigaya .cta-tel,
  .final-cta .cta-tel,
  .koshigaya-archive-page .detail-consult-buttons .cta-tel{
    grid-column:1/-1!important;
    font-size:22px!important;
  }
}

/* 2026-07: CTA design proposal replacement - 差し替え版 */
:root{--koshigaya-cream:#fffaf0;--koshigaya-cream2:#fbf5e8;--koshigaya-gold:#d6aa4f;--koshigaya-line:#e4d6b5;}
.cta-design{position:relative!important;isolation:isolate;overflow:hidden!important;box-sizing:border-box!important;}
.cta-design .cta-row,.transport-cta-row,.koshigaya-archive-page .detail-consult-buttons{display:flex!important;justify-content:center!important;align-items:center!important;gap:16px!important;flex-wrap:wrap!important;position:relative!important;z-index:2!important;}
.cta-design .cta,.transport-cta-row .cta,.koshigaya-archive-page .detail-consult-buttons .cta{min-height:62px!important;border-radius:14px!important;padding:0 28px!important;border:1px solid rgba(255,255,255,.26)!important;box-shadow:0 14px 26px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.22)!important;text-decoration:none!important;letter-spacing:.03em!important;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;}
.cta-design .cta:hover,.transport-cta-row .cta:hover,.koshigaya-archive-page .detail-consult-buttons .cta:hover{transform:translateY(-2px)!important;filter:saturate(1.04) brightness(1.03)!important;box-shadow:0 18px 34px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.22)!important;}
.cta-design .cta-tel,.transport-cta-row .cta-tel,.koshigaya-archive-page .detail-consult-buttons .cta-tel{background:linear-gradient(135deg,#f58a42 0%,#ef6b2a 100%)!important;min-width:245px!important;font-size:24px!important;line-height:1.2!important;flex-direction:column!important;}
.cta-design .cta-tel small,.transport-cta-row .cta-tel small,.koshigaya-archive-page .detail-consult-buttons .cta-tel small{display:block!important;font-size:12px!important;opacity:.96!important;}
.cta-design .cta-mail,.transport-cta-row .cta-mail,.koshigaya-archive-page .detail-consult-buttons .cta-mail{background:linear-gradient(135deg,#67b7d4 0%,#3f94bd 100%)!important;min-width:160px!important;}
.cta-design .cta-line,.transport-cta-row .cta-line,.koshigaya-archive-page .detail-consult-buttons .cta-line{background:linear-gradient(135deg,#39ca7f 0%,#20a764 100%)!important;min-width:160px!important;}
.cta-design .cta-mail:before,.transport-cta-row .cta-mail:before,.koshigaya-archive-page .detail-consult-buttons .cta-mail:before{content:"✉";font-size:20px;margin-right:9px;font-weight:600;line-height:1;}
.cta-design .cta-line:before,.transport-cta-row .cta-line:before,.koshigaya-archive-page .detail-consult-buttons .cta-line:before{content:"LINE";display:inline-flex;align-items:center;justify-content:center;width:36px;height:24px;margin-right:9px;border-radius:999px;background:rgba(255,255,255,.96);color:#22a965;font-size:11px;font-weight:900;letter-spacing:.02em;line-height:1;}
.cta-design .cta-tel:before,.transport-cta-row .cta-tel:before,.koshigaya-archive-page .detail-consult-buttons .cta-tel:before{content:"☎";position:absolute;left:22px;top:50%;transform:translateY(-50%);font-size:25px;opacity:.94;}
.cta-design .cta-tel{position:relative!important;padding-left:58px!important;}

/* 公営斎場ガイド下CTA：濃緑プレミアムバナー */
.tsutsuji-guide-cta.cta-design-public{max-width:1120px;margin:42px auto 0!important;padding:48px 54px!important;border-radius:28px!important;background:linear-gradient(135deg,rgba(11,55,49,.98),rgba(24,102,88,.96) 58%,rgba(31,125,102,.95))!important;border:1px solid rgba(214,170,79,.34)!important;box-shadow:0 30px 70px rgba(17,83,73,.23)!important;color:#fff!important;text-align:center!important;}
.tsutsuji-guide-cta.cta-design-public:before{content:"越谷市斎場でのご葬儀をご検討の方へ";display:inline-flex;align-items:center;justify-content:center;margin:0 auto 20px;padding:8px 26px;border:1px solid rgba(214,170,79,.78);border-radius:999px;background:rgba(255,255,255,.08);color:#f4e6be;font-size:13px;font-weight:900;letter-spacing:.08em;}
.tsutsuji-guide-cta.cta-design-public:after{content:"";position:absolute;right:-28px;top:-36px;width:270px;height:220px;background:radial-gradient(ellipse at center,rgba(255,255,255,.18),rgba(255,255,255,0) 66%);border-radius:50%;z-index:-1;}
.tsutsuji-guide-cta.cta-design-public h3{font-size:clamp(26px,2.65vw,38px)!important;line-height:1.55!important;color:#fff!important;margin:0 0 14px!important;text-shadow:0 2px 14px rgba(0,0,0,.20)!important;}
.tsutsuji-guide-cta.cta-design-public p{color:#effbf7!important;font-size:16.5px!important;line-height:2!important;margin:0 0 28px!important;}

/* 搬送CTA：白カード＋横長案内に刷新 */
.transport-redesign-section{background:linear-gradient(180deg,#f2faf6 0%,#fffaf0 100%)!important;color:var(--deep)!important;padding:88px 0!important;overflow:visible!important;}
.transport-redesign-section .transport-layout{position:relative;max-width:1120px;margin:0 auto;display:grid!important;grid-template-columns:310px 1fr!important;gap:36px!important;align-items:stretch!important;padding:42px!important;border-radius:30px!important;background:linear-gradient(135deg,#ffffff 0%,#fffcf5 100%)!important;border:1px solid rgba(214,170,79,.34)!important;box-shadow:0 26px 62px rgba(27,87,76,.13)!important;overflow:hidden!important;}
.transport-redesign-section .transport-layout:after{content:"";position:absolute;right:42px;bottom:-18px;width:170px;height:170px;border:1px solid rgba(214,170,79,.20);border-radius:50%;background:radial-gradient(circle,rgba(214,170,79,.08),transparent 70%);}
.transport-redesign-section .emergency-card{background:linear-gradient(180deg,#fff,#fbf5e8)!important;border:1px solid rgba(214,170,79,.38)!important;border-radius:26px!important;padding:34px 30px!important;box-shadow:0 18px 40px rgba(24,90,80,.10)!important;text-align:left!important;}
.transport-redesign-section .emergency-card span{background:#fff0e5!important;color:#e5662c!important;border:1px solid #f6d3be!important;}
.transport-redesign-section .emergency-card h2{font-size:clamp(22px,2.2vw,30px)!important;line-height:1.55!important;color:#073d37!important;margin:18px 0 14px!important;}
.transport-redesign-section .emergency-card p{color:#5f746f!important;line-height:1.9!important;}
.transport-redesign-section .emergency-card > a{display:none!important;}
.transport-redesign-section .transport-copy{position:relative;z-index:2;padding:12px 0!important;}
.transport-redesign-section .transport-copy p{color:#315e55!important;font-size:16.5px!important;line-height:2.05!important;}
.transport-redesign-section .mini-steps{grid-template-columns:repeat(3,1fr)!important;gap:14px!important;margin:22px 0 24px!important;}
.transport-redesign-section .mini-steps div{background:#f2f8f5!important;border:1px solid #dcebe5!important;color:#174b43!important;box-shadow:none!important;}
.transport-redesign-section .mini-steps b{background:#187462!important;color:#fff!important;}
.transport-cta-row{justify-content:flex-start!important;}

/* 葬儀後手続きCTA：明るいクリーム調 */
.benefit-mini-cta.cta-design-benefit{max-width:1120px!important;margin:42px auto 0!important;padding:44px 48px!important;border-radius:30px!important;background:linear-gradient(135deg,#fffdf7 0%,#f7f0dd 100%)!important;border:1px solid rgba(214,170,79,.44)!important;box-shadow:0 20px 52px rgba(27,87,76,.10)!important;color:#0d463e!important;text-align:center!important;}
.benefit-mini-cta.cta-design-benefit:before{content:"葬儀後も安心してご相談ください";display:inline-flex;margin:0 auto 16px;padding:8px 22px;border-radius:999px;background:#f0f7f3;color:#176755;border:1px solid #d6e9e1;font-weight:900;font-size:13px;letter-spacing:.06em;}
.benefit-mini-cta.cta-design-benefit:after{content:"";position:absolute;left:-46px;top:-54px;width:190px;height:190px;background:radial-gradient(circle,rgba(90,150,125,.14),transparent 68%);z-index:-1;}
.benefit-mini-cta.cta-design-benefit h3{color:#073d37!important;font-size:clamp(25px,2.4vw,34px)!important;margin:0 0 14px!important;text-shadow:none!important;}
.benefit-mini-cta.cta-design-benefit p{color:#4f655f!important;line-height:2!important;margin-bottom:24px!important;}

/* 対応エリアCTA：左情報パネル付き */
.area-mini-cta.cta-design-area{max-width:1120px!important;margin:42px auto 0!important;padding:26px!important;border-radius:32px!important;background:linear-gradient(135deg,#fffdf8 0%,#f7f1e2 100%)!important;border:1px solid rgba(214,170,79,.42)!important;box-shadow:0 22px 60px rgba(27,87,76,.10)!important;color:#0d463e!important;text-align:left!important;display:grid!important;grid-template-columns:252px 1fr!important;gap:30px!important;align-items:center!important;overflow:hidden!important;position:relative!important;}
.area-mini-cta.cta-design-area:before{content:"全域対応\A搬送・安置\Aご葬儀";white-space:pre-line;display:flex;align-items:center;justify-content:center;text-align:center;padding:26px 20px;min-height:240px;border-radius:28px;background:linear-gradient(145deg,#0f5a4d,#237866)!important;color:#fff;font-size:18px;font-weight:900;line-height:1.95;letter-spacing:.10em;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 18px 38px rgba(16,74,66,.20);}
.area-mini-cta.cta-design-area:after{content:"KOSHIGAYA AREA";position:absolute;right:34px;top:26px;font-size:12px;font-weight:800;letter-spacing:.18em;color:rgba(23,103,85,.38);}
.area-mini-cta.cta-design-area h3,.area-mini-cta.cta-design-area p,.area-mini-cta.cta-design-area .cta-row{grid-column:2;}
.area-mini-cta.cta-design-area h3{padding:0!important;margin:0 0 14px!important;color:#073d37!important;font-size:clamp(24px,2.2vw,34px)!important;line-height:1.45!important;text-shadow:none!important;}
.area-mini-cta.cta-design-area p{padding:0!important;color:#4f655f!important;line-height:2.0!important;margin:0 0 24px!important;max-width:760px;}
.area-mini-cta.cta-design-area .cta-row{justify-content:flex-start!important;padding:0!important;}

/* CONTACT CTA：葉のような軽いカード */
.consult-card-koshigaya.cta-design-contact{max-width:1120px!important;margin:0 auto!important;padding:48px 50px!important;border-radius:30px!important;background:linear-gradient(135deg,#fffef9 0%,#f7f0dd 100%)!important;border:1px solid rgba(214,170,79,.42)!important;box-shadow:0 22px 58px rgba(27,87,76,.10)!important;text-align:center!important;}
.consult-card-koshigaya.cta-design-contact:before{content:""!important;position:absolute;left:0!important;top:0!important;width:250px!important;height:100%!important;background:radial-gradient(ellipse at left center,rgba(149,194,148,.24),transparent 72%)!important;border:0!important;border-radius:0!important;z-index:-1!important;}
.consult-card-koshigaya.cta-design-contact:after{content:""!important;position:absolute;right:34px!important;bottom:20px!important;width:145px!important;height:145px!important;border-radius:50%!important;background:radial-gradient(circle,rgba(214,170,79,.12),transparent 72%)!important;z-index:-1!important;}
.consult-card-koshigaya.cta-design-contact .consult-label{background:#f0f7f3!important;color:#176755!important;border:1px solid #d6e9e1!important;box-shadow:none!important;}
.consult-card-koshigaya.cta-design-contact h2{color:#073d37!important;text-shadow:none!important;}
.consult-card-koshigaya.cta-design-contact p{color:#4f655f!important;}
.consult-card-koshigaya.cta-design-contact .consult-points span{background:#fff!important;border:1px solid #dcebe5!important;color:#176755!important;}

/* 最下部CTA：フッターとの余白を確保 */
main > .site-final-cta.cta-design-footer{background:transparent!important;color:#073d37!important;padding:0 20px!important;margin:78px auto 110px!important;overflow:visible!important;}
main > .site-final-cta.cta-design-footer:before,main > .site-final-cta.cta-design-footer:after{display:none!important;}
main > .site-final-cta.cta-design-footer .final-cta-inner{max-width:1120px!important;margin:0 auto!important;padding:52px 54px!important;border-radius:30px!important;background:linear-gradient(135deg,#fffdf7,#f7f1df)!important;border:1px solid rgba(214,170,79,.44)!important;box-shadow:0 22px 58px rgba(27,87,76,.11)!important;position:relative!important;overflow:hidden!important;text-align:center!important;}
main > .site-final-cta.cta-design-footer .final-cta-inner:before{content:"";position:absolute;right:-30px;bottom:-42px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(214,170,79,.14),transparent 70%);}
main > .site-final-cta.cta-design-footer h2{color:#073d37!important;text-shadow:none!important;font-size:clamp(26px,2.6vw,36px)!important;}
main > .site-final-cta.cta-design-footer p{color:#4f655f!important;line-height:2!important;}

/* 詳細ページCTA：濃緑カード＋説明文 */
.koshigaya-archive-page .koshigaya-detail-consult.cta-design-detail{max-width:1040px!important;margin:44px auto 0!important;padding:46px 42px!important;border-radius:30px!important;background:linear-gradient(135deg,#104a42,#1d6f60 56%,#2b876f)!important;border:1px solid rgba(255,255,255,.18)!important;box-shadow:0 26px 62px rgba(21,88,77,.22)!important;color:#fff!important;}
.koshigaya-archive-page .koshigaya-detail-consult.cta-design-detail:before{content:"";position:absolute;left:30px;top:30px;width:78px;height:78px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);}
.koshigaya-archive-page .koshigaya-detail-consult.cta-design-detail h2{font-size:clamp(26px,2.6vw,34px)!important;margin:0 0 12px!important;color:#fff!important;}
.koshigaya-archive-page .koshigaya-detail-consult.cta-design-detail .detail-consult-lead{max-width:780px;margin:0 auto 24px!important;color:#edf9f5!important;line-height:1.9!important;}

/* お客様の声詳細：最上部画像は不要 */
.archive-type-voice.archive-detail-view .archive-detail-main-image{display:none!important;}

@media(max-width:900px){
  .transport-redesign-section .transport-layout,.area-mini-cta.cta-design-area{grid-template-columns:1fr!important;padding:24px!important;}
  .area-mini-cta.cta-design-area:before{padding:24px 18px;min-height:0;border-radius:22px;font-size:17px;line-height:1.8;justify-content:center;}
  .area-mini-cta.cta-design-area h3{padding:0!important;}
  .area-mini-cta.cta-design-area p{padding:0!important;}
  .area-mini-cta.cta-design-area .cta-row{padding:0!important;}
  .transport-cta-row{justify-content:center!important;}
  .cta-design .cta-row,.transport-cta-row,.koshigaya-archive-page .detail-consult-buttons{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important;gap:10px!important;}
  .cta-design .cta,.transport-cta-row .cta,.koshigaya-archive-page .detail-consult-buttons .cta{width:100%!important;min-width:0!important;min-height:56px!important;padding:0 12px!important;font-size:16px!important;}
  .cta-design .cta-tel,.transport-cta-row .cta-tel,.koshigaya-archive-page .detail-consult-buttons .cta-tel{grid-column:1/-1!important;font-size:22px!important;padding-left:48px!important;}
  .tsutsuji-guide-cta.cta-design-public,.benefit-mini-cta.cta-design-benefit,.consult-card-koshigaya.cta-design-contact,.koshigaya-archive-page .koshigaya-detail-consult.cta-design-detail{padding:34px 20px!important;border-radius:24px!important;}
  main > .site-final-cta.cta-design-footer{margin:54px auto 88px!important;padding:0 14px!important;}
  main > .site-final-cta.cta-design-footer .final-cta-inner{padding:36px 20px!important;border-radius:24px!important;}
}

/* ===== CTA CSS-only refined design v4 (buttons kept) ===== */
:root{
  --kg-cta-deep:#0c473f;
  --kg-cta-green:#176d5d;
  --kg-cta-green2:#23836d;
  --kg-cta-cream:#fffaf0;
  --kg-cta-cream2:#f7f0df;
  --kg-cta-gold:#d8b466;
  --kg-cta-border:rgba(216,180,102,.42);
  --kg-cta-text:#083d36;
  --kg-cta-muted:#516b64;
}
.tsutsuji-guide-cta.cta-design-public,
.benefit-mini-cta.cta-design-benefit,
.area-mini-cta.cta-design-area,
.consult-card-koshigaya.cta-design-contact,
.transport-redesign-section .transport-layout,
main > .site-final-cta.cta-design-footer .final-cta-inner,
.koshigaya-archive-page .koshigaya-detail-consult.cta-design-detail{
  box-sizing:border-box!important;
  overflow:hidden!important;
  isolation:isolate!important;
}

/* ボタンは現状の色味・形を維持し、配置だけ安定化 */
.cta-design .cta-row,
.transport-cta-row,
.koshigaya-archive-page .detail-consult-buttons,
.koshigaya-detail-consult-buttons{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:16px!important;
  flex-wrap:wrap!important;
  position:relative!important;
  z-index:3!important;
}
.cta-design .cta,
.transport-cta-row .cta,
.koshigaya-archive-page .detail-consult-buttons .cta,
.koshigaya-detail-consult-buttons .cta{
  position:relative!important;
  z-index:3!important;
}

/* 1. 公営斎場ガイド下CTA：CSSだけの濃緑上品バナー */
.tsutsuji-guide-cta.cta-design-public{
  max-width:1120px!important;
  margin:46px auto 0!important;
  padding:52px 56px 46px!important;
  border-radius:30px!important;
  background:
    radial-gradient(circle at 88% 18%,rgba(255,255,255,.17),transparent 22%),
    radial-gradient(circle at 10% 100%,rgba(255,255,255,.10),transparent 28%),
    linear-gradient(135deg,#0d4a41 0%,#176b5c 58%,#268873 100%)!important;
  border:1px solid rgba(216,180,102,.46)!important;
  box-shadow:0 28px 66px rgba(13,78,67,.24)!important;
  color:#fff!important;
  text-align:center!important;
}
.tsutsuji-guide-cta.cta-design-public:before{
  content:"越谷市斎場でのご葬儀をご検討の方へ"!important;
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0 auto 20px!important;
  padding:8px 28px!important;
  border-radius:999px!important;
  border:1px solid rgba(216,180,102,.82)!important;
  background:rgba(255,255,255,.08)!important;
  color:#f7e8bf!important;
  font-size:13px!important;
  line-height:1.4!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  z-index:3!important;
  box-shadow:none!important;
  transform:none!important;
}
.tsutsuji-guide-cta.cta-design-public:after{
  content:""!important;
  position:absolute!important;
  right:-70px!important;
  top:-80px!important;
  width:350px!important;
  height:350px!important;
  border-radius:50%!important;
  background:
    radial-gradient(circle at 45% 45%,rgba(255,255,255,.20),rgba(255,255,255,.08) 34%,transparent 68%),
    repeating-conic-gradient(from 18deg,rgba(255,255,255,.10) 0 6deg,transparent 6deg 20deg)!important;
  opacity:.55!important;
  z-index:1!important;
  border:none!important;
}
.tsutsuji-guide-cta.cta-design-public h3{
  position:relative!important;
  z-index:3!important;
  max-width:870px!important;
  margin:0 auto 16px!important;
  color:#fff!important;
  font-size:clamp(28px,2.8vw,40px)!important;
  line-height:1.52!important;
  letter-spacing:.04em!important;
  text-shadow:0 2px 14px rgba(0,0,0,.18)!important;
}
.tsutsuji-guide-cta.cta-design-public p{
  position:relative!important;
  z-index:3!important;
  max-width:820px!important;
  margin:0 auto 28px!important;
  color:#f0fbf7!important;
  font-size:16.5px!important;
  line-height:2!important;
}

/* 2. CONTACT：明るい相談カード */
.consult-card-koshigaya.cta-design-contact{
  max-width:1120px!important;
  margin:0 auto!important;
  padding:48px 54px 46px 270px!important;
  border-radius:30px!important;
  background:
    radial-gradient(circle at 92% 78%,rgba(216,180,102,.10),transparent 20%),
    linear-gradient(135deg,#fffdf7 0%,#f8f1e3 100%)!important;
  border:1px solid var(--kg-cta-border)!important;
  box-shadow:0 24px 58px rgba(27,87,76,.11)!important;
  color:var(--kg-cta-text)!important;
  text-align:left!important;
}
.consult-card-koshigaya.cta-design-contact:before{
  content:""!important;
  position:absolute!important;
  left:34px!important;
  top:34px!important;
  bottom:34px!important;
  width:170px!important;
  border-radius:26px!important;
  background:
    radial-gradient(circle at 50% 24%,rgba(23,109,93,.14),transparent 30%),
    radial-gradient(circle at 30% 72%,rgba(216,180,102,.16),transparent 34%),
    linear-gradient(180deg,#f2f8f5 0%,#fffaf0 100%)!important;
  border:1px solid rgba(23,109,93,.10)!important;
  z-index:1!important;
}
.consult-card-koshigaya.cta-design-contact:after{
  content:""!important;
  position:absolute!important;
  right:36px!important;
  bottom:28px!important;
  width:180px!important;
  height:180px!important;
  border-radius:50%!important;
  border:1px solid rgba(216,180,102,.18)!important;
  background:radial-gradient(circle,rgba(23,109,93,.06),transparent 70%)!important;
  opacity:.9!important;
  z-index:1!important;
}
.consult-card-koshigaya.cta-design-contact .consult-card__text,
.consult-card-koshigaya.cta-design-contact .cta-row{
  position:relative!important;
  z-index:3!important;
  padding-left:0!important;
}
.consult-card-koshigaya.cta-design-contact .consult-label{
  display:inline-flex!important;
  background:#edf7f2!important;
  color:#0f6656!important;
  border:1px solid #d6e8df!important;
  box-shadow:none!important;
  margin-bottom:16px!important;
}
.consult-card-koshigaya.cta-design-contact h2{
  color:var(--kg-cta-text)!important;
  font-size:clamp(30px,2.8vw,42px)!important;
  line-height:1.45!important;
  margin:0 0 16px!important;
  text-shadow:none!important;
}
.consult-card-koshigaya.cta-design-contact p{
  color:var(--kg-cta-muted)!important;
  font-size:16.5px!important;
  line-height:2!important;
  max-width:760px!important;
}
.consult-card-koshigaya.cta-design-contact .consult-points{
  display:flex!important;
  justify-content:flex-start!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  margin:22px 0 26px!important;
}
.consult-card-koshigaya.cta-design-contact .consult-points span{
  background:#fff!important;
  color:#0f6656!important;
  border:1px solid #d6e8df!important;
  box-shadow:0 8px 18px rgba(27,87,76,.06)!important;
}
.consult-card-koshigaya.cta-design-contact .cta-row{justify-content:flex-start!important;}

/* 3. 葬儀後・手続きCTA */
.benefit-mini-cta.cta-design-benefit{
  max-width:1120px!important;
  margin:44px auto 0!important;
  padding:44px 50px 42px 220px!important;
  border-radius:30px!important;
  background:
    radial-gradient(circle at 90% 50%,rgba(23,109,93,.07),transparent 20%),
    linear-gradient(135deg,#fffdf7 0%,#f7f0df 100%)!important;
  border:1px solid var(--kg-cta-border)!important;
  box-shadow:0 22px 54px rgba(27,87,76,.10)!important;
  color:var(--kg-cta-text)!important;
  text-align:center!important;
}
.benefit-mini-cta.cta-design-benefit:before{
  content:"葬儀後も\A安心して\Aご相談ください"!important;
  white-space:pre-line!important;
  position:absolute!important;
  left:44px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:126px!important;
  height:126px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  border-radius:50%!important;
  background:#edf7f2!important;
  color:#0f6656!important;
  border:1px solid #d6e8df!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1.7!important;
  letter-spacing:.04em!important;
  margin:0!important;
  padding:0!important;
}
.benefit-mini-cta.cta-design-benefit:after{
  content:""!important;
  position:absolute!important;
  right:42px!important;
  bottom:-54px!important;
  width:180px!important;
  height:180px!important;
  border-radius:50%!important;
  background:radial-gradient(circle,rgba(216,180,102,.12),transparent 68%)!important;
  z-index:1!important;
}
.benefit-mini-cta.cta-design-benefit h3{
  color:var(--kg-cta-text)!important;
  font-size:clamp(26px,2.5vw,36px)!important;
  line-height:1.45!important;
  margin:0 0 16px!important;
  text-shadow:none!important;
}
.benefit-mini-cta.cta-design-benefit p{
  color:var(--kg-cta-muted)!important;
  font-size:16.5px!important;
  line-height:2!important;
  max-width:830px!important;
  margin:0 auto 26px!important;
}

/* 4. 搬送CTA */
.transport-redesign-section{
  background:linear-gradient(180deg,#f2faf6 0%,#edf6f2 100%)!important;
  padding:78px 0 82px!important;
  color:var(--kg-cta-text)!important;
}
.transport-redesign-section .transport-layout{
  max-width:1120px!important;
  margin:0 auto!important;
  padding:38px!important;
  border-radius:30px!important;
  background:linear-gradient(135deg,#fffdf7 0%,#f8f1e3 100%)!important;
  border:1px solid var(--kg-cta-border)!important;
  box-shadow:0 24px 58px rgba(27,87,76,.11)!important;
  display:grid!important;
  grid-template-columns:360px 1fr!important;
  gap:34px!important;
  align-items:start!important;
}
.transport-redesign-section .transport-layout:before{
  content:""!important;
  position:absolute!important;
  inset:0 auto 0 0!important;
  width:130px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.74),rgba(255,255,255,.30))!important;
  z-index:1!important;
}
.transport-redesign-section .transport-layout:after{
  content:""!important;
  position:absolute!important;
  right:32px!important;
  bottom:26px!important;
  width:150px!important;
  height:150px!important;
  border-radius:50%!important;
  border:1px solid rgba(216,180,102,.18)!important;
  background:radial-gradient(circle,rgba(23,109,93,.05),transparent 70%)!important;
  z-index:1!important;
}
.transport-redesign-section .emergency-card,
.transport-redesign-section .transport-copy{position:relative!important;z-index:3!important;}
.transport-redesign-section .emergency-card{
  background:#fff!important;
  border:1px solid rgba(216,180,102,.36)!important;
  border-radius:26px!important;
  padding:32px 30px!important;
  box-shadow:0 16px 38px rgba(27,87,76,.08)!important;
}
.transport-redesign-section .emergency-card span{
  display:inline-flex!important;
  background:#fff2e8!important;
  color:#e86b2e!important;
  border:1px solid #f3cfbe!important;
  font-weight:900!important;
}
.transport-redesign-section .emergency-card h2{
  color:var(--kg-cta-text)!important;
  font-size:clamp(24px,2.2vw,32px)!important;
  line-height:1.58!important;
  margin:18px 0 16px!important;
}
.transport-redesign-section .emergency-card p{color:#637871!important;font-size:16px!important;line-height:1.9!important;}
.transport-redesign-section .emergency-card > a{display:none!important;}
.transport-redesign-section .transport-copy{padding:6px 0 0!important;}
.transport-redesign-section .transport-copy p{color:#465f59!important;font-size:16.5px!important;line-height:2!important;max-width:none!important;}
.transport-redesign-section .mini-steps{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  margin:24px 0 24px!important;
  max-width:none!important;
}
.transport-redesign-section .mini-steps div{
  min-height:72px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  background:#f4faf7!important;
  border:1px solid #d8e8df!important;
  border-radius:18px!important;
  color:#0f5f51!important;
  font-weight:900!important;
  box-shadow:none!important;
}
.transport-redesign-section .mini-steps b{
  width:32px!important;height:32px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  background:#14725f!important;color:#fff!important;border-radius:50%!important;
}
.transport-redesign-section .transport-cta-row{justify-content:flex-start!important;}

/* 5. 対応エリアCTA */
.area-mini-cta.cta-design-area{
  max-width:1120px!important;
  margin:42px auto 0!important;
  padding:40px 46px!important;
  border-radius:30px!important;
  background:linear-gradient(135deg,#fffdf7 0%,#f8f1e3 100%)!important;
  border:1px solid var(--kg-cta-border)!important;
  box-shadow:0 22px 54px rgba(27,87,76,.10)!important;
  display:grid!important;
  grid-template-columns:160px 1fr!important;
  gap:30px!important;
  align-items:center!important;
  text-align:left!important;
}
.area-mini-cta.cta-design-area:before{
  content:"越谷市\A全域対応"!important;
  white-space:pre-line!important;
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  width:128px!important;
  height:128px!important;
  min-height:128px!important;
  margin:0 auto!important;
  padding:0!important;
  border-radius:50%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  background:#edf7f2!important;
  color:#0f6656!important;
  border:1px solid #d6e8df!important;
  box-shadow:none!important;
  font-size:14px!important;
  line-height:1.65!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
}
.area-mini-cta.cta-design-area:after{display:none!important;}
.area-mini-cta.cta-design-area h3,
.area-mini-cta.cta-design-area p,
.area-mini-cta.cta-design-area .cta-row{grid-column:2!important;}
.area-mini-cta.cta-design-area h3{
  color:var(--kg-cta-text)!important;
  font-size:clamp(26px,2.3vw,36px)!important;
  line-height:1.5!important;
  margin:0 0 14px!important;
  padding:0!important;
  text-align:left!important;
}
.area-mini-cta.cta-design-area p{
  color:var(--kg-cta-muted)!important;
  font-size:16.5px!important;
  line-height:2!important;
  margin:0 0 24px!important;
  padding:0!important;
  max-width:820px!important;
}
.area-mini-cta.cta-design-area .cta-row{justify-content:flex-start!important;padding:0!important;}

/* 6. 詳細ページ下CTA */
.koshigaya-archive-page .koshigaya-detail-consult.cta-design-detail,
.koshigaya-detail-consult-auto.cta-design-detail{
  max-width:1040px!important;
  margin:46px auto 0!important;
  padding:42px 36px!important;
  border-radius:30px!important;
  background:linear-gradient(135deg,#fffdf7 0%,#f7f0df 100%)!important;
  border:1px solid var(--kg-cta-border)!important;
  box-shadow:0 22px 54px rgba(27,87,76,.10)!important;
  color:var(--kg-cta-text)!important;
  text-align:center!important;
}
.koshigaya-archive-page .koshigaya-detail-consult.cta-design-detail:before,
.koshigaya-detail-consult-auto.cta-design-detail:before{
  content:""!important;
  position:absolute!important;
  left:30px!important;
  top:30px!important;
  width:82px!important;
  height:82px!important;
  border-radius:50%!important;
  background:radial-gradient(circle,rgba(23,109,93,.10),transparent 68%)!important;
  border:1px solid rgba(23,109,93,.10)!important;
}
.koshigaya-archive-page .koshigaya-detail-consult.cta-design-detail:after,
.koshigaya-detail-consult-auto.cta-design-detail:after{display:none!important;}
.koshigaya-archive-page .koshigaya-detail-consult.cta-design-detail .consult-label,
.koshigaya-detail-consult-auto.cta-design-detail .consult-label{
  display:inline-flex!important;
  background:#edf7f2!important;
  color:#0f6656!important;
  border:1px solid #d6e8df!important;
  box-shadow:none!important;
  margin-bottom:16px!important;
}
.koshigaya-archive-page .koshigaya-detail-consult.cta-design-detail h2,
.koshigaya-detail-consult-auto.cta-design-detail h2{
  color:var(--kg-cta-text)!important;
  font-size:clamp(26px,2.5vw,36px)!important;
  line-height:1.45!important;
  margin:0 0 14px!important;
  text-shadow:none!important;
}
.koshigaya-archive-page .koshigaya-detail-consult.cta-design-detail .detail-consult-lead,
.koshigaya-detail-consult-auto.cta-design-detail .detail-consult-lead{
  color:var(--kg-cta-muted)!important;
  font-size:16px!important;
  line-height:2!important;
  max-width:760px!important;
  margin:0 auto 24px!important;
}

/* 7. フッター直前CTA */
main > .site-final-cta.cta-design-footer{
  background:transparent!important;
  padding:0 20px!important;
  margin:78px auto 128px!important;
}
main > .site-final-cta.cta-design-footer .final-cta-inner{
  max-width:1120px!important;
  margin:0 auto!important;
  padding:46px 54px!important;
  border-radius:30px!important;
  background:linear-gradient(135deg,#fffdf7 0%,#f7f0df 100%)!important;
  border:1px solid var(--kg-cta-border)!important;
  box-shadow:0 22px 54px rgba(27,87,76,.10)!important;
  text-align:center!important;
}
main > .site-final-cta.cta-design-footer .final-cta-inner:before{
  content:""!important;
  position:absolute!important;
  top:-22px!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:48px!important;
  height:48px!important;
  border-radius:50%!important;
  background:linear-gradient(135deg,#176d5d,#23836d)!important;
  box-shadow:0 10px 22px rgba(27,87,76,.16)!important;
}
main > .site-final-cta.cta-design-footer .final-cta-inner:after{
  content:""!important;
  position:absolute!important;
  right:34px!important;
  bottom:24px!important;
  width:160px!important;
  height:160px!important;
  border-radius:50%!important;
  border:1px solid rgba(216,180,102,.18)!important;
  background:radial-gradient(circle,rgba(216,180,102,.10),transparent 68%)!important;
  opacity:.9!important;
}
main > .site-final-cta.cta-design-footer h2{
  position:relative!important;
  z-index:2!important;
  color:var(--kg-cta-text)!important;
  font-size:clamp(27px,2.6vw,38px)!important;
  line-height:1.5!important;
  margin:4px auto 16px!important;
  max-width:820px!important;
  text-shadow:none!important;
}
main > .site-final-cta.cta-design-footer p{
  position:relative!important;
  z-index:2!important;
  color:var(--kg-cta-muted)!important;
  font-size:16.5px!important;
  line-height:2!important;
  max-width:840px!important;
  margin:0 auto 26px!important;
}
main > .site-final-cta.cta-design-footer .cta-row{position:relative!important;z-index:3!important;}
.site-footer{margin-top:48px!important;}

/* CSS版では画像装飾を使わず、グラデーションと疑似要素だけで構成 */

@media(max-width:900px){
  .tsutsuji-guide-cta.cta-design-public,
  .consult-card-koshigaya.cta-design-contact,
  .benefit-mini-cta.cta-design-benefit,
  .area-mini-cta.cta-design-area,
  .transport-redesign-section .transport-layout,
  main > .site-final-cta.cta-design-footer .final-cta-inner,
  .koshigaya-archive-page .koshigaya-detail-consult.cta-design-detail,
  .koshigaya-detail-consult-auto.cta-design-detail{
    padding:32px 20px!important;
    border-radius:24px!important;
  }
  .tsutsuji-guide-cta.cta-design-public:after,
  .consult-card-koshigaya.cta-design-contact:after,
  .benefit-mini-cta.cta-design-benefit:after,
  main > .site-final-cta.cta-design-footer .final-cta-inner:after,
  .koshigaya-archive-page .koshigaya-detail-consult.cta-design-detail:before,
  .koshigaya-detail-consult-auto.cta-design-detail:before{display:none!important;}
  .consult-card-koshigaya.cta-design-contact{padding-top:110px!important;text-align:center!important;}
  .consult-card-koshigaya.cta-design-contact:before{
    left:50%!important;top:26px!important;bottom:auto!important;transform:translateX(-50%)!important;
    width:86px!important;height:60px!important;border-radius:18px!important;
  }
  .consult-card-koshigaya.cta-design-contact .consult-points,
  .consult-card-koshigaya.cta-design-contact .cta-row,
  .area-mini-cta.cta-design-area .cta-row,
  .transport-redesign-section .transport-cta-row{justify-content:center!important;}
  .benefit-mini-cta.cta-design-benefit{padding-top:148px!important;}
  .benefit-mini-cta.cta-design-benefit:before{
    left:50%!important;top:24px!important;transform:translateX(-50%)!important;width:102px!important;height:102px!important;font-size:12px!important;
  }
  .transport-redesign-section{padding:58px 0!important;}
  .transport-redesign-section .transport-layout{grid-template-columns:1fr!important;gap:24px!important;}
  .transport-redesign-section .transport-layout:before{display:none!important;}
  .transport-redesign-section .mini-steps{grid-template-columns:1fr!important;}
  .area-mini-cta.cta-design-area{grid-template-columns:1fr!important;text-align:center!important;gap:20px!important;}
  .area-mini-cta.cta-design-area:before{width:104px!important;height:104px!important;min-height:104px!important;font-size:12px!important;}
  .area-mini-cta.cta-design-area h3,
  .area-mini-cta.cta-design-area p,
  .area-mini-cta.cta-design-area .cta-row{grid-column:auto!important;text-align:center!important;}
  .cta-design .cta-row,
  .transport-cta-row,
  .koshigaya-archive-page .detail-consult-buttons,
  .koshigaya-detail-consult-buttons{display:grid!important;grid-template-columns:1fr!important;width:100%!important;gap:10px!important;}
  .cta-design .cta,
  .transport-cta-row .cta,
  .koshigaya-archive-page .detail-consult-buttons .cta,
  .koshigaya-detail-consult-buttons .cta{width:100%!important;min-width:0!important;}
  main > .site-final-cta.cta-design-footer{margin:58px auto 92px!important;padding:0 14px!important;}
}


/* ===== CTA refined CSS-only v4 ===== */

/* ボタンは現行デザインを活かし、CTA本体のみ上品に再設計 */
.tsutsuji-guide-cta.cta-design-public,
.consult-card-koshigaya.cta-design-contact,
.area-mini-cta.cta-design-area,
.benefit-mini-cta.cta-design-benefit,
.koshigaya-archive-page .koshigaya-detail-consult.cta-design-detail,
main > .site-final-cta.cta-design-footer .final-cta-inner{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}

.tsutsuji-guide-cta.cta-design-public::before,
.tsutsuji-guide-cta.cta-design-public::after,
.consult-card-koshigaya.cta-design-contact::before,
.consult-card-koshigaya.cta-design-contact::after,
.area-mini-cta.cta-design-area::before,
.area-mini-cta.cta-design-area::after,
.benefit-mini-cta.cta-design-benefit::before,
.benefit-mini-cta.cta-design-benefit::after,
main > .site-final-cta.cta-design-footer .final-cta-inner::before,
main > .site-final-cta.cta-design-footer .final-cta-inner::after{
  pointer-events:none!important;
}

/* 1. 公営斎場CTA：濃緑の上質バナー */
.tsutsuji-guide-cta.cta-design-public{
  max-width:1120px!important;
  margin:46px auto 0!important;
  padding:58px 56px 50px!important;
  border-radius:28px!important;
  background:
    radial-gradient(circle at 12% 18%, rgba(255,255,255,.13) 0, transparent 27%),
    radial-gradient(circle at 86% 80%, rgba(223,190,118,.12) 0, transparent 28%),
    linear-gradient(135deg,#0b4b42 0%,#126555 49%,#1f8068 100%)!important;
  border:1px solid rgba(214,170,79,.32)!important;
  box-shadow:0 28px 64px rgba(22,86,75,.20)!important;
  color:#fff!important;
  text-align:center!important;
}
.tsutsuji-guide-cta.cta-design-public:before{
  content:"越谷市斎場でのご葬儀をご検討の方へ"!important;
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  margin:0 auto 18px!important;
  padding:8px 24px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.07)!important;
  border:1px solid rgba(232,203,142,.72)!important;
  box-shadow:none!important;
  color:#f5e6bd!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1.4!important;
  letter-spacing:.08em!important;
  white-space:normal!important;
}
.tsutsuji-guide-cta.cta-design-public:after{
  content:""!important;
  position:absolute!important;
  inset:18px!important;
  border-radius:22px!important;
  border:1px solid rgba(255,255,255,.14)!important;
  background:
    linear-gradient(115deg,transparent 0 38%,rgba(255,255,255,.055) 39%,transparent 56%),
    radial-gradient(circle at 91% 24%,rgba(255,255,255,.09),transparent 23%)!important;
  z-index:-1!important;
}
.tsutsuji-guide-cta.cta-design-public h3{
  max-width:870px!important;
  margin:0 auto 16px!important;
  color:#fff!important;
  font-size:clamp(28px,2.65vw,40px)!important;
  line-height:1.55!important;
  letter-spacing:.03em!important;
  text-shadow:0 2px 14px rgba(0,0,0,.16)!important;
}
.tsutsuji-guide-cta.cta-design-public p{
  max-width:790px!important;
  margin:0 auto 28px!important;
  color:#edf8f3!important;
  font-size:16.5px!important;
  line-height:2!important;
}
.tsutsuji-guide-cta.cta-design-public .cta-row{
  justify-content:center!important;
  gap:16px!important;
}

/* 2. CONTACT CTA：余白を整えた上品な相談カード */
.consult-card-koshigaya.cta-design-contact{
  max-width:1120px!important;
  margin:0 auto!important;
  padding:50px 56px!important;
  border-radius:28px!important;
  background:
    linear-gradient(90deg,rgba(242,249,245,.92) 0 170px,transparent 170px),
    radial-gradient(circle at 87% 70%,rgba(214,170,79,.10) 0,transparent 23%),
    linear-gradient(135deg,#fffdf8 0%,#f7f1e3 100%)!important;
  border:1px solid rgba(214,170,79,.34)!important;
  box-shadow:0 24px 56px rgba(27,87,76,.10)!important;
  text-align:left!important;
}
.consult-card-koshigaya.cta-design-contact:before{
  content:""!important;
  position:absolute!important;
  left:34px!important;
  top:34px!important;
  bottom:34px!important;
  width:104px!important;
  height:auto!important;
  border-radius:22px!important;
  background:
    radial-gradient(circle at 50% 34%,rgba(255,255,255,.82),transparent 28%),
    linear-gradient(180deg,rgba(227,241,235,.95),rgba(250,247,237,.85))!important;
  border:1px solid rgba(207,228,219,.9)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8)!important;
  z-index:-1!important;
}
.consult-card-koshigaya.cta-design-contact:after{
  content:""!important;
  position:absolute!important;
  right:42px!important;
  bottom:34px!important;
  width:170px!important;
  height:170px!important;
  border-radius:50%!important;
  background:radial-gradient(circle,rgba(214,170,79,.10),transparent 68%)!important;
  z-index:-1!important;
}
.consult-card-koshigaya.cta-design-contact .consult-card__text,
.consult-card-koshigaya.cta-design-contact .cta-row{
  padding-left:180px!important;
}
.consult-card-koshigaya.cta-design-contact .consult-label{
  display:inline-flex!important;
  margin:0 0 16px!important;
  padding:8px 22px!important;
  border-radius:999px!important;
  background:#edf8f3!important;
  color:#0c6553!important;
  border:1px solid #d4e6de!important;
  box-shadow:none!important;
  font-size:13px!important;
  letter-spacing:.16em!important;
}
.consult-card-koshigaya.cta-design-contact h2{
  max-width:760px!important;
  margin:0 0 16px!important;
  color:#073d37!important;
  font-size:clamp(30px,3vw,44px)!important;
  line-height:1.45!important;
  letter-spacing:.02em!important;
  text-shadow:none!important;
}
.consult-card-koshigaya.cta-design-contact p{
  max-width:760px!important;
  margin:0!important;
  color:#5b7069!important;
  font-size:16.5px!important;
  line-height:2!important;
}
.consult-card-koshigaya.cta-design-contact .consult-points{
  justify-content:flex-start!important;
  gap:12px!important;
  margin:24px 0 26px!important;
}
.consult-card-koshigaya.cta-design-contact .consult-points span{
  background:#fff!important;
  color:#126454!important;
  border:1px solid #d6e8df!important;
  box-shadow:0 8px 18px rgba(22,86,75,.05)!important;
}
.consult-card-koshigaya.cta-design-contact .cta-row{
  justify-content:flex-start!important;
  gap:16px!important;
}

/* 3. 対応エリアCTA：左バッジを控えめにして本文を主役に */
.area-mini-cta.cta-design-area{
  max-width:1120px!important;
  margin:42px auto 0!important;
  padding:42px 50px!important;
  border-radius:28px!important;
  background:
    radial-gradient(circle at 93% 78%,rgba(214,170,79,.09),transparent 26%),
    linear-gradient(135deg,#fffdf8 0%,#f8f2e4 100%)!important;
  border:1px solid rgba(214,170,79,.34)!important;
  box-shadow:0 22px 54px rgba(27,87,76,.10)!important;
  color:#073d37!important;
  display:grid!important;
  grid-template-columns:150px 1fr!important;
  gap:34px!important;
  align-items:center!important;
  text-align:left!important;
}
.area-mini-cta.cta-design-area:before{
  content:"越谷市\A全域対応"!important;
  position:relative!important;
  left:auto!important;
  top:auto!important;
  transform:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:118px!important;
  height:118px!important;
  min-height:118px!important;
  margin:0 auto!important;
  padding:0!important;
  border-radius:50%!important;
  background:linear-gradient(180deg,#eef8f4,#f8fbf8)!important;
  border:1px solid #d8e8df!important;
  color:#0d5e50!important;
  box-shadow:none!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1.55!important;
  letter-spacing:.02em!important;
  text-align:center!important;
  white-space:pre-line!important;
}
.area-mini-cta.cta-design-area:after{
  content:""!important;
  position:absolute!important;
  right:34px!important;
  top:32px!important;
  width:110px!important;
  height:110px!important;
  border-radius:50%!important;
  border:1px solid rgba(214,170,79,.16)!important;
  background:transparent!important;
  z-index:-1!important;
}
.area-mini-cta.cta-design-area h3,
.area-mini-cta.cta-design-area p,
.area-mini-cta.cta-design-area .cta-row{
  grid-column:2!important;
  padding:0!important;
}
.area-mini-cta.cta-design-area h3{
  margin:0 0 16px!important;
  color:#073d37!important;
  font-size:clamp(26px,2.45vw,38px)!important;
  line-height:1.45!important;
  letter-spacing:.02em!important;
}
.area-mini-cta.cta-design-area p{
  max-width:820px!important;
  margin:0 0 26px!important;
  color:#5a6e68!important;
  font-size:16.5px!important;
  line-height:2!important;
}
.area-mini-cta.cta-design-area .cta-row{
  justify-content:flex-start!important;
  gap:16px!important;
}

/* 4. 葬儀後CTA：薄い緑のラベルを左に置いた落ち着いたカード */
.benefit-mini-cta.cta-design-benefit{
  max-width:1120px!important;
  margin:42px auto 0!important;
  padding:40px 50px!important;
  border-radius:28px!important;
  background:
    radial-gradient(circle at 92% 20%,rgba(90,150,125,.08),transparent 24%),
    linear-gradient(135deg,#fffdf8 0%,#f8f2e4 100%)!important;
  border:1px solid rgba(214,170,79,.34)!important;
  box-shadow:0 22px 54px rgba(27,87,76,.10)!important;
  color:#073d37!important;
  text-align:left!important;
  display:grid!important;
  grid-template-columns:150px 1fr!important;
  gap:34px!important;
  align-items:center!important;
}
.benefit-mini-cta.cta-design-benefit:before{
  content:"葬儀後も\A安心して\Aご相談ください"!important;
  white-space:pre-line!important;
  position:relative!important;
  left:auto!important;
  top:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:118px!important;
  height:118px!important;
  min-height:118px!important;
  margin:0 auto!important;
  padding:0!important;
  border-radius:50%!important;
  background:linear-gradient(180deg,#eef8f4,#f8fbf8)!important;
  border:1px solid #d8e8df!important;
  color:#0d5e50!important;
  box-shadow:none!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1.55!important;
  letter-spacing:.02em!important;
  text-align:center!important;
}
.benefit-mini-cta.cta-design-benefit:after{
  content:""!important;
  position:absolute!important;
  right:34px!important;
  bottom:28px!important;
  width:120px!important;
  height:120px!important;
  border-radius:50%!important;
  border:1px solid rgba(214,170,79,.16)!important;
  background:radial-gradient(circle,rgba(214,170,79,.08),transparent 66%)!important;
  z-index:-1!important;
}
.benefit-mini-cta.cta-design-benefit h3,
.benefit-mini-cta.cta-design-benefit p,
.benefit-mini-cta.cta-design-benefit .cta-row{
  grid-column:2!important;
  padding:0!important;
}
.benefit-mini-cta.cta-design-benefit h3{
  margin:0 0 14px!important;
  color:#073d37!important;
  font-size:clamp(26px,2.45vw,38px)!important;
  line-height:1.45!important;
  letter-spacing:.02em!important;
  text-shadow:none!important;
}
.benefit-mini-cta.cta-design-benefit p{
  max-width:840px!important;
  margin:0 0 24px!important;
  color:#5a6e68!important;
  font-size:16.5px!important;
  line-height:2!important;
}
.benefit-mini-cta.cta-design-benefit .cta-row{
  justify-content:flex-start!important;
  gap:16px!important;
}

/* 詳細ページ下部CTAも同じトーンに調整 */
.koshigaya-archive-page .koshigaya-detail-consult.cta-design-detail{
  max-width:1040px!important;
  margin:44px auto 0!important;
  padding:44px 42px!important;
  border-radius:28px!important;
  background:
    radial-gradient(circle at 94% 18%,rgba(255,255,255,.14),transparent 24%),
    linear-gradient(135deg,#0d4f45 0%,#176f5f 100%)!important;
  border:1px solid rgba(214,170,79,.30)!important;
  box-shadow:0 24px 58px rgba(22,86,75,.18)!important;
  color:#fff!important;
  text-align:center!important;
}
.koshigaya-archive-page .koshigaya-detail-consult.cta-design-detail:before{
  content:""!important;
  position:absolute!important;
  inset:16px!important;
  border-radius:22px!important;
  border:1px solid rgba(255,255,255,.13)!important;
  background:transparent!important;
  z-index:-1!important;
}
.koshigaya-archive-page .koshigaya-detail-consult.cta-design-detail .consult-label{
  display:inline-flex!important;
  margin:0 auto 14px!important;
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(232,203,142,.65)!important;
  color:#f5e6bd!important;
  box-shadow:none!important;
}
.koshigaya-archive-page .koshigaya-detail-consult.cta-design-detail h2{
  color:#fff!important;
  font-size:clamp(26px,2.5vw,36px)!important;
  line-height:1.45!important;
  margin:0 0 12px!important;
}
.koshigaya-archive-page .koshigaya-detail-consult.cta-design-detail .detail-consult-lead{
  max-width:760px!important;
  margin:0 auto 24px!important;
  color:#edf8f3!important;
  line-height:2!important;
}
.koshigaya-archive-page .koshigaya-detail-consult.cta-design-detail .koshigaya-detail-consult-buttons{
  justify-content:center!important;
  gap:16px!important;
}

/* フッター直前CTAは控えめに締める */
main > .site-final-cta.cta-design-footer{
  background:transparent!important;
  padding:0 20px!important;
  margin:72px auto 112px!important;
}
main > .site-final-cta.cta-design-footer .final-cta-inner{
  max-width:1120px!important;
  margin:0 auto!important;
  padding:48px 54px!important;
  border-radius:28px!important;
  background:
    radial-gradient(circle at 88% 28%,rgba(214,170,79,.09),transparent 24%),
    linear-gradient(135deg,#fffdf8 0%,#f8f2e4 100%)!important;
  border:1px solid rgba(214,170,79,.34)!important;
  box-shadow:0 22px 54px rgba(27,87,76,.10)!important;
  text-align:center!important;
}
main > .site-final-cta.cta-design-footer .final-cta-inner:before,
main > .site-final-cta.cta-design-footer .final-cta-inner:after{
  content:""!important;
  position:absolute!important;
  border-radius:50%!important;
  border:1px solid rgba(214,170,79,.14)!important;
  background:transparent!important;
  z-index:-1!important;
}
main > .site-final-cta.cta-design-footer .final-cta-inner:before{
  right:36px!important;
  top:32px!important;
  width:118px!important;
  height:118px!important;
}
main > .site-final-cta.cta-design-footer .final-cta-inner:after{
  left:34px!important;
  bottom:28px!important;
  width:86px!important;
  height:86px!important;
}
main > .site-final-cta.cta-design-footer h2{
  max-width:820px!important;
  margin:0 auto 16px!important;
  color:#073d37!important;
  font-size:clamp(26px,2.55vw,38px)!important;
  line-height:1.45!important;
}
main > .site-final-cta.cta-design-footer p{
  max-width:820px!important;
  margin:0 auto 26px!important;
  color:#5a6e68!important;
  font-size:16.5px!important;
  line-height:2!important;
}
main > .site-final-cta.cta-design-footer .cta-row{
  justify-content:center!important;
  gap:16px!important;
}

/* CTAボタンは現行配色を維持しつつ、配置だけ安定化 */
.cta-design .cta-row,
.transport-cta-row,
.koshigaya-archive-page .detail-consult-buttons{
  gap:16px!important;
  row-gap:14px!important;
}
.cta-design .cta,
.transport-cta-row .cta,
.koshigaya-archive-page .detail-consult-buttons .cta{
  flex-shrink:0!important;
}

/* スマホ調整 */
@media (max-width:900px){
  .consult-card-koshigaya.cta-design-contact,
  .area-mini-cta.cta-design-area,
  .benefit-mini-cta.cta-design-benefit{
    grid-template-columns:1fr!important;
    padding:34px 22px!important;
    text-align:center!important;
  }
  .consult-card-koshigaya.cta-design-contact:before{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    bottom:auto!important;
    display:block!important;
    width:100%!important;
    height:72px!important;
    margin:0 0 22px!important;
    border-radius:18px!important;
  }
  .consult-card-koshigaya.cta-design-contact .consult-card__text,
  .consult-card-koshigaya.cta-design-contact .cta-row{
    padding-left:0!important;
  }
  .consult-card-koshigaya.cta-design-contact .consult-points,
  .consult-card-koshigaya.cta-design-contact .cta-row,
  .area-mini-cta.cta-design-area .cta-row,
  .benefit-mini-cta.cta-design-benefit .cta-row{
    justify-content:center!important;
  }
  .area-mini-cta.cta-design-area:before,
  .benefit-mini-cta.cta-design-benefit:before{
    width:104px!important;
    height:104px!important;
    min-height:104px!important;
    margin:0 auto 8px!important;
  }
  .area-mini-cta.cta-design-area h3,
  .area-mini-cta.cta-design-area p,
  .area-mini-cta.cta-design-area .cta-row,
  .benefit-mini-cta.cta-design-benefit h3,
  .benefit-mini-cta.cta-design-benefit p,
  .benefit-mini-cta.cta-design-benefit .cta-row{
    grid-column:1!important;
    padding:0!important;
  }
  .tsutsuji-guide-cta.cta-design-public,
  .koshigaya-archive-page .koshigaya-detail-consult.cta-design-detail,
  main > .site-final-cta.cta-design-footer .final-cta-inner{
    padding:34px 22px!important;
    border-radius:24px!important;
  }
  .tsutsuji-guide-cta.cta-design-public:after,
  .koshigaya-archive-page .koshigaya-detail-consult.cta-design-detail:before{
    inset:12px!important;
    border-radius:18px!important;
  }
  .tsutsuji-guide-cta.cta-design-public h3,
  .consult-card-koshigaya.cta-design-contact h2,
  .area-mini-cta.cta-design-area h3,
  .benefit-mini-cta.cta-design-benefit h3,
  main > .site-final-cta.cta-design-footer h2{
    font-size:clamp(24px,6.7vw,32px)!important;
  }
  .cta-design .cta-row,
  .transport-cta-row,
  .koshigaya-archive-page .detail-consult-buttons{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
  }
  .cta-design .cta,
  .transport-cta-row .cta,
  .koshigaya-archive-page .detail-consult-buttons .cta{
    width:100%!important;
    min-width:0!important;
  }
}


/* =========================================================
   2026-07 Unified Deep Green CTA redesign
   ボタンは維持し、CTA本体だけを濃緑系で統一。
   各CTAは模様だけ少しずつ変更。
========================================================= */
:root{
  --cta-deep-a:#0c4d43;
  --cta-deep-b:#176d5d;
  --cta-deep-c:#2a8b72;
  --cta-gold-soft:rgba(224,190,108,.62);
  --cta-white-soft:rgba(255,255,255,.14);
}

/* 共通：濃緑カード */
.tsutsuji-guide-cta.cta-design-public,
.consult-card-koshigaya.cta-design-contact,
.benefit-mini-cta.cta-design-benefit,
.area-mini-cta.cta-design-area,
.koshigaya-archive-page .koshigaya-detail-consult.cta-design-detail,
main > .site-final-cta.cta-design-footer .final-cta-inner{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  max-width:1120px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:58px 64px 56px!important;
  border-radius:34px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  background:
    radial-gradient(circle at 78% 28%, rgba(255,255,255,.14) 0 1px, transparent 2px),
    radial-gradient(circle at 16% 18%, rgba(255,255,255,.12), transparent 34%),
    linear-gradient(135deg,var(--cta-deep-a) 0%, var(--cta-deep-b) 56%, var(--cta-deep-c) 100%)!important;
  box-shadow:0 26px 66px rgba(15,79,69,.23)!important;
  text-align:center!important;
  color:#fff!important;
}

/* 共通：薄い四角の模様 */
.tsutsuji-guide-cta.cta-design-public:after,
.consult-card-koshigaya.cta-design-contact:after,
.benefit-mini-cta.cta-design-benefit:after,
.area-mini-cta.cta-design-area:after,
.koshigaya-archive-page .koshigaya-detail-consult.cta-design-detail:after,
main > .site-final-cta.cta-design-footer .final-cta-inner:after{
  content:""!important;
  position:absolute!important;
  left:22px!important;
  top:22px!important;
  width:340px!important;
  height:calc(100% - 44px)!important;
  border-radius:24px!important;
  background:
    linear-gradient(120deg, rgba(255,255,255,.05), rgba(255,255,255,.10) 48%, rgba(255,255,255,.03) 49%, rgba(255,255,255,.02) 100%)!important;
  border:1px solid rgba(255,255,255,.10)!important;
  z-index:-1!important;
  pointer-events:none!important;
}

/* 共通：控えめな丸模様 */
.tsutsuji-guide-cta.cta-design-public:before,
.consult-card-koshigaya.cta-design-contact:before,
.benefit-mini-cta.cta-design-benefit:before,
.area-mini-cta.cta-design-area:before,
.koshigaya-archive-page .koshigaya-detail-consult.cta-design-detail:before,
main > .site-final-cta.cta-design-footer .final-cta-inner:before{
  content:""!important;
  position:absolute!important;
  right:46px!important;
  bottom:38px!important;
  width:150px!important;
  height:150px!important;
  border-radius:50%!important;
  border:1px solid rgba(224,190,108,.24)!important;
  background:radial-gradient(circle, rgba(255,255,255,.05), transparent 68%)!important;
  z-index:-1!important;
  pointer-events:none!important;
}

/* 共通テキスト */
.tsutsuji-guide-cta.cta-design-public h3,
.consult-card-koshigaya.cta-design-contact h2,
.benefit-mini-cta.cta-design-benefit h3,
.area-mini-cta.cta-design-area h3,
.koshigaya-archive-page .koshigaya-detail-consult.cta-design-detail h2,
main > .site-final-cta.cta-design-footer h2{
  max-width:880px!important;
  margin:0 auto 18px!important;
  color:#fff!important;
  font-size:clamp(28px,3vw,44px)!important;
  line-height:1.45!important;
  font-weight:900!important;
  letter-spacing:.03em!important;
  text-shadow:0 2px 12px rgba(0,0,0,.18)!important;
}

.tsutsuji-guide-cta.cta-design-public p,
.consult-card-koshigaya.cta-design-contact p,
.benefit-mini-cta.cta-design-benefit p,
.area-mini-cta.cta-design-area p,
.koshigaya-archive-page .koshigaya-detail-consult.cta-design-detail .detail-consult-lead,
main > .site-final-cta.cta-design-footer p{
  max-width:860px!important;
  margin:0 auto 30px!important;
  color:rgba(255,255,255,.91)!important;
  font-size:16.5px!important;
  line-height:2.0!important;
  letter-spacing:.04em!important;
}

/* 共通ボタン配置：ボタンそのものは維持 */
.tsutsuji-guide-cta.cta-design-public .cta-row,
.consult-card-koshigaya.cta-design-contact .cta-row,
.benefit-mini-cta.cta-design-benefit .cta-row,
.area-mini-cta.cta-design-area .cta-row,
.koshigaya-archive-page .koshigaya-detail-consult.cta-design-detail .koshigaya-detail-consult-buttons,
main > .site-final-cta.cta-design-footer .cta-row{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:16px!important;
  flex-wrap:wrap!important;
  margin:0 auto!important;
  padding:0!important;
  position:relative!important;
  z-index:2!important;
}
.tsutsuji-guide-cta.cta-design-public .cta,
.consult-card-koshigaya.cta-design-contact .cta,
.benefit-mini-cta.cta-design-benefit .cta,
.area-mini-cta.cta-design-area .cta,
.koshigaya-archive-page .koshigaya-detail-consult.cta-design-detail .cta,
main > .site-final-cta.cta-design-footer .cta{
  min-height:62px!important;
  border-radius:15px!important;
  box-shadow:0 16px 30px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.24)!important;
}

/* ラベル・バッジ */
.tsutsuji-guide-cta.cta-design-public .cta-row:before,
.benefit-mini-cta.cta-design-benefit .cta-row:before,
.area-mini-cta.cta-design-area .cta-row:before,
main > .site-final-cta.cta-design-footer .cta-row:before{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  position:absolute!important;
  left:50%!important;
  top:auto!important;
  bottom:calc(100% + 122px)!important;
  transform:translateX(-50%)!important;
  min-height:38px!important;
  padding:0 24px!important;
  border-radius:999px!important;
  border:1px solid var(--cta-gold-soft)!important;
  background:rgba(255,255,255,.06)!important;
  color:#f4e5b4!important;
  font-size:13px!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  white-space:nowrap!important;
  z-index:2!important;
  box-shadow:none!important;
}
.tsutsuji-guide-cta.cta-design-public .cta-row:before{
  content:"越谷市斎場でのご葬儀をご検討の方へ"!important;
}
.benefit-mini-cta.cta-design-benefit .cta-row:before{
  content:"葬儀後も安心してご相談ください"!important;
}
.area-mini-cta.cta-design-area .cta-row:before{
  content:"越谷市全域対応・搬送・安置"!important;
}
main > .site-final-cta.cta-design-footer .cta-row:before{
  content:"お気軽にご相談ください"!important;
}

/* CONTACTの既存ラベル */
.consult-card-koshigaya.cta-design-contact .consult-label,
.koshigaya-archive-page .koshigaya-detail-consult.cta-design-detail .consult-label{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:38px!important;
  margin:0 auto 22px!important;
  padding:0 24px!important;
  border-radius:999px!important;
  border:1px solid var(--cta-gold-soft)!important;
  background:rgba(255,255,255,.07)!important;
  color:#f4e5b4!important;
  font-size:13px!important;
  font-weight:900!important;
  letter-spacing:.16em!important;
  box-shadow:none!important;
}

/* CONTACTの特徴ラベル */
.consult-card-koshigaya.cta-design-contact .consult-card__text{
  padding-left:0!important;
  max-width:none!important;
}
.consult-card-koshigaya.cta-design-contact .consult-points{
  display:flex!important;
  justify-content:center!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  margin:24px auto 30px!important;
}
.consult-card-koshigaya.cta-design-contact .consult-points span{
  background:rgba(255,255,255,.11)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  color:#fff!important;
  box-shadow:none!important;
}

/* 各CTAごとに模様を少しだけ変更 */
.consult-card-koshigaya.cta-design-contact:after{
  left:auto!important;
  right:26px!important;
  width:300px!important;
  background:
    linear-gradient(160deg, rgba(255,255,255,.07), rgba(255,255,255,.03)),
    repeating-linear-gradient(90deg, rgba(255,255,255,.045) 0 1px, transparent 1px 22px)!important;
}
.consult-card-koshigaya.cta-design-contact:before{
  right:auto!important;
  left:44px!important;
  bottom:38px!important;
  width:120px!important;
  height:120px!important;
}

.benefit-mini-cta.cta-design-benefit{
  background:
    radial-gradient(circle at 15% 22%, rgba(255,255,255,.11), transparent 28%),
    linear-gradient(135deg,#0e554b 0%, #197263 58%, #2a866f 100%)!important;
}
.benefit-mini-cta.cta-design-benefit:after{
  width:210px!important;
  transform:skewX(-12deg)!important;
  opacity:.72!important;
}
.benefit-mini-cta.cta-design-benefit:before{
  right:70px!important;
  top:44px!important;
  bottom:auto!important;
  width:120px!important;
  height:120px!important;
}

.area-mini-cta.cta-design-area{
  display:block!important;
  padding-top:62px!important;
}
.area-mini-cta.cta-design-area:after{
  left:32px!important;
  width:240px!important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.035)),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.08), transparent 62%)!important;
}
.area-mini-cta.cta-design-area:before{
  right:54px!important;
  top:46px!important;
  bottom:auto!important;
  width:96px!important;
  height:96px!important;
}

main > .site-final-cta.cta-design-footer{
  background:transparent!important;
  margin:78px auto 130px!important;
  padding:0 20px!important;
}
main > .site-final-cta.cta-design-footer .final-cta-inner{
  padding-top:62px!important;
}
main > .site-final-cta.cta-design-footer .final-cta-inner:after{
  left:auto!important;
  right:26px!important;
  width:310px!important;
  background:
    linear-gradient(125deg, rgba(255,255,255,.08), rgba(255,255,255,.025)),
    radial-gradient(circle at 25% 26%, rgba(255,255,255,.09), transparent 36%)!important;
}
main > .site-final-cta.cta-design-footer .final-cta-inner:before{
  left:58px!important;
  right:auto!important;
  bottom:42px!important;
  width:104px!important;
  height:104px!important;
}

/* 搬送CTA：同系統の濃緑カードへ */
.transport-redesign-section{
  background:linear-gradient(180deg,#eef7f3 0%, #f3faf7 100%)!important;
  padding:82px 0!important;
}
.transport-redesign-section .transport-layout{
  max-width:1120px!important;
  margin:0 auto!important;
  padding:54px 60px!important;
  border-radius:34px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  background:
    linear-gradient(135deg,rgba(12,77,67,.98) 0%, rgba(23,109,93,.98) 60%, rgba(42,139,114,.98) 100%)!important;
  box-shadow:0 26px 66px rgba(15,79,69,.23)!important;
  display:grid!important;
  grid-template-columns:330px 1fr!important;
  gap:40px!important;
  color:#fff!important;
  overflow:hidden!important;
}
.transport-redesign-section .transport-layout:before{
  content:""!important;
  position:absolute!important;
  left:22px!important;
  top:22px!important;
  width:300px!important;
  height:calc(100% - 44px)!important;
  border-radius:24px!important;
  background:linear-gradient(125deg,rgba(255,255,255,.10),rgba(255,255,255,.035))!important;
  border:1px solid rgba(255,255,255,.10)!important;
  z-index:1!important;
}
.transport-redesign-section .transport-layout:after{
  content:""!important;
  position:absolute!important;
  right:48px!important;
  bottom:38px!important;
  width:138px!important;
  height:138px!important;
  border-radius:50%!important;
  border:1px solid rgba(224,190,108,.22)!important;
  background:radial-gradient(circle, rgba(255,255,255,.05), transparent 70%)!important;
  z-index:1!important;
}
.transport-redesign-section .emergency-card,
.transport-redesign-section .transport-copy{
  position:relative!important;
  z-index:2!important;
}
.transport-redesign-section .emergency-card{
  padding:34px 30px!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.09)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:none!important;
  text-align:left!important;
}
.transport-redesign-section .emergency-card span{
  display:inline-flex!important;
  padding:8px 18px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.08)!important;
  border:1px solid var(--cta-gold-soft)!important;
  color:#f4e5b4!important;
  font-size:13px!important;
  font-weight:900!important;
}
.transport-redesign-section .emergency-card h2{
  color:#fff!important;
  font-size:clamp(25px,2.35vw,34px)!important;
  line-height:1.5!important;
  margin:20px 0 14px!important;
  text-shadow:0 2px 12px rgba(0,0,0,.16)!important;
}
.transport-redesign-section .emergency-card p,
.transport-redesign-section .transport-copy p{
  color:rgba(255,255,255,.9)!important;
  font-size:16.2px!important;
  line-height:1.95!important;
}
.transport-redesign-section .mini-steps{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  margin:24px 0 26px!important;
}
.transport-redesign-section .mini-steps div{
  min-height:66px!important;
  background:rgba(255,255,255,.12)!important;
  border:1px solid rgba(255,255,255,.15)!important;
  color:#fff!important;
  border-radius:16px!important;
  box-shadow:none!important;
}
.transport-redesign-section .mini-steps b{
  background:#fff!important;
  color:#176d5d!important;
}
.transport-redesign-section .transport-cta-row{
  justify-content:flex-start!important;
}

/* スマホ */
@media(max-width:900px){
  .tsutsuji-guide-cta.cta-design-public,
  .consult-card-koshigaya.cta-design-contact,
  .benefit-mini-cta.cta-design-benefit,
  .area-mini-cta.cta-design-area,
  .koshigaya-archive-page .koshigaya-detail-consult.cta-design-detail,
  main > .site-final-cta.cta-design-footer .final-cta-inner{
    padding:40px 20px 34px!important;
    border-radius:24px!important;
  }
  .tsutsuji-guide-cta.cta-design-public:after,
  .consult-card-koshigaya.cta-design-contact:after,
  .benefit-mini-cta.cta-design-benefit:after,
  .area-mini-cta.cta-design-area:after,
  .koshigaya-archive-page .koshigaya-detail-consult.cta-design-detail:after,
  main > .site-final-cta.cta-design-footer .final-cta-inner:after{
    left:14px!important;
    top:14px!important;
    width:120px!important;
    height:calc(100% - 28px)!important;
    opacity:.55!important;
  }
  .tsutsuji-guide-cta.cta-design-public:before,
  .consult-card-koshigaya.cta-design-contact:before,
  .benefit-mini-cta.cta-design-benefit:before,
  .area-mini-cta.cta-design-area:before,
  .koshigaya-archive-page .koshigaya-detail-consult.cta-design-detail:before,
  main > .site-final-cta.cta-design-footer .final-cta-inner:before{
    width:86px!important;
    height:86px!important;
    right:20px!important;
    bottom:18px!important;
    left:auto!important;
    top:auto!important;
  }
  .tsutsuji-guide-cta.cta-design-public h3,
  .consult-card-koshigaya.cta-design-contact h2,
  .benefit-mini-cta.cta-design-benefit h3,
  .area-mini-cta.cta-design-area h3,
  .koshigaya-archive-page .koshigaya-detail-consult.cta-design-detail h2,
  main > .site-final-cta.cta-design-footer h2{
    font-size:clamp(24px,7vw,32px)!important;
    line-height:1.45!important;
  }
  .tsutsuji-guide-cta.cta-design-public .cta-row,
  .consult-card-koshigaya.cta-design-contact .cta-row,
  .benefit-mini-cta.cta-design-benefit .cta-row,
  .area-mini-cta.cta-design-area .cta-row,
  .koshigaya-archive-page .koshigaya-detail-consult.cta-design-detail .koshigaya-detail-consult-buttons,
  main > .site-final-cta.cta-design-footer .cta-row,
  .transport-redesign-section .transport-cta-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
  }
  .tsutsuji-guide-cta.cta-design-public .cta,
  .consult-card-koshigaya.cta-design-contact .cta,
  .benefit-mini-cta.cta-design-benefit .cta,
  .area-mini-cta.cta-design-area .cta,
  .koshigaya-archive-page .koshigaya-detail-consult.cta-design-detail .cta,
  main > .site-final-cta.cta-design-footer .cta,
  .transport-redesign-section .transport-cta-row .cta{
    width:100%!important;
    min-width:0!important;
  }
  .tsutsuji-guide-cta.cta-design-public .cta-row:before,
  .benefit-mini-cta.cta-design-benefit .cta-row:before,
  .area-mini-cta.cta-design-area .cta-row:before,
  main > .site-final-cta.cta-design-footer .cta-row:before{
    position:static!important;
    transform:none!important;
    margin:0 auto 8px!important;
    grid-column:1!important;
    white-space:normal!important;
    min-height:34px!important;
  }
  .transport-redesign-section .transport-layout{
    grid-template-columns:1fr!important;
    gap:20px!important;
    padding:34px 20px!important;
    border-radius:24px!important;
  }
  .transport-redesign-section .mini-steps{
    grid-template-columns:1fr!important;
  }
}

/* ===== CTA layout correction: centered green style ===== */
/* 4つのCTAは同一トーンに統一し、文字・ボタンを中央配置に固定 */
.tsutsuji-guide-cta.cta-design-public,
.benefit-mini-cta.cta-design-benefit,
.area-mini-cta.cta-design-area,
.transport-redesign-section .transport-layout{
  box-sizing:border-box!important;
  max-width:1120px!important;
  width:calc(100% - 40px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:58px 64px 56px!important;
  border-radius:30px!important;
  background:
    radial-gradient(circle at 16% 24%, rgba(255,255,255,.11), transparent 17%),
    radial-gradient(circle at 88% 30%, rgba(211,176,95,.11), transparent 13%),
    linear-gradient(135deg,#0f5b4f 0%,#197762 58%,#2b8f70 100%)!important;
  border:1px solid rgba(255,255,255,.10)!important;
  box-shadow:0 26px 64px rgba(14,73,63,.20)!important;
  color:#fff!important;
  text-align:center!important;
  display:block!important;
  overflow:hidden!important;
  position:relative!important;
}
.tsutsuji-guide-cta.cta-design-public *,
.benefit-mini-cta.cta-design-benefit *,
.area-mini-cta.cta-design-area *,
.transport-redesign-section .transport-layout *{
  box-sizing:border-box!important;
}
/* 模様は背景に退避し、本文にかからないようにする */
.tsutsuji-guide-cta.cta-design-public:before,
.benefit-mini-cta.cta-design-benefit:before,
.area-mini-cta.cta-design-area:before,
.transport-redesign-section .transport-layout:before{
  content:""!important;
  position:absolute!important;
  left:26px!important;
  top:24px!important;
  width:300px!important;
  height:300px!important;
  border-radius:28px!important;
  background:linear-gradient(130deg,rgba(255,255,255,.10),rgba(255,255,255,.02) 58%,rgba(255,255,255,0))!important;
  border:1px solid rgba(255,255,255,.10)!important;
  transform:none!important;
  z-index:0!important;
  pointer-events:none!important;
}
.tsutsuji-guide-cta.cta-design-public:after,
.benefit-mini-cta.cta-design-benefit:after,
.area-mini-cta.cta-design-area:after,
.transport-redesign-section .transport-layout:after{
  content:""!important;
  position:absolute!important;
  right:70px!important;
  top:58px!important;
  width:112px!important;
  height:112px!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.045)!important;
  border:1px solid rgba(214,170,79,.24)!important;
  z-index:0!important;
  pointer-events:none!important;
}
.tsutsuji-guide-cta.cta-design-public > *,
.benefit-mini-cta.cta-design-benefit > *,
.area-mini-cta.cta-design-area > *,
.transport-redesign-section .transport-layout > *{
  position:relative!important;
  z-index:2!important;
}
/* CTAごとに模様位置だけ少し変更 */
.tsutsuji-guide-cta.cta-design-public:before{left:28px!important;top:28px!important;width:300px!important;height:300px!important;}
.tsutsuji-guide-cta.cta-design-public:after{right:72px!important;top:62px!important;}
.area-mini-cta.cta-design-area:before{left:auto!important;right:34px!important;top:30px!important;width:290px!important;height:250px!important;}
.area-mini-cta.cta-design-area:after{left:54px!important;right:auto!important;top:58px!important;}
.benefit-mini-cta.cta-design-benefit:before{left:42px!important;top:34px!important;transform:skewX(-7deg)!important;}
.benefit-mini-cta.cta-design-benefit:after{right:62px!important;top:42px!important;}
.transport-redesign-section .transport-layout:before{left:34px!important;top:32px!important;width:310px!important;height:270px!important;}
.transport-redesign-section .transport-layout:after{right:58px!important;top:48px!important;}

/* 見出し・本文は必ず中央配置 */
.tsutsuji-guide-cta.cta-design-public h3,
.benefit-mini-cta.cta-design-benefit h3,
.area-mini-cta.cta-design-area h3,
.transport-redesign-section .emergency-card h2{
  display:block!important;
  width:100%!important;
  max-width:880px!important;
  margin:0 auto 18px!important;
  padding:0!important;
  color:#fff!important;
  text-align:center!important;
  font-size:clamp(28px,3vw,44px)!important;
  line-height:1.42!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
  text-shadow:0 2px 10px rgba(0,0,0,.16)!important;
}
.tsutsuji-guide-cta.cta-design-public p,
.benefit-mini-cta.cta-design-benefit p,
.area-mini-cta.cta-design-area p,
.transport-redesign-section .transport-copy p,
.transport-redesign-section .emergency-card p{
  display:block!important;
  max-width:820px!important;
  margin:0 auto 30px!important;
  padding:0!important;
  color:rgba(255,255,255,.92)!important;
  text-align:center!important;
  font-size:16.5px!important;
  line-height:2.0!important;
  letter-spacing:.03em!important;
}
/* 既存のラベル疑似要素が見出しに重ならないよう完全停止 */
.tsutsuji-guide-cta.cta-design-public .cta-row:before,
.benefit-mini-cta.cta-design-benefit .cta-row:before,
.area-mini-cta.cta-design-area .cta-row:before{
  content:none!important;
  display:none!important;
}
/* 必要な小ラベルは見出し上に独立して表示 */
.tsutsuji-guide-cta.cta-design-public h3:before,
.area-mini-cta.cta-design-area h3:before,
.benefit-mini-cta.cta-design-benefit h3:before,
.transport-redesign-section .emergency-card h2:before{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:34px!important;
  padding:0 24px!important;
  margin:0 auto 18px!important;
  border-radius:999px!important;
  border:1px solid rgba(214,170,79,.70)!important;
  background:rgba(13,78,67,.28)!important;
  color:#f6e7bd!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.06em!important;
  text-shadow:none!important;
}
.tsutsuji-guide-cta.cta-design-public h3:before{content:"越谷市斎場でのご葬儀をご検討の方へ"!important;}
.area-mini-cta.cta-design-area h3:before{content:"越谷市全域対応・搬送・安置"!important;}

/* Keep the full-bleed hero inside the mobile layout viewport. */
@media(max-width:820px){
  html,body{overflow-x:hidden}
  .hero{width:100%!important;margin-left:0!important;margin-right:0!important}
  .hero .container,.hero .container.hero-grid,.hero .hero-visual,.hero .hero-visual img{width:100%!important;max-width:100%!important}
}
.benefit-mini-cta.cta-design-benefit h3:before{content:"葬儀後も安心してご相談ください"!important;}
.transport-redesign-section .emergency-card h2:before{content:"お急ぎの方へ"!important;color:#fff2de!important;border-color:rgba(255,216,171,.75)!important;}

/* ボタンは既存デザインを保ちつつ中央に3つ横並び */
.tsutsuji-guide-cta.cta-design-public .cta-row,
.benefit-mini-cta.cta-design-benefit .cta-row,
.area-mini-cta.cta-design-area .cta-row,
.transport-redesign-section .transport-cta-row{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:nowrap!important;
  gap:16px!important;
  width:100%!important;
  max-width:780px!important;
  margin:0 auto!important;
  padding:0!important;
}
.tsutsuji-guide-cta.cta-design-public .cta,
.benefit-mini-cta.cta-design-benefit .cta,
.area-mini-cta.cta-design-area .cta,
.transport-redesign-section .transport-cta-row .cta{
  flex:0 1 240px!important;
  min-width:0!important;
  max-width:260px!important;
  height:62px!important;
  min-height:62px!important;
  margin:0!important;
}
/* 搬送CTAを単一中央レイアウトに戻す */
.transport-redesign-section{padding:72px 0 80px!important;background:linear-gradient(180deg,#f2faf6 0%,#eef7f3 100%)!important;}
.transport-redesign-section .transport-layout{grid-template-columns:1fr!important;gap:0!important;align-items:center!important;}
.transport-redesign-section .emergency-card{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0 auto!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  text-align:center!important;
}
.transport-redesign-section .emergency-card span,
.transport-redesign-section .emergency-card > a{display:none!important;}
.transport-redesign-section .transport-copy{display:block!important;width:100%!important;max-width:none!important;padding:0!important;text-align:center!important;}
.transport-redesign-section .transport-copy p:first-child{margin-top:2px!important;}
.transport-redesign-section .transport-copy p:nth-child(2){display:none!important;}
.transport-redesign-section .mini-steps{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  width:100%!important;
  max-width:760px!important;
  margin:0 auto 28px!important;
}
.transport-redesign-section .mini-steps div{
  min-height:58px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.12)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.transport-redesign-section .mini-steps b{background:#fff!important;color:#13705e!important;}

@media(max-width:900px){
  .tsutsuji-guide-cta.cta-design-public,
  .benefit-mini-cta.cta-design-benefit,
  .area-mini-cta.cta-design-area,
  .transport-redesign-section .transport-layout{
    width:calc(100% - 28px)!important;
    padding:40px 22px!important;
    border-radius:24px!important;
  }
  .tsutsuji-guide-cta.cta-design-public:before,
  .benefit-mini-cta.cta-design-benefit:before,
  .area-mini-cta.cta-design-area:before,
  .transport-redesign-section .transport-layout:before{width:190px!important;height:190px!important;opacity:.65!important;}
  .tsutsuji-guide-cta.cta-design-public:after,
  .benefit-mini-cta.cta-design-benefit:after,
  .area-mini-cta.cta-design-area:after,
  .transport-redesign-section .transport-layout:after{width:86px!important;height:86px!important;opacity:.5!important;}
  .tsutsuji-guide-cta.cta-design-public .cta-row,
  .benefit-mini-cta.cta-design-benefit .cta-row,
  .area-mini-cta.cta-design-area .cta-row,
  .transport-redesign-section .transport-cta-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    max-width:420px!important;
  }
  .tsutsuji-guide-cta.cta-design-public .cta,
  .benefit-mini-cta.cta-design-benefit .cta,
  .area-mini-cta.cta-design-area .cta,
  .transport-redesign-section .transport-cta-row .cta{width:100%!important;max-width:none!important;flex:none!important;}
  .transport-redesign-section .mini-steps{grid-template-columns:1fr!important;max-width:420px!important;}
}

/* ===== CTA layout final fix: top page only, keep detail pages unchanged ===== */
/* 対象：トップページ内の4か所だけ。記事下層の .koshigaya-detail-consult は触らない */
.tsutsuji-guide-cta.cta-design-public,
.benefit-mini-cta.cta-design-benefit,
.area-mini-cta.cta-design-area,
.transport-redesign-section .transport-layout{
  text-align:center!important;
  display:block!important;
  overflow:hidden!important;
  padding:58px 48px 54px!important;
}
.tsutsuji-guide-cta.cta-design-public > *,
.benefit-mini-cta.cta-design-benefit > *,
.area-mini-cta.cta-design-area > *,
.transport-redesign-section .transport-layout > *{
  position:relative!important;
  z-index:2!important;
}

/* ラベルを見出し内の独立した1段目にし、文字と重ならないようにする */
.tsutsuji-guide-cta.cta-design-public h3:before,
.area-mini-cta.cta-design-area h3:before,
.benefit-mini-cta.cta-design-benefit h3:before,
.transport-redesign-section .emergency-card h2:before{
  display:flex!important;
  width:fit-content!important;
  max-width:90%!important;
  min-height:34px!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 24px!important;
  margin:0 auto 22px!important;
  border-radius:999px!important;
  border:1px solid rgba(214,170,79,.72)!important;
  background:rgba(9,64,55,.34)!important;
  color:#f7e9bf!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1.15!important;
  letter-spacing:.06em!important;
  text-shadow:none!important;
  white-space:nowrap!important;
}
.tsutsuji-guide-cta.cta-design-public h3:before{content:"越谷市斎場でのご葬儀をご検討の方へ"!important;}
.area-mini-cta.cta-design-area h3:before{content:"越谷市全域対応・搬送・安置"!important;}
.benefit-mini-cta.cta-design-benefit h3:before{content:"葬儀後も安心してご相談ください"!important;}
.transport-redesign-section .emergency-card h2:before{content:"お急ぎの方へ"!important;}

/* 見出し・本文は必ず中央。左右の模様や疑似要素の影響を受けない幅に固定 */
.tsutsuji-guide-cta.cta-design-public h3,
.benefit-mini-cta.cta-design-benefit h3,
.area-mini-cta.cta-design-area h3,
.transport-redesign-section .emergency-card h2{
  display:block!important;
  width:100%!important;
  max-width:900px!important;
  margin:0 auto 22px!important;
  padding:0!important;
  text-align:center!important;
  color:#fff!important;
  font-size:clamp(32px,3.15vw,46px)!important;
  line-height:1.48!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
  text-shadow:0 2px 12px rgba(0,0,0,.16)!important;
}
.tsutsuji-guide-cta.cta-design-public p,
.benefit-mini-cta.cta-design-benefit p,
.area-mini-cta.cta-design-area p,
.transport-redesign-section .emergency-card p,
.transport-redesign-section .transport-copy p{
  display:block!important;
  width:100%!important;
  max-width:860px!important;
  margin:0 auto 32px!important;
  padding:0!important;
  text-align:center!important;
  color:rgba(255,255,255,.94)!important;
  font-size:16.5px!important;
  line-height:2.0!important;
  letter-spacing:.03em!important;
}

/* 既存のラベルや余計なテキスト疑似要素は停止 */
.tsutsuji-guide-cta.cta-design-public .cta-row:before,
.benefit-mini-cta.cta-design-benefit .cta-row:before,
.area-mini-cta.cta-design-area .cta-row:before{
  content:none!important;
  display:none!important;
}

/* ボタンは3つ横並び。電話番号が折り返されない幅を確保 */
.tsutsuji-guide-cta.cta-design-public .cta-row,
.benefit-mini-cta.cta-design-benefit .cta-row,
.area-mini-cta.cta-design-area .cta-row,
.transport-redesign-section .transport-cta-row{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
  width:100%!important;
  max-width:850px!important;
  margin:0 auto!important;
  padding:0!important;
}
.tsutsuji-guide-cta.cta-design-public .cta,
.benefit-mini-cta.cta-design-benefit .cta,
.area-mini-cta.cta-design-area .cta,
.transport-redesign-section .transport-cta-row .cta{
  flex:0 0 240px!important;
  width:240px!important;
  max-width:240px!important;
  min-width:240px!important;
  height:62px!important;
  min-height:62px!important;
  margin:0!important;
  white-space:nowrap!important;
  box-sizing:border-box!important;
}
.tsutsuji-guide-cta.cta-design-public .cta-tel,
.benefit-mini-cta.cta-design-benefit .cta-tel,
.area-mini-cta.cta-design-area .cta-tel,
.transport-redesign-section .transport-cta-row .cta-tel{
  flex-basis:270px!important;
  width:270px!important;
  min-width:270px!important;
  max-width:270px!important;
  font-size:26px!important;
  line-height:1.05!important;
}
.tsutsuji-guide-cta.cta-design-public .cta-tel small,
.benefit-mini-cta.cta-design-benefit .cta-tel small,
.area-mini-cta.cta-design-area .cta-tel small,
.transport-redesign-section .transport-cta-row .cta-tel small{
  display:block!important;
  font-size:12px!important;
  line-height:1.1!important;
  white-space:nowrap!important;
}

/* 搬送CTAは見出し・本文・ステップ・ボタンを中央1カラムへ整列 */
.transport-redesign-section .transport-layout{
  grid-template-columns:1fr!important;
  gap:0!important;
  align-items:center!important;
}
.transport-redesign-section .emergency-card{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0 auto!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  text-align:center!important;
}
.transport-redesign-section .emergency-card span,
.transport-redesign-section .emergency-card > a{display:none!important;}
.transport-redesign-section .transport-copy{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  padding:0!important;
  text-align:center!important;
}
.transport-redesign-section .transport-copy p:nth-child(2){display:none!important;}
.transport-redesign-section .mini-steps{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  width:100%!important;
  max-width:800px!important;
  margin:0 auto 32px!important;
}
.transport-redesign-section .mini-steps div{
  min-height:58px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.13)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  color:#fff!important;
}
.transport-redesign-section .mini-steps b{
  background:#fff!important;
  color:#13705e!important;
}

/* 模様は背景として薄く。本文中央エリアへ被らないようにする */
.tsutsuji-guide-cta.cta-design-public:before,
.benefit-mini-cta.cta-design-benefit:before,
.area-mini-cta.cta-design-area:before,
.transport-redesign-section .transport-layout:before{
  opacity:.55!important;
  z-index:0!important;
}
.tsutsuji-guide-cta.cta-design-public:after,
.benefit-mini-cta.cta-design-benefit:after,
.area-mini-cta.cta-design-area:after,
.transport-redesign-section .transport-layout:after{
  opacity:.42!important;
  z-index:0!important;
}

@media(max-width:900px){
  .tsutsuji-guide-cta.cta-design-public,
  .benefit-mini-cta.cta-design-benefit,
  .area-mini-cta.cta-design-area,
  .transport-redesign-section .transport-layout{
    padding:42px 22px!important;
  }
  .tsutsuji-guide-cta.cta-design-public h3,
  .benefit-mini-cta.cta-design-benefit h3,
  .area-mini-cta.cta-design-area h3,
  .transport-redesign-section .emergency-card h2{
    font-size:clamp(25px,7vw,34px)!important;
    line-height:1.45!important;
  }
  .tsutsuji-guide-cta.cta-design-public .cta-row,
  .benefit-mini-cta.cta-design-benefit .cta-row,
  .area-mini-cta.cta-design-area .cta-row,
  .transport-redesign-section .transport-cta-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    max-width:420px!important;
  }
  .tsutsuji-guide-cta.cta-design-public .cta,
  .benefit-mini-cta.cta-design-benefit .cta,
  .area-mini-cta.cta-design-area .cta,
  .transport-redesign-section .transport-cta-row .cta{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    flex:none!important;
  }
  .transport-redesign-section .mini-steps{
    grid-template-columns:1fr!important;
    max-width:420px!important;
  }
}

/* Voice detail: source extra fields */
.archive-detail-extra-section{
  margin-top:28px;
  padding:24px 26px;
  border-radius:18px;
  background:linear-gradient(180deg,#f7fbf8 0%,#ffffff 100%);
  border:1px solid #dcebe5;
}
.archive-detail-extra-section h3{
  margin:0 0 12px;
  color:#0b4b42;
  font-size:20px;
  line-height:1.5;
  font-weight:900;
}
.archive-detail-extra-section p{
  margin:0;
}
@media(max-width:767px){
  .archive-detail-extra-section{padding:20px 18px;border-radius:16px;}
  .archive-detail-extra-section h3{font-size:18px;}
}


/* お客様の声詳細：上部にもアンケート画像を小さめに全体表示 */
.archive-type-voice.archive-detail-view .archive-detail-main-image{
  display:flex!important;
  width:min(100%,540px)!important;
  max-width:540px!important;
  margin:0 auto 28px!important;
  padding:16px!important;
  border-radius:22px!important;
  border:1px solid #dfeee8!important;
  background:linear-gradient(135deg,#f7fcfa,#ffffff)!important;
  box-shadow:0 12px 28px rgba(27,87,76,.07)!important;
  align-items:center!important;
  justify-content:center!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.archive-type-voice.archive-detail-view .archive-detail-main-image img{
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
  max-height:390px!important;
  object-fit:contain!important;
  object-position:center center!important;
  border-radius:14px!important;
  background:#fff!important;
}
.archive-type-voice.archive-detail-view .archive-detail-main-image figcaption{
  width:100%!important;
  margin-top:10px!important;
  padding:9px 12px!important;
  border-radius:12px!important;
  background:#eef8f4!important;
  color:#176755!important;
  text-align:center!important;
  font-weight:900!important;
}
.archive-type-voice.archive-detail-view .archive-gallery-voice{
  display:flex!important;
  justify-content:center!important;
  padding:20px 0 0!important;
}
.archive-type-voice.archive-detail-view .archive-gallery-voice figure{
  width:min(100%,440px)!important;
  max-width:440px!important;
  margin:0 auto!important;
  padding:14px!important;
  border-radius:20px!important;
  border:1px solid #dfeee8!important;
  background:#fff!important;
  box-shadow:0 10px 24px rgba(27,87,76,.06)!important;
  overflow:hidden!important;
}
.archive-type-voice.archive-detail-view .archive-gallery-voice img{
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
  max-height:330px!important;
  object-fit:contain!important;
  object-position:center center!important;
  margin:0 auto!important;
  border-radius:12px!important;
}
.archive-type-voice.archive-detail-view .archive-gallery-voice figcaption{
  margin-top:9px!important;
  border-radius:11px!important;
  text-align:center!important;
}
@media(max-width:820px){
  .archive-type-voice.archive-detail-view .archive-detail-main-image{
    width:100%!important;
    max-width:480px!important;
    padding:12px!important;
    margin-bottom:22px!important;
  }
  .archive-type-voice.archive-detail-view .archive-detail-main-image img{max-height:340px!important;}
  .archive-type-voice.archive-detail-view .archive-gallery-voice figure{max-width:400px!important;padding:12px!important;}
  .archive-type-voice.archive-detail-view .archive-gallery-voice img{max-height:300px!important;}
}

/* ===== CTA phone icon alignment + bottom CTA layout fix ===== */
/* 電話アイコンを電話番号の真横に配置（詳細ページ含むCTA共通） */
.cta-row .cta-tel,
.transport-cta-row .cta-tel,
.koshigaya-archive-page .detail-consult-buttons .cta-tel,
.koshigaya-detail-consult-buttons .cta-tel{
  position:relative!important;
  display:inline-grid!important;
  grid-template-columns:auto auto!important;
  grid-template-rows:auto auto!important;
  align-items:center!important;
  justify-content:center!important;
  justify-items:center!important;
  column-gap:8px!important;
  row-gap:1px!important;
  padding-left:26px!important;
  padding-right:26px!important;
  text-align:center!important;
  white-space:nowrap!important;
  line-height:1.12!important;
}
.cta-row .cta-tel small,
.transport-cta-row .cta-tel small,
.koshigaya-archive-page .detail-consult-buttons .cta-tel small,
.koshigaya-detail-consult-buttons .cta-tel small{
  grid-column:1 / -1!important;
  grid-row:1!important;
  display:block!important;
  line-height:1.1!important;
  margin:0!important;
  padding:0!important;
}
.cta-row .cta-tel:before,
.transport-cta-row .cta-tel:before,
.koshigaya-archive-page .detail-consult-buttons .cta-tel:before,
.koshigaya-detail-consult-buttons .cta-tel:before{
  content:"☎"!important;
  position:static!important;
  grid-column:1!important;
  grid-row:2!important;
  transform:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  font-size:1.02em!important;
  line-height:1!important;
  opacity:.96!important;
}

/* トップ最下部CTA：中央揃えの濃緑デザインに整理 */
main > .site-final-cta.cta-design-footer{
  background:transparent!important;
  padding:0 20px!important;
  margin:78px auto 120px!important;
  overflow:visible!important;
}
main > .site-final-cta.cta-design-footer .final-cta-inner{
  width:min(1120px,100%)!important;
  max-width:1120px!important;
  margin:0 auto!important;
  padding:58px 48px 54px!important;
  border-radius:34px!important;
  background:linear-gradient(135deg,#125c50 0%,#197765 56%,#2a906f 100%)!important;
  border:0!important;
  box-shadow:0 24px 58px rgba(18,76,67,.22)!important;
  text-align:center!important;
  color:#fff!important;
  position:relative!important;
  overflow:hidden!important;
}
main > .site-final-cta.cta-design-footer .final-cta-inner:before{
  content:""!important;
  position:absolute!important;
  left:28px!important;
  top:28px!important;
  width:300px!important;
  height:300px!important;
  border-radius:28px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.09),rgba(255,255,255,.015))!important;
  border:1px solid rgba(255,255,255,.11)!important;
  transform:skewX(-8deg)!important;
  z-index:0!important;
}
main > .site-final-cta.cta-design-footer .final-cta-inner:after{
  content:""!important;
  position:absolute!important;
  right:64px!important;
  top:48px!important;
  width:145px!important;
  height:145px!important;
  border-radius:50%!important;
  background:radial-gradient(circle,rgba(255,255,255,.10),rgba(255,255,255,.02) 58%,transparent 62%)!important;
  border:1px solid rgba(214,170,79,.34)!important;
  z-index:0!important;
}
main > .site-final-cta.cta-design-footer .final-cta-inner > *{
  position:relative!important;
  z-index:2!important;
}
main > .site-final-cta.cta-design-footer h2{
  max-width:920px!important;
  margin:0 auto 22px!important;
  padding:0!important;
  color:#fff!important;
  text-align:center!important;
  font-size:clamp(32px,3.15vw,46px)!important;
  line-height:1.48!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
  text-shadow:0 2px 12px rgba(0,0,0,.16)!important;
}
main > .site-final-cta.cta-design-footer p{
  max-width:860px!important;
  margin:0 auto 32px!important;
  padding:0!important;
  color:rgba(255,255,255,.94)!important;
  text-align:center!important;
  font-size:16.5px!important;
  line-height:2!important;
  letter-spacing:.03em!important;
}
main > .site-final-cta.cta-design-footer .cta-row{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
  width:100%!important;
  max-width:850px!important;
  margin:0 auto!important;
  padding:0!important;
}
main > .site-final-cta.cta-design-footer .cta-row:before{
  content:none!important;
  display:none!important;
}
main > .site-final-cta.cta-design-footer .cta{
  flex:0 0 240px!important;
  width:240px!important;
  max-width:240px!important;
  min-width:240px!important;
  height:62px!important;
  min-height:62px!important;
  margin:0!important;
  white-space:nowrap!important;
  box-sizing:border-box!important;
}
main > .site-final-cta.cta-design-footer .cta-tel{
  flex-basis:270px!important;
  width:270px!important;
  min-width:270px!important;
  max-width:270px!important;
  font-size:26px!important;
}

@media(max-width:900px){
  main > .site-final-cta.cta-design-footer{padding:0 14px!important;margin:54px auto 88px!important;}
  main > .site-final-cta.cta-design-footer .final-cta-inner{padding:42px 22px!important;border-radius:26px!important;}
  main > .site-final-cta.cta-design-footer .final-cta-inner:before,
  main > .site-final-cta.cta-design-footer .final-cta-inner:after{opacity:.25!important;}
  main > .site-final-cta.cta-design-footer h2{font-size:clamp(25px,7vw,34px)!important;line-height:1.45!important;}
  main > .site-final-cta.cta-design-footer .cta-row{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;max-width:420px!important;}
  main > .site-final-cta.cta-design-footer .cta{width:100%!important;max-width:none!important;min-width:0!important;flex:none!important;}
}


/* 2026-07 remove phone assist text in all CTA phone buttons */
.cta-tel small,
.cta-row .cta-tel small,
.koshigaya-detail-consult-buttons .cta-tel small,
.detail-consult-buttons .cta-tel small{
  display:none!important;
}
.cta-tel,
.cta-row .cta-tel,
.koshigaya-detail-consult-buttons .cta-tel,
.detail-consult-buttons .cta-tel{
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.cta-tel::before,
.cta-row .cta-tel::before,
.koshigaya-detail-consult-buttons .cta-tel::before,
.detail-consult-buttons .cta-tel::before{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  transform:none!important;
  line-height:1!important;
  position:static!important;
}


/* 2026-07 final CTA top text + CTA button icon alignment cleanup */
main > .site-final-cta.cta-design-footer .final-cta-kicker{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:36px!important;
  margin:0 auto 18px!important;
  padding:0 24px!important;
  border-radius:999px!important;
  border:1px solid rgba(214,170,79,.70)!important;
  background:rgba(255,255,255,.08)!important;
  color:#f7e9bc!important;
  font-size:14px!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  line-height:1!important;
  text-align:center!important;
}

/* 全CTAボタンのアイコン・文字サイズを統一 */
.cta-row .cta,
.transport-cta-row .cta,
.koshigaya-archive-page .detail-consult-buttons .cta,
.koshigaya-detail-consult-buttons .cta{
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  min-height:62px!important;
  font-size:17px!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  text-align:center!important;
  box-sizing:border-box!important;
}
.cta-row .cta-tel,
.transport-cta-row .cta-tel,
.koshigaya-archive-page .detail-consult-buttons .cta-tel,
.koshigaya-detail-consult-buttons .cta-tel,
main > .site-final-cta.cta-design-footer .cta-tel{
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  grid-template-columns:none!important;
  grid-template-rows:none!important;
  justify-items:center!important;
  font-size:24px!important;
  line-height:1!important;
  padding-left:26px!important;
  padding-right:26px!important;
  white-space:nowrap!important;
}
.cta-row .cta-tel small,
.transport-cta-row .cta-tel small,
.koshigaya-archive-page .detail-consult-buttons .cta-tel small,
.koshigaya-detail-consult-buttons .cta-tel small,
main > .site-final-cta.cta-design-footer .cta-tel small{
  display:none!important;
}
.cta-row .cta-tel:before,
.transport-cta-row .cta-tel:before,
.koshigaya-archive-page .detail-consult-buttons .cta-tel:before,
.koshigaya-detail-consult-buttons .cta-tel:before,
main > .site-final-cta.cta-design-footer .cta-tel:before{
  content:"☎"!important;
  position:static!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  font-size:1.05em!important;
  line-height:1!important;
  opacity:.96!important;
}
.cta-row .cta-mail:before,
.transport-cta-row .cta-mail:before,
.koshigaya-archive-page .detail-consult-buttons .cta-mail:before,
.koshigaya-detail-consult-buttons .cta-mail:before{
  font-size:18px!important;
  margin-right:0!important;
  line-height:1!important;
}
.cta-row .cta-line:before,
.transport-cta-row .cta-line:before,
.koshigaya-archive-page .detail-consult-buttons .cta-line:before,
.koshigaya-detail-consult-buttons .cta-line:before{
  width:36px!important;
  height:24px!important;
  margin-right:0!important;
  font-size:11px!important;
  line-height:1!important;
  flex:0 0 auto!important;
}

@media(max-width:900px){
  main > .site-final-cta.cta-design-footer .final-cta-kicker{
    min-height:34px!important;
    margin-bottom:14px!important;
    padding:0 18px!important;
    font-size:13px!important;
  }
  .cta-row .cta,
  .transport-cta-row .cta,
  .koshigaya-archive-page .detail-consult-buttons .cta,
  .koshigaya-detail-consult-buttons .cta{
    width:100%!important;
    min-width:0!important;
  }
  .cta-row .cta-tel,
  .transport-cta-row .cta-tel,
  .koshigaya-archive-page .detail-consult-buttons .cta-tel,
  .koshigaya-detail-consult-buttons .cta-tel,
  main > .site-final-cta.cta-design-footer .cta-tel{
    font-size:22px!important;
  }
}


/* --- plan cards admin variable update --- */
.plan-card{display:flex;flex-direction:column;align-items:center}
.plan-card p{flex:1}
.plan-card a{margin-top:auto!important;border:1px solid var(--green)!important;background:var(--green)!important;color:#fff!important;box-shadow:0 10px 20px rgba(29,108,90,.16)}
.plan-card a:hover{background:var(--deep)!important;border-color:var(--deep)!important;color:#fff!important}
.plan-icon--image{background:#fff!important;border:1px solid #dceae5;overflow:hidden;padding:6px;box-sizing:border-box}
.plan-icon--image img{width:100%;height:100%;object-fit:contain;display:block}
.plan-grid--compact{grid-template-columns:repeat(3,minmax(0,1fr));justify-content:start}
@media (max-width:820px){.plan-grid--compact{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.plan-grid--compact{grid-template-columns:1fr}}

/* --- plan cards image/full width and count layout update --- */
.plan-grid.plan-grid--four{grid-template-columns:repeat(4,minmax(0,1fr));}
.plan-card{overflow:hidden;}
.plan-card .plan-icon--image{width:calc(100% + 36px);height:auto;aspect-ratio:4/2.45;margin:-24px -18px 18px;border:0;border-bottom:1px solid #dceae5;border-radius:22px 22px 0 0;background:#fff!important;padding:0;box-sizing:border-box;}
.plan-card .plan-icon--image img{width:100%;height:100%;object-fit:cover;display:block;}
@media (max-width:1100px){.plan-grid.plan-grid--four{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:820px){.plan-grid.plan-grid--four{grid-template-columns:1fr 1fr;}}
@media (max-width:520px){.plan-grid.plan-grid--four{grid-template-columns:1fr;}.plan-card .plan-icon--image{width:calc(100% + 36px);margin:-24px -18px 18px;}}


/* --- plan multiline and hall flower banner update --- */
.plan-card h3{white-space:normal}
.plan-card p{text-align:left}
.hall-flower-banner{display:flex;align-items:center;justify-content:center;width:100%;min-height:58px;margin-top:18px;padding:12px 18px;border-radius:16px;background:linear-gradient(135deg,var(--green),var(--green2));color:#fff!important;text-decoration:none;font-weight:900;letter-spacing:.03em;box-shadow:0 12px 28px rgba(29,108,90,.18);text-align:center}
.hall-flower-banner:before{content:"✿";margin-right:10px;font-size:18px;line-height:1}
.hall-flower-banner:hover{filter:brightness(.96);transform:translateY(-1px)}
.facility-card .hall-flower-banner{margin-top:auto}
.facility-card{display:flex;flex-direction:column}
.facility-card .facility-photo,.facility-card h3,.facility-card .facility-sub{flex:0 0 auto}
@media (max-width:520px){.hall-flower-banner{min-height:54px;font-size:14px}}


/* --- plan description alignment and hall banner size update --- */
.plan-card--desc-left p{text-align:left!important}
.plan-card--desc-center p{text-align:center!important}
#hall .hall-main-col > .hall-flower-banner,
#hall .hall-main-col > .hall-flower-banner--single{width:100%;max-width:522px;min-height:58px;margin:18px auto 0;padding:12px 18px;box-sizing:border-box}
@media (max-width:620px){#hall .hall-main-col > .hall-flower-banner,#hall .hall-main-col > .hall-flower-banner--single{max-width:none;}}


/* お客様の声カード：カード背景を薄い緑にし、ボタン位置を下端で統一 */
.home-archive-grid .archive-card-voice,
.koshigaya-archive-page .archive-card-voice{
  background:#f9fcfa!important;
  border-color:#d7e9e1!important;
}
.home-archive-grid .archive-card-voice .archive-card-body,
.koshigaya-archive-page .archive-card-voice .archive-card-body{
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
  flex:1 1 auto!important;
}
.home-archive-grid .archive-card-voice .archive-card-title,
.koshigaya-archive-page .archive-card-voice .archive-card-title{
  display:block;
  margin:0;
  color:var(--deep);
  font-size:21px;
  line-height:1.6;
  font-weight:900;
}
.home-archive-grid .archive-card-voice .archive-card-excerpt,
.koshigaya-archive-page .archive-card-voice .archive-card-excerpt{
  display:block;
  margin:0;
  color:#35514c;
  line-height:1.85;
  font-size:15px;
}
.home-archive-grid .archive-card-voice .archive-chip-row,
.koshigaya-archive-page .archive-card-voice .archive-chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0;
}
.home-archive-grid .archive-card-voice .archive-chip-row span,
.koshigaya-archive-page .archive-card-voice .archive-chip-row span{
  background:#fff!important;
  border:1px solid #cde3d9!important;
  color:#2f6658!important;
  box-shadow:0 2px 8px rgba(27,87,76,.03);
}
.home-archive-grid .archive-card-voice .archive-more,
.koshigaya-archive-page .archive-card-voice .archive-more{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%;
  min-height:46px;
  margin-top:auto!important;
  border-radius:999px;
  background:linear-gradient(135deg,var(--green),var(--green2));
  color:#fff!important;
  text-decoration:none;
  font-weight:900;
  box-shadow:0 10px 22px rgba(29,108,90,.18);
}
.home-archive-grid .archive-card-voice .archive-voice-media,
.koshigaya-archive-page .archive-card-voice .archive-voice-media{
  padding:18px 18px 0;
}
.home-archive-grid .archive-card-voice .voice-icon,
.koshigaya-archive-page .archive-card-voice .voice-icon{
  background:#ffffff!important;
  border-color:#d6e8e1!important;
}
.home-archive-grid .archive-card-voice .archive-voice-thumb,
.koshigaya-archive-page .archive-card-voice .archive-voice-thumb{
  background:#ffffff!important;
  border-color:#d6e8e1!important;
}
@media(max-width:820px){
  .home-archive-grid .archive-card-voice .archive-card-title,
  .koshigaya-archive-page .archive-card-voice .archive-card-title{font-size:19px;}
}


/* --- koshigaya availability calendar: auto fetched design --- */
.koshigaya-availability-card{position:relative;margin:42px 0 34px;padding:34px;border:1px solid #dbe9e2;border-radius:30px;background:linear-gradient(135deg,#ffffff 0%,#f4fbf7 58%,#eef8f3 100%);box-shadow:0 22px 54px rgba(35,83,70,.12);overflow:hidden}
.koshigaya-availability-card:before{content:"";position:absolute;inset:0 0 auto auto;width:280px;height:280px;border-radius:50%;background:rgba(214,238,226,.65);transform:translate(32%,-45%);pointer-events:none}
.koshigaya-availability-intro{position:relative;display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:22px;text-align:left;z-index:1}
.koshigaya-availability-label{display:inline-flex;align-items:center;justify-content:center;width:max-content;margin-bottom:2px;padding:8px 14px;border-radius:999px;background:#e7f5ee;color:#1d6c5a;font-size:12px;font-weight:900;letter-spacing:.12em;border:1px solid #cfe7dc}
.koshigaya-availability-intro h3{margin:0;color:#163f37;font-size:clamp(26px,2.8vw,36px);line-height:1.42;letter-spacing:.02em}
.koshigaya-availability-intro p{max-width:860px;margin:0;color:#4f6660;line-height:1.9;font-weight:700}
.koshigaya-availability-intro .koshigaya-availability-updated{width:max-content;max-width:100%;margin-top:6px;display:inline-flex;align-items:center;gap:9px;padding:9px 14px;border-radius:999px;background:#fff;border:1px solid #d7e8df;color:#315b52;font-size:13px;font-weight:900;line-height:1.55;box-shadow:0 8px 20px rgba(29,108,90,.07)}
.koshigaya-availability-intro .koshigaya-availability-updated:before{content:"";flex:0 0 auto;width:10px;height:10px;border-radius:50%;background:#2f9e73;box-shadow:0 0 0 5px rgba(47,158,115,.12)}
.koshigaya-availability-toolbar{position:relative;z-index:1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin:24px 0 15px;padding:13px;border-radius:22px;background:#fff;border:1px solid #dceae5;box-shadow:0 12px 28px rgba(35,83,70,.07)}
.koshigaya-availability-toolbar strong{color:#163f37;font-size:24px;font-weight:900;letter-spacing:.05em;text-align:center}
.koshigaya-cal-btn{appearance:none;border:0;border-radius:999px;background:linear-gradient(135deg,#1d6c5a,#2d8a73);color:#fff;font-weight:900;min-width:104px;min-height:45px;padding:9px 18px;cursor:pointer;box-shadow:0 10px 20px rgba(29,108,90,.16);transition:.18s ease}
.koshigaya-cal-btn:hover{filter:brightness(.96);transform:translateY(-1px)}
.koshigaya-availability-legend{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:10px 18px;margin:0 0 17px;padding:0;color:#415b54;font-weight:900;font-size:13px}
.koshigaya-availability-legend span{display:inline-flex;align-items:center;gap:7px}
.koshigaya-availability-legend i{display:inline-block;width:13px;height:13px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.koshigaya-availability-legend .status-open{background:#2f9e73}.koshigaya-availability-legend .status-limited{background:#d89418}.koshigaya-availability-legend .status-full{background:#d95f5f}.koshigaya-availability-legend .status-check{background:#9aa7a3}.koshigaya-availability-legend .status-closed{background:#69736f}
.koshigaya-calendar-wrap{position:relative;z-index:1;overflow:hidden;border:1px solid #d7e6df;border-radius:24px;background:#fff;box-shadow:0 18px 34px rgba(35,83,70,.08)}
.koshigaya-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:#eff8f4;border-bottom:1px solid #dceae5}
.koshigaya-calendar-weekdays span{padding:12px 6px;text-align:center;color:#1d6c5a;font-weight:900;font-size:14px}.koshigaya-calendar-weekdays span:first-child{color:#a64a4a}.koshigaya-calendar-weekdays span:last-child{color:#4269a8}
.koshigaya-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);background:#dceae5;gap:1px}
.koshigaya-cal-day{appearance:none;border:0;background:#fff;min-height:150px;padding:12px 10px 10px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:10px;position:relative;color:#324d46;transition:.16s ease}
.koshigaya-cal-day:hover,.koshigaya-cal-day.is-selected{z-index:1;box-shadow:inset 0 0 0 3px rgba(29,108,90,.32);background:#fbfefc}
.koshigaya-cal-day.has-auto-data:after{content:"自動取得";position:absolute;right:8px;bottom:7px;padding:2px 7px;border-radius:999px;background:#e7f5ee;color:#1d6c5a;font-size:10px;font-weight:900;line-height:1.4}
.koshigaya-cal-day.is-empty{background:#f6faf8;cursor:default;box-shadow:none}
.koshigaya-cal-day.is-today:before{content:"本日";position:absolute;top:9px;right:9px;padding:3px 8px;border-radius:999px;background:#f29a28;color:#fff;font-size:11px;font-weight:900;box-shadow:0 7px 15px rgba(242,154,40,.22)}
.koshigaya-cal-date{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#f1f7f4;color:#163f37;font-size:17px;font-weight:900;line-height:1}
.koshigaya-cal-day.is-selected .koshigaya-cal-date{background:#1d6c5a;color:#fff}.koshigaya-cal-day.is-today .koshigaya-cal-date{background:#fff3df;color:#a36200}
.koshigaya-day-badges{display:grid;gap:7px;width:100%;padding-bottom:16px}
.koshigaya-day-badge{display:grid;grid-template-columns:48px 24px 1fr;align-items:center;gap:5px;width:100%;min-height:34px;padding:5px 6px;border-radius:13px;border:1px solid transparent;font-size:12px;font-weight:900;line-height:1.2;box-sizing:border-box}
.koshigaya-day-badge-label{color:inherit;white-space:nowrap}.koshigaya-day-badge-mark{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#fff;font-size:13px;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
.koshigaya-day-badge-count{font-size:11px;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.koshigaya-day-badge.status-open{background:#e5f6ee;color:#1d6c5a;border-color:#ccebdd}.koshigaya-day-badge.status-limited{background:#fff3d7;color:#855600;border-color:#f0dfb4}.koshigaya-day-badge.status-full{background:#ffe8e8;color:#8b3030;border-color:#f1cdcd}.koshigaya-day-badge.status-closed{background:#edf0ef;color:#4c5a56;border-color:#d8dfdc}.koshigaya-day-badge.status-check{background:#eef3f1;color:#526963;border-color:#dbe5e1}
.koshigaya-availability-detail{position:relative;z-index:1;margin-top:18px;padding:22px;border-radius:22px;background:#fff;border:1px solid #d7e6df;box-shadow:0 14px 30px rgba(35,83,70,.07)}
.koshigaya-detail-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.koshigaya-detail-title-row span{display:block;margin-bottom:3px;color:#2f8c72;font-size:11px;font-weight:900;letter-spacing:.12em}.koshigaya-detail-title-row h4{margin:0;color:#163f37;font-size:24px;line-height:1.35}
.koshigaya-detail-title-row a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 16px;border-radius:999px;background:#1d6c5a;color:#fff!important;text-decoration:none;font-size:13px;font-weight:900;white-space:nowrap;box-shadow:0 10px 18px rgba(29,108,90,.16)}
.koshigaya-detail-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.koshigaya-detail-panel{padding:16px;border-radius:18px;background:#f8fbfa;border:1px solid #e2eee9}.koshigaya-detail-panel.status-open{background:#f1fbf6;border-color:#ccebdd}.koshigaya-detail-panel.status-limited{background:#fffaf0;border-color:#f0dfb4}.koshigaya-detail-panel.status-full{background:#fff5f5;border-color:#f1cdcd}.koshigaya-detail-panel.status-closed{background:#f4f6f5;border-color:#d8dfdc}
.koshigaya-detail-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.koshigaya-detail-panel-head span{display:block;margin-bottom:2px;color:#4f6660;font-size:12px;font-weight:900;letter-spacing:.08em}.koshigaya-detail-panel-head strong{display:block;color:#163f37;font-size:22px;font-weight:900}.koshigaya-detail-panel-head b{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:44px;height:44px;border-radius:50%;background:#fff;color:#1d6c5a;font-size:20px;box-shadow:0 0 0 1px rgba(0,0,0,.07)}
.koshigaya-detail-summary{margin:0 0 12px;color:#526963;font-size:13px;line-height:1.75;font-weight:800}.koshigaya-slot-empty,.koshigaya-detail-caution{margin:10px 0 0;color:#697874;line-height:1.8;font-weight:800;font-size:13px}.koshigaya-slot-list{display:flex;flex-wrap:wrap;gap:8px;max-height:290px;overflow:auto;padding-right:2px}.koshigaya-slot-chip,.koshigaya-slot-more{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:7px 10px;border-radius:999px;background:#eef3f1;color:#526963;font-size:12px;font-weight:900;line-height:1.35}.koshigaya-slot-chip i{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#fff;font-style:normal;flex:0 0 auto}.koshigaya-slot-chip b{max-width:330px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.koshigaya-slot-chip em{font-style:normal;opacity:.8}.koshigaya-slot-chip.status-open{background:#e5f6ee;color:#1d6c5a}.koshigaya-slot-chip.status-limited{background:#fff3d7;color:#855600}.koshigaya-slot-chip.status-full{background:#ffe8e8;color:#8b3030}.koshigaya-slot-chip.status-closed{background:#edf0ef;color:#4c5a56}.koshigaya-slot-chip.status-check{background:#eef3f1;color:#526963}.koshigaya-slot-more{background:#fff;border:1px solid #dce7e2;color:#526963}
.koshigaya-detail-notes{margin-top:14px;padding:12px 14px;border-radius:14px;background:#fffaf0;border:1px solid #f0dfb4}.koshigaya-detail-notes ul{margin:0;padding-left:1.2em;color:#775a12;line-height:1.75;font-weight:800}.koshigaya-availability-actions{position:relative;z-index:1;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:14px;margin-top:18px}.koshigaya-reservation-link{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:10px 22px;border-radius:999px;background:linear-gradient(135deg,#1d6c5a,#2d8a73);color:#fff!important;text-decoration:none;font-weight:900;box-shadow:0 12px 24px rgba(29,108,90,.16)}.koshigaya-availability-actions p{margin:0;color:#6a7773;font-size:13px;line-height:1.7;font-weight:800}
@media(max-width:980px){.koshigaya-calendar-grid,.koshigaya-calendar-weekdays{min-width:860px}.koshigaya-calendar-wrap{overflow-x:auto}.koshigaya-availability-card{padding:28px 20px}.koshigaya-detail-panels{grid-template-columns:1fr}}
@media(max-width:640px){.koshigaya-availability-toolbar{grid-template-columns:1fr 1fr;gap:10px}.koshigaya-availability-toolbar strong{grid-column:1/-1;grid-row:1;font-size:21px}.koshigaya-cal-btn{grid-row:2;min-width:0}.koshigaya-availability-intro h3 br{display:none}.koshigaya-availability-intro p{font-size:14px}.koshigaya-availability-intro .koshigaya-availability-updated{width:auto;border-radius:16px;font-size:12px}.koshigaya-cal-day{min-height:142px}.koshigaya-detail-title-row{display:block}.koshigaya-detail-title-row a{margin-top:12px;width:100%;box-sizing:border-box}.koshigaya-detail-title-row h4{font-size:21px}.koshigaya-availability-actions{grid-template-columns:1fr}.koshigaya-reservation-link{width:100%;box-sizing:border-box}.koshigaya-slot-chip b{max-width:210px}}



/* --- koshigaya availability calendar v6: compact icon view --- */
.koshigaya-availability-card{margin:30px 0 28px;padding:24px;border-radius:24px;box-shadow:0 16px 36px rgba(35,83,70,.10)}
.koshigaya-availability-card:before{width:210px;height:210px;opacity:.65}
.koshigaya-availability-intro{gap:8px;margin-bottom:14px}
.koshigaya-availability-label{padding:6px 12px;font-size:11px}
.koshigaya-availability-intro h3{font-size:clamp(22px,2.2vw,30px);line-height:1.34}
.koshigaya-availability-intro p{max-width:980px;font-size:14px;line-height:1.7}
.koshigaya-availability-intro .koshigaya-availability-updated{margin-top:2px;padding:7px 12px;font-size:12px;line-height:1.45}
.koshigaya-availability-toolbar{margin:16px 0 10px;padding:8px 10px;border-radius:18px;gap:10px}
.koshigaya-availability-toolbar strong{font-size:20px}
.koshigaya-cal-btn{min-width:82px;min-height:36px;padding:7px 14px;font-size:13px}
.koshigaya-availability-legend{gap:7px 12px;margin:0 0 10px;font-size:12px;line-height:1.4}
.koshigaya-availability-legend span{gap:5px}
.koshigaya-availability-legend i{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;border:2px solid #fff;font-style:normal;font-size:10px;font-weight:900;line-height:1;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.koshigaya-availability-legend .facility-cremation{background:#f2f7f4;color:#1d6c5a}.koshigaya-availability-legend .facility-hall{background:#f2f7f4;color:#705428}
.koshigaya-calendar-wrap{border-radius:18px;box-shadow:0 12px 24px rgba(35,83,70,.07)}
.koshigaya-calendar-weekdays span{padding:7px 4px;font-size:12px}
.koshigaya-cal-day{min-height:76px;padding:7px 7px 6px;gap:5px;align-items:stretch}
.koshigaya-cal-day:hover,.koshigaya-cal-day.is-selected{box-shadow:inset 0 0 0 2px rgba(29,108,90,.35)}
.koshigaya-cal-day.has-auto-data:after{display:none}
.koshigaya-cal-day.is-both-open{background:linear-gradient(180deg,#f3fff8 0%,#e4f8ed 100%);box-shadow:inset 0 0 0 1px rgba(47,158,115,.18)}
.koshigaya-cal-day.is-both-open:hover,.koshigaya-cal-day.is-both-open.is-selected{box-shadow:inset 0 0 0 3px rgba(47,158,115,.38),0 10px 18px rgba(47,158,115,.12)}
.koshigaya-cal-day.is-today:before{content:"本";top:5px;right:5px;width:18px;height:18px;padding:0;display:flex;align-items:center;justify-content:center;font-size:10px}
.koshigaya-cal-date{width:24px;height:24px;font-size:14px;background:#f3f8f5}
.koshigaya-cal-day.is-both-open .koshigaya-cal-date{background:#1d6c5a;color:#fff}
.koshigaya-cal-day.is-today .koshigaya-cal-date{background:#fff3df;color:#a36200}
.koshigaya-day-badges{display:none}
.koshigaya-day-icons{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:1px}
.koshigaya-day-icon{position:relative;display:grid;grid-template-columns:1fr;grid-template-rows:auto auto;place-items:center;width:34px;height:34px;border-radius:12px;background:#f1f5f3;color:#526963;border:1px solid #dbe5e1;box-sizing:border-box;font-weight:900;line-height:1;box-shadow:0 3px 8px rgba(35,83,70,.05)}
.koshigaya-day-icon-type{font-size:10px;letter-spacing:.03em}.koshigaya-day-icon-mark{font-size:13px;margin-top:1px}.koshigaya-day-icon-count{position:absolute;right:-5px;top:-5px;display:flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#fff;color:inherit;border:1px solid currentColor;font-size:9px;line-height:1;box-sizing:border-box}
.koshigaya-day-icon.status-open{background:#dff5ea;color:#167056;border-color:#aee2c9}.koshigaya-day-icon.status-limited{background:#fff0cf;color:#855600;border-color:#e9ca7d}.koshigaya-day-icon.status-full{background:#ffe4e4;color:#8b3030;border-color:#efbaba}.koshigaya-day-icon.status-closed{background:#edf0ef;color:#4c5a56;border-color:#d8dfdc}.koshigaya-day-icon.status-check{background:#eef3f1;color:#677873;border-color:#dbe5e1}
.koshigaya-day-icon.facility-cremation:before,.koshigaya-day-icon.facility-hall:before{content:"";position:absolute;left:4px;top:4px;width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.55}
.koshigaya-day-compact-label{display:block;min-height:17px;text-align:center;font-size:10px;font-weight:900;line-height:1.2;color:#60756f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.koshigaya-cal-day.is-both-open .koshigaya-day-compact-label{display:inline-flex;align-items:center;justify-content:center;width:max-content;max-width:100%;margin:0 auto;padding:2px 6px;border-radius:999px;background:#1d6c5a;color:#fff;box-shadow:0 5px 10px rgba(29,108,90,.12)}
.koshigaya-availability-detail{margin-top:12px;padding:16px;border-radius:18px;box-shadow:0 10px 22px rgba(35,83,70,.06)}
.koshigaya-detail-title-row{margin-bottom:10px}.koshigaya-detail-title-row h4{font-size:21px}.koshigaya-detail-title-row a{min-height:36px;padding:7px 14px;font-size:12px}
.koshigaya-detail-panels{gap:10px}.koshigaya-detail-panel{padding:12px;border-radius:15px}.koshigaya-detail-panel-head{margin-bottom:7px}.koshigaya-detail-panel-head strong{font-size:18px}.koshigaya-detail-panel-head b{width:34px;height:34px;font-size:16px}
.koshigaya-detail-summary{margin-bottom:8px;font-size:12px;line-height:1.6}.koshigaya-slot-list{gap:5px;max-height:190px}.koshigaya-slot-chip,.koshigaya-slot-more{padding:5px 8px;font-size:11px}.koshigaya-slot-chip i{width:16px;height:16px}.koshigaya-availability-actions{margin-top:12px;gap:10px}.koshigaya-reservation-link{min-height:44px;padding:9px 18px}.koshigaya-availability-actions p{font-size:12px;line-height:1.6}
@media(max-width:980px){.koshigaya-calendar-grid,.koshigaya-calendar-weekdays{min-width:640px}.koshigaya-cal-day{min-height:74px}.koshigaya-detail-panels{grid-template-columns:1fr}}
@media(max-width:640px){.koshigaya-availability-card{padding:20px 14px}.koshigaya-availability-toolbar strong{font-size:18px}.koshigaya-cal-day{min-height:72px;padding:6px 5px}.koshigaya-day-icon{width:31px;height:31px;border-radius:10px}.koshigaya-day-icon-mark{font-size:12px}.koshigaya-day-compact-label{font-size:9px}.koshigaya-calendar-grid,.koshigaya-calendar-weekdays{min-width:560px}.koshigaya-detail-title-row{display:block}.koshigaya-detail-title-row a{margin-top:10px;width:100%;box-sizing:border-box}.koshigaya-availability-actions{grid-template-columns:1fr}.koshigaya-reservation-link{width:100%;box-sizing:border-box}}

/* 2026-07-15: smartphone-only vertical cards v4. Desktop tables remain unchanged. */
@media (max-width:900px){
  .table-wrap,
  .mobile-table-scroll,
  #fee-table .fee-table-scroll,
  .after-table-wrap{
    display:block!important;
    inline-size:100%!important;
    width:100%!important;
    max-inline-size:100%!important;
    max-width:100%!important;
    min-inline-size:0!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
    box-sizing:border-box!important;
    overflow:visible!important;
    overflow-x:visible!important;
    overflow-y:visible!important;
    -webkit-overflow-scrolling:auto!important;
    touch-action:auto!important;
    contain:inline-size!important;
  }

  #fee-table,
  #fee-table .container,
  #fee-table .fee-accordion-list,
  #fee-table .fee-accordion,
  #fee-table .fee-accordion__body,
  .table-wrap > .koshigaya-mobile-table-cards,
  .after-table-wrap > .koshigaya-mobile-table-cards{
    inline-size:100%!important;
    width:100%!important;
    max-inline-size:100%!important;
    max-width:100%!important;
    min-inline-size:0!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
  #fee-table .fee-accordion-list{
    grid-template-columns:minmax(0,1fr)!important;
  }

  table.koshigaya-mobile-source-table{
    display:none!important;
  }

  .koshigaya-mobile-table-cards{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
    inline-size:100%!important;
    width:100%!important;
    max-inline-size:100%!important;
    max-width:100%!important;
    min-inline-size:0!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    box-sizing:border-box!important;
    font-size:13px!important;
    line-height:1.68!important;
  }

  .koshigaya-mobile-table-card{
    display:block!important;
    inline-size:100%!important;
    width:100%!important;
    max-inline-size:100%!important;
    max-width:100%!important;
    min-inline-size:0!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    overflow:clip!important;
    border:1px solid #cfded6!important;
    border-radius:10px!important;
    background:#fff!important;
    box-shadow:0 2px 7px rgba(31,66,50,.07)!important;
    box-sizing:border-box!important;
    contain:inline-size!important;
  }

  .koshigaya-mobile-table-field{
    display:block!important;
    inline-size:100%!important;
    width:100%!important;
    max-inline-size:100%!important;
    max-width:100%!important;
    min-inline-size:0!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-bottom:1px solid #dfe9e3!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  .koshigaya-mobile-table-card > .koshigaya-mobile-table-field:last-child{
    border-bottom:0!important;
  }

  .koshigaya-mobile-table-field-label,
  .koshigaya-mobile-table-field-value{
    display:block!important;
    inline-size:100%!important;
    width:100%!important;
    max-inline-size:100%!important;
    max-width:100%!important;
    min-inline-size:0!important;
    min-width:0!important;
    margin:0!important;
    border:0!important;
    box-sizing:border-box!important;
    text-align:left!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    writing-mode:horizontal-tb!important;
  }

  .koshigaya-mobile-table-field-label{
    padding:7px 12px!important;
    background:#eef6f1!important;
    color:#214b38!important;
    font-size:12px!important;
    font-weight:700!important;
    line-height:1.5!important;
    letter-spacing:.01em!important;
  }

  .koshigaya-mobile-table-field-value{
    padding:10px 12px 11px!important;
    background:#fff!important;
    color:#253c32!important;
    font-size:13px!important;
    font-weight:400!important;
    line-height:1.72!important;
  }

  .koshigaya-mobile-table-field-value *,
  .koshigaya-mobile-table-field-label *{
    max-inline-size:100%!important;
    max-width:100%!important;
    min-inline-size:0!important;
    min-width:0!important;
    box-sizing:border-box!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    writing-mode:horizontal-tb!important;
  }
  .koshigaya-mobile-table-field-value a{
    display:inline!important;
    overflow-wrap:anywhere!important;
    word-break:break-all!important;
  }
  .koshigaya-mobile-table-field-value p{
    margin:0 0 .55em!important;
  }
  .koshigaya-mobile-table-field-value p:last-child{
    margin-bottom:0!important;
  }
  .koshigaya-mobile-table-field-value ul,
  .koshigaya-mobile-table-field-value ol{
    margin:.2em 0!important;
    padding-left:1.3em!important;
  }

  .koshigaya-mobile-table-field--primary .koshigaya-mobile-table-field-label{
    background:#dfeee6!important;
    color:#173d2d!important;
    font-size:12.5px!important;
  }
  .koshigaya-mobile-table-field--primary .koshigaya-mobile-table-field-value{
    font-weight:700!important;
    color:#1f4937!important;
  }
  .koshigaya-mobile-table-field--price .koshigaya-mobile-table-field-value{
    font-weight:700!important;
    color:#1f573f!important;
  }

  /* Short values such as unit, quantity and price are paired to reduce excessive height. */
  .koshigaya-mobile-table-compact-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    inline-size:100%!important;
    width:100%!important;
    max-inline-size:100%!important;
    max-width:100%!important;
    min-inline-size:0!important;
    min-width:0!important;
    border-bottom:1px solid #dfe9e3!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  .koshigaya-mobile-table-compact-grid:last-child{
    border-bottom:0!important;
  }
  .koshigaya-mobile-table-compact-grid .koshigaya-mobile-table-field{
    border-bottom:0!important;
  }
  .koshigaya-mobile-table-compact-grid .koshigaya-mobile-table-field + .koshigaya-mobile-table-field{
    border-left:1px solid #dfe9e3!important;
  }
  .koshigaya-mobile-table-compact-grid .koshigaya-mobile-table-field-label{
    padding:6px 9px!important;
    font-size:11.5px!important;
    text-align:center!important;
  }
  .koshigaya-mobile-table-compact-grid .koshigaya-mobile-table-field-value{
    padding:8px 9px 9px!important;
    font-size:12.5px!important;
    line-height:1.55!important;
    text-align:center!important;
  }

  .koshigaya-mobile-table-field-value br{
    display:block!important;
  }
  .koshigaya-mobile-table-field-value img,
  .koshigaya-mobile-table-field-value svg,
  .koshigaya-mobile-table-field-value video,
  .koshigaya-mobile-table-field-value iframe{
    display:block!important;
    max-inline-size:100%!important;
    max-width:100%!important;
    height:auto!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

@media (max-width:370px){
  .koshigaya-mobile-table-cards{
    gap:10px!important;
    font-size:12.5px!important;
  }
  .koshigaya-mobile-table-field-label{
    padding:7px 10px!important;
    font-size:11.5px!important;
  }
  .koshigaya-mobile-table-field-value{
    padding:9px 10px 10px!important;
    font-size:12.5px!important;
  }
  .koshigaya-mobile-table-compact-grid .koshigaya-mobile-table-field-label{
    padding:6px 7px!important;
    font-size:11px!important;
  }
  .koshigaya-mobile-table-compact-grid .koshigaya-mobile-table-field-value{
    padding:8px 7px!important;
    font-size:12px!important;
  }
}

/* 2026-07-15: smartphone-only hero image below the main heading. */
.hero-mobile-main-image{
  display:none;
}
@media (max-width:820px){
  .hero-copy .hero-mobile-main-image{
    display:block;
    width:100%;
    max-width:520px;
    height:auto;
    margin:14px auto 18px;
    object-fit:contain;
  }
}
