@font-face{font-family:LINE;src:url('../fonts/LINESeedJP-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:LINE;src:url('../fonts/LINESeedJP-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:Zalando;src:url('../fonts/ZalandoSansExpanded.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--ink:#111;--navy:#39506c;--dark:#33363d;--blue:#27c1f8;--line:#e6e8ea;--muted:#464c53;--page:1440px}
*{box-sizing:border-box}html{scroll-padding-top:30px}body{margin:0;font-family:LINE,'Hiragino Kaku Gothic ProN',sans-serif;color:var(--ink);background:#fff;font-size:16px;line-height:1.8}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block}p,h1,h2,h3{margin:0}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:5px}.skip-link{position:fixed;left:16px;top:-100px;background:#fff;padding:10px;z-index:100}.skip-link:focus{top:16px}
.site-header{position:absolute;left:0;right:0;top:48px;max-width:1440px;margin:auto;padding:0 50px;display:flex;align-items:center;justify-content:space-between;z-index:20;height:50px}.brand img{max-width:100%;height:auto}.header-right{display:flex;align-items:center;gap:24px}.header-right nav{display:flex;gap:24px;white-space:nowrap;font-size:14px;line-height:1.4}.header-cta{display:flex;gap:8px}.cta{display:flex;align-items:center;justify-content:center;gap:8px;min-width:190px;height:50px;padding:8px 16px;background:var(--navy);border-radius:4px;color:#fff;font-size:14px;line-height:1.4;font-weight:700}.cta span{display:flex;flex-direction:column;text-align:center}.cta small{font-size:10px;font-weight:400}.menu-toggle{display:none}
.hero{max-width:1440px;height:900px;margin:auto;position:relative;background:white}.hero-city{position:absolute;top:179px;left:0;width:100%;height:auto;pointer-events:none}.hero-copy{position:absolute;top:238px;left:5.83333%;right:5%}.hero-copy h1{font-size:64px;font-weight:700;line-height:1.4;background:linear-gradient(99deg,#104d63 31%,#1f9ac6 91%);background-clip:text;-webkit-background-clip:text;color:transparent}.hero-copy p{margin-top:16px;font-weight:700;color:#223a58;line-height:1.6}.hero-photos{position:absolute;inset:0;pointer-events:none}.hero-photo{position:absolute;overflow:hidden;border-radius:16px;width:27.77778%;aspect-ratio:1}.hero-photo-one{left:5.55556%;top:644px}.hero-photo-three{left:36.11111%;top:555px;aspect-ratio:400/550}.hero-photo-two{left:66.66667%;top:644px}.hero-photo img{width:100%;height:100%;object-fit:cover}.hero-photo-one img{position:absolute;left:-2.33%;top:-11.75%;width:136.43%;height:auto;max-width:none;object-fit:cover}.particles{position:absolute;inset:0;pointer-events:none}.particles i{position:absolute;background:rgba(39,193,248,.18);border-radius:50%;box-shadow:0 0 15px 8px rgba(39,193,248,.1)}.particles i:nth-child(1){width:12px;height:12px;top:185px;left:84%}.particles i:nth-child(2){width:4px;height:4px;top:425px;left:74%}.particles i:nth-child(3){width:6px;height:6px;top:524px;left:96%}.particles i:nth-child(4){width:16px;height:16px;top:271px;left:62%}.particles i:nth-child(5){width:14px;height:14px;top:229px;left:10.5%}.particles i:nth-child(6){width:8px;height:8px;top:563px;left:3%}.particles i:nth-child(7){width:10px;height:10px;top:278px;left:89%}
@media(min-width:761px) and (max-width:1400px){.brand{width:23%}.header-right{gap:16px}.header-right nav{gap:16px}.header-cta .cta{min-width:150px}.hero-copy h1{font-size:clamp(40px,4.444vw,64px)}}
@media(max-width:1100px){.site-header{top:24px;padding:0 24px}.brand{width:240px}.menu-toggle{display:flex;position:relative;z-index:22;width:48px;height:48px;border:0;background:var(--navy);border-radius:4px;align-items:center;justify-content:center;flex-direction:column;gap:8px}.menu-toggle span{width:22px;height:1px;background:white}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}.header-right{display:none;position:absolute;top:64px;left:24px;right:24px;background:white;border:1px solid var(--line);padding:24px;box-shadow:0 12px 24px #223a5815;flex-direction:column;align-items:stretch;gap:24px}.header-right.is-open{display:flex}.header-right nav{flex-direction:column;gap:20px}.header-cta{flex-wrap:wrap}.hero-copy{left:6%;right:6%}.hero-copy h1{font-size:clamp(36px,4.444vw,64px)}}
/* CONTACT measures PC geometry independently of tablet padding. */
.contact-fit-probe{position:absolute;inset:0 0 auto;display:block;width:100%;height:0;padding-inline:120px;visibility:hidden;pointer-events:none;overflow:hidden}
.contact-fit-probe>i{display:block;width:calc(450 * var(--wide-pixel,1px));height:0}
.contact-fit-probe>i+i{width:calc(550 * var(--wide-pixel,1px))}
@media(min-width:761px) and (max-width:1300px){.contact-fit-probe{padding-inline:7%}}
@media(min-width:1441px){.contact-fit-probe{padding-inline:calc(120 * var(--wide-pixel))}}
@media(min-width:761px){
 body #contact.contact[data-contact-layout="desktop"]{gap:16px}
 body #contact.contact[data-contact-layout="desktop"] .contact-copy{width:calc(450 * var(--wide-pixel,1px));flex-shrink:0}
 body #contact.contact[data-contact-layout="desktop"] .contact-image{width:calc(550 * var(--wide-pixel,1px));height:calc(609 * var(--wide-pixel,1px));flex-shrink:0}
}
/* Shared CONTACT tablet alignment; preserve each instance's artwork metrics. */
@media(min-width:761px){
 .contact[data-contact-layout="tablet"] .contact-image{width:46%;height:auto;aspect-ratio:550/609}
 body #contact.contact[data-contact-layout="tablet"]{flex-direction:column;align-items:flex-start;gap:40px}
 body #contact.contact[data-contact-layout="tablet"] .contact-image{align-self:flex-start;order:0}
 body #contact.contact[data-contact-layout="tablet"] .contact-copy{align-self:flex-start;order:1;width:100%;max-width:none}
 body #contact.contact[data-contact-layout="tablet"] .contact-copy>p{max-width:none;text-wrap:pretty}
 /* Preserve the former row flex-shrink limit on TOP / RECRUIT photo frames. */
 body:has(.intro-journey) #contact.contact[data-contact-layout="tablet"] .contact-image,body.recruit-page #contact.contact[data-contact-layout="tablet"] .contact-image{width:min(46%,calc(58% - 80px));height:auto;aspect-ratio:550/609}
 /* Equal tracks size both CTAs as one set, independently of label length. */
 body #contact.contact[data-contact-layout="tablet"] .contact-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,334px),1fr));width:100%;max-width:736px;align-items:stretch;gap:16px}
 body #contact.contact[data-contact-layout="tablet"] .contact-button{width:100%;max-width:360px;min-width:0}
}
@media(max-width:760px){.site-header{top:20px;padding:0 20px}.brand{width:210px}.hero{height:800px;overflow:visible}.hero-city{top:178px;height:360px;width:auto;max-width:none;left:50%;transform:translateX(-50%);opacity:.85}.hero-copy{top:170px;left:20px;right:20px}.hero-copy h1{font-size:clamp(26px,6.6vw,40px);line-height:1.5}.hero-copy p{font-size:14px;line-height:1.8;margin-top:28px}.hero-copy p br{display:none}.hero-photos{top:470px}.hero-photo-one{top:44px;left:0;width:31%;aspect-ratio:1/1.45}.hero-photo-three{top:0;left:34.5%;width:31%;aspect-ratio:1/1.8}.hero-photo-two{top:44px;left:69%;width:31%;aspect-ratio:1/1.45}.hero-photo{border-radius:8px}.particles{display:none}.header-cta .cta{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* Section layouts translated from the PC and SP Figma frames. */
body{overflow-x:clip}.section{max-width:1440px;margin-inline:auto;position:relative}.mobile-br{display:none}.section-heading h2{font-family:Zalando,sans-serif;font-size:64px;font-weight:500;line-height:1;letter-spacing:-1px}.section-heading>p{display:flex;align-items:center;gap:8px;font-size:18px;line-height:1.2;color:var(--muted);margin-top:4px}.section-heading>p img{flex:none}.more{border:1px solid #b1b8be;border-radius:999px;width:178px;height:50px;display:flex;align-items:center;justify-content:space-between;padding:12px 12px 12px 24px;font-size:16px;line-height:1.4}.more img{flex:none}.texture{pointer-events:none;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;mix-blend-mode:overlay;opacity:.2}
.about{height:1200px;color:#fff;z-index:2}.about-background{position:absolute;top:0;width:100%;height:900px;overflow:hidden}.about-background img{position:absolute;width:191.11%;height:203.85%;left:-44.93%;top:-41.48%;max-width:none}.about-background:after{content:'';position:absolute;inset:0;background:rgba(8,39,50,.8);mix-blend-mode:multiply}.about-heading{position:absolute;top:90px;left:8.333%;width:709px}.about-heading h2{font-family:Zalando,sans-serif;font-size:80px;font-weight:500;line-height:1.1;letter-spacing:-1px}.about-heading h3{font-size:24px;line-height:1.6;margin-top:16px}.about-message{position:absolute;left:68.47%;top:458px;width:334px;line-height:1.8}.about-message .more{margin-top:40px;border-color:var(--line)}.about-top-photo{position:absolute;top:100px;left:70.764%;width:20.833%;height:200px;object-fit:cover;border-radius:12px}.about-montage{position:absolute;left:8.333%;top:458px;width:562px;height:558px}.about-building{position:absolute;left:0;top:120px;width:350px;height:438px;object-fit:cover;border-radius:12px}.about-workers{position:absolute;right:0;top:0;width:180px;height:240px;overflow:hidden;border-radius:12px}.about-workers picture>img{width:100%;height:100%;object-fit:cover}.texture-one{opacity:.2}.texture-two{opacity:.3}
.business{background:var(--dark);color:#fff;padding:120px;border-radius:24px;z-index:3}.business .section-heading>p{color:#b1b8be}.business-heading{display:flex;flex-direction:column;gap:32px}.business-heading h3{font-size:24px;line-height:1.6}.business-heading div>p{margin-top:16px;color:var(--line);line-height:1.8}.business-list{display:flex;flex-direction:column;gap:120px;margin-top:100px}.business-row{display:flex;align-items:center;justify-content:space-between;gap:40px;scroll-margin-top:50px}.business-info{flex:1;padding:16px;min-width:0}.business-number{display:flex;align-items:center;gap:14px;line-height:1.8}.business-number span{color:#b1b8be}.business-text{margin-top:80px}.business-text h3{font-size:40px;line-height:1.4;white-space:nowrap}.business-english{font-size:16px;line-height:1.4}.business-description{margin-top:16px;color:var(--line);line-height:1.8}.business-text .more{margin-top:64px;border-color:var(--line)}.business-images{width:590px;display:flex;align-items:center;justify-content:space-between;flex:none}.business-main-image{position:relative;width:500px;height:667px;border-radius:12px;overflow:hidden}.business-main-image>img,.business-main-image picture img{width:100%;height:100%;object-fit:fill}.business-1 .business-main-image>img:first-child{position:absolute;width:260.28%;height:130.08%;left:-76.81%;top:-14.98%}.business-1 .business-main-image>.texture{opacity:.1}.business-2 .business-main-image>img{position:absolute;width:174.45%;height:131.17%;left:-18.25%;top:-19.79%}.business-thumbs{display:flex;flex-direction:column;gap:16px}.business-thumb{position:relative;width:50px;height:67px;overflow:hidden;border-radius:2px;opacity:.5;box-sizing:content-box;border:2px solid transparent}.business-thumb.active{opacity:1;border-color:var(--blue)}.business-thumb:hover{opacity:1}.business-thumb img{width:100%;height:100%;object-fit:fill}.thumb-1 img{position:absolute;width:260.28%;height:129.94%;left:-79.9%;top:-13.15%}.thumb-2 img{position:absolute;width:174.45%;height:131.17%;left:-18.25%;top:-19.79%}
.company{padding:120px;display:grid;grid-template-columns:401px 1fr;gap:161px;border-radius:0 0 24px 24px;background:white;z-index:3}.company-intro>p{margin-top:16px;color:var(--dark)}.company-intro .more{margin-top:40px}.company-list{display:flex;flex-direction:column;gap:24px}.company-row{display:flex;align-items:center;border-bottom:1px solid var(--line);padding-bottom:24px}.company-thumb{width:150px;height:113px;border-radius:4px;overflow:hidden;position:relative;flex:none}.company-thumb-visual>img:first-child{width:100%;height:100%;object-fit:cover}.company-thumb .texture{width:112.74%;height:149.66%;left:4.67%;top:-32.81%;mix-blend-mode:soft-light;opacity:.3}.company-label{margin-left:32px;color:var(--muted)}.company-label small{font-size:12px;line-height:1.2}.company-label h3{font-size:24px;line-height:1.2;font-weight:400}.company-arrow{margin-left:auto;margin-right:16px}.scenic{height:700px;overflow:hidden;background:#092b3b;margin-top:-1px}.scenic-poster{width:100%;height:100%;object-fit:cover}.scenic-shade{position:absolute;inset:0;background:rgba(8,39,50,.8);mix-blend-mode:multiply}.marquee{position:absolute;left:0;top:50%;margin-top:-43px;display:flex;width:max-content;animation:marquee 20s linear infinite;gap:64px}.marquee-group{display:flex;align-items:center;gap:64px}.marquee-group span{font-size:72px;line-height:1.2;color:white;font-weight:700;white-space:nowrap}.marquee-group img{flex:none}@keyframes marquee{to{transform:translateX(-50%)}}
.news{padding:100px 120px;background:white}.news-list{margin-top:40px;border-top:1px solid var(--line)}.news-row{display:flex;align-items:center;gap:40px;padding:40px 40px 40px 24px;border-bottom:1px solid var(--line)}.news-meta{display:flex;align-items:center;gap:40px;font-size:14px;white-space:nowrap}.news-tag{border:1.5px solid var(--line);padding:4px 24px;border-radius:32px;line-height:1.4}.news-row p{font-size:18px;line-height:1.6}.news>.more{margin:80px auto 0}
.recruit{height:1800px;background:#f5f5f5;color:white}.recruit-backdrop{position:sticky;top:0;height:900px;overflow:hidden;background:#143c4c}.collage{position:absolute;inset:0}.collage-column{position:absolute;width:31.111%;display:flex;flex-direction:column;gap:48px}.collage-left{left:0;top:-89px}.collage-center{left:34.444%;top:-348px}.collage-right{left:68.889%;top:-89px}.collage-photo{height:500px;border-radius:16px;overflow:hidden;position:relative;flex:none}.collage-photo img{width:100%;height:100%;object-fit:cover}.crop-left-one img{position:absolute;width:169.36%;height:114.01%;left:-24.27%;top:0}.crop-left-two img{position:absolute;width:167.41%;height:100%;left:-67.45%;top:0}.crop-right-one img{position:absolute;width:187%;height:176.37%;left:-36.05%;top:-54.27%}.recruit-content{height:900px;position:relative;background:linear-gradient(to bottom,transparent 17.739%,rgba(255,255,255,.9))}.recruit-copy{position:absolute;top:296px;left:50%;transform:translateX(-50%);text-align:center;z-index:2;width:460px}.recruit-copy .section-heading>p{flex-direction:column;color:white}.recruit-copy>p{margin-top:32px;line-height:1.8}.recruit-copy .more{margin:40px auto 0;border-color:var(--line)}.recruit-floating{position:absolute;border-radius:12px;object-fit:cover}.floating-left{left:0;top:288px;width:300px;height:360px}.floating-top{right:80px;top:73px;width:340px;height:240px;object-fit:cover}.floating-bottom{right:0;top:717px;width:350px;height:247px;overflow:hidden}.floating-bottom img{object-fit:cover;position:absolute;width:136%;height:128.48%;left:-18%;top:-14.24%}
.contact{padding:100px 120px;display:flex;align-items:center;justify-content:space-between;gap:80px;background:white;z-index:3}.contact-copy{width:450px;flex:none}.contact-copy>p{color:var(--muted);margin-top:24px}.contact-buttons{display:flex;flex-direction:column;align-items:stretch;gap:16px;margin-top:40px}.contact-button{display:flex;align-items:center;width:100%;flex-shrink:0;gap:24px;height:87px;background:var(--navy);color:white;border-radius:4px;padding:24px;font-weight:700;font-size:18px;line-height:1.4;transition:background .2s}.contact-button:not(.contact-mail):not(.contact-phone):hover{background:#223a58}.contact-button>img{flex:none}.contact-phone{gap:16px}.phone-divider{transform:rotate(90deg)}.phone-number{color:#e5ecf9;text-align:center}.phone-number small{display:block;font-weight:400;font-size:12px;line-height:1.4}.contact-image{position:relative;width:550px;height:609px;overflow:hidden;border-radius:16px}.contact-image picture img{width:100%;height:100%;object-fit:cover}.contact-image picture{display:contents}
.site-footer{padding:80px;color:#fff;background:var(--navy);overflow:hidden;min-height:808px}.footer-motif{position:absolute;left:-216px;top:47px;pointer-events:none}.footer-top,.footer-bottom{position:relative;z-index:1}.footer-top{display:flex;justify-content:space-between;gap:80px;min-height:516px}.footer-company address{margin-top:48px;font-style:normal;font-size:14px;color:#cdd1d5;line-height:1.4}.footer-nav{width:552px;display:grid;grid-template-columns:repeat(3,1fr);align-content:start;gap:80px;font-size:14px;line-height:1.4}.footer-group summary{list-style:none;pointer-events:none}.footer-group summary::-webkit-details-marker{display:none}.footer-group ul{padding:0;list-style:none;margin:24px 0 0;display:flex;flex-direction:column;gap:8px;font-size:12px;color:#b1b8be}.footer-overview{display:none}.footer-bottom{border-top:1px solid #ffffff20;padding-top:40px;display:flex;justify-content:space-between;align-items:end;gap:24px}.footer-catch{font-size:32px;font-weight:700;line-height:1.4}.footer-legal{display:flex;gap:8px;color:#cdd1d5;font-size:14px;line-height:1.4}.footer-legal small{font-size:14px}
@media(min-width:761px) and (max-width:1300px){.business,.company,.news,.contact{padding-left:7%;padding-right:7%}.business-images{width:52%;gap:20px}.business-main-image{width:calc(100% - 70px);height:auto;aspect-ratio:500/667}.business-info{padding:0}.business-text h3{font-size:clamp(25px,2.778vw,40px)}.business-text{margin-top:40px}.business-description{font-size:14px}.company{grid-template-columns:34% 1fr;gap:8%}.company-thumb{width:120px;height:90px}.company-label{margin-left:20px}.company-label h3{font-size:20px}.section-heading h2{font-size:clamp(40px,4.444vw,64px)}.contact-image{aspect-ratio:550/609}.contact-button{font-size:15px;padding:20px;gap:12px}.about-heading h2{font-size:clamp(48px,5.556vw,80px)}.about-message{left:63%;width:32%}.about-montage{width:42%}.about-building{width:65%;height:auto;aspect-ratio:350/438}.about-workers{width:32%;height:auto;aspect-ratio:180/240}.footer-nav{gap:40px}.footer-legal{flex-direction:column}.site-footer{padding:60px}}
@media(max-width:760px){
body{font-size:14px}.section-heading h2{font-size:40px;line-height:1.2}.section-heading>p{font-size:16px}.desktop-br{display:none}.mobile-br{display:block}.site-header{top:16px;padding:0 16px;height:56px}.brand{width:207px}.menu-toggle{width:56px;height:56px;gap:6px}.menu-toggle span{width:23.333px;height:2px}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(8px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-8px) rotate(-45deg)}.header-right{left:16px;right:16px;top:72px}.hero{height:667px}.hero-city{width:1075px;height:454px;top:180px;left:calc(50% - 537.5px);transform:none;opacity:1}.hero-copy{top:120px;left:16px;right:16px}.hero-copy h1{font-size:32px;line-height:1.4}.hero-copy p{font-size:14px;line-height:1.6;margin-top:16px}.hero-copy p br{display:block}.hero-photos{inset:0}.hero-photo-three{left:calc(50% - 100px);top:420px;width:200px;aspect-ratio:200/275}.hero-photo-one{left:0;top:607px;width:120px;aspect-ratio:1}.hero-photo-two{left:auto;right:0;top:607px;width:120px;aspect-ratio:1}.hero-photo{border-radius:8px}.about{height:auto;min-height:1007px;padding:40px 24px 120px;display:flex;flex-direction:column;gap:40px}.about-background{height:100%;z-index:-1}.about-background img{inset:0;width:100%;height:100%;object-fit:cover}.about-heading{position:static;width:auto}.about-heading h2{font-size:48px;line-height:1.2;max-width:360px}.about-heading h3{font-size:20px;line-height:1.6;margin-top:4px}.about-message{position:static;width:auto;font-size:14px}.about-message .more{margin-top:40px}.about-top-photo{display:none}.about-montage{position:relative;left:0;top:0;width:100%;height:295px;margin-top:40px}.about-building{left:0;top:70px;width:55%;height:225px;border-radius:8px}.about-workers{right:0;top:0;width:35.17%;height:153px;border-radius:8px}.business{padding:80px 24px 120px;border-radius:16px}.business-heading{gap:34px}.business-heading h3{font-size:24px;line-height:1.4}.business-heading div>p{font-size:14px;margin-top:4px}.business-list{gap:80px;margin-top:80px}.business-row{flex-direction:column;gap:24px;align-items:stretch}.business-info{order:2;padding:0}.business-images{order:1;width:100%;display:block}.business-main-image{width:100%;height:auto;aspect-ratio:175/131;border-radius:12px}.business-thumbs{display:none}.business-1 .business-main-image>img:first-child{width:166.82%;height:148.57%;left:-33.7%;top:-14.5%}.business-1 .business-main-image>.texture{width:100%;height:237.49%;left:0;top:-68.74%}.business-2 .business-main-image>img{width:203.98%;height:273.07%;left:-37%;top:-90.41%}.business-text{margin-top:24px}.business-text h3{font-size:32px;white-space:normal;line-height:1.4}.business-english{font-size:14px;line-height:1.2}.business-description{font-size:14px;line-height:1.8;margin-top:16px}.business-text .more{margin-top:40px}.company{padding:80px 24px;display:flex;flex-direction:column;gap:40px}.company-intro>p{font-size:14px}.company-intro>.more{display:none}.company-list{gap:16px}.company-list:after{content:none}.company-row{padding:0 8px 16px}.company-thumb{width:80px;height:60px}.company-label{margin-left:16px}.company-label small{font-size:10px;line-height:1.4}.company-label h3{font-size:18px;line-height:1.4}.company-arrow{margin-right:8px}.company .mobile-company-more{margin:24px auto 0}.scenic{height:400px}.scenic-poster{width:auto;height:668px;position:absolute;top:-128px;left:50%;transform:translateX(-50%)}.marquee{margin-top:-32px;gap:48px}.marquee-group{gap:48px}.marquee-group span{font-size:54px}.marquee-group img{transform:scale(.75);margin-inline:-42px}.news{padding:80px 24px}.news-list{margin-top:40px}.news-row{padding:32px 0;flex-direction:column;align-items:start;gap:16px}.news-meta{font-size:12px;gap:24px}.news-tag{padding:4px 16px}.news-row p{font-size:18px;line-height:1.6}.news>.more{margin-top:40px}.recruit{height:1414px}.recruit-backdrop{height:667px}.collage{width:100%;height:667px}.collage-column{width:268.8px;gap:28.8px}.collage-photo{height:300px;border-radius:9.6px}.collage-left{left:calc(50% - 432.5px);top:10.4px}.collage-center{left:calc(50% - 134.4px);top:-145.3px}.collage-right{left:calc(50% + 162.7px);top:10.4px}.recruit-content{height:747px}.recruit-copy{top:180px;width:calc(100% - 32px)}.recruit-copy .section-heading h2{font-size:40px}.recruit-copy>p{font-size:14px;line-height:1.8;margin-top:24px}.floating-left{width:100px;height:120px;top:539px;left:-20px}.floating-top{width:142px;height:100px;top:34px;right:-23px}.floating-bottom{width:165px;height:117px;top:577px;right:-46px}.contact{padding:40px 24px;flex-direction:column;gap:40px}.contact-image{order:1;width:100%;height:auto;aspect-ratio:327/245}.contact-copy{order:2;width:100%}.contact-copy>p{margin-top:8px}.contact-buttons{margin-top:40px;gap:16px}.contact-button{font-size:16px;height:80px;padding:20px;gap:16px}.contact-phone{gap:8px}.contact-phone>img:first-child{width:32px}.contact-phone .phone-divider{display:none}.phone-number{font-size:16px;margin-left:auto}.phone-number small{font-size:10px}.site-footer{padding:40px 24px;min-height:0}.footer-motif{left:-70px;top:640px}.footer-top{flex-direction:column-reverse;gap:40px;min-height:0}.footer-company address{margin-top:32px}.footer-nav{width:100%;display:flex;flex-direction:column;gap:0}.footer-group{padding:24px 0;border-bottom:1px solid #ffffff20}.footer-group summary{pointer-events:auto;cursor:pointer;display:flex;justify-content:space-between}.footer-group summary:after{content:'−';font-size:18px;line-height:1}.footer-group:not([open]) summary:after{content:'+'}.footer-group ul{margin:16px 0 0;gap:12px;padding-left:16px}.footer-overview{display:block;font-size:12px;color:#b1b8be;padding:16px 0 0 16px}.footer-bottom{margin-top:40px;flex-direction:column;align-items:start;padding-top:40px;gap:40px}.footer-catch{font-size:32px;line-height:1.4}.footer-legal{flex-direction:column;gap:4px;font-size:12px}.footer-legal small{font-size:12px}}
@media(min-width:761px){.menu-toggle span:nth-child(2){display:none}}
.hero-city-container{position:absolute;inset:0;overflow:hidden;pointer-events:none}.about-background{left:0}.mobile-company-more{display:none}.company-row:last-child{padding-bottom:0;border:0}.recruit-content{overflow:clip}
@media(max-width:760px){.mobile-company-more{display:block;align-self:center;margin-top:0}.company-row:last-child{padding-bottom:16px;border-bottom:1px solid var(--line)}.hero-copy{z-index:1}}
.menu-toggle span{background:transparent}.menu-toggle span img{display:block}.company-arrow{position:relative;width:24px;height:24px;flex:none}.arrow-base{position:absolute;inset:0}.arrow-icon{position:absolute;left:4px;top:4px}.mobile-news-extra{display:none}.marquee-group picture{flex:none}.marquee-group img{transform:none;margin-inline:0}
@media(max-width:760px){.mobile-news-extra{display:flex}.footer-overview{display:none}.news-meta{gap:8px}.news-tag{padding-inline:24px}.news-row{padding:24px 16px}.recruit-content{background:linear-gradient(to bottom,transparent 17.739%,rgba(255,255,255,.9))}}

/* Adopted A navigation hover; original link geometry is preserved. */
.site-header nav a .nav-roll-window{display:block;height:1lh;overflow:hidden}
.site-header nav a .nav-roll-track,.site-header nav a .nav-roll-line{display:block}
.site-header nav a .nav-roll-track{transform:translateY(0)}
.site-header nav a .nav-roll-track{transition:transform 800ms cubic-bezier(0.34,1.15,0.18,0.99)}
.site-header nav a[data-nav-over="true"] .nav-roll-track{transform:translateY(-50%)}
@media(prefers-reduced-motion:reduce){.site-header nav a .nav-roll-track{transition:none!important}}

/* PC Figma CTA: outer HUG, 24px icon + 8px gap + FIXED 126px text.
   Existing narrow-PC / mobile layouts are retained to preserve navigation positions. */
@media(min-width:1401px){
  .site-header .header-cta .cta{display:grid;grid-template-columns:24px 126px;grid-template-rows:34px;align-items:center;justify-content:start;gap:8px;width:max-content;min-width:0;height:auto;padding:8px 16px;border:0;border-radius:4px;background:#39506c;color:#fff;font-family:LINE,'Hiragino Kaku Gothic ProN',sans-serif;font-size:14px;font-weight:700;line-height:1.4;text-align:center;white-space:nowrap;flex:none}
  .site-header .header-cta .cta>img{justify-self:start}
  .site-header .header-cta .phone>span{width:126px;height:34px;display:flex;flex-direction:column;align-items:stretch;justify-content:start;gap:0}
  .site-header .header-cta .phone strong{display:block;height:20px;font-size:14px;font-weight:700;line-height:1.4}
  .site-header .header-cta .phone small{display:block;height:14px;font-size:10px;font-weight:400;line-height:1.4}
}

/* CTA hover only. No movement or resizing of the button or icon. */
.site-header .header-cta .cta{position:relative;transition:background-color 800ms cubic-bezier(0.34,1.15,0.18,0.99),color 800ms cubic-bezier(0.34,1.15,0.18,0.99)}
.site-header .header-cta .cta .cta-roll-window{display:block;overflow:hidden;height:1lh;flex:none}
.site-header .header-cta .cta.phone .cta-roll-window{height:34px;display:block}
.site-header .header-cta .cta .cta-roll-track{display:block;transform:translateY(0);transition:transform 800ms cubic-bezier(0.34,1.15,0.18,0.99)}
.site-header .header-cta .cta .cta-roll-line{display:block;height:1lh}
.site-header .header-cta .cta.phone .cta-roll-line{display:flex;flex-direction:column;height:34px}
.site-header .header-cta .cta .cta-hover-icon{position:absolute;display:none;pointer-events:none}
.site-header .header-cta .cta[data-cta-over="true"]{background:#f4f6fc;color:#39506c}
.site-header .header-cta .cta.phone[data-cta-over="true"]{color:#223a58}
.site-header .header-cta .cta[data-cta-over="true"] .cta-roll-track{transform:translateY(-50%)}
.site-header .header-cta .cta[data-cta-over="true"]>img:not(.cta-hover-icon){visibility:hidden}
.site-header .header-cta .cta[data-cta-over="true"]>.cta-hover-icon{display:block}
@media(min-width:1401px){.site-header .header-cta .cta .cta-roll-window{width:126px}}
@media(prefers-reduced-motion:reduce){.site-header .header-cta .cta,.site-header .header-cta .cta .cta-roll-track{transition:none!important}}

@media(max-width:1400px){.site-header .header-cta .cta.phone .cta-roll-window,.site-header .header-cta .cta.phone .cta-roll-line{height:calc(1lh + 14px)}}

/* Wide header: preserve fluid outer padding and element sizes.
   Keep nav/CTA spacing fixed; extra width stays between logo and right group. */
@media(min-width:1441px){
  .site-header{max-width:none;padding-inline:3.472222222vw}
  .site-header .header-right{gap:24px}
  .site-header .brand,.site-header nav,.site-header .header-cta{flex-shrink:0}
}

/* Equal CTA tracks: button copy never determines an individual width. */
.site-header .header-cta{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  width:388px;
  max-width:100%;
  min-width:0;
  align-items:stretch;
}
.site-header .header-cta .cta{
  width:100%;
  min-width:0;
  height:50px;
}

/* Shared Figma View more hover: the circle grows, its arrow stays fixed. */
.more{
  --more-hover-border:#6d7882;
  transition:border-color 800ms cubic-bezier(0.16,1,0.3,1);
}
.about .more,.business .more,.recruit .more{--more-hover-border:#b1b8be}
.more-icon{position:relative;display:block;flex:none;width:24px;height:24px}
.more-icon::before{
  content:"";position:absolute;inset:0;border-radius:50%;
  background:var(--blue);transform:scale(1);
  transition:transform 800ms cubic-bezier(0.16,1,0.3,1);
}
.more-icon>img{position:relative}
@media(hover:hover){
  .more:hover{border-color:var(--more-hover-border)}
  .more:hover .more-icon::before{transform:scale(1.3333333333)}
}
@media(prefers-reduced-motion:reduce){
  .more,.more-icon::before{transition:none}
}

/* Shared Company list hover, Figma 127:816. Layout slots stay fixed. */
.company-thumb-visual{position:absolute;inset:0;overflow:hidden;border-radius:inherit;transform:scale(1);transform-origin:center}
.company-arrow-circle{position:absolute;left:-12px;top:-12px;width:48px;height:48px;background-color:transparent;mask:url('../img/company-hover-circle.svg') center / 48px 48px no-repeat;transform:scale(.5);transform-origin:center}
.company-arrow-glyph{position:absolute;left:4px;top:4px;width:16px;height:16px;background-color:var(--blue);mask:url('../img/b9aa7.svg') center / 16px 16px no-repeat}
.company .company-thumb-visual{transition:transform 800ms cubic-bezier(0.16,1,0.3,1)}
.company .company-arrow-circle{transition:transform 800ms cubic-bezier(0.16,1,0.3,1),background-color 800ms cubic-bezier(0.16,1,0.3,1)}
.company .company-arrow-glyph{transition:background-color 800ms cubic-bezier(0.16,1,0.3,1)}
@media(hover:hover){
  .company .company-row:hover .company-thumb-visual{transform:scale(.85)}
  .company .company-row:hover .company-arrow-circle{transform:scale(1);background-color:var(--blue)}
  .company .company-row:hover .company-arrow-glyph{background-color:#fff}
}
@media(prefers-reduced-motion:reduce){
  .company .company-thumb-visual,.company .company-arrow-circle,.company .company-arrow-glyph{transition:none}
}

/* The divider is a viewing window onto a lower background layer. */
.scenic.section{--scenic-overlap:24px;position:relative;z-index:1;width:100%;max-width:none;overflow:visible}
.scenic-background{position:absolute;inset:calc(-1 * var(--scenic-overlap)) 0;overflow:hidden;background:#092b3b;pointer-events:none}
.scenic .scenic-poster{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;transform:none}
.scenic-overlay{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.company.section,.news.section{position:relative;z-index:3}
@media(min-width:1441px){.scenic.section{--scenic-overlap:calc(24 * var(--wide-pixel))}}

/* Figma 188:1227 -> 188:1280; scoped to the contact-section mail CTA. */
#contact .contact-mail{--contact-mail-row:34px;--contact-mail-gap:24px;--contact-mail-easing:cubic-bezier(.34,1.15,.18,.99);background:#39506c;color:#fff;transition:background-color 450ms var(--contact-mail-easing),color 450ms var(--contact-mail-easing)}
#contact .contact-mail-icon{position:relative;display:block;flex:none;width:32px;height:32px}
#contact .contact-mail-icon img{visibility:hidden;display:block;width:32px;height:32px}
#contact .contact-mail-icon::after{content:"";position:absolute;inset:0;background-color:currentColor;-webkit-mask:url("../img/7cac5.svg") center/contain no-repeat;mask:url("../img/7cac5.svg") center/contain no-repeat}
#contact .contact-mail-window{display:block;height:var(--contact-mail-row);overflow:hidden;flex:none}
#contact .contact-mail-label{display:flex;align-items:center;height:var(--contact-mail-row);white-space:nowrap;transform:translateY(0);transition:transform 450ms var(--contact-mail-easing)}
#contact .contact-mail-label+.contact-mail-label{margin-top:var(--contact-mail-gap)}
@media(hover:hover) and (pointer:fine){
  #contact .contact-mail:hover{background-color:#f4f6fc;color:#39506c}
  #contact .contact-mail:hover .contact-mail-label{transform:translateY(calc(-1 * (var(--contact-mail-row) + var(--contact-mail-gap))))}
}
@media(min-width:1441px){#contact .contact-mail{--contact-mail-row:calc(34 * var(--wide-pixel));--contact-mail-gap:calc(24 * var(--wide-pixel))}}
@media(prefers-reduced-motion:reduce){#contact .contact-mail,#contact .contact-mail-label{transition:none}}

/* Figma phone CTA 188:1144 -> 2275:5911; independent from the header phone CTA. */
#contact .contact-phone{--contact-phone-row:39px;--contact-phone-next-row:38px;--contact-phone-gap:16px;--contact-phone-easing:cubic-bezier(.34,1.15,.18,.99);background:#39506c;color:#fff;transition:background-color 450ms var(--contact-phone-easing),color 450ms var(--contact-phone-easing)}
#contact .contact-phone-icon{position:relative;display:block;flex:none;width:32px;height:32px}
#contact .contact-phone-icon img{display:block;visibility:hidden;width:32px;height:32px}
#contact .contact-phone-icon::after{content:"";position:absolute;inset:0;background-color:currentColor;-webkit-mask:url("../img/bc4bb.svg") center/contain no-repeat;mask:url("../img/bc4bb.svg") center/contain no-repeat}
#contact .contact-phone-window{display:block;flex:1;min-width:0;height:var(--contact-phone-row);overflow:hidden}
#contact .contact-phone-row{display:flex;align-items:center;gap:var(--contact-phone-gap);height:var(--contact-phone-row);white-space:nowrap;transform:translateY(0);transition:transform 450ms var(--contact-phone-easing)}
#contact .contact-phone-row+.contact-phone-row{height:var(--contact-phone-next-row)}
#contact .contact-phone-divider{position:relative;display:block;flex:none;width:16px;height:1px}
#contact .contact-phone-divider img{display:block;visibility:hidden;width:16px;height:1px}
#contact .contact-phone-divider::after{content:"";position:absolute;inset:0;background-color:currentColor;-webkit-mask:url("../img/4654a.svg") center/contain no-repeat;mask:url("../img/4654a.svg") center/contain no-repeat}
#contact .contact-phone .phone-number{transition:color 450ms var(--contact-phone-easing)}
@media(hover:hover) and (pointer:fine){
  #contact .contact-phone:hover{background-color:#f4f6fc;color:#39506c}
  #contact .contact-phone:hover .phone-number{color:#39506c}
  #contact .contact-phone:hover .contact-phone-row{transform:translateY(calc(-1 * var(--contact-phone-next-row)))}
}
@media(min-width:1441px){#contact .contact-phone{--contact-phone-row:calc(39 * var(--wide-pixel));--contact-phone-next-row:calc(38 * var(--wide-pixel));--contact-phone-gap:calc(16 * var(--wide-pixel))}}
@media(max-width:760px){#contact .contact-phone{--contact-phone-gap:8px}}
@media(prefers-reduced-motion:reduce){#contact .contact-phone,#contact .contact-phone-row,#contact .contact-phone .phone-number{transition:none}}

/* Footer components: atoms-footer-01 / 02 / 03. */
.site-footer{--footer-hover-duration:800ms;--footer-hover-easing:cubic-bezier(.34,1.15,.18,.99);--footer-link-shift:12px;--footer-link-line:8px}
.footer-roll{position:relative;display:inline-block;vertical-align:top;height:1.4em;overflow:hidden}
.footer-roll-text{display:block;line-height:1.4;white-space:nowrap}
.footer-roll-text+ .footer-roll-text{position:absolute;top:100%;left:0}
.footer-sub-label{display:inline-block}
.footer-legal>a{position:relative;align-self:flex-start}
.footer-legal>a:after{content:"";position:absolute;left:0;bottom:0;width:var(--footer-link-line);height:1px;background:currentColor;opacity:0}
@media(min-width:761px){
  .footer-group summary{pointer-events:auto}
  .footer-roll-text,.footer-sub-label{transition:transform var(--footer-hover-duration) var(--footer-hover-easing)}
  .footer-group>a:hover .footer-roll-text,.footer-group summary:hover .footer-roll-text{transform:translateY(-100%)}
  .footer-group li a{position:relative}
  .footer-group li a:before{content:"";position:absolute;left:0;top:50%;width:var(--footer-link-line);height:1px;background:#27c1f8;opacity:0;transition:opacity var(--footer-hover-duration) var(--footer-hover-easing)}
  .footer-group li a:hover:before{opacity:1}
  .footer-group li a:hover .footer-sub-label{transform:translateX(var(--footer-link-shift))}
  .footer-legal>a{align-self: flex-end;}
  .footer-legal>a:after{transition:width var(--footer-hover-duration) var(--footer-hover-easing),opacity var(--footer-hover-duration) var(--footer-hover-easing)}
  .footer-legal>a:hover:after{width:100%;opacity:1}
}
@media(min-width:1441px){.site-footer{--footer-link-shift:calc(12 * var(--wide-pixel));--footer-link-line:calc(8 * var(--wide-pixel))}}
@media(max-width:760px){.footer-legal>a:after{width:100%;opacity:1}}
@media(prefers-reduced-motion:reduce){.site-footer .footer-roll-text,.site-footer .footer-sub-label,.site-footer .footer-group li a:before,.site-footer .footer-legal>a:after{transition:none}}

/* Keep Navigation and CTA as one intrinsic-width desktop group. */
@media (min-width:1101px) {
  .site-header > .header-right {
    display:flex;
    flex:0 0 auto;
    width:max-content;
    justify-content:flex-start;
    gap:24px;
  }
  .site-header > .header-right > nav,
  .site-header > .header-right > .header-cta {
    flex:0 0 auto;
    margin-inline:0;
  }
}
