:root{--navy:#081a35;--navy2:#0d2b52;--orange:#f0781d;--cream:#f4f6f8;--text:#152238;--muted:#66758a;--line:#dfe5eb;--white:#fff;--max:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,"Noto Sans JP",sans-serif;color:var(--text);line-height:1.8;background:#fff}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(var(--max),92%);margin:auto}.topbar{background:#06142a;color:#b9c7d6;font-size:12px}.topbar .container{display:flex;justify-content:flex-end;gap:18px;padding:7px 0}.lang{cursor:pointer;color:#fff;font-weight:700}.header{position:sticky;top:0;z-index:50;background:rgba(8,26,53,.97);color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.05em}.brand img{width:46px;height:46px;object-fit:cover;border-radius:50%}.brand small{display:block;font-size:10px;letter-spacing:.18em;color:#a9b8c9}.menu{display:flex;align-items:center;gap:18px;font-size:13px}.menu a{opacity:.92}.menu a:hover{color:#ffae75}.cta{background:var(--orange);padding:11px 16px;font-weight:800}.hero{position:relative;min-height:760px;color:#fff;background:linear-gradient(90deg,rgba(7,22,45,.97) 0%,rgba(7,22,45,.84) 30%,rgba(7,22,45,.3) 58%),url('assets/hero.jpg') center/cover}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 0 60%,rgba(240,120,29,.12) 60% 62%,transparent 62%)}.hero-inner{position:relative;z-index:1;min-height:760px;display:flex;align-items:center}.eyebrow,.section-tag{color:var(--orange);font-weight:800;font-size:12px;letter-spacing:.2em}.hero h1{font-size:clamp(48px,7vw,92px);line-height:1.04;margin:18px 0 28px;letter-spacing:-.05em}.hero h1 em{color:var(--orange);font-style:normal}.hero p{max-width:620px;color:#d9e2ed;font-size:17px}.buttons{display:flex;gap:12px;margin-top:34px;flex-wrap:wrap}.btn{display:inline-block;padding:14px 22px;border:1px solid rgba(255,255,255,.4);color:#fff;font-weight:800}.btn.orange{background:var(--orange);border-color:var(--orange)}.btn.dark{background:var(--navy);border-color:var(--navy)}section{padding:100px 0}.gray{background:var(--cream)}.dark{background:var(--navy);color:#fff}.section-head{display:flex;justify-content:space-between;align-items:end;gap:36px;margin-bottom:50px}.section-head h2{margin:8px 0 0;font-size:clamp(34px,4vw,54px);line-height:1.15;letter-spacing:-.03em}.lead{max-width:520px;color:var(--muted)}.dark .lead{color:#bdcad8}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.card{border:1px solid var(--line);padding:28px;background:#fff}.dark .card{background:#0c2343;border-color:#29405d}.card h3{margin:14px 0 8px;font-size:20px}.card p{margin:0;color:var(--muted);font-size:14px}.dark .card p{color:#bfcbd8}.num{color:var(--orange);font-weight:800;font-size:12px;letter-spacing:.12em}.split{display:grid;grid-template-columns:1.1fr .9fr;gap:55px;align-items:center}.photo{min-height:360px;overflow:hidden}.photo img{width:100%;height:100%;object-fit:cover}.statrow{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.stat{background:#fff;padding:30px}.stat strong{display:block;font-size:54px;line-height:1;color:var(--navy)}.timeline{border-left:2px solid var(--orange);padding-left:30px}.event{margin-bottom:30px}.event b{color:var(--orange)}.chips{display:flex;flex-wrap:wrap;gap:10px}.chip{padding:11px 15px;border:1px solid var(--line);background:#fff;font-weight:700}.map{height:420px;border:0;width:100%}.contact-band{background:var(--orange);color:#fff}.contact-band .section-tag{color:#fff}.contact-band h2{font-size:44px;line-height:1.2;margin:10px 0}.phone{font-size:34px;font-weight:900;letter-spacing:.04em}.footer{background:#06142a;color:#afbdcc;padding:48px 0 24px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}.footer a{display:block;margin:6px 0}.footer strong{color:#fff}.copyright{border-top:1px solid rgba(255,255,255,.1);margin-top:28px;padding-top:18px;font-size:12px}.crumb{background:var(--cream);padding:18px 0;font-size:12px;color:var(--muted)}.pagehero{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;padding:90px 0}.pagehero h1{font-size:clamp(42px,6vw,72px);margin:12px 0}.pagehero p{color:#d5dfeb;max-width:700px}.note{background:#fff8ef;border-left:4px solid var(--orange);padding:18px}.photo-card{overflow:hidden;background:#fff;border:1px solid var(--line)}.photo-card img{height:240px;width:100%;object-fit:cover}.photo-card .body{padding:20px}.faq details{border-bottom:1px solid var(--line);padding:16px 0}.faq summary{cursor:pointer;font-weight:800}.pill{display:inline-block;padding:6px 10px;background:#e9eef3;font-size:11px;font-weight:800}.menu-toggle{display:none;color:#fff}.langbar{display:flex;gap:8px;align-items:center}.langbtn{font-size:11px;border:1px solid rgba(255,255,255,.3);padding:5px 8px;cursor:pointer}.langbtn.active{background:#fff;color:var(--navy)}.en{display:none}@media(max-width:980px){.menu{display:none}.menu-toggle{display:block}.grid4{grid-template-columns:repeat(2,1fr)}.grid3{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){section{padding:72px 0}.hero,.hero-inner{min-height:690px}.hero h1{font-size:50px}.section-head{display:block}.grid4,.grid3,.grid2,.statrow,.footer-grid{grid-template-columns:1fr}.phone{font-size:26px}.topbar .container{justify-content:center}.brand small{display:none}.brand img{width:40px;height:40px}}

.industry-visuals{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin:10px 0 22px}.industry-item{border:1px solid var(--line);padding:16px 8px;text-align:center;background:#fff;color:var(--navy);font-weight:800}.industry-item svg{width:58px;height:48px;margin:0 auto 8px;display:block;color:var(--orange)}.form-preview{background:var(--cream);border:1px dashed var(--line);padding:18px;margin-top:18px}.form-preview .note{margin-top:14px}.dark .industry-item{background:#fff}
@media(max-width:980px){.industry-visuals{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.industry-visuals{grid-template-columns:repeat(2,1fr)}}

.nowrap{white-space:nowrap}
.hero h1{position:relative;z-index:3;display:block!important;visibility:visible!important;opacity:1!important}
.hero h1.en{display:none!important}

.hero h1[data-ja]{display:block!important;visibility:visible!important;opacity:1!important;position:relative;z-index:3}

.home-panels{padding:0;background:#fff}.home-grid-top{display:grid;grid-template-columns:1fr 1fr 1fr 2.05fr;border-left:1px solid var(--line);border-top:1px solid var(--line)}.home-grid-bottom{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;border-left:1px solid var(--line);border-top:1px solid var(--line)}.home-panel{min-height:230px;overflow:hidden;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 30px;display:flex;flex-direction:column;justify-content:space-between;background:#fff}.home-panel h2{font-size:28px;overflow-wrap:normal;word-break:keep-all;line-height:1.35;margin:10px 0;color:var(--navy);letter-spacing:-.03em}.panel-arrow{font-size:28px;color:var(--orange);line-height:1}.field-panel{min-height:230px}.field-icons{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:12px;align-items:end}.field-icons>div{text-align:center;font-size:11px;font-weight:800;color:var(--navy)}.field-icons img{width:58px;height:48px;object-fit:contain;margin:0 auto 4px}.home-panels.lower{padding:0 0 70px}.illustrated{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:end}.illustrated>img{width:100%;height:145px;object-fit:contain;object-position:center bottom;mix-blend-mode:multiply}.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.contact-inner .btn{white-space:nowrap}.industries-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.industry-card{border:1px solid var(--line);padding:22px 24px;background:#fff;min-height:290px}.industry-card img{width:100%;height:150px;object-fit:contain;object-position:center;margin:8px 0 14px}.industry-card h3{margin:0 0 8px;font-size:20px}.industry-card p{margin:0;color:var(--muted);font-size:14px}.nowrap{white-space:nowrap}
@media(max-width:980px){.home-grid-top{grid-template-columns:1fr 1fr}.field-panel{grid-column:1/-1}.field-icons{grid-template-columns:repeat(7,1fr)}.home-grid-bottom{grid-template-columns:1fr 1fr}.industries-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.home-grid-top,.home-grid-bottom{grid-template-columns:1fr}.field-panel{grid-column:auto}.field-icons{grid-template-columns:repeat(4,1fr)}.illustrated{grid-template-columns:1fr}.industries-grid{grid-template-columns:1fr}.contact-inner{display:block}.contact-inner .btn{margin-top:20px}}

/* v7 requested refinements */
.nowrap{white-space:nowrap !important}h1,h2,h3,p,.card,.stat,.home-panel{overflow:visible}.hero h1{word-break:normal;overflow:visible}.home-panel h2{word-break:normal;overflow:visible}
.material-business-grid{display:grid;grid-template-columns:1fr;gap:28px;align-items:stretch;margin-top:18px}.material-business-items{display:grid;grid-template-columns:1fr 1fr;gap:14px}.material-business-visual{border:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;padding:18px;overflow:hidden}.material-business-visual img{width:100%;height:auto;max-height:460px;object-fit:contain}.industry-grid-12{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.industry-card{border:1px solid var(--line);padding:22px 24px;background:#fff;min-height:290px}.industry-card img{width:100%;height:150px;object-fit:contain;object-position:center;margin:8px 0 14px}.industry-card h3{margin:0 0 8px;font-size:20px}.industry-card p{margin:0;color:var(--muted);font-size:14px}.job-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:24px}.job-card{border:1px solid var(--line);padding:18px;background:#fff}.job-ill{height:145px;overflow:hidden;display:flex;align-items:center;justify-content:center;margin-bottom:8px}.job-ill img{width:100%;height:140px;object-fit:contain}.job-card h3{margin:8px 0 6px;font-size:19px}.job-card p{margin:0;color:var(--muted);font-size:13px}
@media(max-width:980px){.material-business-grid{grid-template-columns:1fr}.industry-grid-12{grid-template-columns:repeat(2,1fr)}.job-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.material-business-items{grid-template-columns:1fr}.industry-grid-12,.job-grid{grid-template-columns:1fr}.job-ill{height:120px}}
/* v8 fit fixes: preserve layout while keeping artwork and copy fully visible */
.home-panel { overflow: hidden; }
.home-panel h2 { overflow: visible; word-break: keep-all; overflow-wrap: normal; }
.illustrated > div { min-width: 0; }
.illustrated > img { min-width: 0; flex: 0 0 46%; }
.industry-card { overflow: hidden; }
.industry-card img { display:block; width:100%; height:150px; object-fit:contain; object-position:center; }
.material-business-grid { grid-template-columns: 1fr; }
.material-business-visual { width:100%; }
.material-business-visual img { max-height:460px; object-fit:contain; }
.job-ill { height:145px; overflow:hidden; }
.job-ill img { width:100%; height:140px; object-fit:contain; object-position:center; }
@media (max-width:640px){
  .illustrated { grid-template-columns: 1fr; }
  .illustrated > img { width:100%; height:130px; flex-basis:auto; }
  .industry-card img { height:170px; }
  .material-business-visual img { max-height:360px; }
  .job-ill { height:150px; }
  .job-ill img { height:145px; }
}

/* v9 refinements */
/* Keep the full material-handling artwork prominent, matching the approved reference scale. */
.material-business-visual { padding: 0; border: 0; }
.material-business-visual img { width: 100%; max-height: 720px; object-fit: contain; }

/* Give all industry illustrations a little more breathing room inside their cards. */
.industry-card { min-height: 300px; }
.industry-card img { height: 132px; margin: 4px auto 12px; object-fit: contain; object-position: center; }

/* Recruit illustrations use detailed people/equipment artwork rather than simple icon figures. */
.job-ill { height: 170px; margin-bottom: 10px; overflow: hidden; }
.job-ill img { width: 100%; height: 170px; object-fit: contain; object-position: center; }

@media (max-width: 980px) {
  .material-business-visual img { max-height: 600px; }
  .industry-card img { height: 140px; }
  .job-ill, .job-ill img { height: 180px; }
}
@media (max-width: 640px) {
  .material-business-visual img { max-height: 420px; }
  .industry-card img { height: 150px; }
  .job-ill, .job-ill img { height: 180px; }
}


/* Google Forms */
.google-form-wrap{width:100%;margin:2rem 0;overflow:hidden;border-radius:8px}
.google-form-wrap iframe{display:block;width:100%;min-height:1200px;border:0}


/* v14 mobile finishing pass: desktop styles remain untouched. */
.mobile-menu-panel{display:none}
@media (max-width:980px){
  .nav{min-height:70px;position:relative}
  .menu-toggle{display:flex;align-items:center;justify-content:center;min-width:72px;min-height:44px;padding:10px 12px;border:1px solid rgba(255,255,255,.26);font-size:13px;font-weight:800;letter-spacing:.08em;cursor:pointer;user-select:none}
  .menu-toggle.is-open{background:rgba(255,255,255,.08)}
  .mobile-menu-panel{position:absolute;left:4%;right:4%;top:calc(100% + 1px);display:block;padding:12px;background:rgba(8,26,53,.99);border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 42px rgba(0,0,0,.22);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease;max-height:calc(100vh - 82px);overflow-y:auto;overscroll-behavior:contain}
  .mobile-menu-panel.open{opacity:1;visibility:visible;transform:translateY(0)}
  .mobile-menu-panel a{display:flex;align-items:center;min-height:48px;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.08);font-size:14px;font-weight:800;color:#fff}
  .mobile-menu-panel a:last-child{border-bottom:0}
  .mobile-menu-panel a:hover,.mobile-menu-panel a:focus{background:rgba(255,255,255,.06);color:#ffae75}
  .mobile-menu-panel .cta{margin-top:8px;background:var(--orange);border-bottom:0}
  body.menu-open{overflow:hidden}
  .topbar .container{gap:10px;flex-wrap:wrap}
  .brand{min-width:0}
  .brand span{min-width:0}
}
@media (max-width:640px){
  .container{width:min(var(--max),calc(100% - 28px))}
  .topbar{font-size:11px}
  .topbar .container{justify-content:space-between;align-items:center}
  .topbar .container>span:first-child{max-width:calc(100% - 82px);overflow-wrap:anywhere}
  .langbar{flex:0 0 auto}
  section{padding:64px 0}
  .pagehero{padding:64px 0}
  .pagehero h1{font-size:clamp(34px,10vw,52px);line-height:1.12;overflow-wrap:anywhere}
  .hero,.hero-inner{min-height:650px}
  .hero-inner{padding:56px 0}
  .hero h1{font-size:clamp(42px,12vw,58px);letter-spacing:-.035em;overflow-wrap:anywhere}
  .hero p,.pagehero p{font-size:15px}
  .section-head{margin-bottom:34px}
  .section-head h2{font-size:clamp(30px,9vw,44px)}
  .card,.stat,.home-panel{padding:22px}
  .home-panel{min-height:200px}
  .home-panel h2{font-size:24px;line-height:1.4;word-break:auto-phrase;overflow-wrap:anywhere}
  .field-icons{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
  .field-icons>div{font-size:10px;line-height:1.35;overflow-wrap:anywhere}
  .field-icons img{width:48px;height:42px}
  .industry-visuals{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .industry-item{padding:13px 6px;font-size:12px;overflow-wrap:anywhere}
  .industry-item svg{width:48px;height:42px}
  .industries-grid,.industry-grid-12{grid-template-columns:1fr}
  .industry-card{min-height:0;padding:18px}
  .industry-card img{height:150px}
  .job-grid{grid-template-columns:1fr}
  .job-card{padding:18px}
  .job-ill,.job-ill img{height:170px}
  .material-business-items{grid-template-columns:1fr}
  .material-business-visual img{max-height:320px}
  .illustrated>img{height:120px}
  .contact-band h2{font-size:34px}
  .phone{font-size:24px;overflow-wrap:anywhere}
  .btn{min-height:48px;padding:12px 18px;display:inline-flex;align-items:center;justify-content:center}
  .buttons{gap:10px}
  .buttons .btn{width:100%}
  .contact-inner .btn{width:100%;white-space:normal}
  .map{height:320px}
  .photo-card img{height:200px}
  .google-form-wrap{margin:1.5rem 0}
  .google-form-wrap iframe{min-height:1250px;height:1250px;width:100%;max-width:100%;display:block}
  iframe{max-width:100%}
  table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .footer{padding:40px 0 22px}
  .copyright{overflow-wrap:anywhere}
}
