@charset "UTF-8";
:root{--blue:#1f4fd1;--ink:#0f1b3a;--pale:#eff0ef;--orange:#e2442f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;font-family:"Yu Gothic","Meiryo",sans-serif;color:var(--ink);line-height:1.85;font-size:16px;overflow-x:clip}button{font:inherit;color:inherit;cursor:pointer;border:0}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-feature-settings:"palt";letter-spacing:-.05em;line-height:1.45}h1,h2{font-weight:700}h2{font-size:clamp(32px,3.4vw,48px);margin-bottom:28px}h3{font-size:25px}p{margin-bottom:24px}em{font-style:normal;color:var(--blue)}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--orange);outline-offset:5px}.wrap{width:min(1240px,calc(100% - 80px));margin:auto}.section{padding:105px 0}.button{display:inline-flex;align-items:center;justify-content:center;padding:13px 28px;gap:20px;border-radius:40px;background:var(--blue);color:white;font-size:14px;font-weight:700;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px);background:#193d9c}.button.dark{background:var(--ink)}.button.dark:hover{background:var(--blue)}.brand{display:flex;align-items:center;gap:13px;font-size:24px;font-weight:800;letter-spacing:.03em;white-space:nowrap;line-height:1.3}.brand svg{width:31px;height:40px;color:var(--blue)}.brand small{display:block;font-size:12px;font-weight:500;letter-spacing:.16em;margin-top:5px}header{position:sticky;top:0;z-index:50;background:#ffffffed;backdrop-filter:blur(14px);height:94px;display:flex;justify-content:space-between;align-items:center;padding:0 36px;gap:25px;border-bottom:1px solid #e9eaeb}header nav{display:flex;align-items:center;gap:25px;font-size:13px;font-weight:700}header nav a:hover{color:var(--blue)}header nav .button:hover{color:white}.menu{display:none}.photo{aspect-ratio:1;background-image:url('assets/photos.jpg');background-size:300% 300%;background-repeat:no-repeat;background-color:#e6e8ea;overflow:hidden}.p0{background-position:0 0}.p1{background-position:50% 0}.p2{background-position:100% 0}.p3{background-position:0 50%}.p4{background-position:50% 50%}.p5{background-position:100% 50%}.p6{background-position:0 100%}.p7{background-position:50% 100%}.p8{background-position:100% 100%}.hero{position:relative;background:#f0f0ef;isolation:isolate;overflow:hidden;padding:50px 0 75px}.hero:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(114deg,#ffffff 0 43%,transparent 43%),linear-gradient(145deg,#f0f0ef,#e9eaeb)}.hero:after{content:"";position:absolute;right:-5%;top:5%;width:65%;height:95%;background:url('assets/construction.svg') center/contain no-repeat;opacity:.65;z-index:-1}.hero-grid{display:grid;grid-template-columns:43% 57%;min-height:620px;align-items:center}.kicker{font-size:16px;letter-spacing:.08em;font-weight:700;margin-bottom:20px}.hero h1{font-size:clamp(50px,5.9vw,82px);line-height:1.24;margin-bottom:30px}.hero h1 em{position:relative}.hero h1 em:after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:4px;background:var(--orange);transform:rotate(-3deg)}.hero p:not(.kicker){font-size:15px}.note{font-size:12px!important;color:#687080;line-height:1.8}.hero .note{margin:17px 0 0}.scene{height:600px;position:relative}.machine{position:absolute;width:68%;right:-30px;top:0;filter:saturate(.7);clip-path:polygon(12% 0,100% 0,100% 100%,0 100%);opacity:.75}.part{position:absolute;left:3%;top:22%;width:58%;border:8px solid white;border-radius:50%;box-shadow:0 22px 50px #0f1b3a20;transform:rotate(-7deg)}.worker{position:absolute;right:0;bottom:5%;width:34%;border:6px solid white;border-radius:5px;transform:rotate(6deg);box-shadow:0 10px 35px #0f1b3a20}.annotation{position:absolute;left:6%;top:5%;z-index:2;color:var(--blue);font-family:"Yu Mincho",serif;font-weight:700;font-size:24px;transform:rotate(-8deg)}.annotation svg{display:block;width:150px;height:50px;margin-left:35px;fill:none;stroke:var(--blue);stroke-width:2;stroke-linecap:round}.scene-caption{position:absolute;left:2%;bottom:12%;font-size:14px;font-weight:700;transform:rotate(-5deg)}.float-words{position:absolute;left:8%;right:32%;bottom:0;display:flex;gap:9px;flex-wrap:wrap;z-index:3}.float-words button{background:white;border:1px solid #d8dbde;box-shadow:3px 4px 0 #d1d5da;padding:7px 15px;border-radius:3px;font-size:17px;font-weight:700;transition:transform .2s,color .2s}.float-words button:nth-child(2){transform:rotate(-5deg)}.float-words button:nth-child(3){transform:rotate(4deg)}.float-words button:hover{color:var(--blue);transform:translateY(-6px) rotate(-3deg)}.scroll{display:block;text-align:center;font-size:12px;letter-spacing:.15em;margin-top:18px}.eyebrow{color:var(--blue);font-size:13px;font-weight:700;letter-spacing:.08em;margin-bottom:22px;display:flex;align-items:center;gap:12px}.eyebrow:before{content:"";width:24px;height:3px;background:var(--blue)}.split{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:38px}.heading h2{margin-bottom:0}.heading>p{max-width:380px;font-size:14px;margin-bottom:6px}.about{background:white}.answer{padding:35px;background:#f1f2f0;border:1px solid #e4e6e8;position:relative}.answer:after{content:"";position:absolute;right:-15px;bottom:-15px;width:60px;height:60px;border-right:2px solid var(--blue);border-bottom:2px solid var(--blue)}.tag{font-size:13px;font-weight:700;color:var(--blue)}.part-diagram{display:grid;grid-template-columns:1fr 32px 1fr;align-items:center;gap:12px;margin:25px 0}.part-diagram>.photo{border-radius:50%}.part-diagram>span{font-size:28px;color:var(--blue)}.part-diagram svg{width:100%;fill:none;stroke:var(--ink);stroke-width:4;stroke-linejoin:round}.part-diagram strong{font-size:12px;display:block;text-align:center}.answer p{font-size:14px}.text-link{color:var(--blue);font-size:14px;font-weight:700;border-bottom:1px solid #c5c9d0;padding-bottom:5px}.work{background:#eff0ef;position:relative}.tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.tabs button{background:transparent;border-top:1px solid #c6cad1;text-align:left;padding:15px 20px;font-size:13px;color:#6f7686;transition:background .2s}.tabs button b{font-size:27px;margin-left:16px;letter-spacing:-.04em}.tabs button[aria-selected=true]{background:var(--blue);color:white;border-color:var(--blue)}.tabs button:hover{background:#e6e8ea}.tabs button[aria-selected=true]:hover{background:#193d9c}.process-panel{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding:38px;background:white;margin-top:16px;align-items:center;min-height:440px}.process-panel>.photo{border-radius:3px}.process-panel h3{font-size:31px;margin:16px 0 24px}.process-panel p{font-size:15px}.hint{border-left:3px solid var(--orange);padding:8px 0 8px 16px;margin-bottom:25px}.hint small,.hint strong{display:block}.hint small{font-size:12px;color:#6a7282}.hint strong{font-size:15px}.people{background:linear-gradient(175deg,white 75%,#f0f0ef 75%)}.filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px}.filters button{border:1px solid #caced4;border-radius:40px;background:white;padding:9px 20px;font-size:14px}.filters button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.result{font-size:12px;color:#727a8a;margin-bottom:25px}.people-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:start}.person{text-align:left;padding:0;background:none;position:relative}.person[hidden]{display:none}.person .photo{border-radius:5px;transition:transform .2s}.person:hover .photo{transform:translateY(-5px)}.person:nth-child(2){margin-top:28px}.person:nth-child(3){margin-top:12px}.sticker{display:inline-block;background:#f3f3ef;padding:5px 12px;font-size:14px;font-weight:700;transform:rotate(-4deg);margin-top:-20px;position:relative;margin-left:15px}.person:nth-child(2) .sticker{background:#eaebeb;transform:rotate(3deg)}.person small{display:block;margin:20px 0 12px;font-size:12px;color:#697081}.person h3{font-size:23px;margin-bottom:25px}.cross{background:#f5f5f2;position:relative;overflow:hidden}.cross:before{content:"";position:absolute;width:400px;height:400px;right:-220px;top:10%;border:2px dashed #e2442f;border-radius:50%}.cross em{color:#e2442f}.cross .eyebrow{color:#e2442f}.cross .eyebrow:before{background:#e2442f}.cross>div>p:not(.eyebrow){font-size:15px}.cross small{color:#5f6778;font-size:12px;margin-left:15px}.cross-photo{position:relative;padding-bottom:25px}.cross-photo .photo{border:8px solid white;transform:rotate(-3deg);box-shadow:0 15px 35px #8e343316}.scribble{position:absolute;left:25px;bottom:4px;font-family:"Yu Mincho",serif;font-size:20px;font-weight:700;transform:rotate(-5deg);background:#f5f5f2;padding:3px 12px}.questions details{border-bottom:1px solid #e2442f;padding:16px 0}.questions details:first-child{border-top:1px solid #e2442f}.questions summary{font-weight:700;cursor:pointer;list-style:none;display:flex;gap:14px;align-items:center;font-size:18px}.questions summary:before{content:"Q.";color:#e2442f}.questions summary:after{content:"+";margin-left:auto;font-size:24px;font-weight:400}.questions details[open] summary:after{content:"−"}.questions p{background:white;border-radius:12px;padding:18px;font-size:14px;line-height:1.9;margin:18px 0 4px}.questions p b{color:#e2442f}.day .split{align-items:start}.day .photo{position:sticky;top:120px;border-radius:6px}.timeline{list-style:none;margin:0;padding:0}.timeline li{display:grid;grid-template-columns:75px 1fr;gap:20px;border-left:1px solid #d6d9dd;margin-left:8px;padding:0 0 30px 24px;position:relative}.timeline li:before{content:"";position:absolute;left:-5px;top:10px;width:9px;height:9px;border-radius:50%;background:var(--blue)}.timeline time{font-size:18px;color:var(--blue);font-weight:700}.timeline h3{font-size:22px}.timeline p{font-size:14px;margin:8px 0 0}.timeline .lunch{background:#f7f7f3;padding-top:12px;border-radius:0 8px 8px 0}.timeline .lunch:before{top:23px;background:var(--orange)}.data{background:var(--ink);color:white}.data .eyebrow,.data em{color:#bfc5cc}.data .eyebrow:before{background:#bfc5cc}.data .heading>p{color:#c2c7ce}.data-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;margin-bottom:30px}.data-grid article{grid-column:span 2;background:#ffffff09;border:1px solid #ffffff24;padding:28px;position:relative}.data-grid article>span{font-size:14px}.data-grid strong{display:block;font-size:80px;letter-spacing:-.04em;line-height:1.5;color:#c2c7ce}.data-grid strong small{font-size:25px;margin-left:8px}.data-grid p{font-size:13px;color:#cbcfd5;margin:12px 0 0}.data-grid .drink,.data-grid .hobby{grid-column:span 3}.data-grid .hobby strong{font-size:48px}.drink-bar{display:flex;margin-top:22px;gap:4px}.drink-bar b{background:#9cb6f5;color:var(--ink);padding:15px 12px;font-size:16px}.drink-bar b:first-child{flex:48}.drink-bar b:last-child{flex:39;background:#dddfe2}.data .note{color:#c6cad1}.data .text-link{color:#c5c9d0}.career-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin:42px 0 25px}.career-grid article{padding:30px 0;border-top:3px solid #cfd2d8;position:relative}.career-grid article:before{content:"";position:absolute;top:-9px;width:15px;height:15px;background:var(--blue);border:4px solid white;border-radius:50%}.career-grid span{font-size:12px;color:var(--blue);font-weight:700;letter-spacing:.12em}.career-grid h3{margin:14px 0 20px;font-size:26px}.career-grid p{font-size:15px}.career-grid small{font-size:12px;color:#6e7585}.culture{background:#eff0ef}.culture-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:35px}.culture details{background:white;border:1px solid #e5e7e9}.culture summary{cursor:pointer;padding:24px 25px;font-size:20px;font-weight:700;list-style:none;display:flex;align-items:center;gap:25px}.culture summary span{color:var(--blue);font-size:13px}.culture summary:after{content:"+";margin-left:auto}.culture details[open] summary:after{content:"−"}.culture details p{padding:0 25px 25px;margin:0;font-size:14px}.job-list{display:flex;flex-direction:column;gap:12px}.job-list button{text-align:left;display:flex;align-items:center;gap:20px;padding:24px;border:1px solid #dadce0;background:white;border-radius:3px}.job-list button:hover{border-color:var(--blue);background:#f3f3f1}.job-list strong{font-size:19px;white-space:nowrap}.job-list span{font-size:12px;color:#6f7686}.job-list b{margin-left:auto;color:var(--blue);font-size:23px}.entry{background:linear-gradient(120deg,#efefee 65%,#dee0e3 65%)}.entry .photo{border:8px solid white;transform:rotate(3deg);border-radius:4px}.entry h2{font-size:40px}footer{padding:45px 0;background:var(--ink);color:white}footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap}footer .brand{display:block;font-size:23px}footer nav{display:flex;gap:28px;font-size:14px}footer p{width:100%;font-size:12px;color:#c5c9d0;margin:0}.skip{position:fixed;top:-100px;z-index:100;background:white;padding:10px}.skip:focus{top:5px}dialog{border:0;border-radius:14px;padding:44px;width:min(680px,calc(100% - 32px));max-height:85svh;color:var(--ink);box-shadow:0 25px 70px #0f1b3a33}dialog::backdrop{background:#0f1b3a99;backdrop-filter:blur(5px)}dialog .close{position:absolute;right:15px;top:8px;font-size:30px;background:none;padding:4px 10px}dialog h2{font-size:32px;margin-bottom:25px}dialog h3{font-size:19px;margin:25px 0 12px}dialog p{font-size:15px}dialog .notice{background:#efefee;padding:16px;font-size:13px;border-radius:5px}.dialog-open{overflow:hidden}
@media(max-width:1100px){header{padding:0 24px}header nav{gap:16px;font-size:12px}.brand{font-size:21px}.wrap{width:calc(100% - 56px)}.hero-grid{grid-template-columns:43% 57%}.hero h1{font-size:6vw}.scene{height:510px}.annotation{font-size:21px}.float-words{left:0;right:20%}.float-words button{font-size:15px}.split{gap:45px}.process-panel{gap:35px;padding:28px}.job-list span{display:none}.entry h2{font-size:32px}}
@media(max-width:800px){html{scroll-padding-top:82px}header{height:78px;padding:0 20px}.brand{font-size:21px}.brand svg{width:27px;height:36px}.menu{display:block;background:none;font-size:12px;padding:12px 0}header nav{display:none;position:absolute;top:78px;left:0;right:0;padding:18px 24px;background:white;flex-direction:column;align-items:stretch;gap:0;font-size:15px;box-shadow:0 15px 30px #0f1b3a15}header nav.open{display:flex}header nav a{padding:14px}.wrap{width:calc(100% - 40px)}.section{padding:65px 0}.hero{padding:30px 0 30px}.hero:before{background:linear-gradient(155deg,white 0 40%,transparent 40%),linear-gradient(140deg,#f1f1f0,#eaebeb)}.hero-grid{grid-template-columns:1fr;min-height:0}.hero h1{font-size:clamp(47px,10vw,75px);line-height:1.28}.hero .kicker{font-size:14px}.hero p:not(.kicker){font-size:14px}.scene{height:450px;max-width:560px;width:100%;margin:25px auto 0}.machine{width:68%;right:0}.part{width:53%;left:0;top:25%}.worker{width:31%;right:2%;bottom:10%}.annotation{left:0;top:5%;font-size:20px}.scene-caption{bottom:13%;font-size:12px}.float-words{right:20%;bottom:0}.scroll{margin-top:25px}.split,.process-panel{grid-template-columns:1fr;gap:35px}.heading{display:block;margin-bottom:28px}.heading>p{margin-top:24px}.heading h2,h2{font-size:33px}.answer{padding:24px}.tabs{gap:6px}.tabs button{padding:12px 8px;font-size:12px;display:flex;flex-direction:column;gap:4px}.tabs button b{font-size:20px;margin:0}.process-panel{padding:22px}.process-panel h3{font-size:28px}.people-grid{gap:20px;grid-template-columns:1fr 1fr}.person h3{font-size:20px}.person:nth-child(2),.person:nth-child(3){margin-top:0}.person small{font-size:12px}.person .sticker{font-size:12px;margin-left:8px}.filters{gap:8px}.filters button{font-size:12px;padding:8px 14px}.cross-photo{max-width:500px;width:100%;margin:auto}.cross small{display:block;margin-left:0}.scribble{font-size:17px}.questions summary{font-size:16px}.day .photo{position:static;max-width:450px;width:100%;margin:auto}.timeline li{padding-left:20px;gap:12px;grid-template-columns:65px 1fr}.timeline h3{font-size:20px}.data-grid{grid-template-columns:repeat(2,1fr);gap:12px}.data-grid article,.data-grid .hobby{grid-column:span 1;padding:20px}.data-grid .drink{grid-column:span 2}.data-grid strong{font-size:64px}.data-grid .hobby strong{font-size:34px}.data-grid article>span{font-size:12px}.data-grid p{font-size:12px}.career-grid{grid-template-columns:1fr;gap:0;margin-top:28px}.career-grid article{padding:22px 0 30px}.career-grid h3{font-size:24px}.culture-grid{grid-template-columns:1fr;gap:12px}.culture summary{padding:20px;font-size:19px}.entry h2{font-size:31px}.entry .photo{max-width:430px;width:100%;margin:auto}footer nav{gap:22px}dialog{padding:35px 25px}dialog h2{font-size:27px}}
@media(max-width:430px){.hero h1{font-size:52px}.scene{height:340px}.annotation{top:0;font-size:17px}.annotation svg{width:95px;height:40px;margin-left:10px}.part{top:22%;width:57%;border-width:5px}.worker{bottom:15%;width:32%;border-width:4px}.scene-caption{bottom:16%;max-width:60%;font-size:12px}.float-words{right:0;gap:8px}.float-words button{font-size:13px;padding:6px 10px}.people-grid{grid-template-columns:1fr;gap:35px}.person h3{font-size:24px}.person .sticker{font-size:14px}.person small{font-size:12px}.drink-bar b{font-size:13px;padding:15px 10px}.data-grid .hobby strong{font-size:30px}.timeline p{font-size:13px}}
@media(prefers-reduced-motion:no-preference){.part{animation:part-float 7s ease-in-out infinite}@keyframes part-float{0%,100%{transform:translateY(0) rotate(-7deg)}50%{transform:translateY(-10px) rotate(-5deg)}}.annotation{animation:annotation-in .8s ease-out}@keyframes annotation-in{from{opacity:0;transform:translateY(8px) rotate(-8deg)}to{opacity:1;transform:translateY(0) rotate(-8deg)}}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.photo.machining-young{background-image:url('assets/machining-young.jpg');background-size:cover;background-position:center}

.equipment-photo{aspect-ratio:1;background:url('assets/robot-equipment.jpg') center/cover;border-radius:50%;margin-bottom:12px}.part-diagram strong{line-height:1.6}

.all-people{display:inline-block;margin:0 0 30px}.talk-link{margin:0 0 35px}.process-panel .button{margin-top:5px}.person[hidden]{display:none}
.nav-people{position:relative}.nav-people-toggle{display:flex;align-items:center;gap:7px;padding:14px 0;background:none;font-size:inherit;font-weight:700}.nav-people-toggle:hover,.nav-people-toggle[aria-expanded=true]{color:var(--blue)}.nav-people-toggle span{transition:transform .2s}.nav-people-toggle[aria-expanded=true] span{transform:rotate(180deg)}.people-subnav{position:absolute;top:100%;left:-22px;width:215px;padding:10px;background:white;border:1px solid #e5e7e8;border-radius:8px;box-shadow:0 12px 35px #0f1b3a18}.people-subnav[hidden]{display:none}.people-subnav a{display:block;padding:14px 12px;font-size:14px;white-space:nowrap;border-radius:4px}.people-subnav a:hover{background:#f0f0ef}
@media(max-width:800px){.nav-people-toggle{padding:14px;width:100%;justify-content:space-between;text-align:left}.people-subnav{position:static;width:100%;border:0;box-shadow:none;border-radius:0;background:#f0f1ef;padding:5px 15px}.people-subnav a{font-size:14px;padding:13px 14px}}

#company-subnav{width:265px}@media(max-width:800px){#company-subnav{width:100%}}

#work-subnav{width:245px;max-height:calc(100svh - 120px);overflow-y:auto}#work-subnav a:first-child{border-bottom:1px solid #dee0e3;border-radius:0;margin-bottom:5px}@media(max-width:800px){#work-subnav{width:100%;max-height:none}header nav.open{max-height:calc(100svh - 78px);overflow-y:auto}}

.scene-caption{bottom:13%;left:0;transform:rotate(-3deg)}@media(max-width:800px){.scene-caption{bottom:14%;left:0}}@media(max-width:430px){.scene-caption{bottom:16%;left:0}}

@media(min-width:801px){.part{width:48%;top:18%}}@media(max-width:430px){.part{width:53%;top:20%}}

.cross-photo .photo{background-image:url('assets/crosstalk-newcomers-v2.jpg');background-size:300% auto;background-position:50% 76%;aspect-ratio:4/3}


/* Keep the first words visible below the sticky navigation. */
.hero{scroll-margin-top:94px}
.culture-intro{font-size:15px;color:#61697a;margin-bottom:0}
.culture summary{gap:20px;align-items:flex-start}
.culture summary .culture-number{font-size:13px;padding-top:5px;flex-shrink:0}
.culture summary .culture-label{color:var(--ink);display:block;flex:1;min-width:0}
.culture-label strong{display:block;font-size:20px}
.culture-label small{display:block;font-size:14px;font-weight:400;line-height:1.7;color:#61697a;margin-top:9px}
.culture summary:after{padding-top:3px;flex-shrink:0}
.photo.day-technician{background:url('assets/day-technician.jpg') center/cover no-repeat}
.photo.entry-team{background:url('assets/entry-team.jpg') center/cover no-repeat}
@media(max-width:800px){
 .hero{padding-top:48px;scroll-margin-top:78px}
 .scene-caption{display:none}
 .tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .tabs button{min-height:68px;flex-direction:row;align-items:center;padding:14px 12px;gap:10px}
 .tabs button b{font-size:clamp(17px,4.6vw,22px);white-space:nowrap}
 .culture-label strong{font-size:19px}
 .culture-label small{font-size:13px}
}

@media(max-width:800px){html{scroll-behavior:auto}}


.culture-detail-link{display:inline-block;margin:0 25px 25px}.culture-all-link{margin-top:30px}


.job-list a{text-align:left;display:flex;align-items:center;gap:20px;padding:24px;border:1px solid #dadce0;background:white;border-radius:3px}.job-list a:hover{border-color:var(--blue);background:#f3f3f1}

