/* JUST LINK | Construction HP Sample (static HTML / CSS / JS)
   Ref: 白石工業TOP.pdf / 白石工業会社概要.pdf
   All company details and photos are fictional demo materials.
   Layout order: header > hero > main > footer. */
:root{--navy:#0b2235;--navy2:#102f45;--ink:#182b39;--text:#314350;--muted:#758795;--aqua:#71b7c0;--cream:#f4f6f5;--line:#dee5e7;--white:#fff;--max:1240px;--radius:3px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans", "Yu Gothic", "Noto Sans JP",system-ui,sans-serif;-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.95;letter-spacing:.035em}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}ul{list-style:none;padding:0;margin:0}:focus-visible{outline:3px solid #6cbdc8;outline-offset:4px}::selection{background:#bfe4e7;color:#0b2235}.container{max-width:var(--max);padding:0 36px;margin:auto}.narrow{max-width:1000px;margin:auto}.eyebrow{color:#3c97a4;text-transform:uppercase;letter-spacing:.24em;font-weight:750;font-size:11px}.eyebrow-light{color:#b1e1e4}.section{padding:105px 0}.section-light{background:#f6f8f8}.sec-title{font-size:clamp(29px,3.15vw,44px);letter-spacing:.035em;line-height:1.45;font-weight:700;margin:14px 0 25px}.body-copy{color:#526471;font-size:15px;line-height:2.2}.body-copy p+p{margin-top:18px}.demo-note{font-size:12px;color:#81929c;line-height:1.8}.badge-sample{font-size:11px;letter-spacing:.07em;color:#55707c;border:1px solid #c5d4da;background:#f2f7f7;padding:3px 10px;white-space:nowrap}.site-header{z-index:100;position:sticky;top:0;background:rgba(255,255,255,.975);box-shadow:0 1px 0 rgba(15,38,52,.10);backdrop-filter:blur(10px)}.header-main{max-width:var(--max);min-height:91px;padding:12px 36px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:inline-flex;align-items:center;gap:12px;white-space:nowrap;min-width:0}.brand-mark{width:49px;height:49px;display:grid;place-items:center;flex:none}.brand-mark svg{width:49px;height:49px}.brand-text{display:flex;flex-direction:column;gap:0}.brand-jp{font-size:22px;letter-spacing:.045em;font-weight:850;line-height:1.35}.brand-en{font-family:Arial,sans-serif;font-size:9px;letter-spacing:.2em;color:#8797a0;font-weight:700}.header-tagline{text-align:right;color:#8fa1ab;font-size:10px;letter-spacing:.14em;line-height:1.8}.menu-toggle{display:none;border:1px solid #dbe5e8;border-radius:2px;background:white;color:var(--navy);padding:10px 12px;font-size:12px;font-weight:800;align-items:center;gap:9px}.hamburger{display:inline-grid;gap:4px}.hamburger span{height:2px;background:var(--navy);width:21px;display:block}.global-nav{max-width:var(--max);margin:0 auto;padding:0 36px 0}.nav-grid{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid #cedadd;border-bottom:0}.nav-link{display:flex;min-height:57px;align-items:center;justify-content:center;font-size:14px;font-weight:690;letter-spacing:.085em;border-right:1px solid #cedadd;transition:background .25s,color .25s;position:relative}.nav-link:last-child{border-right:0}.nav-link:hover,.nav-link[aria-current=page]{color:#fff;background:var(--navy)}.nav-link:focus-visible{z-index:1}.nav-en{display:none}
.hero-shell{max-width:var(--max);padding:0 36px;margin:0 auto}.hero{position:relative;min-height:580px;overflow:hidden;background:var(--navy);isolation:isolate;display:flex;align-items:center}.hero-media{position:absolute;inset:0 0 0 35%;background:linear-gradient(90deg,rgba(11,34,53,.25),rgba(11,34,53,.06)),url('../img/hero-work.webp') center 47%/cover no-repeat;z-index:-2}.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(9,32,50,.99) 0%,rgba(9,32,50,.96) 24%,rgba(9,32,50,.76) 45%,rgba(9,32,50,.05) 100%)}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:75px 75px;opacity:.32;pointer-events:none}.hero::before{content:"";width:330px;height:330px;position:absolute;border:1px solid rgba(255,255,255,.10);right:-170px;bottom:-170px;border-radius:50%}.hero-content{color:white;padding:65px 7.2%;width:min(810px,76%);position:relative}.hero-kicker{color:#a5d7da;display:flex;align-items:center;gap:14px;font-size:12px;letter-spacing:.19em;font-weight:700;margin-bottom:30px}.hero-kicker::before{content:"";height:1px;width:44px;background:#83c1c9}.hero h1{font-size:clamp(37px,4.05vw,57px);letter-spacing:.055em;line-height:1.58;font-weight:750;text-shadow:0 2px 22px #0b223540}.hero h1 span{display:block}.hero-copy{color:#d5e1e5;margin:23px 0 33px;font-size:14px;max-width:560px;line-height:2}.hero-bottom{position:absolute;bottom:24px;right:32px;color:rgba(255,255,255,.78);font-family:Arial,sans-serif;font-size:10px;letter-spacing:.25em;display:flex;gap:12px;align-items:center}.hero-bottom::after{content:"";width:56px;height:1px;background:#d3e2e7}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:50px;padding:10px 19px;border:1px solid #426b7d;background:var(--navy);color:#fff;font-size:12px;font-weight:750;letter-spacing:.1em;transition:background .2s,transform .2s}.btn:hover{background:#174961;transform:translateY(-2px)}.btn-outline{background:transparent;border-color:rgba(255,255,255,.65)}.btn-outline:hover{background:rgba(255,255,255,.1)}.btn-light{background:#fff;color:var(--navy);border-color:#fff}.btn-light:hover{color:#fff}.arrow{font-size:19px;font-weight:500;line-height:1}.intro{max-width:1000px;margin:auto;padding:82px 20px 80px;text-align:center}.intro::before{content:"";display:block;width:39px;height:2px;background:#80b5c1;margin:0 auto 25px}.intro h2{font-size:clamp(25px,3vw,38px);line-height:1.5;margin:0 0 23px}.intro p{font-size:15px;color:#546875;line-height:2.35}.intro p+p{margin-top:12px}.feature-tiles{display:grid;grid-template-columns:1fr 1fr;gap:21px;max-width:1000px;margin:0 auto 110px}.feature-card{height:282px;position:relative;overflow:hidden;display:flex;align-items:flex-end;isolation:isolate;background:#193649;color:#fff}.feature-card img{position:absolute;inset:0;object-fit:cover;width:100%;height:100%;z-index:-2;transition:transform .7s}.feature-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(4,25,38,.92),rgba(4,25,38,.12) 83%)}.feature-card:hover img{transform:scale(1.06)}.feature-inner{width:100%;padding:24px 29px}.feature-overline{display:block;color:#b2d8dd;font-size:10px;font-weight:700;letter-spacing:.19em}.feature-title{font-size:22px;font-weight:760;letter-spacing:.03em;line-height:1.65;margin:6px 0 17px}.feature-foot{border-top:1px solid #ffffff65;padding-top:12px;display:flex;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:.12em}.feature-foot span:last-child{border:1px solid #ffffff72;border-radius:50%;font-size:21px;width:29px;height:29px;display:grid;place-items:center;line-height:1}.banner{height:370px;position:relative;display:flex;align-items:flex-end;background:var(--navy);overflow:hidden;isolation:isolate}.banner-image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 48%}.banner::before{position:absolute;inset:0;z-index:-1;content:"";background:linear-gradient(90deg,rgba(6,31,49,.94),rgba(6,31,49,.15) 100%)}.banner-content{padding:55px 7%;color:#fff}.banner h1{font-size:clamp(34px,4vw,52px);letter-spacing:.045em;line-height:1.35;margin-top:9px}.banner .eyebrow{color:#9bd0d7}.banner-sub{font-size:13px;color:#d6e4ea;max-width:620px;margin-top:15px}.company-lead{text-align:center;padding:95px 0 86px}.company-lead h2{font-size:clamp(27px,3vw,37px);margin:10px 0 23px;line-height:1.6}.company-lead p{max-width:790px;margin:auto;color:#526671;line-height:2.3}.heading-group{text-align:center;margin-bottom:49px}.heading-group h2{font-size:clamp(26px,3vw,36px);margin:8px 0}.heading-group .decor{display:block;background:#83b3bd;width:32px;height:2px;margin:18px auto 0}.message-grid{display:grid;grid-template-columns:40% 1fr;gap:62px;align-items:stretch}.message-photo{position:relative;min-height:390px}.message-photo img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.message-photo figcaption{position:absolute;bottom:10px;left:10px;z-index:1;background:rgba(10,34,53,.82);color:#fff;padding:4px 8px;font-size:10px}.message-copy p{color:#526471;line-height:2.27;font-size:14px}.message-copy p+p{margin-top:20px}.sign{text-align:right;color:var(--ink);margin-top:28px!important;font-weight:720}.company-table{width:100%;border-collapse:collapse;font-size:14px}.company-table th,.company-table td{border-bottom:1px solid #dce4e7;padding:17px 22px;text-align:left;vertical-align:top}.company-table tr:first-child th,.company-table tr:first-child td{border-top:1px solid #dce4e7}.company-table th{color:var(--navy);background:#f3f6f7;width:27%;font-weight:750}.company-table td{color:#536571}.map-demo{height:350px;background:linear-gradient(135deg,#e5ebeb,#d7e2e5);border:1px solid #d9e1e5;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center}.map-demo::before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,transparent 44%,#ffffffa8 44%,#ffffffa8 46%,transparent 46%,transparent 59%,#ffffffa8 59%,#ffffffa8 61%,transparent 61%),linear-gradient(-21deg,transparent 40%,#ffffffb0 40%,#ffffffb0 43%,transparent 43%,transparent 64%,#ffffffb0 64%,#ffffffb0 66%,transparent 66%);background-size:210px 210px}.map-inner{position:relative;background:rgba(255,255,255,.96);padding:25px 38px;box-shadow:0 8px 22px #2849581a}.map-inner span{display:block;color:#a17c4d;font-size:11px;letter-spacing:.2em}.map-inner h3{margin-top:5px;font-size:23px}.map-inner p{color:#607683;font-size:12px}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.photo-card{background:#fff;box-shadow:0 10px 35px rgba(25,52,69,.06)}.photo-card img{width:100%;height:260px;object-fit:cover}.photo-card-content{padding:30px 33px}.photo-card .num{font-family:Arial,sans-serif;color:#3a9ca8;font-size:12px;letter-spacing:.2em;font-weight:700}.photo-card h2{font-size:24px;margin:4px 0 14px}.photo-card p{color:#657582;font-size:14px}.talk-block{background:var(--navy);padding:63px 8%;display:flex;justify-content:space-between;gap:20px;align-items:center;color:#fff}.talk-block h2{font-size:clamp(25px,3vw,34px);margin-bottom:7px}.talk-block p{color:#c5dce2;font-size:13px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.step{background:#fff;padding:32px;border:1px solid #d9e4e7}.step-num{font-family:Arial,sans-serif;color:#7db3bd;font-size:11px;font-weight:800;letter-spacing:.16em}.step h3{font-size:19px;margin:12px 0}.step p{font-size:13px;color:#697a83}.recruit-hero-grid{display:grid;grid-template-columns:1fr 1fr;min-height:470px}.recruit-hero-grid .photo{position:relative}.recruit-hero-grid .photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.recruit-hero-grid .copy{background:#f4f7f8;padding:65px 8%;display:flex;flex-direction:column;justify-content:center}.recruit-hero-grid h2{font-size:clamp(27px,3vw,42px);line-height:1.5;margin:15px 0 27px}.recruit-hero-grid p{color:#546674}.info-board{max-width:920px;margin:auto;border:1px solid #dce6e8}.info-row{display:grid;grid-template-columns:25% 1fr;border-bottom:1px solid #dce6e8}.info-row:last-child{border:0}.info-row dt{background:#eef3f4;padding:18px 24px;font-weight:700}.info-row dd{margin:0;padding:18px 24px;color:#526673}.contact-panel{display:grid;grid-template-columns:38% 1fr;gap:0;box-shadow:0 18px 60px rgba(22,56,75,.08)}.contact-aside{background:var(--navy);padding:48px 40px;color:#fff}.contact-aside h2{font-size:26px;margin:8px 0 24px}.contact-aside p{font-size:13px;color:#cddde2}.contact-aside .mail-fake{font-family:Arial,sans-serif;font-size:21px;letter-spacing:.03em;color:#fff;display:block;margin:23px 0 4px;overflow-wrap:anywhere}.contact-form{padding:44px 48px;background:#f9fbfb}.field{margin-bottom:20px}.field label{display:block;font-weight:750;color:#243d4d;font-size:13px;margin-bottom:8px}.field label .required{margin-left:8px;color:#b65550;font-weight:700;font-size:11px}.field input,.field textarea,.field select{display:block;width:100%;border:1px solid #ccd9de;background:#fff;color:#263d49;border-radius:0;padding:13px 15px;min-height:47px;font-size:14px;transition:border-color .2s}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid #87c2c7;border-color:#4b9caa}.field textarea{min-height:140px;resize:vertical}.check-line{display:flex;align-items:flex-start;gap:10px;color:#526675;font-size:12px}.check-line input{margin-top:8px}.form-notice{background:#f1f5f4;border-left:3px solid #67a7ae;padding:14px 18px;color:#516977;font-size:12px;margin:22px 0}.form-result{display:none;border:1px solid #8bb8be;background:#eaf5f4;padding:18px 22px;margin-top:22px;color:#234e53}.form-result.show{display:block}.form-result strong{display:block;font-size:15px;margin-bottom:6px}.form-result p{font-size:13px}.site-footer{margin-top:0;background:#081f31;color:white}.footer-main{padding:65px 0 56px;display:flex;align-items:flex-start;justify-content:space-between;gap:30px}.footer-brand{font-size:22px;font-weight:820;letter-spacing:.05em}.footer-en{font:700 10px Arial,sans-serif;letter-spacing:.2em;color:#9bb2bf}.footer-note{color:#aebfca;margin-top:15px;font-size:12px}.footer-links{display:flex;gap:20px;flex-wrap:wrap;font-size:12px;color:#d0dfe5}.footer-links a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid #ffffff30;padding:17px 0;color:#a7bdc8;font-size:11px;display:flex;justify-content:space-between;gap:15px}.to-top{border:1px solid #ffffff60;background:transparent;color:#fff;padding:5px 12px;font-size:11px}.to-top:hover{background:#ffffff20}.page-top{margin-top:0}.page-bottom{margin-bottom:100px}.site-content{min-height:40vh}.readmore{color:#286e79;font-weight:800;letter-spacing:.1em;font-size:12px;display:inline-flex;gap:18px;align-items:center;margin-top:22px}.readmore:hover{text-decoration:underline}.site-wide-note{background:#e8f2f2;border-bottom:1px solid #d6e4e6;text-align:center;padding:6px 25px;font-size:11px;color:#52717a;letter-spacing:.05em}.fade-in{opacity:0;transform:translateY(18px);transition:opacity .7s,transform .7s}.fade-in.is-visible{opacity:1;transform:none}
@media(max-width:1100px){.header-tagline{display:none}.brand-jp{font-size:20px}.hero{min-height:520px}.container,.hero-shell,.header-main,.global-nav{padding-left:25px;padding-right:25px}.feature-tiles{margin-left:25px;margin-right:25px}.hero-content{width:84%}.hero h1{font-size:45px}.message-grid{gap:34px}.contact-panel{grid-template-columns:34% 1fr}.contact-aside{padding:37px 30px}}
@media(max-width:760px){.container,.hero-shell,.header-main{padding-left:19px;padding-right:19px}.header-main{min-height:74px;gap:10px}.brand-mark,.brand-mark svg{width:39px;height:39px}.brand{gap:8px}.brand-jp{font-size:16px}.brand-en{font-size:7px;letter-spacing:.11em}.menu-toggle{display:inline-flex}.global-nav{position:absolute;top:100%;left:0;right:0;padding:0 19px;background:white;box-shadow:0 9px 16px #102d3e1a;display:none}.global-nav.open{display:block}.nav-grid{display:flex;flex-direction:column;border:1px solid #d3dfe3;border-bottom:1px solid #d3dfe3;margin-bottom:15px}.nav-link{border:0;border-bottom:1px solid #d3dfe3;min-height:54px;justify-content:space-between;padding:0 18px}.nav-link:last-child{border:0}.nav-link::after{content:'›';font-size:21px;color:#7d9ca7}.nav-link[aria-current=page]::after{color:white}.hero{min-height:600px;align-items:flex-end}.hero-media{inset:0;background-position:55% center}.hero::after{background:linear-gradient(0deg,rgba(7,29,45,.96) 0%,rgba(7,29,45,.70) 50%,rgba(7,29,45,.20) 100%)}.hero-content{width:100%;padding:38px 26px 68px}.hero-kicker{font-size:10px;margin-bottom:15px}.hero-kicker::before{width:24px}.hero h1{font-size:clamp(30px,7vw,44px);line-height:1.6}.hero h1 span{display:inline}.hero-copy{font-size:13px;line-height:2.0;margin:12px 0 26px}.hero-bottom{right:21px;bottom:13px}.intro{padding:64px 21px}.intro h2{font-size:25px}.intro p{font-size:13px;text-align:left}.feature-tiles{grid-template-columns:1fr;gap:13px;margin:0 19px 70px}.feature-card{height:250px}.feature-title{font-size:20px}.feature-inner{padding:22px}.section{padding:68px 0}.banner{height:285px}.banner-content{padding:30px 25px}.banner h1{font-size:34px}.company-lead{padding:65px 0 52px}.company-lead p{text-align:left;font-size:13px}.message-grid{grid-template-columns:1fr;gap:27px}.message-photo{min-height:330px}.heading-group{margin-bottom:31px}.company-table{font-size:12px}.company-table th,.company-table td{padding:13px 12px}.company-table th{width:31%}.map-demo{height:275px}.content-grid{grid-template-columns:1fr;gap:26px}.photo-card img{height:240px}.talk-block{display:block;padding:45px 8%}.talk-block .btn{margin-top:22px}.steps{grid-template-columns:1fr}.recruit-hero-grid{grid-template-columns:1fr}.recruit-hero-grid .photo{min-height:300px;order:-1}.recruit-hero-grid .copy{padding:46px 28px}.info-row{grid-template-columns:1fr}.info-row dt{padding:11px 17px}.info-row dd{padding:12px 17px}.contact-panel{grid-template-columns:1fr}.contact-aside,.contact-form{padding:34px 25px}.footer-main{padding:48px 0 35px;display:block}.footer-links{margin-top:25px;display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.footer-bottom{flex-direction:column}.page-bottom{margin-bottom:70px}}
@media(max-width:360px){.brand-jp{font-size:14px}.brand-mark,.brand-mark svg{width:32px;height:32px}.hero h1{font-size:29px}.menu-toggle{padding:8px}.hero{min-height:550px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fade-in{opacity:1;transform:none;transition:none}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}