
:root{--navy:#081b36;--deep:#06152b;--teal:#148e90;--ink:#14283d;--muted:#65717d;--line:#dbe1e5;--paper:#f4f6f7;--serif:'Yu Mincho','Hiragino Mincho ProN','Noto Serif JP',serif;--sans:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0;color:var(--ink);background:white;font-family:var(--sans);font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--teal);outline-offset:6px}::selection{background:#bce4df;color:var(--deep)}.shell{width:min(1240px,calc(100% - 112px));margin:auto}.header{height:102px;position:sticky;top:0;background:rgba(255,255,255,.97);z-index:20;border-bottom:1px solid #e8ecee}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:32px}.wordmark{display:inline-flex;flex-direction:column;line-height:1}.wordmark-name{font-family:Georgia,'Times New Roman',serif;font-size:43px;letter-spacing:-1.8px}.brand-rule{height:2px;margin:6px 0 7px;background:linear-gradient(to right,var(--navy) 0 84%,transparent 84% 86%,var(--teal) 86%)}.brand-sub{font-family:var(--serif);font-size:11px;letter-spacing:.12em}.nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:500}.nav>a:not(.nav-contact){position:relative}.nav>a:not(.nav-contact):after{content:'';position:absolute;bottom:-9px;left:0;width:0;height:1px;background:var(--teal);transition:width .2s}.nav>a:hover:after{width:100%}.nav-contact{padding:12px 22px;border:1px solid var(--navy);transition:.2s}.nav-contact:hover{background:var(--navy);color:white}.menu-toggle{display:none;border:0;background:none;padding:10px;cursor:pointer}.menu-toggle span{display:block;width:25px;height:1px;background:var(--navy);margin:6px 0}.hero{background:var(--navy);color:white;position:relative;overflow:hidden;min-height:680px;display:grid;grid-template-columns:56% 44%}.hero-copy{padding:100px 35px 96px max(56px,calc((100vw - 1240px)/2));position:relative;z-index:2}.eyebrow{font-size:12px;letter-spacing:.23em;font-weight:500;line-height:1.5;color:var(--teal);text-transform:uppercase}.hero .eyebrow{color:#88c5c2}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(36px,3.5vw,55px);line-height:1.8;letter-spacing:.1em;margin:35px 0 29px;white-space:nowrap}.signature-line{height:2px;max-width:485px;background:linear-gradient(to right,#718095 0 83%,transparent 83% 85%,#39aaa7 85%);margin-bottom:29px}.hero-description{font-size:15px;line-height:2.2;color:#d4dde7;letter-spacing:.04em}.hero-bottom{display:flex;gap:32px;align-items:center;margin-top:47px}.text-link{display:inline-flex;gap:30px;align-items:center;font-size:14px;letter-spacing:.05em;padding:9px 0;border-bottom:1px solid #82909f;transition:color .2s,border-color .2s}.text-link:hover{color:var(--teal);border-color:var(--teal)}.hero .text-link:hover{color:#8fe0da;border-color:#8fe0da}.link-mark{font-size:19px;font-weight:300;line-height:1}.hero-visual{position:relative;min-height:680px;overflow:hidden;background:#102e43}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,27,54,.22),transparent 38%),linear-gradient(0deg,rgba(6,21,43,.5),transparent 50%)}.hero-visual img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.hero-visual img{visibility:hidden}.hero-visual.is-ready img{visibility:visible}.hero-visual .hero-sunset{opacity:1}.hero-visual.is-playing img{animation:hero-drift 8s ease-out both}.hero-visual.is-playing .hero-sunset{animation:hero-drift 8s ease-out both,sunset-to-night 8s ease-in-out both}@keyframes hero-drift{from{transform:scale(1.045)}to{transform:scale(1)}}@keyframes sunset-to-night{0%,12%{opacity:1}100%{opacity:0}}@media(prefers-reduced-motion:reduce){.hero-visual .hero-sunset{display:none}}.hero-caption{position:absolute;bottom:37px;left:30px;color:#e0edf0;z-index:1;letter-spacing:.19em;font-size:11px;writing-mode:vertical-rl}.hero-number{position:absolute;right:40px;bottom:33px;z-index:1;font-family:Georgia,serif;font-size:15px;letter-spacing:.2em;color:#e3e9ef}.intro-strip{display:flex;align-items:center;justify-content:space-between;padding:25px 0;border-bottom:1px solid var(--line);gap:28px}.intro-strip p{margin:0;font-size:13px;letter-spacing:.05em;color:var(--muted)}.intro-strip span{font-size:12px;letter-spacing:.19em;color:var(--teal)}.section{padding:110px 0}.section-top{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:50px}.section h2{font-family:var(--serif);font-size:36px;font-weight:400;letter-spacing:.1em;line-height:1.7;margin:14px 0 0}.section-lead{font-size:15px;color:var(--muted);line-height:2;margin:0;max-width:460px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.service-card{border-top:2px solid var(--navy);padding-top:27px;position:relative}.service-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.service-no{font-family:Georgia,serif;font-size:15px;letter-spacing:.14em;color:var(--teal)}.service-card svg{width:40px;height:40px;stroke:var(--teal);stroke-width:1.15;fill:none}.service-card h3{font-family:var(--serif);font-size:24px;letter-spacing:.025em;font-weight:400;line-height:1.6;margin:0 0 19px}.service-card .description{color:var(--muted);font-size:14px;line-height:2;min-height:56px;margin:0 0 26px}.service-list{list-style:none;padding:0;margin:0 0 25px}.service-list li{border-top:1px solid var(--line);padding:11px 0;font-size:14px;display:flex;align-items:center;gap:13px}.service-list li:before{content:'';width:4px;height:4px;background:var(--teal);flex:none}.service-card details{border-top:1px solid var(--line)}summary{cursor:pointer;list-style:none;font-size:14px;display:flex;justify-content:space-between;padding:17px 0;gap:20px}summary::-webkit-details-marker{display:none}summary:after{content:'＋';color:var(--teal)}details[open] summary:after{content:'−'}details .detail-body{font-size:14px;color:var(--muted);padding:0 0 16px;margin:0}.philosophy{background:var(--paper);position:relative}.philosophy-inner{display:grid;grid-template-columns:1fr 1.08fr;gap:90px}.philosophy h2{font-size:37px;line-height:1.85}.philosophy-intro{font-size:15px;color:var(--muted);max-width:400px;margin-top:25px;line-height:2.2}.principle{display:grid;grid-template-columns:40px 1fr;gap:17px;padding:27px 0;border-top:1px solid #cbd4da}.principle:last-child{border-bottom:1px solid #cbd4da}.principle .n{color:var(--teal);font-family:Georgia,serif;font-size:14px;padding-top:5px}.principle h3{font-family:var(--serif);font-size:22px;font-weight:400;margin:0 0 10px;letter-spacing:.04em}.principle p{font-size:14px;line-height:2;color:var(--muted);margin:0}.works{padding-bottom:95px}.work-preview{border:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;background:#fbfcfc}.work-placeholder{min-height:210px;display:flex;justify-content:center;align-items:center;background:#edf1f3;position:relative}.work-placeholder:before,.work-placeholder:after{content:'';position:absolute;width:32px;height:32px;border-color:#b7c3ca;border-style:solid}.work-placeholder:before{top:27px;left:27px;border-width:1px 0 0 1px}.work-placeholder:after{bottom:27px;right:27px;border-width:0 1px 1px 0}.work-placeholder span{font-size:12px;letter-spacing:.18em;color:#71828c}.work-copy{padding:36px 44px;display:flex;flex-direction:column;justify-content:center}.work-copy h3{font-family:var(--serif);font-weight:400;font-size:24px;margin:0 0 14px}.work-copy p{font-size:14px;color:var(--muted);margin:0;line-height:2}.company{padding:0 0 110px}.company-inner{display:grid;grid-template-columns:1fr 1.08fr;gap:90px;border-top:1px solid var(--line);padding-top:78px}.company h2{margin-top:14px}.company dl{margin:0}.company-row{display:grid;grid-template-columns:110px 1fr;gap:18px;border-bottom:1px solid var(--line);padding:20px 0;font-size:14px}.company-row:first-child{padding-top:4px}.company dt{color:var(--muted)}.company dd{margin:0}.company .wordmark-name{font-size:54px;margin-top:34px}.recruit{background:var(--navy);color:white;position:relative;overflow:hidden}.recruit-inner{padding:65px 0;display:flex;justify-content:space-between;align-items:center;gap:50px}.recruit h2{font-family:var(--serif);font-size:33px;font-weight:400;letter-spacing:.08em;margin:14px 0 10px}.recruit .eyebrow{color:#80c0bc}.recruit p{font-size:14px;color:#c3d0dc;margin:0}.outline-button{border:1px solid #8392a4;padding:19px 35px;font-size:14px;display:inline-block;white-space:nowrap;transition:.2s}.outline-button:hover{background:white;color:var(--navy)}.contact{padding:90px 0}.contact-inner{display:grid;grid-template-columns:1fr 1.08fr;gap:90px;align-items:center}.contact h2{font-family:var(--serif);font-weight:400;font-size:33px;margin:11px 0 13px}.contact p{font-size:14px;color:var(--muted);margin:0}.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-link{padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}.contact-link .small{font-size:12px;letter-spacing:.05em;color:var(--muted)}.contact-link .phone{font-family:Georgia,serif;font-size:29px;letter-spacing:.02em}.contact-link .mail{font-size:15px;color:var(--teal);margin:8px 0 5px}.footer{background:var(--paper);padding:40px 0 28px;border-top:1px solid var(--line)}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px}.footer .wordmark-name{font-size:34px}.footer-nav{display:flex;flex-wrap:wrap;gap:24px;font-size:12px;color:var(--muted)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:30px;font-size:11px;color:#7c8791}.reveal{transition:opacity .75s ease,transform .75s ease}.js .reveal:not(.seen){opacity:0;transform:translateY(20px)}@keyframes arrival{from{transform:scale(1.06);opacity:.3}to{transform:scale(1);opacity:1}}@media(min-width:1600px){.hero-copy{padding-top:120px;padding-bottom:120px}.hero,.hero-visual{min-height:750px}}@media(max-width:1100px){.shell{width:calc(100% - 64px)}.nav{gap:18px;font-size:13px}.hero-copy{padding-left:32px;padding-top:82px}.hero h1{font-size:38px;letter-spacing:.03em}.hero,.hero-visual{min-height:610px}.service-grid{gap:24px}.service-card h3{font-size:21px}.philosophy-inner,.company-inner,.contact-inner{gap:45px}.contact-options{grid-template-columns:1fr}.contact-link{padding:8px 0}.contact-link+.contact-link{border-top:0}.section{padding:85px 0}}@media(max-width:800px){html{scroll-padding-top:82px}.header{height:82px}.shell{width:calc(100% - 40px)}.wordmark-name{font-size:35px}.brand-sub{font-size:10px}.nav{display:none;position:absolute;left:0;right:0;top:81px;background:white;padding:22px 25px 28px;box-shadow:0 12px 20px #081b3610;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav>a{padding:13px 8px}.nav .nav-contact{margin-top:10px;text-align:center}.menu-toggle{display:block}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:52px 25px 43px}.hero h1{font-size:clamp(27px,5.8vw,42px);letter-spacing:.065em;margin:26px 0 25px;line-height:1.85}.hero-description{font-size:14px;line-height:2}.hero-description br{display:none}.hero-bottom{margin-top:24px}.hero-visual{min-height:260px;max-height:320px}.hero-visual img{object-position:center 48%}.hero-caption{writing-mode:horizontal-tb;bottom:18px;left:25px;font-size:10px}.hero-number{bottom:15px;right:24px}.signature-line{max-width:450px}.intro-strip{padding:19px 0}.intro-strip p{font-size:11px}.intro-strip span{font-size:10px;white-space:nowrap}.section{padding:64px 0}.section-top{display:block;margin-bottom:32px}.section h2{font-size:29px}.section-lead{margin-top:20px;font-size:14px}.service-grid{grid-template-columns:1fr;gap:34px}.service-card{padding-top:21px}.service-card-head{margin-bottom:15px}.service-card h3{font-size:25px}.service-card .description{min-height:0;margin-bottom:20px}.service-card svg{width:33px;height:33px}.service-list{margin-bottom:0}.philosophy-inner,.company-inner,.contact-inner{grid-template-columns:1fr;gap:35px}.philosophy h2{font-size:31px}.philosophy-intro{max-width:none}.principle{padding:23px 0;gap:10px}.principle h3{font-size:21px}.work-preview{grid-template-columns:1fr}.work-placeholder{min-height:190px}.work-copy{padding:26px}.work-copy h3{font-size:22px}.company{padding-bottom:65px}.company-inner{padding-top:52px}.company .wordmark-name{margin-top:24px;font-size:47px}.company-row{grid-template-columns:78px 1fr;font-size:13px;gap:15px}.recruit-inner{padding:48px 0;display:block}.recruit h2{font-size:26px}.recruit p{font-size:13px}.outline-button{margin-top:26px;padding:14px 25px}.contact{padding:60px 0}.contact h2{font-size:29px}.contact-options{grid-template-columns:1fr 1fr;gap:18px}.contact-link{padding:16px 0}.contact-link+.contact-link{border-top:1px solid var(--line)}.contact-link .phone{font-size:23px}.contact-link .mail{font-size:13px}.footer-top{display:block}.footer-nav{margin-top:27px;flex-wrap:wrap;gap:12px 22px}.footer-bottom{font-size:10px;flex-direction:column;gap:7px}.footer{padding-top:32px}.eyebrow{font-size:11px}}@media(max-width:370px){.hero-copy{padding-left:20px;padding-right:20px}.hero h1{font-size:25px}.contact-options{grid-template-columns:1fr}.contact-link+.contact-link{border-top:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal:not(.seen){opacity:1;transform:none}}

.work-scene{margin:0 0 38px}.work-scene img{display:block;width:100%;height:auto;aspect-ratio:3.2;object-fit:cover;object-position:center 56%}.work-scene figcaption{margin-top:8px;text-align:right;font-size:11px;letter-spacing:.04em;color:var(--muted)}.work-examples{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:38px;row-gap:30px}.work-example{border-top:1px solid var(--line);padding-top:23px}.work-example .work-facility{font-size:12px;color:var(--teal);letter-spacing:.06em;margin:0 0 10px}.work-example h3{font-family:var(--serif);font-size:24px;font-weight:400;line-height:1.6;letter-spacing:.03em;margin:0 0 12px}.work-description{font-size:14px;line-height:2;color:var(--muted);margin:0}@media(max-width:1100px){.work-examples{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}}@media(max-width:600px){.work-scene{margin-bottom:28px}.work-scene img{aspect-ratio:2;object-position:60% center}.work-examples{grid-template-columns:1fr;gap:25px}.work-example{padding-top:20px}.work-example h3{font-size:23px}}

.recruit-hero{background:var(--navy);color:white;overflow:hidden}.recruit-hero-inner{display:grid;grid-template-columns:1.12fr 1fr;min-height:545px}.recruit-hero-copy{padding:65px 55px 65px 0;align-self:center}.recruit-hero .eyebrow{color:#90d0ca}.recruit-hero h1{font-family:var(--serif);font-size:clamp(32px,3.1vw,46px);font-weight:400;line-height:1.75;letter-spacing:.06em;margin:27px 0}.recruit-role{font-size:15px;letter-spacing:.04em;color:#d8e3ec}.recruit-hero-image{margin:0;position:relative;min-height:420px}.recruit-hero-image img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:59% center}.recruit-hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#081b3624,transparent)}.recruit-hero .outline-button{margin-top:20px}.breadcrumb{font-size:12px;color:var(--muted);padding:20px 0}.breadcrumb a{border-bottom:1px solid var(--line)}.job-facts{display:grid;grid-template-columns:repeat(3,1fr);padding:36px 0;border-bottom:1px solid var(--line);margin:0}.job-facts>div{padding:0 32px;border-left:1px solid var(--line)}.job-facts>div:first-child{padding-left:0;border:0}.job-facts dt{font-size:12px;color:var(--muted)}.job-facts dd{margin:6px 0 0;font-size:17px}.job-facts strong{font-family:Georgia,serif;font-size:42px;font-weight:400;color:var(--navy);line-height:1.3;margin-right:6px}.job-facts small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.editorial{display:grid;grid-template-columns:0.8fr 1.2fr;gap:90px}.editorial h2{font-size:32px;line-height:1.85;letter-spacing:.04em}.editorial-copy p{margin:0 0 24px;font-size:15px;line-height:2.15}.editorial-copy p:last-child{margin-bottom:0}.editorial-copy .intro-emphasis{color:var(--teal);font-weight:500}.task-list{margin:30px 0 0;padding:0;list-style:none}.task-list li{display:flex;gap:22px;padding:17px 0;border-top:1px solid var(--line);font-size:15px}.task-list li:last-child{border-bottom:1px solid var(--line)}.task-list span{font-family:Georgia,serif;color:var(--teal)}.worktime{background:var(--paper)}.shift-list{display:flex;gap:14px;flex-wrap:wrap;margin:28px 0 0;padding:0;list-style:none}.shift-list li{font-size:14px;border:1px solid #ccd7dc;background:white;padding:12px 18px}.section-note{font-size:12px!important;color:var(--muted);margin-top:15px!important}.details-heading{margin-bottom:36px}.job-table{margin:0;border-top:2px solid var(--navy)}.job-row{display:grid;grid-template-columns:210px 1fr;gap:34px;border-bottom:1px solid var(--line);padding:23px 0;font-size:14px;line-height:2}.job-row dt{color:var(--muted)}.job-row dd{margin:0}.job-row dd p{margin:0 0 7px}.job-row dd p:last-child{margin:0}.salary-main{font-size:23px;font-family:var(--serif)}.salary-pending{display:inline-block;margin-top:12px!important;padding:7px 13px;background:var(--paper);font-size:12px;color:var(--muted)}.benefits-list{display:grid;grid-template-columns:1fr 1fr;gap:10px 35px;list-style:none;padding:0;margin:0}.benefits-list li{padding-left:15px;position:relative}.benefits-list li:before{content:'';width:4px;height:4px;background:var(--teal);position:absolute;left:0;top:12px}.apply-section{background:var(--navy);color:white}.apply-section .eyebrow{color:#90d0ca}.apply-section h2{font-size:34px;line-height:1.85}.apply-copy{color:#d3dfe9;font-size:15px}.apply-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.apply-actions{padding-top:7px}.apply-button{display:flex;align-items:center;justify-content:space-between;gap:25px;background:white;color:var(--navy);padding:21px 26px;font-size:15px;transition:background .2s}.apply-button:hover{background:#d8efeb}.apply-help{font-size:12px;color:#c3d0dc;margin:13px 0 28px}.apply-phone{border-top:1px solid #46586c;padding-top:22px}.apply-phone p{font-size:12px;color:#c3d0dc;margin:0}.apply-phone a{font-family:Georgia,serif;font-size:32px;letter-spacing:.04em}.apply-phone small{display:block;font-size:12px;color:#c3d0dc}.office-note{margin-top:35px;font-size:12px;color:#c3d0dc}.nav a[aria-current=page]{color:var(--teal)}
@media(max-width:1100px){.editorial{gap:45px}.recruit-hero-copy{padding-right:28px}.apply-layout{gap:45px}.job-facts>div{padding:0 22px}.job-facts strong{font-size:36px}}
@media(max-width:800px){.recruit-hero-inner{grid-template-columns:1fr;min-height:0}.recruit-hero-copy{padding:42px 0}.recruit-hero h1{font-size:clamp(21px,5.9vw,40px);letter-spacing:.03em;margin:22px 0}.recruit-hero-image{min-height:260px;margin:0 -20px}.recruit-hero-image img{object-position:center 20%}.recruit-role{font-size:13px}.recruit-hero .outline-button{margin-top:15px}.job-facts{padding:25px 0;gap:14px}.job-facts>div{padding:0 0 0 14px}.job-facts dt{font-size:10px}.job-facts dd{font-size:12px}.job-facts strong{font-size:28px}.job-facts small{font-size:10px;line-height:1.7}.editorial,.apply-layout{grid-template-columns:1fr;gap:25px}.editorial h2,.apply-section h2{font-size:28px}.job-row{grid-template-columns:1fr;gap:7px;padding:20px 0}.job-row dt{font-size:12px}.benefits-list{grid-template-columns:1fr;gap:6px}.shift-list{gap:8px}.shift-list li{padding:9px 12px;font-size:12px}.details-heading{margin-bottom:25px}.apply-actions{padding-top:0}.apply-button{padding:20px;font-size:14px}.office-note{margin-top:25px}.salary-main{font-size:22px}}
