/* HANAWA construction page – consolidated page-only visual system.
   Uses production /inc/header.php and /inc/footer.php unchanged. */
body.rebuild-home .construction-main{padding:0!important;margin:0!important;background:#fff;color:#203a4c;min-height:0;overflow:clip}
.construction-main{--c-navy:#18374a;--c-teal:#138994;--c-line:#dce6e9;--c-muted:#567181;--c-wash:#f1f7f8;--c-warm:#f8f7f4;font-size:15px;line-height:1.85}
.construction-main *, .construction-main *::before,.construction-main *::after{box-sizing:border-box}
.construction-main .wrap{width:min(1150px,calc(100% - 48px));max-width:none;padding:0;margin:0 auto}
.construction-main a:focus-visible{outline:3px solid #168fa2;outline-offset:3px}
.construction-main .crumb{padding-top:12px;padding-bottom:12px;font-size:12px;color:#647985}
.construction-main .crumb a{color:#456477}
.construction-main .eyebrow{display:block;color:#a88a60;letter-spacing:.17em;font-size:11px;font-weight:700}
.construction-main h1,.construction-main h2,.construction-main h3{color:var(--c-navy);margin-top:0;overflow-wrap:normal;word-break:normal;line-break:strict}
.construction-main .hero{background:var(--c-warm);padding:32px 0 52px}
.construction-main .hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px;align-items:center}
.construction-main .hero h1{font-family:'Yu Mincho','Hiragino Mincho ProN','Noto Serif JP',serif;font-size:clamp(28px,3vw,43px);font-weight:600;line-height:1.48;letter-spacing:.015em;margin:17px 0 22px}
.construction-main .hero h1 span{display:block;white-space:nowrap}
.construction-main .hero p{color:var(--c-muted);line-height:2;max-width:58ch;margin:0}
.construction-main .hero img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:center;border-radius:5px}
.construction-main .actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:24px}
.construction-main .button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 20px;background:var(--c-navy);border:1px solid var(--c-navy);border-radius:2px;color:#fff!important;text-decoration:none;font-weight:700;font-size:13px;line-height:1.4;transition:background-color .2s,border-color .2s}
.construction-main .button:hover{background:#24556a;border-color:#24556a}
.construction-main .button.alt{background:#fff;color:var(--c-navy)!important}
.construction-main .button.alt:hover{background:#edf5f6}
.construction-main .section{padding:70px 0}
.construction-main .section.soft{background:var(--c-wash)}
.construction-main .section h2{font-size:clamp(23px,2.3vw,33px);line-height:1.55;margin:8px 0 16px}
.construction-main .section .intro{color:var(--c-muted);max-width:88ch;margin:0 0 28px;line-height:1.95}
.construction-main .checklist{list-style:none;padding:0;margin:26px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.construction-main .checklist li{background:#fff;border:1px solid var(--c-line);border-left:4px solid var(--c-teal);border-radius:4px;padding:16px 19px;font-weight:600;box-shadow:0 5px 17px rgba(21,50,65,.04)}
.construction-main .note{border-top:1px solid var(--c-line);padding:18px 0;color:var(--c-muted)}
.construction-main .note a{color:#176e80;font-weight:700;text-underline-offset:3px}
.construction-main .grid2,.construction-main .grid3,.construction-main .steps{display:grid;gap:17px}
.construction-main .grid2{grid-template-columns:repeat(2,minmax(0,1fr))}
.construction-main .grid3{grid-template-columns:repeat(3,minmax(0,1fr))}
.construction-main .steps{grid-template-columns:repeat(4,minmax(0,1fr))}
.construction-main .grid2>*,.construction-main .grid3>*,.construction-main .steps>*{min-width:0}
.construction-main .routecard,.construction-main .pricecard,.construction-main .info-card,.construction-main .step,.construction-main .related{background:#fff;border:1px solid var(--c-line);border-radius:6px;box-shadow:0 6px 21px rgba(24,55,74,.045);padding:25px}
.construction-main .routecard{display:flex;flex-direction:column;align-items:flex-start;min-height:245px;border-top:3px solid var(--c-teal)}
.construction-main .routecard h3,.construction-main .pricecard h3,.construction-main .info-card h3,.construction-main .related h3{font-size:18px;line-height:1.5;margin:12px 0 9px}
.construction-main .routecard p,.construction-main .pricecard p,.construction-main .info-card p,.construction-main .related p,.construction-main .step p{color:var(--c-muted);font-size:13px;line-height:1.85;margin:0 0 12px}
.construction-main .routecard .card-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;margin-top:auto;padding:9px 14px;border:1px solid var(--c-navy);border-radius:3px;color:var(--c-navy)!important;text-decoration:none;font-weight:700;font-size:12px}
.construction-main .routecard .card-link:hover{background:var(--c-navy);color:#fff!important}
.construction-main .pricecard{border-top:3px solid var(--c-teal);min-height:174px}
.construction-main .pricecard strong{display:block;font-size:23px;color:var(--c-navy);margin:12px 0 8px;font-variant-numeric:tabular-nums}
.construction-main .step{border-top:3px solid var(--c-line)}
.construction-main .step b{font-size:25px;color:var(--c-teal)}
.construction-main .step h3{font-size:16px;margin:12px 0}
.construction-main .related{display:flex;flex-direction:column;text-decoration:none;color:inherit;min-height:190px;transition:border-color .2s,transform .2s}
.construction-main .related:hover{border-color:var(--c-teal);transform:translateY(-2px)}
.construction-main .related span{margin-top:auto;color:#156c7e;font-size:12px;font-weight:700}
.construction-main .ctabar{background:#e6f0f2;padding:50px 0}
.construction-main .ctabar .wrap{display:flex;align-items:center;justify-content:space-between;gap:28px}
.construction-main .ctabar h2{font-size:clamp(22px,2.2vw,29px);line-height:1.5;margin:8px 0}
.construction-main .ctabar p{margin:0;color:var(--c-muted)}
.construction-main .ctabar .wrap>div:last-child{display:flex;flex-wrap:wrap;gap:10px}
.construction-main .construction-anchor{display:block;visibility:hidden;position:relative;top:-115px}
@media(max-width:950px){.construction-main .hero-grid{gap:25px}.construction-main .hero h1{font-size:clamp(26px,3.1vw,36px)}.construction-main .steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:750px){.construction-main .wrap{width:calc(100% - 34px)}.construction-main .hero{padding:22px 0 36px}.construction-main .hero-grid{grid-template-columns:1fr;gap:23px}.construction-main .hero h1{font-size:clamp(27px,6vw,37px)}.construction-main .hero img{aspect-ratio:16/9}.construction-main .section{padding:48px 0}.construction-main .grid3{grid-template-columns:repeat(2,minmax(0,1fr))}.construction-main .ctabar .wrap{display:block}.construction-main .ctabar .wrap>div:last-child{margin-top:18px}}
@media(max-width:510px){.construction-main .hero h1{font-size:clamp(25px,7vw,34px)}.construction-main .hero h1 span{white-space:normal}.construction-main .grid2,.construction-main .grid3,.construction-main .steps,.construction-main .checklist{grid-template-columns:1fr}.construction-main .routecard{min-height:0}.construction-main .actions .button{width:100%}}
