@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800;900&family=Barlow+Condensed:wght@600;700;800&display=swap');
:root{--blue:#0866db;--ink:#171c23;--line:#d9dfe5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);font-family:'Noto Sans JP',sans-serif;letter-spacing:0;background:white}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0;background:none}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #ecad24;outline-offset:5px}button:hover,a:hover{color:var(--blue)}.wrap{max-width:1440px;margin:auto;padding:96px 6%}.header{height:96px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 3%;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand img{width:57px;height:60px;object-fit:contain}.brand>span{font-size:25px;font-weight:900;line-height:1.3}.brand small{display:block;font:600 13px 'Barlow Condensed',sans-serif;margin-top:4px}.header nav{display:flex;align-items:center;gap:27px;font-size:13px;font-weight:700}.nav-contact{padding:18px 22px;background:var(--blue);color:white}.nav-contact:hover{background:#034da9;color:white}.nav-contact span{margin-left:24px}.menu{display:none;font-size:27px}.hero{height:min(740px,calc(100svh - 145px));min-height:540px;position:relative;background:#217aca;color:#fff;overflow:hidden}.hero-image{position:absolute;inset:0;height:100%;object-position:60% center}.hero-copy{position:absolute;top:13%;left:6%;text-shadow:0 2px 14px #173d6350}.eyebrow{font:600 17px 'Barlow Condensed',sans-serif}.hero h1{font-size:23px;font-weight:800;margin:20px 0 18px}.catch{font-size:80px;line-height:1.22;font-weight:900;-webkit-text-stroke:1px #fff}.hero-sub{font-size:15px;font-weight:700;line-height:2;margin-top:25px}.hero-bottom{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:21px 6%;font-size:12px;background:#0760ca}.hero-bottom a{font:600 15px 'Barlow Condensed',sans-serif;color:white}.demo-label{position:absolute;right:17px;top:18px;font-size:10px;background:#ffffffea;color:#333;padding:5px 9px}.section-label{display:flex;justify-content:space-between;color:var(--blue);font-size:12px;font-weight:700;margin-bottom:48px}.identity{padding-bottom:0;overflow:hidden}.identity-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:70px}h2{font-size:44px;line-height:1.5;font-weight:900}em{font-style:normal;color:var(--blue)}.identity p,.company p,.equipment p,.safety p{font-size:15px;line-height:2.3;margin-bottom:23px}.text-link{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ink);padding:17px 0;max-width:370px;width:100%;font-size:14px;font-weight:700}.text-link span,.outline-link span{font-size:23px}.wordmark{font:800 112px 'Barlow Condensed',sans-serif;color:#e8edf3;white-space:nowrap;margin-top:65px;line-height:1}.en{font:700 24px 'Barlow Condensed',sans-serif!important;line-height:1.2!important;color:var(--blue);margin-bottom:14px!important}.news{padding-top:66px;padding-bottom:76px;display:grid;grid-template-columns:1fr 3fr;gap:70px;border-top:1px solid var(--line)}.news h2{font-size:23px}.news details{border-bottom:1px solid var(--line)}summary{cursor:pointer}.news summary{display:flex;align-items:center;gap:22px;list-style:none;font-size:13px;padding:24px 0}.news summary>b{flex:1}.news summary>span:last-child{color:var(--blue);font-size:20px}.tag{border:1px solid #a9bacc;padding:4px 9px;font-size:10px;white-space:nowrap}.news details p{font-size:13px;line-height:2;padding-bottom:25px}.company{display:grid;grid-template-columns:1.15fr 1fr;background:var(--blue);color:#fff;min-height:600px}.company-photo img{height:100%;max-height:680px}.company-copy{position:relative;padding:75px 12%;overflow:hidden}.company .en{color:#b5d6ff}.company h2{margin-bottom:25px}.outline-link{border:1px solid #83b6f2;color:white;display:flex;justify-content:space-between;align-items:center;width:100%;padding:16px 22px;position:relative;z-index:1}.outline-link:hover{background:white;color:var(--blue)}.section-number{position:absolute;bottom:-55px;right:10px;font:800 250px 'Barlow Condensed',sans-serif;color:#ffffff13;pointer-events:none}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:48px}.section-heading>p{font-size:14px;line-height:2}.section-heading small{display:block;font-size:10px;color:#6b737c;margin-top:14px}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.work{padding:0;text-align:left;min-width:0}.work-image{position:relative;overflow:hidden;aspect-ratio:4/3}.work-image img{height:100%;transition:transform .5s}.work:hover img{transform:scale(1.04)}.work-image>span{position:absolute;top:0;left:0;background:var(--blue);color:#fff;padding:9px 14px;font:600 22px 'Barlow Condensed',sans-serif}.work-image i{position:absolute;bottom:0;right:0;background:white;font-size:25px;padding:8px 16px;font-style:normal}.work>p{font:600 14px 'Barlow Condensed',sans-serif;color:var(--blue);margin:21px 0 8px}.work h3{font-size:23px;margin-bottom:9px}.work>span{font-size:13px;color:#616873}.field{background:#f0f3f6}.field .wrap{padding-top:75px;padding-bottom:64px}.field h2{font-size:32px}.field-note{font:600 15px 'Barlow Condensed',sans-serif;color:#717984}.field-main{display:block;position:relative;width:100%;padding:0;aspect-ratio:2.3;overflow:hidden;color:white;text-align:left}.field-main img{height:100%;object-position:center 45%;transition:transform .5s}.field-main:hover img{transform:scale(1.025)}.field-caption{position:absolute;bottom:0;left:0;right:0;padding:22px 30px;background:#151a21e8;display:flex;gap:20px;align-items:center}.field-caption small{font:600 14px 'Barlow Condensed',sans-serif;color:#bedaff}.field-caption b{font-size:20px;flex:1}.field-caption>span{font-size:12px;color:#fff}.media-note{font-size:11px;color:#616873;margin-top:15px}.equipment{display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:60px}.equipment img{aspect-ratio:1.2;object-fit:cover}.equipment h2{margin-bottom:22px}.safety{display:grid;grid-template-columns:1fr 1fr;background:#f4f6f7}.safety>img{height:100%;max-height:670px;object-position:57%}.safety>div{padding:65px 12%}.safety h2{font-size:36px;margin-bottom:27px}.safety details{border-top:1px solid #bcc7d2;padding:17px 0}.safety summary{font-size:15px;font-weight:700}.safety summary span{color:var(--blue);margin-right:10px}.safety details p{font-size:13px;margin:15px 0 0}.recruit{position:relative;height:620px;overflow:hidden}.recruit>img{height:100%;object-position:center}.recruit>div{position:absolute;top:80px;left:8%}.recruit h2{font-size:52px;margin-bottom:24px}.recruit p:not(.en){line-height:2;font-size:15px}.solid-link{background:var(--blue);color:#fff;padding:20px 25px;display:flex;justify-content:space-between;width:290px;margin-top:30px;font-weight:700}.solid-link:hover{background:#034da9;color:#fff}.contact{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;align-items:center}.contact p:not(.en){font-size:14px;margin-top:23px}.contact-actions button{width:100%;padding:27px 25px;border:1px solid #c2c9d1;display:flex;justify-content:space-between;font-weight:700;margin-bottom:12px}.contact-actions button:first-child{background:var(--blue);color:white;border-color:var(--blue)}.contact-actions small{font-size:11px;color:#68727b}.closing{height:270px;position:relative;overflow:hidden}.closing img{height:100%;object-position:center 53%}.closing p{position:absolute;inset:0;display:grid;place-items:center;color:white;text-shadow:0 2px 12px #0007;font:800 76px 'Barlow Condensed',sans-serif}footer{position:relative;background:#fff;padding:54px 6% 30px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:30px}footer>div{display:flex;gap:24px;font-size:12px}footer button{padding:0;font-size:12px}footer>p{width:100%;font-size:10px;color:#717b86}footer>small{font:600 12px 'Barlow Condensed',sans-serif}.back-top{font-size:24px;border:1px solid var(--line);padding:10px 20px}dialog{width:min(820px,92%);max-height:88svh;border:0;padding:50px;color:var(--ink);box-shadow:0 20px 100px #0004}dialog::backdrop{background:#111c30b3}dialog img{max-height:420px;object-fit:contain;margin:20px 0}dialog h2{font-size:28px;padding-right:24px}dialog p,dialog li{font-size:14px;line-height:2;margin:18px 0}dialog small{font-size:11px;color:#6b737c}.dialog-close{position:absolute;right:12px;top:7px;font-size:32px;padding:0 10px}dialog dl{display:grid;grid-template-columns:110px 1fr;font-size:14px;line-height:2}dialog dt,dialog dd{padding:12px 0;border-bottom:1px solid var(--line);margin:0}dialog label{display:block;font-size:13px;margin-top:14px}dialog input,dialog textarea,dialog select{display:block;width:100%;font:inherit;padding:12px;border:1px solid #aebbc8;background:white;margin-top:7px}dialog textarea{min-height:110px}dialog form button{margin-top:18px;background:var(--blue);color:white;padding:15px 24px}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}
@media(min-width:1700px){.hero-copy{left:calc((100% - 1440px)/2 + 30px)}}
@media(max-width:1100px){.header nav{gap:14px;font-size:11px}.brand>span{font-size:21px}.brand img{width:47px}.catch{font-size:66px}.company-copy{padding:60px 9%}h2{font-size:37px}.identity-grid{gap:40px}.news{gap:35px}.news summary{gap:14px}.field-caption b{font-size:17px}}
@media(max-width:800px){html{scroll-padding-top:75px}.header{height:76px;padding:0 5%}.brand>span{font-size:21px}.brand img{height:45px;width:43px}.brand small{font-size:11px}.menu{display:block}.header nav{display:none;position:absolute;top:76px;left:0;right:0;background:white;padding:24px 6%;border-bottom:1px solid var(--line)}.header nav.open{display:grid;gap:0}.header nav a{padding:17px;font-size:14px;border-bottom:1px solid var(--line)}.hero{height:660px;min-height:0;max-height:calc(100svh - 112px)}.hero-image{object-position:64% center}.hero-copy{left:6%;top:15%}.hero h1{font-size:19px}.catch{font-size:52px}.eyebrow{font-size:13px}.hero-sub{font-size:13px}.hero-bottom{padding:17px 6%}.hero-bottom>span{max-width:190px;font-size:10px}.hero-bottom a{font-size:12px}.demo-label{font-size:8px}.wrap{padding:60px 6%}.identity{padding-bottom:0}.section-label{margin-bottom:30px}.identity-grid{grid-template-columns:1fr;gap:28px}h2{font-size:33px}.identity p{font-size:14px}.wordmark{font-size:66px;margin-top:35px}.news{grid-template-columns:1fr;gap:18px;padding-top:40px}.news summary{flex-wrap:wrap;gap:12px}.news summary b{flex-basis:75%;font-size:13px}.company{grid-template-columns:1fr}.company-photo img{height:320px}.company-copy{padding:45px 7%}.company-copy h2{font-size:35px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:20px}.work-grid{grid-template-columns:1fr;gap:32px}.work-image{aspect-ratio:1.6}.work h3{font-size:22px}.field h2{font-size:28px}.field-note{display:block;margin-top:15px}.field-main{aspect-ratio:auto}.field-main img{aspect-ratio:1.5}.field-caption{position:static;display:block;padding:20px}.field-caption b{display:block;margin:8px 0 12px}.equipment{grid-template-columns:1fr;gap:30px}.equipment img{aspect-ratio:1.4}.safety{grid-template-columns:1fr}.safety>img{height:300px}.safety>div{padding:40px 7%}.recruit{height:auto;background:#e9f3ff;display:flex;flex-direction:column}.recruit>img{height:320px;object-position:70% center;order:2}.recruit>div{position:static;padding:45px 7%;order:1}.recruit h2{font-size:37px}.solid-link{max-width:100%}.contact{grid-template-columns:1fr;gap:30px}.contact-actions button{font-size:13px}.closing{height:190px}.closing p{font-size:38px}footer>div{flex-wrap:wrap;gap:18px}footer>p{line-height:1.9}dialog{padding:40px 22px 25px}dialog h2{font-size:23px}}
@media(max-width:480px){.catch{font-size:40px}.hero-copy{right:6%}.hero-sub{margin-top:22px}.hero{height:620px}.hero-image{object-position:70% center}}
@media(max-width:360px){.catch{font-size:34px}.closing p{font-size:30px}.section-label{font-size:10px}.hero-bottom>span{max-width:155px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}
