/* SOUZOKU-CSS-VERSION v34 (ascii / callbar TEL label, no icon) */
.cw-souzoku{
  
  --cw-main:#6da415;      
  --cw-main-d:#4c7410;    
  --cw-accent:#e4543c;    
  --cw-text:#323820;      
  --cw-link:#1176d4;      
  --cw-muted:#6b6f5c;
  --cw-base:#ffffff;
  --cw-surface:#f4f6e6;   
  --cw-surface2:#e9f0d3;  
  --cw-beige:#f7f3e3;     
  --cw-line:#e1e4cd;
  --cw-max:1120px;        
  --cw-read:720px;        
  --cw-radius:10px;

  color:var(--cw-text);
  line-height:1.85;
  font-feature-settings:"palt";
  -webkit-font-smoothing:antialiased;
  width:100%;
}
.cw-souzoku *{box-sizing:border-box;}
.cw-souzoku img{max-width:100%;height:auto;display:block;}

.cw-souzoku p:empty{display:none!important;margin:0!important;}
.cw-souzoku .cw-hero-grid>p,
.cw-souzoku .cw-quick>p,
.cw-souzoku .cw-grid>p,
.cw-souzoku .cw-merit>p,
.cw-souzoku .cw-cases>p,
.cw-souzoku .cw-flow>p,
.cw-souzoku .cw-worry>p,
.cw-souzoku .assure>p{display:contents;}
.cw-souzoku .cw-hero-grid>br,.cw-souzoku .cw-flow>br,.cw-souzoku .cw-quick>br{display:none;}

.cw-souzoku .cw-wrap{max-width:var(--cw-max);margin-inline:auto;padding-inline:clamp(20px,5vw,64px);}
.cw-souzoku .cw-sec{padding-block:clamp(48px,7vw,84px);}
.cw-souzoku .cw-sec--tint{background:var(--cw-surface);}
.cw-souzoku .cw-sec--beige{background:var(--cw-beige);}
.cw-souzoku .cw-sec--main{background:var(--cw-base);color:var(--cw-text);border-top:1px solid var(--cw-line);border-bottom:1px solid var(--cw-line);}
.cw-souzoku .cw-lead{max-width:var(--cw-read);}

.cw-souzoku .cw-eyebrow{
  display:inline-flex;align-items:center;gap:.5em;
  font-size:.9rem;letter-spacing:.14em;font-weight:700;
  color:var(--cw-main)!important;margin:0 0 .7em;
  background:none!important;border:none!important;padding:0!important;
}
.cw-souzoku .cw-eyebrow::before{content:"";display:inline-block;width:26px!important;min-width:26px;max-width:26px!important;height:2px!important;background:var(--cw-main)!important;flex:none;border-radius:0!important;}
.cw-souzoku .cw-eyebrow::after{content:none!important;display:none!important;}
.cw-souzoku .cw-h2{
  font-size:clamp(1.5rem,3.4vw,2.1rem);line-height:1.4;font-weight:700;
  color:var(--cw-text);margin:0 0 .6em;letter-spacing:.02em;
  border:none!important;background:none!important;padding:0!important;
}

.cw-souzoku .cw-h2::before,
.cw-souzoku .cw-h2::after{content:none!important;display:none!important;background:none!important;border:none!important;}
.cw-souzoku .cw-sec--main .cw-h2{color:var(--cw-text);}
.cw-souzoku .cw-sec--main .cw-eyebrow,
.cw-souzoku .cw-sec--main .cw-eyebrow::before{color:var(--cw-main);background:var(--cw-main);}
.cw-souzoku .cw-sec--main .cw-eyebrow{color:var(--cw-main);}
.cw-souzoku .cw-subtxt{color:var(--cw-muted);margin:.2em 0 0;font-size:1.05rem;}
.cw-souzoku .cw-sec--main .cw-subtxt{color:var(--cw-muted);}

.cw-souzoku .cw-hero{
  position:relative;background:var(--cw-surface2);overflow:hidden;
}
.cw-souzoku .cw-hero-grid{
  display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,4vw,48px);
  align-items:center;padding-block:clamp(40px,6vw,72px);
}
.cw-souzoku .cw-hero-title{
  font-size:clamp(1.9rem,4.4vw,2.6rem);line-height:1.4;font-weight:700;
  color:var(--cw-text);margin:.1em 0 .5em;letter-spacing:.01em;word-break:keep-all;
}
.cw-souzoku .cw-hero-title .big{
  display:block;font-size:1.28em;color:var(--cw-main);
}
.cw-souzoku .cw-hero-title .accent{
  background:linear-gradient(transparent 62%,rgba(109,164,21,.24) 62%);
}
.cw-souzoku .cw-hero-sub{font-size:1.05rem;color:#3d4a2a;margin:0 0 1.6em;max-width:30em;}
.cw-souzoku .cw-btn--hero{font-size:1.12rem;padding:1.05em 2.4em;box-shadow:0 8px 22px rgba(109,164,21,.42);}
.cw-souzoku .cw-hero-note{margin:.7em 0 0;font-size:1.05rem;font-weight:700;color:var(--cw-main);letter-spacing:.04em;}

.cw-souzoku .cw-callbar{background:var(--cw-main);color:#fff;}
.cw-souzoku .cw-callbar-inner{display:flex;flex-direction:column;align-items:center;gap:6px;padding-block:26px;text-align:center;}
.cw-souzoku .cw-callbar-lead{margin:0;font-size:1.25rem;font-weight:700;}
.cw-souzoku .cw-callbar-tel{display:inline-block;color:#fff;text-decoration:none;font-size:clamp(2rem,5vw,2.7rem);font-weight:800;letter-spacing:.02em;line-height:1.1;}
.cw-souzoku .cw-tel-label{font-size:.42em;font-weight:700;letter-spacing:.15em;margin-right:.5em;vertical-align:.35em;opacity:.95;}
.cw-souzoku .cw-callbar-note{margin:0;font-size:1.02rem;opacity:.95;}
@media (max-width:600px){.cw-souzoku .cw-callbar-tel{font-size:2rem;}}
.cw-souzoku .cw-hero-badge{
  position:absolute;top:22px;right:22px;z-index:2;
  width:140px;height:140px;border-radius:50%;
  background:var(--cw-main);color:#fff;display:grid;place-content:center;
  text-align:center;font-size:.8rem;font-weight:700;line-height:1.5;
  padding:16px;box-shadow:0 8px 24px rgba(0,0,0,.14);word-break:keep-all;
}
@media (max-width:700px){
  .cw-souzoku .cw-hero-grid{grid-template-columns:1fr;}
  .cw-souzoku .cw-hero-badge{width:108px;height:108px;font-size:.66rem;padding:12px;top:14px;right:14px;}
}

.cw-souzoku .cw-imgph{
  position:relative;border-radius:var(--cw-radius);overflow:hidden;
  background:
    repeating-linear-gradient(-45deg,#e9e4d8 0 12px,#efeadf 12px 24px);
  border:1px dashed #c9c0aa;min-height:220px;
  display:grid;place-content:center;text-align:center;color:#8a8064;
  font-size:.82rem;padding:16px;
}
.cw-souzoku .cw-imgph[data-note]::after{content:attr(data-note);}

.cw-souzoku img.cw-imgph{
  width:100%;height:auto;object-fit:cover;display:block;
  background:none!important;border:none!important;padding:0!important;
}
.cw-souzoku .cw-hero .cw-imgph{aspect-ratio:16/9;min-height:0;}

@media (min-width:701px){
  .cw-souzoku .cw-hero .cw-imgph{aspect-ratio:4/3;min-height:260px;}
  
  .cw-souzoku .cw-hero-grid>p,
  .cw-souzoku .cw-hero-grid>figure{display:contents!important;}
  .cw-souzoku .cw-hero-grid .cw-hero-copy{grid-column:1;grid-row:1;align-self:center;}
  .cw-souzoku .cw-hero-grid img.cw-imgph{grid-column:2;grid-row:1;align-self:center;}
}

.cw-souzoku .cw-quick{
  display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:26px;
}
.cw-souzoku .cw-quick a{
  display:flex;flex-direction:column;align-items:center;gap:8px;
  text-decoration:none;color:var(--cw-text);background:#fff;
  border:1px solid var(--cw-line);border-radius:var(--cw-radius);
  padding:14px 8px;font-size:.95rem;line-height:1.4;text-align:center;font-weight:600;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.cw-souzoku .cw-quick a:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(76,116,16,.14);border-color:var(--cw-main);}
.cw-souzoku .cw-quick svg{width:30px;height:30px;color:var(--cw-main);}
@media (max-width:900px){.cw-souzoku .cw-quick{grid-template-columns:repeat(3,1fr);}}
@media (max-width:440px){.cw-souzoku .cw-quick{grid-template-columns:repeat(2,1fr);}}

.cw-souzoku .cw-btn{
  display:inline-block!important;text-align:center;line-height:1.2!important;
  padding:.9em 1.8em;border-radius:999px;font-weight:700;font-size:1.02rem;
  text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.cw-souzoku .cw-btn svg{width:20px;height:20px;display:inline-block;vertical-align:middle;margin:0 .45em 0 0;transform:none;position:relative;top:0.09em;}
.cw-souzoku .cw-btn--primary{background:var(--cw-main);color:#fff;box-shadow:0 6px 18px rgba(109,164,21,.34);}
.cw-souzoku .cw-btn--primary:hover{transform:translateY(-2px);background:var(--cw-main-d);box-shadow:0 10px 24px rgba(76,116,16,.42);}
.cw-souzoku .cw-btn--main{background:var(--cw-main);color:#fff;}
.cw-souzoku .cw-btn--main:hover{transform:translateY(-2px);background:var(--cw-main-d);}
.cw-souzoku .cw-btn--ghost{background:#fff;color:var(--cw-main);border:1.5px solid var(--cw-main);}
.cw-souzoku .cw-btn--ghost:hover{background:var(--cw-main);color:#fff;}

.cw-souzoku .cw-license{
  display:grid;grid-template-columns:auto 1fr;gap:clamp(16px,3vw,26px);
  align-items:start;background:var(--cw-surface);border:1px solid var(--cw-line);
  border-left:5px solid var(--cw-main);border-radius:var(--cw-radius);
  padding:clamp(20px,3vw,30px);
}
.cw-souzoku .cw-license .ico{width:52px;height:52px;color:var(--cw-main);margin-top:2px;}
.cw-souzoku .cw-license .lic-ttl{font-weight:700;color:var(--cw-main);font-size:1.05rem;margin:0 0 .3em;}
.cw-souzoku .cw-license .lic-num{font-size:1.15rem;font-weight:700;letter-spacing:.02em;color:var(--cw-main-d);margin:0;}
.cw-souzoku .cw-license .lic-tag{
  display:inline-block;background:var(--cw-main);color:#fff;font-size:.74rem;font-weight:700;
  padding:.25em .7em;border-radius:5px;margin-bottom:.4em;letter-spacing:.08em;
}
.cw-souzoku .cw-license .lic-note{color:var(--cw-muted);font-size:1rem;margin:.7em 0 0;}
@media (max-width:640px){
  .cw-souzoku .cw-license{grid-template-columns:1fr;}
  .cw-souzoku .cw-license .ico{width:44px;height:44px;}
}

.cw-souzoku .cw-worry{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:8px;}
.cw-souzoku .cw-worry li{
  list-style:none;display:flex;align-items:center;gap:14px;
  background:#fff;border:1px solid var(--cw-line);border-radius:var(--cw-radius);
  padding:16px 20px;font-size:1.02rem;font-weight:600;
}
.cw-souzoku .cw-worry .chk{flex:none;width:26px;height:26px;color:var(--cw-main);}
@media (max-width:720px){.cw-souzoku .cw-worry{grid-template-columns:1fr;}}

.cw-souzoku .cw-flow{
  display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:34px 0 30px;
}
.cw-souzoku .cw-flow .step{position:relative;text-align:center;}
.cw-souzoku .cw-flow .disc{
  width:64px;height:64px;margin:0 auto 12px;border-radius:50%;
  background:#fff;border:1.5px solid var(--cw-main);
  display:grid;place-content:center;
}
.cw-souzoku .cw-flow .disc svg{width:30px;height:30px;color:var(--cw-main);}
.cw-souzoku .cw-flow .step:first-child .disc{background:var(--cw-accent);border-color:var(--cw-accent);}
.cw-souzoku .cw-flow .step:first-child .disc svg{color:#fff;}
.cw-souzoku .cw-flow .lbl{font-size:.96rem;font-weight:700;color:var(--cw-text);line-height:1.4;}
.cw-souzoku .cw-flow .step:not(:last-child)::after{
  content:"→";position:absolute;top:22px;right:-14px;color:var(--cw-main);opacity:.6;
  font-size:20px;font-weight:700;line-height:1;
}
.cw-souzoku .cw-flow-note{
  text-align:center;font-size:clamp(1.15rem,2.6vw,1.5rem);font-weight:700;line-height:1.6;margin:0;color:var(--cw-text);
}
.cw-souzoku .cw-flow-note .u{color:var(--cw-main);}
@media (max-width:820px){
  .cw-souzoku .cw-flow{grid-template-columns:repeat(3,1fr);gap:18px 10px;}
  .cw-souzoku .cw-flow .step:nth-child(3)::after,
  .cw-souzoku .cw-flow .step:not(:last-child)::after{display:none;}
}

.cw-souzoku .cw-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px;}
.cw-souzoku .cw-card{
  background:#fff;border:1px solid var(--cw-line);border-radius:var(--cw-radius);
  padding:22px 22px 20px;transition:box-shadow .18s ease,transform .18s ease;
}
.cw-souzoku .cw-card:hover{box-shadow:0 10px 26px rgba(76,116,16,.12);transform:translateY(-2px);}
.cw-souzoku .cw-card .ci{display:none;}
.cw-souzoku .cw-card h3{margin-top:0;}
.cw-souzoku .cw-card h3{font-size:1.06rem;font-weight:700;color:var(--cw-main);margin:0 0 .4em;
  display:flex;align-items:center;gap:.45em;border:none!important;padding:0!important;background:none!important;}
.cw-souzoku .cw-card h3::before,.cw-souzoku .cw-card h3::after{content:none!important;display:none!important;}
.cw-souzoku .cw-card h3 svg{width:19px;height:19px;flex:none;color:var(--cw-main);stroke:currentColor;}
.cw-souzoku .cw-card p{font-size:1rem;color:var(--cw-muted);margin:0;}
@media (max-width:860px){.cw-souzoku .cw-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.cw-souzoku .cw-grid{grid-template-columns:1fr;}}

.cw-souzoku .cw-merit{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:8px;}
.cw-souzoku .cw-merit .m{
  display:flex;gap:16px;align-items:flex-start;background:#fff;
  border:1px solid var(--cw-line);border-radius:var(--cw-radius);padding:22px;
}
.cw-souzoku .cw-merit .mi{
  flex:none;width:50px;height:50px;border-radius:50%;background:var(--cw-surface);
  display:grid;place-content:center;
}
.cw-souzoku .cw-merit .mi svg{width:26px;height:26px;color:var(--cw-main);}
.cw-souzoku .cw-merit h3{font-size:1.05rem;font-weight:700;color:var(--cw-main);margin:0 0 .35em;}
.cw-souzoku .cw-merit p{font-size:1rem;color:var(--cw-muted);margin:0;}
@media (max-width:680px){.cw-souzoku .cw-merit{grid-template-columns:1fr;}}

.cw-souzoku .cw-cases{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:8px;}
.cw-souzoku .cw-case{
  background:#fff;border:1px solid var(--cw-line);border-radius:var(--cw-radius);overflow:hidden;
  display:flex;flex-direction:column;
}
.cw-souzoku .cw-case .cw-imgph{border:none;border-radius:0;min-height:180px;aspect-ratio:16/9;}

.cw-souzoku .cw-case>p{margin:0!important;padding:0!important;display:contents;}
.cw-souzoku .cw-case>br{display:none!important;}
.cw-souzoku .cw-case img.cw-imgph{margin:0!important;display:block;order:-1;}
.cw-souzoku .cw-case .body{order:1;}
.cw-souzoku .cw-case .body{padding:22px 24px 24px;}
.cw-souzoku .cw-case .tag{
  display:inline-block;background:var(--cw-main);color:#fff;font-size:.76rem;font-weight:700;
  padding:.25em .8em;border-radius:5px;margin-bottom:.7em;letter-spacing:.06em;
}
.cw-souzoku .cw-case h3{font-size:1.1rem;color:var(--cw-main);margin:0 0 .5em;font-weight:700;}
.cw-souzoku .cw-case p{font-size:1.02rem;color:#4a4a4a;margin:0;}
@media (max-width:680px){.cw-souzoku .cw-cases{grid-template-columns:1fr;}}

.cw-souzoku .cw-faq{max-width:var(--cw-read);margin-inline:auto;}
.cw-souzoku .cw-faq details{
  background:#fff;border:1px solid var(--cw-line);border-radius:var(--cw-radius);
  margin-bottom:12px;overflow:hidden;
}
.cw-souzoku .cw-faq summary{
  list-style:none;cursor:pointer;padding:18px 52px 18px 54px;position:relative;
  font-weight:700;color:var(--cw-main);font-size:1.08rem;
}
.cw-souzoku .cw-faq summary::-webkit-details-marker{display:none;}
.cw-souzoku .cw-faq summary::before{
  content:"Q";position:absolute;left:20px;top:50%;transform:translateY(-50%);
  color:var(--cw-main);font-weight:800;font-size:1.1rem;
}
.cw-souzoku .cw-faq summary::after{
  content:"";position:absolute;right:22px;top:50%;width:11px;height:11px;
  border-right:2px solid var(--cw-main);border-bottom:2px solid var(--cw-main);
  transform:translateY(-70%) rotate(45deg);transition:transform .2s ease;
}
.cw-souzoku .cw-faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg);}
.cw-souzoku .cw-faq .a{padding:2px 24px 20px 54px;color:#4a4a4a;font-size:1.03rem;}

.cw-souzoku .cw-cta{text-align:center;}
.cw-souzoku .cw-cta .assure{
  display:flex;justify-content:center;flex-wrap:wrap;gap:10px 22px;margin:0 0 26px;padding:0;
}
.cw-souzoku .cw-cta .assure li{
  list-style:none;display:flex;align-items:center;gap:7px;font-weight:700;color:var(--cw-main);font-size:1.03rem;
}
.cw-souzoku .cw-cta .assure svg{width:20px;height:20px;color:var(--cw-main);}
.cw-souzoku .cw-cta .tel{
  font-size:clamp(2rem,6vw,2.9rem);font-weight:800;color:var(--cw-main);
  letter-spacing:.02em;line-height:1.1;margin:.2em 0 .1em;text-decoration:none;display:inline-block;
}
.cw-souzoku .cw-cta .tel small{display:block;font-size:.42em;font-weight:700;color:var(--cw-muted);letter-spacing:.1em;}
.cw-souzoku .cw-cta .hours{color:var(--cw-muted);font-size:1rem;margin:.2em 0 1.6em;}
.cw-souzoku .cw-cta .btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

.cw-souzoku .cw-cta{text-align:center;}
.cw-souzoku .cw-cta .cw-h2{text-align:center!important;}
.cw-souzoku #cw-contact .cw-eyebrow::before{display:none!important;}

.cw-souzoku .cw-h2,
.cw-souzoku .cw-flow-note{text-wrap:balance;}
.cw-souzoku .cw-hero-sub,
.cw-souzoku .cw-subtxt,
.cw-souzoku .cw-card p,
.cw-souzoku .cw-merit p,
.cw-souzoku .cw-case p,
.cw-souzoku .cw-faq .a,
.cw-souzoku .lic-note{text-wrap:pretty;line-break:strict;}

.cw-souzoku a:focus-visible,.cw-souzoku summary:focus-visible{outline:2px solid var(--cw-main);outline-offset:3px;}
@media(prefers-reduced-motion:reduce){.cw-souzoku *{transition:none!important;}}
