
.iw-v5-main{--navy:#19324b;--ink:#24394d;--muted:#5f7182;--border:#dbe3ea;--wash:#f3f6f8;--accent:#be9660;--shadow:0 14px 28px rgba(23,46,69,.08)}
.iw-v5-main *{box-sizing:border-box}
.iw-v5-main{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;line-height:1.75;background:#fff}
.iw-v5-main a{color:#214e78}
.iw-v5-main img{display:block;max-width:100%}
.iw-v5-main .wrap{max-width:1110px;margin:auto;padding:0 26px}
body.industrial-waste-v5 main.iw-v5-main{margin-top:0!important;padding-top:0!important;position:relative;top:auto;transform:none}
.iw-v5-main .crumb{display:block;margin:0;padding:10px 0 12px;font-size:12px;color:#6a7d8e}
.iw-v5-main .hero{background:linear-gradient(110deg,#f7f9fb,#fff);padding:28px 0 60px}
.iw-v5-main .hero-layout{display:grid;grid-template-columns:1.02fr .98fr;gap:46px;align-items:center}
.iw-v5-main .hero-copy{min-width:0}
.iw-v5-main .hero-picture{border:1px solid var(--border);background:#fff;padding:10px;box-shadow:var(--shadow)}
.iw-v5-main .hero-picture img{width:100%;height:340px!important;object-fit:cover;object-position:center;border-radius:2px}
.iw-v5-main .eyebrow{margin:0 0 12px;color:#5e7890;font-size:11px;font-weight:700;letter-spacing:.15em}
.iw-v5-main h1,.iw-v5-main h2{font-family:serif;color:var(--navy);line-height:1.38}
.iw-v5-main h1{font-size:clamp(30px,4vw,48px);margin:0 0 18px}
.iw-v5-main h2{font-size:clamp(27px,3vw,37px);margin:0 0 10px}
.iw-v5-main h3{margin:0 0 8px;color:var(--navy);font-size:18px;line-height:1.55}
.iw-v5-main .lead{margin:0;color:#506578;max-width:48em}
.iw-v5-main .hero .lead{max-width:39em;margin-bottom:24px}
.iw-v5-main .buttons{display:flex;gap:12px;flex-wrap:wrap}
.iw-v5-main .button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 18px;border-radius:4px;border:1px solid var(--navy);background:var(--navy);color:#fff;text-decoration:none;font-weight:700;font-size:14px}
.iw-v5-main .button.outline{background:#fff;color:var(--navy)}
.iw-v5-main .button.small{min-width:230px}
.iw-v5-main .ghost{background:transparent!important;color:#fff!important;border-color:rgba(255,255,255,.75)!important}
.iw-v5-main .section{padding:68px 0}
.iw-v5-main .soft{background:var(--wash)}
.iw-v5-main .secthead{max-width:760px;margin-bottom:28px}
.iw-v5-main .secthead.narrow{max-width:780px}
.iw-v5-main .grid{display:grid;gap:18px}
.iw-v5-main .grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.iw-v5-main .consult-grid,.iw-v5-main .related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.iw-v5-main .consult-cases{grid-template-columns:repeat(3,minmax(0,1fr))}
.iw-v5-main .card{background:#fff;border:1px solid var(--border);padding:24px;border-radius:4px;min-width:0}
.iw-v5-main .card p{margin:0;color:#596b7c;line-height:1.8}
.iw-v5-main .card a{display:inline-block;margin-top:8px;color:#214e78;font-weight:700;text-decoration:none}
.iw-v5-main .card a:hover,.iw-v5-main .textlink:hover{text-decoration:underline}
.iw-v5-main .icon-card{display:grid;grid-template-columns:48px 1fr;gap:18px;align-items:start}
.iw-v5-main .icon-card.compact{min-height:180px}
.iw-v5-main .icon-wrap{width:38px;height:38px;color:#204a78;flex:none}
.iw-v5-main .icon-wrap svg,.iw-v5-main .flow-icon svg{width:100%;height:100%}
.iw-v5-main .service-grid .media-card{display:grid;grid-template-columns:112px 1fr;gap:18px;align-items:start}
.iw-v5-main .media-card img{width:112px;height:72px;object-fit:cover;border-radius:2px;border:1px solid #e6ebf0;background:#f5f7fa}
.iw-v5-main .media-card h3{font-size:17px}
.iw-v5-main .lined{border:1px solid var(--border);background:#fff;border-radius:4px;overflow:hidden}
.iw-v5-main .line{display:grid;grid-template-columns:1fr 2.3fr;gap:20px;padding:16px 22px;border-bottom:1px solid var(--border)}
.iw-v5-main .line:last-child{border-bottom:none}
.iw-v5-main .line strong{color:var(--navy)}
.iw-v5-main .textlink{display:inline-block;margin-top:16px;font-weight:700;text-decoration:none}
.iw-v5-main .media-mini{display:grid;grid-template-columns:92px 1fr;gap:14px;align-items:center;padding:14px}
.iw-v5-main .media-mini img{width:92px;height:56px;object-fit:cover;border-radius:2px;border:1px solid #e6ebf0;background:#f5f7fa}
.iw-v5-main .media-mini h3{font-size:16px;margin-bottom:4px}
.iw-v5-main .area-head{margin-bottom:22px}
.iw-v5-main .area-band{display:grid;grid-template-columns:42px 1fr auto;gap:18px;align-items:center;border:1px solid var(--border);padding:18px 22px;border-radius:4px;background:#fff}
.iw-v5-main .area-icon{width:28px;height:28px;color:#214e78}
.iw-v5-main .area-band p{margin:0;color:#57697b}
.iw-v5-main .area-band strong{color:var(--navy)}
.iw-v5-main .flow-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.iw-v5-main .flow-card{position:relative;padding:18px 16px 20px;min-height:188px}
.iw-v5-main .flow-card:not(:last-child)::after{content:'›';position:absolute;right:-10px;top:50%;transform:translateY(-50%);color:#a7b4c2;font-size:24px;z-index:2}
.iw-v5-main .step-no{font-family:serif;font-size:30px;line-height:1;color:var(--accent);margin-bottom:10px}
.iw-v5-main .flow-icon{width:28px;height:28px;color:#214e78;margin-bottom:10px}
.iw-v5-main .flow-card h3{font-size:17px}
.iw-v5-main .flow-card p{font-size:14px}
.iw-v5-main .fee-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.iw-v5-main .faq{border-top:1px solid var(--border)}
.iw-v5-main details{border-bottom:1px solid var(--border);padding:16px 8px}
.iw-v5-main summary{list-style:none;position:relative;padding-right:24px;cursor:pointer;color:var(--navy);font-weight:700}
.iw-v5-main summary::-webkit-details-marker{display:none}
.iw-v5-main summary::after{content:'+';position:absolute;right:0;top:0;color:#7a8b9a;font-size:18px}
.iw-v5-main details[open] summary::after{content:'−'}
.iw-v5-main details p{margin:10px 0 0;color:#516476}
.iw-v5-main .related-card{padding:22px 22px 20px}
.iw-v5-main .related-card .icon-wrap{margin-bottom:18px}
.iw-v5-main .cta{padding:38px 44px;background:linear-gradient(135deg,#19324b,#133a66);border-radius:4px;color:#fff}
.iw-v5-main .cta h2{color:#fff;margin-bottom:10px}
.iw-v5-main .cta p{margin:0 0 22px;color:#d7e2ea}
.iw-v5-main .dim{color:#cbd8e5}
@media (max-width:980px){
  .iw-v5-main .hero-layout,.iw-v5-main .consult-grid,.iw-v5-main .grid.two,.iw-v5-main .consult-cases,.iw-v5-main .related-grid,.iw-v5-main .flow-grid{grid-template-columns:1fr}
  .iw-v5-main .hero-picture{order:-1}
  .iw-v5-main .hero-picture img{height:260px!important}
  .iw-v5-main .flow-card:not(:last-child)::after{display:none}
  .iw-v5-main .area-band{grid-template-columns:32px 1fr}
  .iw-v5-main .area-band .button{grid-column:1/-1}
  .iw-v5-main .line{grid-template-columns:1fr;gap:6px}
}
@media (max-width:700px){
  .iw-v5-main .wrap{padding:0 18px}
  .iw-v5-main .hero{padding:22px 0 44px}
  .iw-v5-main .section{padding:50px 0}
  .iw-v5-main h1{font-size:31px}
  .iw-v5-main h2{font-size:28px}
  .iw-v5-main .service-grid .media-card,.iw-v5-main .media-mini,.iw-v5-main .icon-card{grid-template-columns:1fr}
  .iw-v5-main .media-card img{width:100%;height:160px}
  .iw-v5-main .media-mini img{width:100%;height:150px}
  .iw-v5-main .icon-wrap{width:34px;height:34px}
  .iw-v5-main .buttons .button{width:100%}
  .iw-v5-main .crumb{padding:9px 0 11px}
}


/* fix4: visual-reference fidelity — scoped DIRECTLY to the page, regardless of body class. */
.iw-v5-main{margin-top:0!important;padding-top:0!important;position:relative!important;top:auto!important;transform:none!important;}
.iw-v5-main .hero{
 position:relative!important;isolation:isolate!important;overflow:hidden!important;
 padding:42px 0 44px!important;min-height:410px!important;
 background:#fff!important;
}
.iw-v5-main .hero::before{
 content:"";position:absolute;z-index:-2;top:0;right:0;bottom:0;left:31%;
 background-image:url('/assets/img/hanawa-industrial-waste-hero-v5d.webp');
 background-size:cover;background-position:center center;background-repeat:no-repeat;
}
.iw-v5-main .hero::after{
 content:"";position:absolute;z-index:-1;inset:0;
 background:linear-gradient(90deg,#fff 0%,#fff 27%,rgba(255,255,255,.97) 36%,rgba(255,255,255,.68) 48%,rgba(255,255,255,0) 68%);
 pointer-events:none;
}
.iw-v5-main .hero-layout{display:block!important;position:relative!important;}
.iw-v5-main .hero-copy{position:relative!important;width:52%!important;max-width:530px!important;}
.iw-v5-main .hero-picture{display:none!important;visibility:hidden!important;}
.iw-v5-main .hero h1{font-size:clamp(30px,3.5vw,44px)!important;line-height:1.36!important;max-width:480px;}
.iw-v5-main .hero .lead{max-width:440px!important;color:#506578!important;}
.iw-v5-main .hero .buttons{margin-top:22px;}
.iw-v5-main .media-card img,.iw-v5-main .media-mini img{object-fit:cover!important;object-position:center!important;}
.iw-v5-main .service-grid .media-card{grid-template-columns:112px minmax(0,1fr)!important;}
.iw-v5-main .media-mini{grid-template-columns:92px minmax(0,1fr)!important;}
.iw-v5-main .media-card img{width:112px!important;height:76px!important;}
.iw-v5-main .media-mini img{width:92px!important;height:62px!important;}
@media(max-width:850px){
 .iw-v5-main .hero{min-height:0!important;padding:36px 0 42px!important;}
 .iw-v5-main .hero::before{left:12%;background-position:65% center;opacity:.38;}
 .iw-v5-main .hero::after{background:linear-gradient(90deg,rgba(255,255,255,.99),rgba(255,255,255,.86));}
 .iw-v5-main .hero-copy{width:100%!important;max-width:600px!important;}
}
@media(max-width:600px){
 .iw-v5-main .hero{padding:30px 0 38px!important;}
 .iw-v5-main .hero::before{left:0;opacity:.22;}
 .iw-v5-main .hero h1{font-size:30px!important;}
 .iw-v5-main .service-grid .media-card{grid-template-columns:96px minmax(0,1fr)!important;padding:16px!important;gap:12px!important;}
 .iw-v5-main .media-card img{width:96px!important;height:75px!important;}
 .iw-v5-main .media-mini{grid-template-columns:82px minmax(0,1fr)!important;padding:12px!important;gap:10px!important;}
 .iw-v5-main .media-mini img{width:82px!important;height:62px!important;}
}

/* fix6: CTA button legibility, page-local only. */
.iw-v5-main .cta .buttons .button:not(.ghost){background:#fff!important;color:#19324b!important;border:1px solid #fff!important;box-shadow:none!important;text-decoration:none!important;}
.iw-v5-main .cta .buttons .button:not(.ghost):hover{background:#edf3f8!important;color:#19324b!important;}
.iw-v5-main .cta .buttons .button.ghost{background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.72)!important;text-decoration:none!important;}

/* fix7: approved page's heading wraps and area copy; no shared styles changed. */
.iw-v5-main .hero h1{max-width:560px!important;font-size:clamp(29px,3vw,40px)!important;line-height:1.38!important;}
.iw-v5-main .cta h2{font-size:clamp(25px,2.75vw,34px)!important;line-height:1.48!important;max-width:100%;overflow-wrap:normal;}
.iw-v5-main .area-band p{line-height:1.85;}
@media(max-width:850px){
 .iw-v5-main .hero h1{font-size:clamp(28px,5.2vw,36px)!important;max-width:100%!important;}
 .iw-v5-main .cta h2{font-size:clamp(24px,4.5vw,30px)!important;}
}
@media(max-width:600px){
 .iw-v5-main .hero h1{font-size:clamp(26px,7vw,30px)!important;}
 .iw-v5-main .cta h2{font-size:clamp(23px,6.1vw,27px)!important;}
}

/* fix9: right edge aligns with the same 1110px-wide content frame as other sections.
   A 26px inset is kept inside that frame (18px on smaller screens). */
@media (min-width: 851px){
  .iw-v5-main .hero::before{
    left:31% !important;
    right:max(26px, calc((100% - 1110px) / 2 + 26px)) !important;
    background-position:right center !important;
  }
}
@media (max-width: 850px){
  .iw-v5-main .hero::before{right:20px !important;}
}
@media (max-width: 600px){
  .iw-v5-main .hero::before{right:18px !important;}
}
