
:root{--navy:#4D5F7F;--navy2:#3f658a;--dark:#1d3348;--red:#B43020;--red2:#e8604d;--text:#18354b;--muted:#617584;--paper:#f6f8fa;--white:#fff;--line:#dbe3ea;--max:1240px;--shadow:0 13px 50px #4D5F7F12}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:94px}body{margin:0;color:var(--text);background:#fff;font-family:"Be Vietnam Pro",Arial,sans-serif;font-size:15px;line-height:1.85;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #EEC732;outline-offset:4px}button[disabled]{opacity:.5;cursor:not-allowed}h1,h2,h3,p{overflow-wrap:anywhere}h1,h2,h3{line-height:1.4}p{margin:0}.wrap{width:min(calc(100% - 72px),var(--max));margin:0 auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.demo-ribbon{font-size:11px;letter-spacing:.09em;background:#e9eff3;color:#3e596e;text-align:center;padding:6px 12px}.topline{background:#27425e;color:#cbd7e0;font-size:11px}.topline .wrap{display:flex;justify-content:space-between;align-items:center;padding:6px 0;gap:20px}.topline span:last-child{color:#eef4f8}.header{position:sticky;top:0;background:#fff;z-index:50;border-bottom:1px solid #e5eaed;box-shadow:0 3px 14px #4D5F7F0b}.header-main{display:flex;gap:24px;justify-content:space-between;align-items:center;height:84px}.logos{display:flex;align-items:center;gap:16px;min-width:0}.logos img{object-fit:contain;object-position:center;mix-blend-mode:multiply}.logos .logo-vn{width:174px;max-height:55px}.logos .logo-jp{width:154px;max-height:50px}.logo-divider{width:1px;height:28px;background:#c8d1d8}.nav{display:flex;align-items:center;justify-content:flex-end;gap:21px;margin-left:auto;white-space:nowrap}.nav a{font-size:12px;font-weight:800;color:#4D5F7F;transition:color .2s}.nav a:hover{color:var(--red)}.nav a.active{color:var(--red)}.jp-link{display:flex;gap:6px;flex-direction:column;min-width:136px;padding:10px 13px;background:var(--navy);color:#fff!important;align-items:center;line-height:1.35;text-align:center;border-radius:2px}.jp-link span{font-size:11px;font-weight:800}.jp-link small{font-size:9px;font-weight:500;color:#b8d4e6}.menu-toggle{display:none;background:#f0f3f6;border:1px solid #d8e2ea;color:var(--navy);font-weight:800;padding:8px 12px;border-radius:4px}.mobile-menu{display:none}
/* shared */
.section{padding:108px 0}.section-kicker{color:var(--navy);font-weight:850;font-size:11px;letter-spacing:.25em;text-transform:uppercase}.section-kicker.red{color:var(--red)}.section-title{font-size:clamp(29px,3.4vw,47px);line-height:1.42;letter-spacing:-.035em;margin:11px 0 16px;font-weight:850}.red-line{width:38px;height:3px;background:var(--red);margin:16px 0 19px}.section-lead{color:#607684;font-size:14px;line-height:2.1}.section-intro{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:34px}.section-intro > :first-child{flex:1}.section-intro .section-lead{max-width:410px;flex:0 0 36%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:49px;padding:12px 20px;border:1px solid transparent;transition:background .2s,transform .2s;text-align:center;font-weight:800;font-size:12px;line-height:1.4;letter-spacing:.04em}.btn:hover{transform:translateY(-2px)}.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:#ad2414}.btn-dark{background:var(--navy);color:#fff}.btn-dark:hover{background:#3f658a}.btn-outline{border-color:#aabfce;color:var(--navy);background:#fff}.btn-outline:hover{background:#eef4f8}.btn-ghost{color:#fff;background:#4D5F7F28;border-color:#ffffff99}.btn-ghost:hover{background:#ffffff2c}.text-link{font-weight:800;font-size:12px;letter-spacing:.02em;display:inline-flex;align-items:center;gap:8px}.text-link:after{content:'→';font-size:18px;color:var(--red)}.caption{font-size:11px;color:#81919b;line-height:1.7}.caption.light{color:#c6d8e0}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
/* hero */
.hero{position:relative;height:min(760px,calc(100vh - 115px));min-height:590px;background:#1d3348;color:#fff;overflow:hidden}.hero-back{position:absolute;inset:0}.hero-back img{width:100%;height:100%;object-fit:cover;object-position:center 50%;filter:saturate(.87) contrast(1.04)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#1d3348ec 0%,#27425ece 35%,#4D5F7F7a 64%,#1d334835 100%),linear-gradient(0deg,#1d334885 0%,transparent 45%);pointer-events:none}.hero-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;padding:58px 0 65px}.hero-kicker{font-size:11px;letter-spacing:.31em;font-weight:800;color:#bfdbeb;line-height:2.05}.hero h1{font-size:clamp(42px,5.4vw,77px);line-height:1.34;margin:24px 0 17px;letter-spacing:-.06em;font-weight:850}.hero-description{color:#e3edf3;font-size:15px;line-height:2.2;max-width:505px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.hero-bottom{position:absolute;z-index:3;bottom:33px;left:0;right:0}.hero-bottom .wrap{display:flex;justify-content:space-between;align-items:end;gap:20px}.hero-scroll{letter-spacing:.18em;font-size:10px;font-weight:800;color:#e8f0f5;display:flex;gap:15px;align-items:center}.hero-scroll:before{content:"";width:40px;height:1px;background:#e4f1f5}.hero-movie-preview{margin-left:auto;display:flex;align-items:center;gap:14px;background:#1d3348b9;border:1px solid #ffffff52;backdrop-filter:blur(11px);color:white;padding:10px 12px;max-width:300px;cursor:pointer}.hero-movie-preview:hover{background:#4D5F7Fdc}.hero-movie-preview img{height:55px;width:92px;object-fit:cover}.hero-movie-preview strong{display:block;font-size:12px;line-height:1.5}.hero-movie-preview span{display:block;font-size:10px;color:#bed1de}.hero-caption{position:absolute;z-index:3;right:4.3%;top:33%;writing-mode:vertical-rl;color:#d9e6ef;font-size:12px;letter-spacing:.18em;opacity:.8}
/* process */
.process{background:#f5f7f9}.process-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.process-card{background:#fff;border:1px solid #e4eaf0;position:relative;box-shadow:var(--shadow);display:flex;flex-direction:column}.process-card + .process-card:before{content:"›";position:absolute;left:-24px;top:44%;font-size:34px;color:var(--navy);font-weight:300}.process-label{display:flex;align-items:center;gap:10px;margin:20px 21px 13px;font-weight:850;color:var(--navy)}.process-label span{border:2px solid var(--navy);font-weight:900;padding:0 6px;line-height:1.5}.process-button{display:block;border:0;padding:0;width:100%;background:#ecf0f3;overflow:hidden}.process-button img{width:100%;height:228px;object-fit:cover;transition:transform .35s}.process-button:hover img{transform:scale(1.045)}.process-description{padding:18px 21px 23px;flex:1;color:#4d6675;font-size:13px}.process-description strong{color:var(--navy);display:block;margin-bottom:5px}.process-foot{font-size:11px;color:#8b969e;margin-top:18px}
/* services */
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service{border-top:4px solid var(--navy);padding:28px 26px;background:#f7f9fb;min-height:190px}.service .num{font-size:12px;letter-spacing:.12em;color:var(--red);font-weight:800}.service h3{margin:14px 0 10px;color:var(--navy);font-size:20px}.service p{font-size:13px;color:#657986;line-height:1.9}
/* viewer */
.viewer-area{background:#ecf2f5}.viewer-shell{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:24px}.drawing-viewer{background:#fff;border:1px solid #dbe4e9;box-shadow:var(--shadow)}.drawing-viewer-header{padding:16px 20px;border-bottom:1px solid #e0e8ec;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.drawing-tabs{display:flex;gap:6px;flex-wrap:wrap}.drawing-tabs button{border:1px solid #cbd9e2;padding:8px 13px;font-size:11px;font-weight:800;background:#fff;color:#557082}.drawing-tabs button[aria-selected=true]{background:var(--navy);color:#fff;border-color:var(--navy)}.drawing-toolbar{display:flex;align-items:center;gap:7px}.drawing-toolbar button,.modal-toolbar button{width:33px;height:33px;background:#f1f5f7;color:#4D5F7F;border:1px solid #d7e1e8;font-size:20px;line-height:1;font-weight:650}.drawing-toolbar button:hover,.modal-toolbar button:hover{background:#deebf1}.drawing-toolbar .full{width:auto;padding:0 10px;font-size:11px}.drawing-stage{position:relative;height:440px;background:#dfe7eb;overflow:hidden;touch-action:none;cursor:grab;user-select:none}.drawing-stage:active{cursor:grabbing}.drawing-stage:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff5f 1px,transparent 1px),linear-gradient(90deg,#ffffff5f 1px,transparent 1px);background-size:24px 24px}.drawing-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform-origin:center center;pointer-events:none;user-select:none;will-change:transform}.viewer-bottom{padding:10px 16px;background:#f7f9fa;color:#617683;font-size:11px;display:flex;justify-content:space-between;gap:15px}.viewer-side{display:flex;flex-direction:column;gap:13px}.viewer-tip{background:var(--navy);color:#fff;padding:24px;flex:1}.viewer-tip .tag{letter-spacing:.16em;color:#9cc0d5;font-size:11px;font-weight:850}.viewer-tip h3{font-size:24px;margin:11px 0 13px}.viewer-tip p{font-size:13px;color:#cfe0eb}.viewer-tip ul{margin:17px 0 0;padding-left:18px;font-size:12px;line-height:2;color:#deebf3}.download-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.download-row a{border:1px solid #81a1b7;padding:8px 11px;font-size:11px;color:white}.viewer-side-photo{height:153px;object-fit:cover;width:100%}
/* movie */
.movie{background:#27425e;color:#fff}.movie .section-kicker{color:#b2d0e3}.movie .section-lead{color:#bfceda}.movie-grid{display:grid;grid-template-columns:1.35fr .88fr;gap:28px}.movie-main{background:#1d3348;border:1px solid #4b687a;padding:15px;box-shadow:0 18px 40px #1d334870}.movie-main video{display:block;width:100%;aspect-ratio:16/9;background:#0e1a26;object-fit:contain}.movie-main-caption{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:17px 5px 2px}.movie-main-caption strong{font-size:14px}.movie-main-caption span{font-size:11px;color:#bad0da}.model-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.model-gallery button{background:#1b405a;border:1px solid #516b7b;color:#fff;text-align:left;padding:0}.model-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#fff}.model-gallery span{display:block;font-size:11px;font-weight:800;padding:10px 12px}.model-gallery button:hover{border-color:#EEC732}.movie-disclaimer{color:#acc1cf;font-size:12px;line-height:1.9;margin-top:16px}
/* Matterport */
.matterport{background:#edf2f4}.matterport-frame{border:8px solid #fff;box-shadow:var(--shadow);background:#1d3348;aspect-ratio:16/9;position:relative;overflow:hidden}.matterport-frame iframe{width:100%;height:100%;border:0;position:absolute;inset:0;display:none}.matterport-placeholder{position:absolute;inset:0;background:linear-gradient(90deg,#4D5F7Fed,#4D5F7F9e),url('images/ike/video-thumb.jpg') center/cover;display:flex;justify-content:center;align-items:center;flex-direction:column;color:#fff;text-align:center;padding:30px}.matterport-placeholder h3{font-size:clamp(23px,3vw,38px);margin:12px 0}.matterport-placeholder p{font-size:13px;color:#dbe5eb;margin-bottom:20px}.matterport-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.matterport-note{margin-top:13px;font-size:11px;color:#71828e}
/* Projects */
.project-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:16px}.project-item{overflow:hidden;background:#f3f7f8}.project-item button{width:100%;border:0;display:block;padding:0;cursor:zoom-in}.project-item img{width:100%;height:280px;object-fit:cover;transition:transform .4s}.project-item button:hover img{transform:scale(1.045)}.project-item:first-child img{object-position:28% 50%}.project-meta{padding:18px}.project-meta small{color:var(--red);font-size:10px;letter-spacing:.14em;font-weight:800}.project-meta h3{font-size:16px;margin:4px 0 7px}.project-meta p{font-size:12px;color:var(--muted)}
/* collaboration */
.collab{background:#27425e;color:#fff;overflow:hidden}.collab-grid{display:grid;grid-template-columns:1fr 1.07fr;min-height:484px}.collab-copy{padding:75px max(45px,calc((100vw - var(--max))/2)) 75px max(35px,calc((100vw - var(--max))/2));display:flex;flex-direction:column;justify-content:center}.collab .section-kicker{color:#bdd0e0}.collab .section-title{font-size:clamp(29px,3.2vw,45px)}.collab p{color:#cfdae1;max-width:480px;font-size:14px;line-height:2.15}.collab img{width:100%;height:100%;object-fit:cover;object-position:center 44%}
/* team */
.team-grid{display:grid;grid-template-columns:.68fr 1.32fr;gap:32px;align-items:center}.team-copy{padding:38px 0}.team-copy .section-title{font-size:clamp(28px,3.1vw,43px)}.team-photo{position:relative;overflow:hidden}.team-photo img{width:100%;height:430px;object-fit:cover;object-position:center 44%}.team-photo figcaption{position:absolute;right:0;bottom:0;background:#27425ee8;color:#fff;padding:16px 25px;font-size:12px;letter-spacing:.14em}.team-mini{margin-top:24px;border-left:3px solid var(--red);padding-left:16px;color:#516d7c;font-size:13px}
/* news */
.news{background:#f4f7f9}.news-card{background:#fff;box-shadow:var(--shadow);border:1px solid #e3ebee}.news-card img{width:100%;height:230px;object-fit:cover}.news-card:first-child img{object-position:center 58%}.news-content{padding:22px 23px 29px}.news-content .kind{color:#2b6f9a;background:#edf5fa;padding:4px 7px;font-size:10px;letter-spacing:.07em;font-weight:800}.news-content h3{font-size:16px;line-height:1.65;margin:15px 0 11px}.news-content p{font-size:12px;color:#6e8090}.news-no-date{font-size:11px;color:#8b98a5}
/* recruit */
.recruit{background:linear-gradient(100deg,#4D5F7F 0%,#1b4d6a 60%,#27425e 100%);color:#fff}.recruit-grid{display:flex;gap:40px;justify-content:space-between;align-items:center}.recruit .section-kicker{color:#b9d4e4}.recruit .section-title{margin-bottom:18px}.recruit p{font-size:14px;color:#cfdeea;max-width:590px}
/* footer */
.footer-main{background:#f7f9fa;border-top:1px solid #e4eaed;padding:45px 0}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr .85fr;gap:32px;align-items:start}.footer .logos .logo-vn{width:166px}.footer .logos .logo-jp{width:147px}.footer-copy{font-size:12px;color:#71838f;line-height:2;margin-top:16px}.footer h4{font-size:11px;letter-spacing:.12em;margin:0 0 16px;color:var(--navy)}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:9px 14px}.footer-links a{font-size:12px;font-weight:800;color:#4a6477}.footer-bottom{background:var(--navy);color:#bdd2df;font-size:11px}.footer-bottom .wrap{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:17px 0}
/* modal */
.viewer-modal{border:0;max-width:95vw;width:min(1280px,95vw);height:min(91vh,1000px);padding:0;background:#1d3348;box-shadow:0 28px 80px #0008;overflow:hidden}.viewer-modal::backdrop{background:#1d3348dd}.viewer-modal-inner{height:100%;display:flex;flex-direction:column}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 18px;background:#27425e;color:#fff}.modal-head strong{font-size:13px}.modal-toolbar{display:flex;gap:8px;align-items:center}.modal-toolbar button{color:#fff;background:#294d65;border-color:#527185}.modal-toolbar .modal-close{font-size:12px;width:auto;padding:0 13px}.modal-stage{flex:1;position:relative;overflow:hidden;touch-action:none;cursor:grab;background:#dfe7ea}.modal-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform-origin:center;pointer-events:none;will-change:transform}.modal-foot{padding:7px 18px;color:#b8cbd8;font-size:11px;background:#27425e}
@media(max-width:1150px){.logos .logo-vn{width:142px}.logos .logo-jp{width:123px}.nav{gap:14px}.nav a{font-size:11px}.header-main{gap:14px}.jp-link{min-width:115px;padding:8px}}
@media(max-width:950px){.nav{display:none}.menu-toggle{display:block;margin-left:auto}.mobile-menu.show{display:block;border-top:1px solid #d7e1e8;padding:10px 26px 20px;background:#fff}.mobile-menu a{display:block;padding:10px 8px;border-bottom:1px solid #edf0f3;font-size:14px;font-weight:800;color:#31536b}.mobile-menu .jp-link{margin-top:15px;display:inline-flex;color:#fff!important;width:200px}.hero{height:650px}.viewer-shell,.movie-grid,.collab-grid{grid-template-columns:1fr}.collab-copy{padding:55px 36px}.collab img{height:390px}.section-intro{align-items:start}.drawing-stage{height:420px}.viewer-side{display:grid;grid-template-columns:1fr 1fr}.viewer-side-photo{height:100%;max-height:290px}.team-grid{grid-template-columns:1fr}.team-photo img{height:400px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:span 2}}
@media(max-width:720px){html{scroll-padding-top:76px}.wrap{width:calc(100% - 36px)}.topline{display:none}.header-main{height:70px}.logos{gap:9px}.logos .logo-vn{width:127px}.logos .logo-jp{width:108px}.logo-divider{height:22px}.demo-ribbon{font-size:9px}.hero{height:690px;min-height:0}.hero h1{font-size:clamp(37px,9vw,57px)}.hero-content{padding:48px 0 120px;justify-content:flex-start}.hero-description{font-size:13px;max-width:440px}.hero-caption{display:none}.hero-bottom{bottom:22px}.hero-bottom .wrap{display:block}.hero-scroll{display:none}.hero-movie-preview{margin:0;max-width:270px}.section{padding:72px 0}.section-intro{display:block}.section-intro .section-lead{max-width:none}.process-cards,.grid3,.service-grid,.project-grid,.news-grid,.footer-grid{grid-template-columns:1fr;gap:17px}.process-card + .process-card:before{display:none}.process-button img{height:225px}.section-title{font-size:31px}.viewer-shell,.viewer-side{display:block}.viewer-tip{margin-top:16px}.viewer-side-photo{display:none}.drawing-stage{height:300px}.drawing-viewer-header{padding:12px}.drawing-tabs button{font-size:10px;padding:7px 8px}.drawing-toolbar{gap:4px}.drawing-toolbar button{width:30px;height:30px}.movie-grid,.model-gallery{grid-template-columns:1fr 1fr}.movie-main{grid-column:span 2}.collab-copy{padding:58px 22px}.collab img{height:360px}.project-item img{height:260px}.team-copy{padding:0}.team-photo img{height:315px}.recruit-grid{display:block}.recruit-grid .btn{margin-top:24px}.footer-grid>div:first-child{grid-column:span 1}.footer-bottom .wrap{display:block}.footer-bottom .wrap span{display:block;margin:5px 0}.viewer-modal{width:100vw;max-width:100vw;height:95vh;max-height:95vh}.modal-head{padding:10px}.modal-head strong{font-size:11px}.modal-toolbar{gap:4px}.modal-toolbar button{width:29px;height:29px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* v6: parent-company logo replaces the navy banner */
.header .logos{min-width:0;flex-shrink:0}
.header .jp-logo-link{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:8px 10px;background:#fff!important;color:var(--navy)!important;border:1px solid #e0e9ef;border-radius:3px;transition:border-color .2s,box-shadow .2s}
.header .jp-logo-link:hover{border-color:#93aebc;box-shadow:0 4px 14px #4D5F7F16}
.header .jp-logo-link img{width:128px;height:34px;max-width:100%;object-fit:contain;mix-blend-mode:multiply}
.header .jp-logo-link:focus-visible{outline:3px solid #EEC732;outline-offset:3px}
/* v6: auto/manual hero slideshow with gentle motion */
.hero-back.hero-carousel{position:absolute;inset:0;isolation:isolate}
.hero-carousel .hero-slide{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .95s ease-out}
.hero-carousel .hero-slide.is-active{opacity:1;z-index:1}
.hero-carousel .hero-slide img{width:100%;height:100%;object-fit:cover;object-position:center 48%;filter:saturate(.88) contrast(1.04);transform:scale(1.085);transition:transform 7.4s ease-out}
.hero-carousel .hero-slide.is-active img{transform:scale(1)}
.hero-slider-controls{position:absolute;z-index:5;right:max(36px,calc((100vw - var(--max))/2));bottom:117px;display:flex;align-items:center;gap:12px;padding:11px 13px;background:#1d3348b6;border:1px solid #ffffff50;backdrop-filter:blur(9px);color:#fff}
.hero-arrows{display:flex;align-items:center;gap:6px}
.hero-slider-controls button{border:1px solid #ffffff70;background:#27425ea8;color:#fff;cursor:pointer}
.hero-slider-controls button:hover{background:#B43020;color:#fff}
.hero-arrows button{width:34px;height:34px;font-size:17px;display:grid;place-items:center}
.hero-slide-dots{display:flex;align-items:center;gap:7px}
.hero-slide-dots button{height:5px;width:20px;padding:0;background:#ffffff70;border:0;transition:width .25s,background .25s}
.hero-slide-dots button[aria-current="true"]{background:#EEC732;width:36px}
.hero-slider-count{font-size:11px;white-space:nowrap;font-weight:800;letter-spacing:.08em}
.hero-autoplay{height:34px;width:34px;font-size:12px;font-weight:800}
@media(max-width:1150px){.header .jp-logo-link img{width:103px;height:30px}.hero-slider-controls{right:36px}}
@media(max-width:950px){.header .mobile-menu .jp-logo-link{display:inline-flex!important;width:auto;margin-top:15px;padding:7px 12px}.header .mobile-menu .jp-logo-link img{width:133px;height:33px}}
@media(max-width:720px){.hero-slider-controls{right:18px;bottom:108px;padding:8px;gap:8px}.hero-arrows button{width:31px;height:31px}.hero-slide-dots{gap:4px}.hero-slide-dots button{width:13px}.hero-slide-dots button[aria-current="true"]{width:21px}.hero-slider-count{font-size:10px}.hero-autoplay{width:31px;height:31px}.header .logos .logo-vn{width:142px}}
@media(max-width:400px){.hero-slider-controls{left:18px;right:auto}.hero-slide-dots{display:none}}
@media(prefers-reduced-motion:reduce){.hero-carousel .hero-slide,.hero-carousel .hero-slide img{transition:none!important;transform:none!important}}


/* ===== CSS nguyen ban trang saiyo cua Ikeda, dong goi trong .saiyo ===== */
.saiyo{--navy:#4D5F7F;--navy2:#3f658a;--navy3:#1d3348;--ink:#4D5F7F;--muted:#617685;--paper:#f4f7f8;--white:#fff;--line:#dce6eb;--red:#B43020;--red2:#e8604d;--shadow:0 18px 52px rgba(51,85,119,.09);--max:1240px}.saiyo .wrap{width:min(calc(100% - 76px),var(--max));margin-inline:auto}.saiyo .ribbon{text-align:center;background:#ebf1f4;color:#577084;font-size:10px;letter-spacing:.06em;padding:6px 12px}.saiyo .topline{background:var(--navy);color:#d1e0e9;font-size:11px}.saiyo .topline .wrap{display:flex;justify-content:space-between;padding:6px 0;gap:12px}.saiyo .header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);border-bottom:1px solid #e3eaf0;box-shadow:0 3px 14px rgba(16,47,70,.06);backdrop-filter:blur(14px)}.saiyo .header-inner{display:flex;align-items:center;gap:24px;min-height:84px}.saiyo .logos{display:flex;align-items:center;gap:15px;flex-shrink:0}.saiyo .logos img{object-fit:contain;mix-blend-mode:multiply}.saiyo .logo-vn{width:166px;max-height:55px}.saiyo .logo-jp{width:140px;max-height:48px}.saiyo .logo-divider{width:1px;height:29px;background:#cad4dd}.saiyo .nav{margin-left:auto;display:flex;align-items:center;gap:19px;white-space:nowrap}.saiyo .nav a{font-size:12px;font-weight:800;color:#3f658a}.saiyo .nav a:hover,.saiyo .nav a[aria-current="page"]{color:var(--red)}.saiyo .lang{display:flex;align-items:center;gap:4px;border-left:1px solid #dce5eb;padding-left:10px}.saiyo .lang button{background:none;border:0;color:#7e929f;font-size:12px;font-weight:900;padding:7px 6px}.saiyo .lang button[aria-pressed="true"]{color:var(--red)}.saiyo .menu-toggle{display:none;background:#f0f5f7;border:1px solid #d5e1e8;padding:7px 12px;font-size:20px;color:var(--navy)}.saiyo .mobile-nav{display:none}.saiyo .kicker{font-size:11px;letter-spacing:.24em;font-weight:900;text-transform:uppercase;color:var(--red)}.saiyo .btn{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:50px;padding:12px 23px;font-size:13px;font-weight:850;letter-spacing:.02em;line-height:1.5;transition:background .2s,transform .2s;border:1px solid transparent}.saiyo .btn:hover{transform:translateY(-2px)}.saiyo .btn-red{background:var(--red);color:white}.saiyo .btn-red:hover{background:#ad2414}.saiyo .btn-white{background:white;color:var(--navy)}.saiyo .btn-white:hover{background:#eef4f8}.saiyo .btn-outline{border-color:#93a9b8;background:transparent;color:var(--navy)}.saiyo .btn-outline:hover{background:#edf4f7}.saiyo .title{font-size:clamp(30px,3.65vw,51px);letter-spacing:-.035em;line-height:1.38;margin:10px 0 20px}.saiyo .lead{color:var(--muted);font-size:15px;line-height:2.1}.saiyo .line{height:3px;width:42px;background:var(--red);margin:18px 0 22px}.saiyo .sec{padding:106px 0}.saiyo .section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:38px}.saiyo .section-head>div{max-width:720px}.saiyo .section-head>p{width:38%;flex-shrink:0;line-height:2;color:var(--muted)}.saiyo .hero{position:relative;min-height:650px;color:#fff;background:var(--navy3);overflow:hidden}.saiyo .hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 8%,#3f658a4f,transparent 46%),linear-gradient(132deg,#1d3348 5%,#4D5F7F 79%)}.saiyo .hero-grid{position:relative;display:grid;grid-template-columns:55% 45%;min-height:650px;align-items:stretch}.saiyo .hero-copy{position:relative;z-index:2;display:flex;justify-content:center;flex-direction:column;padding:77px 45px 78px 0}.saiyo .hero h1{font-size:clamp(46px,5.5vw,78px);line-height:1.24;font-weight:850;letter-spacing:-.065em;margin:19px 0 24px;white-space:pre-line}.saiyo .hero-desc{font-size:15px;color:#d2e1eb;line-height:2.25;max-width:570px}.saiyo .hero .kicker{color:#aacbdf}.saiyo .hero-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:35px}.saiyo .hero-visual{position:relative;min-width:0}.saiyo .hero-visual img{width:100%;height:100%;object-fit:cover;object-position:49% center}.saiyo .hero-visual:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#27425e 0%,transparent 39%),linear-gradient(0deg,#27425e60,transparent 50%)}.saiyo .hero-label{position:absolute;right:26px;bottom:26px;z-index:2;font-size:11px;letter-spacing:.16em;color:#e2eef5;text-align:right}.saiyo .breadcrumbs{padding:18px 0;color:#8b9da8;font-size:11px}.saiyo .breadcrumbs a{color:#5b7586}.saiyo .proof{background:#fff;border-bottom:1px solid var(--line)}.saiyo .proof-grid{display:grid;grid-template-columns:repeat(3,1fr)}.saiyo .proof-grid>div{padding:26px 27px;border-left:1px solid var(--line)}.saiyo .proof-grid>div:first-child{border:0;padding-left:0}.saiyo .proof b{color:var(--navy);font-size:16px;display:block}.saiyo .proof small{color:#718994;font-size:12px;display:block;margin-top:6px}.saiyo .intro{background:#fff}.saiyo .intro-grid{display:grid;grid-template-columns:.93fr 1.07fr;gap:8%;align-items:center}.saiyo .intro-visual{position:relative;height:540px}.saiyo .intro-visual>img{height:100%;width:100%;object-fit:cover;object-position:center}.saiyo .intro-float{position:absolute;right:-26px;bottom:-30px;width:220px;background:var(--navy);padding:24px;color:white;box-shadow:var(--shadow)}.saiyo .intro-float span{font-size:11px;letter-spacing:.16em;color:#9fc4d9}.saiyo .intro-float strong{font-size:19px;line-height:1.5;display:block;margin-top:7px}.saiyo .text-link{font-size:13px;font-weight:850;color:var(--navy);display:inline-flex;gap:10px;align-items:center;margin-top:24px}.saiyo .text-link:after{content:'→';color:var(--red);font-size:19px}.saiyo .work{background:#edf3f6}.saiyo .work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.saiyo .work-item{background:#fff;min-width:0;box-shadow:var(--shadow)}.saiyo .work-item img{height:230px;width:100%;object-fit:cover}.saiyo .work-item:nth-child(1) img{object-fit:contain;padding:18px;background:#f5f7f8}.saiyo .work-content{padding:24px 24px 30px}.saiyo .work-num{color:var(--red);letter-spacing:.17em;font-size:12px;font-weight:900}.saiyo .work-content h3{font-size:21px;margin:10px 0 11px}.saiyo .work-content p{color:var(--muted);font-size:13px;line-height:2}.saiyo .work-anchor{margin-top:34px}.saiyo .connect{display:grid;grid-template-columns:48% 52%;background:var(--navy);color:white;min-height:440px}.saiyo .connect-copy{padding:65px max(30px,calc((100vw - var(--max))/2)) 70px max(35px,calc((100vw - var(--max))/2));min-width:0}.saiyo .connect-copy h2{font-size:clamp(31px,3.3vw,48px);letter-spacing:-.05em;margin:14px 0 20px;line-height:1.35}.saiyo .connect-copy p{color:#c9deea;line-height:2.05;font-size:14px}.saiyo .connect .kicker{color:#a7c7d9}.saiyo .connect img{width:100%;height:100%;object-fit:cover;min-height:410px}.saiyo .culture{background:#fff}.saiyo .culture-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:28px}.saiyo .culture-card{position:relative;overflow:hidden;min-height:460px;background:#1d3348}.saiyo .culture-card img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.saiyo .culture-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#1d3348d9,transparent 64%)}.saiyo .culture-card-content{position:absolute;bottom:0;left:0;right:0;z-index:1;color:#fff;padding:30px}.saiyo .culture-card-content .kicker{color:#EEC732}.saiyo .culture-card-content h3{font-size:24px;margin:9px 0}.saiyo .culture-card-content p{color:#e1edf4;font-size:13px;line-height:1.9}.saiyo .culture-side{display:grid;grid-template-rows:1fr 1fr;gap:22px}.saiyo .culture-note{background:#f1f6f8;padding:34px;border-left:3px solid var(--red);display:flex;justify-content:center;flex-direction:column}.saiyo .culture-note h3{font-size:23px;margin:12px 0}.saiyo .culture-note p{color:var(--muted);font-size:13px}.saiyo .culture-mini{display:grid;grid-template-columns:42% 58%;background:#e7eff3}.saiyo .culture-mini img{width:100%;height:100%;object-fit:cover}.saiyo .culture-mini div{padding:24px;align-self:center}.saiyo .culture-mini h3{font-size:19px;margin:5px 0}.saiyo .culture-mini p{font-size:12px;color:var(--muted)}.saiyo .growth{background:#f3f7f8}.saiyo .benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.saiyo .benefit{padding:32px 28px;background:#fff;min-height:245px;border-top:3px solid var(--red)}.saiyo .benefit .icon{width:43px;height:43px;border:1px solid #b4cedb;display:grid;place-items:center;color:var(--navy);font-size:22px;margin-bottom:21px}.saiyo .benefit h3{font-size:19px;margin:0 0 11px}.saiyo .benefit p{font-size:13px;color:var(--muted)}.saiyo .policy-note{margin-top:25px;background:#e3eef3;padding:23px 26px;color:#405e6c;font-size:13px;line-height:2}.saiyo .jobs{background:#fff}.saiyo .jobs-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.saiyo .job{border:1px solid #d9e4e8;padding:29px 28px 26px;background:#fff}.saiyo .job:first-child{border-top:4px solid var(--red)}.saiyo .job:nth-child(2){border-top:4px solid var(--navy)}.saiyo .job-index{font-weight:900;font-size:11px;letter-spacing:.16em;color:#91a0ad}.saiyo .job h3{font-size:24px;margin:11px 0}.saiyo .job p{color:var(--muted);font-size:13px;min-height:60px}.saiyo .job-details{margin-top:17px;border-top:1px solid var(--line);padding-top:15px}.saiyo .job-details summary{cursor:pointer;font-weight:850;color:var(--navy);font-size:13px}.saiyo .job-details[open] summary{color:var(--red)}.saiyo .job-details ul{font-size:13px;color:var(--muted);padding-left:19px;line-height:2.1}.saiyo .job .state{font-size:12px;color:#6f8390;margin-top:20px}.saiyo .jobs-foot{display:grid;grid-template-columns:1.4fr .6fr;align-items:center;gap:22px;margin-top:23px;background:#edf3f6;padding:25px 29px}.saiyo .jobs-foot b{display:block;font-size:15px}.saiyo .jobs-foot p{font-size:12px;color:var(--muted);margin-top:5px}.saiyo .jobs-foot a{justify-self:end}.saiyo .faq{background:#f7f9fa}.saiyo .faq-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:12%}.saiyo .faq details{border-bottom:1px solid #d9e4eb;padding:19px 0}.saiyo .faq summary{cursor:pointer;list-style:none;font-weight:850;font-size:15px;padding-right:30px;position:relative}.saiyo .faq summary:after{content:'+';font-size:25px;font-weight:300;position:absolute;right:2px;top:0;color:var(--red)}.saiyo .faq details[open] summary:after{content:'−'}.saiyo .faq details p{font-size:13px;color:var(--muted);padding:12px 25px 10px 0;line-height:2}.saiyo .bottom-cta{background:#27425e;color:#fff;padding:68px 0}.saiyo .bottom-grid{display:flex;align-items:center;justify-content:space-between;gap:34px}.saiyo .bottom-cta h2{font-size:clamp(26px,3.1vw,44px);margin:12px 0 13px;letter-spacing:-.04em}.saiyo .bottom-cta p{color:#bbd2e1;font-size:13px}.saiyo .footer{background:#f5f8fa}.saiyo .footer-grid{padding:52px 0;display:grid;grid-template-columns:1.45fr .8fr .7fr;gap:35px}.saiyo .footer .logos img{max-height:42px}.saiyo .footer .logo-vn{width:160px}.saiyo .footer .logo-jp{width:133px}.saiyo .footer small{font-size:12px;color:#7d8e99}.saiyo .footer h4{font-size:12px;letter-spacing:.08em;margin:0 0 15px}.saiyo .footer-col{display:grid;gap:8px;align-content:start}.saiyo .footer-col a{font-size:13px;font-weight:750;color:#587282}.saiyo .footer-col a:hover{color:var(--red)}.saiyo .footer-bottom{background:var(--navy);color:#bad0dc;padding:14px 0;font-size:11px}.saiyo .footer-bottom .wrap{display:flex;justify-content:space-between;gap:20px}@media(max-width:1160px){.saiyo .logos .logo-vn{width:140px}.saiyo .logos .logo-jp{width:117px}.saiyo .nav{gap:12px}.saiyo .nav a{font-size:11px}.saiyo .header-inner{gap:13px}}@media(max-width:960px){.saiyo .nav{display:none}.saiyo .menu-toggle{display:block;margin-left:auto}.saiyo .mobile-nav.open{display:block;border-top:1px solid var(--line);padding:12px 30px 22px}.saiyo .mobile-nav a{display:block;padding:10px 0;border-bottom:1px solid #e8edf0;color:var(--navy);font-size:14px;font-weight:800}.saiyo .section-head{display:block}.saiyo .section-head>p{width:auto;margin-top:14px}.saiyo .hero-grid{grid-template-columns:1fr}.saiyo .hero{min-height:unset}.saiyo .hero-copy{padding:68px 0 55px}.saiyo .hero-visual{height:350px}.saiyo .hero-visual:before{background:linear-gradient(0deg,#27425e72,transparent)}.saiyo .hero-label{bottom:17px}.saiyo .intro-grid{grid-template-columns:1fr;gap:50px}.saiyo .intro-visual{height:450px}.saiyo .connect{grid-template-columns:1fr}.saiyo .connect-copy{padding:55px 36px}.saiyo .connect img{height:350px;min-height:unset}.saiyo .culture-grid,.saiyo .faq-grid{grid-template-columns:1fr;gap:24px}.saiyo .culture-side{grid-template-columns:1fr 1fr;grid-template-rows:auto}.saiyo .culture-card{min-height:390px}}@media(max-width:720px){.saiyo .wrap{width:calc(100% - 36px)}.saiyo .topline{display:none}.saiyo .header-inner{min-height:70px}.saiyo .logos{gap:9px}.saiyo .logos .logo-vn{width:122px}.saiyo .logos .logo-jp{width:99px}.saiyo .logo-divider{height:22px}.saiyo .ribbon{font-size:9px}.saiyo .sec{padding:70px 0}.saiyo .hero h1{font-size:clamp(38px,10vw,51px)}.saiyo .hero-copy{padding:55px 0 48px}.saiyo .hero-desc{font-size:13px}.saiyo .hero-visual{height:320px}.saiyo .hero-btns{flex-direction:column;align-items:stretch}.saiyo .proof-grid,.saiyo .work-grid,.saiyo .benefit-grid,.saiyo .jobs-grid,.saiyo .footer-grid{grid-template-columns:1fr}.saiyo .proof-grid>div{border-left:0;border-bottom:1px solid var(--line);padding:18px 0}.saiyo .proof-grid>div:last-child{border:0}.saiyo .intro-visual{height:350px}.saiyo .intro-float{width:185px;right:0;bottom:-25px;padding:18px}.saiyo .intro-float strong{font-size:16px}.saiyo .work-item img{height:220px}.saiyo .culture-grid{display:block}.saiyo .culture-card{min-height:330px}.saiyo .culture-side{display:block}.saiyo .culture-side>div{min-height:160px;margin-top:16px}.saiyo .culture-mini{grid-template-columns:40% 60%}.saiyo .culture-mini img{height:180px}.saiyo .culture-mini div{padding:17px}.saiyo .section-head{margin-bottom:26px}.saiyo .jobs-foot{grid-template-columns:1fr}.saiyo .jobs-foot a{justify-self:stretch}.saiyo .bottom-grid{display:block}.saiyo .bottom-grid .btn{margin-top:24px;width:100%}.saiyo .footer-grid{gap:30px}.saiyo .footer-bottom .wrap{display:block}.saiyo .faq-grid{display:block}}.saiyo .header .jp-logo-link{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:8px 11px;border:1px solid #e0e8ee;background:#fff;transition:border-color .2s,box-shadow .2s}.saiyo .header .jp-logo-link:hover{border-color:#8faabd;box-shadow:0 4px 14px #4D5F7F18}.saiyo .header .jp-logo-link img{display:block;object-fit:contain;width:122px;height:33px;mix-blend-mode:multiply}@media(max-width:1160px){.saiyo .header .jp-logo-link img{width:101px;height:30px}}@media(max-width:960px){.saiyo .header .mobile-nav .jp-logo-link{display:inline-flex;margin-top:14px;padding:10px}.saiyo .header .mobile-nav .jp-logo-link img{width:128px;height:34px}}.saiyo .social-section{background:#edf4f7}.saiyo .social-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.saiyo .social-card{display:flex;align-items:center;gap:22px;min-height:135px;padding:28px 32px;background:#fff;border:1px solid #dce6eb;box-shadow:var(--shadow);transition:transform .2s,border-color .2s}.saiyo .social-card:hover{transform:translateY(-3px);border-color:#a9c1cf}.saiyo .social-symbol{width:62px;height:62px;flex:0 0 62px;display:grid;place-items:center;border-radius:15px;color:#fff;font-size:26px;font-weight:900}.saiyo .social-symbol.facebook{background:#1767c4;font-family:"Be Vietnam Pro",Arial,sans-serif;font-size:37px;line-height:1}.saiyo .social-symbol.zalo{background:#167bc5;font-family:"Be Vietnam Pro",Arial,sans-serif;font-size:18px;letter-spacing:-.06em}.saiyo .social-label{flex:1;min-width:0}.saiyo .social-label strong{font-size:20px;color:var(--navy);display:block}.saiyo .social-label small{display:block;color:#637d8c;font-size:12px;margin-top:5px}.saiyo .social-arrow{font-size:26px;color:var(--red)}.saiyo .social-disclaimer{font-size:12px;line-height:1.8;color:#5f7887;margin-top:18px}@media(max-width:720px){.saiyo .social-grid{grid-template-columns:1fr}.saiyo .social-card{padding:20px;min-height:110px}.saiyo .social-symbol{width:52px;height:52px;flex-basis:52px}}
/* ============================================================
   v8 PHU LUC — chi THEM/ghi de o cuoi, khong sua rule goc cua Ikeda.
   ============================================================ */
/* --- nen mo toan trang, theo cach web cong ty me --- */
body::before{content:"";position:fixed;inset:-6%;z-index:-2;background:url(images/ike/hero-site-01.jpg) center/cover no-repeat;filter:blur(46px) saturate(.55);opacity:.17;pointer-events:none}
body::after{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(120% 90% at 50% 0%,#4D5F7F26,transparent 62%),linear-gradient(180deg,#ffffff00,#4D5F7F0f);pointer-events:none}
body{background:#fbfcfd}
.section{background:#ffffffbf;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.process{background:#f1f5f8c9}
.news{background:#f0f5f8c9}
.viewer-area{background:#e8eef2d6}
.matterport{background:#e9eff1d6}
.movie{background:#27425ef0}
.collab{background:#27425ef0}
.recruit{background:linear-gradient(100deg,#4D5F7Ff2 0%,#2b5b78f2 60%,#27425ef2 100%)}
.saiyo .sec{background:#ffffffbf;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.saiyo .growth{background:#f1f5f8c7}
.saiyo .faq{background:#ffffffbf}

/* --- top message --- */
.msg-grid{grid-template-columns:.38fr 1fr;align-items:center}
.msg-photo{background:#f3f6f8;border:1px solid var(--line)}
.msg-photo img{height:412px;object-position:center 16%}
.msg-copy p{color:#4d6675;font-size:13.5px;line-height:2.15;margin-top:18px;max-width:62ch}
.msg-copy p.msg-lead{font-size:clamp(17px,1.9vw,21px);font-weight:800;color:var(--navy);line-height:1.85;margin-top:0;max-width:none}
.msg-copy strong{color:var(--navy)}
.msg-sign{margin-top:30px;padding-top:17px;border-top:1px solid var(--line);display:inline-block;font-size:15px;font-weight:850;color:var(--navy)}
.msg-sign small{display:block;font-weight:600;font-size:11px;color:#81919b;letter-spacing:.08em;margin-top:5px}
.block-title{font-size:clamp(21px,2.1vw,27px);font-weight:850;color:var(--navy);letter-spacing:-.02em;margin:11px 0 20px}

/* --- bang thong so --- */
.spec-wrap{overflow-x:auto}
.spec{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e3ebee;box-shadow:var(--shadow);font-size:13px;min-width:560px}
.spec th,.spec td{padding:15px 18px;border-bottom:1px solid var(--line);text-align:left;line-height:1.95;vertical-align:top}
.spec thead th{background:var(--navy);color:#fff;font-size:11px;letter-spacing:.16em;font-weight:850;border-bottom:0}
.spec tbody th{width:28%;color:var(--navy);font-weight:850;background:#f7f9fb;border-right:1px solid var(--line)}
.spec tbody th small{display:block;font-weight:600;font-size:10.5px;color:#8b969e;letter-spacing:.04em;margin-top:3px}
.spec tbody td{color:#55707f}
.spec tbody tr:last-child th,.spec tbody tr:last-child td{border-bottom:0}
.spec .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;width:17%}
.spec .total{color:var(--red);font-weight:850}
#flow .service{background:#fff;box-shadow:var(--shadow)}

/* --- doi ngu: anh tron, hieu ung nhu ban dau --- */
.team5{display:grid;grid-template-columns:repeat(5,1fr);gap:26px}
.member{text-align:center}
.member .av{width:100%;max-width:168px;margin:0 auto;aspect-ratio:1/1;border-radius:50%;overflow:hidden;background:#eef2f5;box-shadow:0 0 0 1px var(--line);transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .5s}
.member .av img{width:100%;height:100%;object-fit:cover;object-position:center 22%;filter:grayscale(.75);transition:filter .6s,transform 1s}
.member:hover .av{transform:translateY(-7px);box-shadow:0 0 0 2px var(--red),0 16px 32px #4D5F7F33}
.member:hover .av img{filter:none;transform:scale(1.06)}
.member b{display:block;margin-top:18px;font-size:14px;font-weight:850;color:var(--navy);letter-spacing:.04em;transition:color .3s}
.member:hover b{color:var(--red)}
.member .role{font-size:10.5px;color:var(--red);font-weight:800;margin-top:6px;letter-spacing:.1em}
.member .duty{font-size:12px;color:#6e8090;margin-top:9px;line-height:1.8}

/* --- lien he va ban do --- */
.ct-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:34px;align-items:start}
.ct-list{margin:0;border-top:1px solid var(--line)}
.ct-list>div{display:grid;grid-template-columns:106px 1fr;gap:14px;padding:15px 2px;border-bottom:1px solid var(--line)}
.ct-list dt{font-size:11px;font-weight:850;color:var(--navy);letter-spacing:.1em;margin:0}
.ct-list dd{margin:0;font-size:13px;color:#55707f;line-height:1.95}
.ct-list dd a{color:var(--navy);font-weight:800;border-bottom:1px solid #c6d6e2}
.map-frame{position:relative;border:1px solid var(--line);background:#eef2f5;box-shadow:var(--shadow);aspect-ratio:4/3;overflow:hidden}
.map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:1;background:transparent}
.map-fallback{position:absolute;inset:0;z-index:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:24px;color:#55707f;font-size:12.5px;background:#eef2f5}
.map-cta{display:flex;gap:11px;margin-top:14px;flex-wrap:wrap}
.btn-slot{background:#eef2f5;color:#8b969e;border:1px solid var(--line);cursor:default}

/* --- hien dan khi cuon --- */
.v7-rise{opacity:0;transform:translateY(26px);transition:opacity .72s cubic-bezier(.22,.61,.36,1),transform .72s cubic-bezier(.22,.61,.36,1)}
.v7-rise.is-in{opacity:1;transform:none}

@media(max-width:1150px){.team5{grid-template-columns:repeat(3,1fr);gap:30px 22px}}
@media(max-width:950px){.msg-grid{grid-template-columns:1fr}.msg-photo img{height:400px}.ct-grid{grid-template-columns:1fr}}
@media(max-width:720px){.spec th,.spec td{padding:12px 13px}.block-title{font-size:21px}.team5{grid-template-columns:repeat(2,1fr)}.ct-list>div{grid-template-columns:1fr;gap:4px}}
@media(prefers-reduced-motion:reduce){.v7-rise{opacity:1!important;transform:none!important;transition:none!important}.member .av,.member .av img{transition:none!important}}

/* ============================================================
   v9 PHU LUC — theo cach trinh bay cua ogishi.co.jp.
   Khong sua rule goc cua Ikeda, chi them o cuoi.
   ============================================================ */
/* --- TOP MESSAGE kieu cong ty me: Mincho, chu to, co diem nhan --- */
.og-catch{font-family:"Be Vietnam Pro",Arial,sans-serif;
 font-weight:400;font-size:clamp(31px,3.9vw,54px);line-height:1.62;letter-spacing:.055em;color:#2c3e4d}
.og-catch em{font-style:normal;position:relative;display:inline-block;color:var(--navy)}
.og-catch em::after{content:"";position:absolute;left:0;right:0;bottom:.08em;height:.42em;background:#EEC73266;z-index:-1;
 transform:scaleX(0);transform-origin:left center;transition:transform 1.05s cubic-bezier(.22,.61,.36,1) .25s}
.is-in .og-catch em::after,.og-catch.is-lit em::after{transform:scaleX(1)}
.msg-copy .og-strong{font-style:normal;font-weight:800;color:var(--navy);background-image:linear-gradient(#EEC73270,#EEC73270);
 background-repeat:no-repeat;background-position:0 88%;background-size:0 .36em;transition:background-size .95s cubic-bezier(.22,.61,.36,1) .35s}
.is-in .msg-copy .og-strong{background-size:100% .36em}
.msg-photo figcaption{font-family:"Be Vietnam Pro",Arial,sans-serif;letter-spacing:.18em}

/* --- The thong tin: bo khung vuong, dung huy hieu tron --- */
.og-grid{align-items:stretch}
.og-grid .service{background:transparent;border-top:0;padding:30px 26px 32px;min-height:0;position:relative;
 border-radius:0 0 0 0;transition:transform .45s cubic-bezier(.22,1,.36,1)}
.og-grid .service::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--line)}
.og-grid .service .og-badge{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;
 border:1.5px solid var(--navy);color:var(--navy);font-weight:800;font-size:17px;letter-spacing:.06em;margin-bottom:18px;
 background:#fff;transition:background .45s,color .45s,transform .55s cubic-bezier(.22,1,.36,1),border-color .45s}
.og-grid .service .num{font-size:10.5px;letter-spacing:.2em;color:#8b9aa5;font-weight:800}
.og-grid .service h3{margin:11px 0 12px;position:relative;padding-bottom:13px}
.og-grid .service h3::after{content:"";position:absolute;left:0;bottom:0;width:38px;height:2px;background:var(--red);
 transform:scaleX(0);transform-origin:left center;transition:transform .7s cubic-bezier(.22,.61,.36,1) .3s}
.og-grid .service.is-on h3::after{transform:scaleX(1)}
.og-grid .service:hover{transform:translateY(-6px)}
.og-grid .service:hover .og-badge{background:var(--navy);color:#fff;transform:rotate(-6deg) scale(1.06)}
#flow .og-grid .service{background:#fff;box-shadow:none;border:1px solid #e3ebee;border-radius:0}
#flow .og-grid .service:hover{box-shadow:0 18px 44px #4D5F7F18}

/* --- Hieu ung vao: truot tu hai ben kem phong to, giong ogishi.co.jp --- */
.og-grid .service,.og-rows tbody tr,.saiyo .job{opacity:0;transition:opacity .72s cubic-bezier(.22,.61,.36,1),transform .72s cubic-bezier(.22,.61,.36,1)}
.og-grid .service:nth-child(odd),.og-rows tbody tr:nth-child(odd){transform:translateX(-46px) scale(.93)}
.og-grid .service:nth-child(even),.og-rows tbody tr:nth-child(even){transform:translateX(46px) scale(.93)}
.saiyo .jobs-grid .job:nth-child(odd){transform:translateX(-52px) scale(.94)}
.saiyo .jobs-grid .job:nth-child(even){transform:translateX(52px) scale(.94)}
.og-grid .service.is-on,.og-rows tbody tr.is-on,.saiyo .job.is-on{opacity:1;transform:none}

/* --- Bon kenh lien he --- */
.ch-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.ch-card{display:flex;align-items:center;gap:15px;padding:20px 20px;background:#fff;border:1px solid #e3ebee;
 box-shadow:var(--shadow);text-align:left;font:inherit;color:inherit;cursor:pointer;width:100%;
 transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s,border-color .3s}
.ch-card:hover{transform:translateY(-5px);box-shadow:0 20px 46px #4D5F7F1f;border-color:#bcd0dd}
.ch-card.is-slot{opacity:.55;cursor:default;box-shadow:none}
.ch-card.is-slot:hover{transform:none;box-shadow:none;border-color:#e3ebee}
.ch-ico{flex:0 0 auto;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;color:#fff;
 font-weight:800;font-size:16px;background:var(--navy)}
.ch-ico.ch-zalo{background:#0068ff;font-size:12px;letter-spacing:.02em}
.ch-ico.ch-fb{background:#1877f2;font-size:21px}
.ch-ico.ch-tel{background:var(--red);font-size:21px}
.ch-txt{display:flex;flex-direction:column;gap:3px;min-width:0}
.ch-txt strong{font-size:14px;color:var(--navy);font-weight:850}
.ch-txt small{font-size:11px;color:#7d8e99}
.ch-go{margin-left:auto;color:#9fb3c0;font-size:14px}

/* --- Cum nut noi --- */
.ogc-float{position:fixed;right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));
 display:flex;flex-direction:column;gap:11px;z-index:60}
.ogc-fab{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:800;font-size:13px;
 border:0;cursor:pointer;box-shadow:0 12px 26px #0c253a4d;transition:transform .3s cubic-bezier(.22,1,.36,1),filter .3s}
.ogc-fab:hover{transform:scale(1.08)}
.ogc-fab.is-slot{opacity:.5;cursor:default}
.ogc-fab.is-slot:hover{transform:none}
.ogc-fab-faq{background:var(--navy);font-size:22px}
.ogc-fab-zalo{background:#0068ff;font-size:12px}
.ogc-fab-fb{background:#1877f2;font-size:23px}
.ogc-fab-tel{background:var(--red);font-size:22px;text-decoration:none}
.ogc-fab-tel::after{content:"";position:absolute;width:54px;height:54px;border-radius:50%;border:2px solid var(--red);
 animation:ogcPulse 2.4s ease-out infinite}
.ogc-fab-tel{position:relative}
@keyframes ogcPulse{0%{transform:scale(1);opacity:.65}100%{transform:scale(1.65);opacity:0}}

/* --- Hop Hoi dap --- */
.ogc-faqbox{position:fixed;right:calc(84px + env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));
 width:min(372px,calc(100vw - 104px));max-height:min(560px,calc(100vh - 48px));background:#fff;border:1px solid #d8e3ea;
 box-shadow:0 26px 64px #0c253a33;z-index:61;display:flex;flex-direction:column;overflow:hidden}
.ogc-faqbox[hidden]{display:none}
.ogc-faq-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px;background:var(--navy);color:#fff}
.ogc-faq-head strong{font-size:13.5px;letter-spacing:.06em}
.ogc-faq-x{background:transparent;border:0;color:#cddbe6;font-size:15px;cursor:pointer;line-height:1}
.ogc-faq-x:hover{color:#fff}
.ogc-faq-body{overflow-y:auto;padding:6px 0}
.ogc-qa{border-bottom:1px solid #eef2f5}
.ogc-qa button{display:flex;align-items:flex-start;gap:9px;width:100%;background:transparent;border:0;text-align:left;
 padding:14px 17px;font:inherit;font-size:12.5px;font-weight:800;color:var(--navy);cursor:pointer;line-height:1.75}
.ogc-qa button:hover{background:#f5f8fa}
.ogc-qa button::before{content:"Q";flex:0 0 auto;width:19px;height:19px;border-radius:50%;background:var(--navy);color:#fff;
 font-size:10px;display:grid;place-items:center;margin-top:2px}
.ogc-qa p{display:none;padding:0 17px 16px 45px;font-size:12px;color:#5d7484;line-height:1.95}
.ogc-qa.is-open p{display:block}
.ogc-faq-foot{padding:13px 17px;border-top:1px solid #eef2f5;background:#f7f9fb}
.ogc-faq-foot .btn{margin-top:0;width:100%;min-height:42px}

@media(max-width:1150px){.ch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){
 .ch-grid{grid-template-columns:1fr;gap:13px}
 .og-grid .service{padding:26px 0 28px}
 .og-grid .service:nth-child(odd),.og-grid .service:nth-child(even),
 .og-rows tbody tr:nth-child(odd),.og-rows tbody tr:nth-child(even),
 .saiyo .jobs-grid .job:nth-child(odd),.saiyo .jobs-grid .job:nth-child(even){transform:translateY(28px) scale(.97)}
 .ogc-fab{width:47px;height:47px}
 .ogc-fab-tel::after{width:47px;height:47px}
 .ogc-faqbox{right:12px;left:12px;width:auto;bottom:84px;max-height:calc(100vh - 150px)}
}
@media(prefers-reduced-motion:reduce){
 .og-grid .service,.og-rows tbody tr,.saiyo .job{opacity:1!important;transform:none!important;transition:none!important}
 .og-catch em::after{transform:scaleX(1)!important;transition:none!important}
 .msg-copy .og-strong{background-size:100% .36em!important;transition:none!important}
 .ogc-fab-tel::after{animation:none!important}
}

/* ============================================================
   v10 PHU LUC — logo va cac kenh lien he.
   ============================================================ */
/* Logo cong ty me o dau trang: bo khung, de tran nhu logo Ogishi Viet Nam */
.header .jp-logo-link{padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.header .jp-logo-link:hover{border:0!important;box-shadow:none!important;opacity:.78}
.header .jp-logo-link img{width:auto!important;height:38px!important;max-height:38px;object-fit:contain;mix-blend-mode:multiply}
.header .mobile-menu .jp-logo-link img{width:auto!important;height:34px!important}

/* Logo chan trang: hai ben bang nhau theo chieu cao */
.footer .logos{align-items:center;gap:20px}
.footer .logos img{max-height:none}
.footer .logos .logo-vn,.footer .logos .logo-jp{width:auto!important;height:40px!important;max-height:40px}
.footer .logo-divider{height:30px}

/* Kenh lien he them Messenger */
.ch-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.ch-card{padding:18px 15px;gap:12px}
.ch-ico{width:44px;height:44px;font-size:15px}
.ch-ico.ch-mes{background:#a033ff;font-size:19px}
.ch-ico.ch-zalo{font-size:11px}
.ch-txt strong{font-size:13px}
.ch-txt small{font-size:10.5px}
.ogc-fab-mes{background:#a033ff;font-size:21px;text-decoration:none}
.ogc-fab-zalo,.ogc-fab-fb{text-decoration:none}
@media(max-width:1250px){.ch-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}
@media(max-width:860px){.ch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){
 .ch-grid{grid-template-columns:1fr;gap:12px}
 .footer .logos .logo-vn,.footer .logos .logo-jp{height:34px!important;max-height:34px}
 .header .jp-logo-link img{height:30px!important}
}

/* ============================================================
   v11 PHU LUC — bang mau chinh thuc, logo bang nhau,
   chu doan gioi thieu to hon, nut ve dau trang.
   ============================================================ */
:root{
 --c-navy:#4D5F7F;   /* xanh chu dao */
 --c-red:#B43020;    /* do nhan manh */
 --c-yellow:#EEC732; /* vang diem nhan */
 --c-white:#FFFFFF;
 --c-black:#000000;
 --c-grey:#A3ADBD;
}
/* Doan gioi thieu to hon, giong cach cong ty me trinh bay */
.msg-copy p{font-size:15.5px;line-height:2.2;max-width:58ch;margin-top:21px;color:#3b5363}
.msg-copy p.msg-lead{font-size:clamp(19px,2.2vw,25px);line-height:1.9;margin-top:0}
.msg-copy .og-strong{background-size:0 .4em}
.is-in .msg-copy .og-strong{background-size:100% .4em}
.msg-grid{grid-template-columns:.34fr 1fr;gap:44px}
.msg-photo img{height:400px}

/* Hai mau moi trong bang mau: den cho tieu de, xam BFBFBF cho duong ke va chu phu */
.section-title,.block-title{color:var(--c-black)}
.og-catch{color:var(--c-black)}
.og-catch em{color:var(--c-navy)}
.caption,.movie-disclaimer,.process-foot{color:#8d8d8d}
.logo-divider{background:var(--c-grey)}
.og-grid .service::before{background:var(--c-grey)}
.spec{border-color:var(--c-grey)}
.ct-list,.ct-list>div{border-color:var(--c-grey)}
.msg-sign{border-top-color:var(--c-grey)}

/* Logo hai ben bang nhau o dau trang va chan trang */
.header .logos .logo-vn{width:auto!important;height:46px!important;max-height:46px}
.header .jp-logo-link img{width:auto!important;height:46px!important;max-height:46px}
.footer .logos .logo-vn,.footer .logos .logo-jp{height:42px!important;max-height:42px;width:auto!important}
.header .mobile-menu .jp-logo-link img{height:38px!important}

/* Bo ban ve CAD */
.cad-3d{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;
 margin-top:34px;padding:28px 30px;background:#f3f6f8;border-left:3px solid var(--c-red)}
.cad-3d .btn{margin-top:0;flex:0 0 auto}
.cad-3d .block-title{font-size:clamp(18px,1.8vw,23px)}

/* Nut ve dau trang */
.ogc-top{position:fixed;right:calc(18px + env(safe-area-inset-right,0px));
 bottom:calc(368px + env(safe-area-inset-bottom,0px));width:46px;height:46px;border-radius:50%;
 border:1px solid var(--c-grey);background:var(--c-white);color:var(--c-navy);font-size:19px;font-weight:800;
 cursor:pointer;z-index:60;opacity:0;pointer-events:none;box-shadow:0 10px 24px #0c253a26;
 transition:opacity .35s,transform .35s cubic-bezier(.22,1,.36,1),background .25s,color .25s}
.ogc-top.is-show{opacity:1;pointer-events:auto}
.ogc-top:hover{background:var(--c-navy);color:var(--c-white);border-color:var(--c-navy);transform:translateY(-4px)}

@media(max-width:950px){.msg-grid{grid-template-columns:1fr;gap:30px}}
@media(max-width:720px){
 .msg-copy p{font-size:14.5px;line-height:2.1}
 .header .logos .logo-vn{height:34px!important}
 .header .jp-logo-link img{height:34px!important}
 .footer .logos .logo-vn,.footer .logos .logo-jp{height:34px!important;max-height:34px}
 .cad-3d{padding:22px 20px}
 .ogc-top{bottom:calc(322px + env(safe-area-inset-bottom,0px));width:42px;height:42px}
}
@media(prefers-reduced-motion:reduce){.ogc-top{transition:none!important}}

/* ============================================================
   v12 PHU LUC — 10 muc Sep duyet.
   ============================================================ */
/* 1. TOP MESSAGE: chu trai, anh phai, hai cot cao bang nhau */
.msg-grid{grid-template-columns:1fr .38fr;gap:clamp(32px,4vw,64px);align-items:stretch}
.msg-copy{padding:0;display:flex;flex-direction:column;justify-content:center}
.msg-photo{display:flex;flex-direction:column;background:transparent;border:0}
.msg-photo img{height:auto;flex:1;min-height:0;object-fit:cover;object-position:center 14%;
 border:1px solid var(--c-grey)}
.msg-photo figcaption{position:static;background:transparent;color:var(--c-navy);
 padding:14px 0 0;text-align:center;font-size:13px;font-weight:850;letter-spacing:.1em}

/* 2. Nut ve dau trang nam goc trai duoi */
.ogc-top{left:calc(18px + env(safe-area-inset-left,0px));right:auto;
 bottom:calc(18px + env(safe-area-inset-bottom,0px))}

/* 6. Dai thoi gian ngang */
.tl{position:relative;margin-top:30px}
.tl-rail{position:absolute;left:0;right:0;top:19px;height:2px;background:var(--c-grey)}
.tl-fill{position:absolute;inset:0;background:var(--c-red);transform:scaleX(0);transform-origin:left center;
 transition:transform 1.5s cubic-bezier(.22,.61,.36,1)}
.tl.is-on .tl-fill{transform:scaleX(1)}
.tl-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}
.tl-item{position:relative;padding-top:52px;opacity:0;transform:translateY(16px);
 transition:opacity .6s ease,transform .6s cubic-bezier(.22,1,.36,1)}
.tl.is-on .tl-item{opacity:1;transform:none}
.tl.is-on .tl-item:nth-child(1){transition-delay:.10s}
.tl.is-on .tl-item:nth-child(2){transition-delay:.34s}
.tl.is-on .tl-item:nth-child(3){transition-delay:.58s}
.tl.is-on .tl-item:nth-child(4){transition-delay:.82s}
.tl.is-on .tl-item:nth-child(5){transition-delay:1.06s}
.tl-dot{position:absolute;left:0;top:10px;width:20px;height:20px;border-radius:50%;background:#fff;
 border:2px solid var(--c-grey);transition:border-color .5s,box-shadow .5s,transform .5s cubic-bezier(.22,1,.36,1)}
.tl.is-on .tl-item .tl-dot{border-color:var(--c-red);box-shadow:0 0 0 5px #B430201f;transform:scale(1.12)}
.tl-when{display:block;font-size:30px;font-weight:850;color:var(--c-navy);line-height:1;letter-spacing:-.02em}
.tl-when small{font-size:12px;font-weight:800;margin-left:5px;color:#8d8d8d;letter-spacing:.08em}
.tl-item strong{display:block;margin:13px 0 8px;font-size:16px;color:var(--c-black)}
.tl-item p{font-size:12.5px;color:#6e8090;line-height:1.95}

/* 7. CAREER & WORKPLACE kieu the anh cua cong ty me */
.saiyo .wk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.saiyo .wk{position:relative;overflow:hidden;background:var(--c-navy);min-height:380px;display:block;
 opacity:0;transform:translateY(34px) scale(.96);
 transition:opacity .8s cubic-bezier(.22,.61,.36,1),transform .8s cubic-bezier(.22,.61,.36,1)}
.saiyo .wk.is-on{opacity:1;transform:none}
.saiyo .wk:nth-child(2){transition-delay:.13s}
.saiyo .wk:nth-child(3){transition-delay:.26s}
.saiyo .wk-img{position:absolute;inset:0;display:block;overflow:hidden}
.saiyo .wk-img img{width:100%;height:100%;object-fit:cover;transform:scale(1.1);
 transition:transform 1.6s cubic-bezier(.22,.61,.36,1)}
.saiyo .wk.is-on .wk-img img{transform:scale(1)}
.saiyo .wk-img::after{content:"";position:absolute;inset:0;
 background:linear-gradient(180deg,#1d334826 0%,#1d3348d9 62%,#1d3348f2 100%)}
.saiyo .wk-body{position:absolute;left:0;right:0;bottom:0;z-index:1;display:block;padding:28px 26px 30px;color:#fff;
 transform:translateY(16px);opacity:0;transition:transform .8s cubic-bezier(.22,1,.36,1) .25s,opacity .8s ease .25s}
.saiyo .wk.is-on .wk-body{transform:none;opacity:1}
.saiyo .wk-num{display:block;font-size:11px;font-weight:850;letter-spacing:.3em;color:var(--c-yellow)}
.saiyo .wk-body strong{display:block;margin:12px 0 10px;font-size:19px;font-weight:850;color:#fff}
.saiyo .wk-body p{font-size:12.5px;line-height:2;color:#cfdce6}
.saiyo .wk:hover .wk-img img{transform:scale(1.06)}

/* 9. Tieu de chinh tren nen toi de mau vang */
.collab .section-title,.recruit .section-title,.movie .section-title,
.matterport-placeholder h3,.saiyo .bottom-cta h2,.viewer-tip h3{color:var(--c-yellow)}

@media(max-width:1150px){.tl-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
 .tl-rail{display:none}.tl-item{padding-top:44px}}
@media(max-width:950px){.msg-grid{grid-template-columns:1fr}
 .msg-photo img{height:420px;flex:none}
 .saiyo .wk-grid{grid-template-columns:1fr;gap:16px}
 .saiyo .wk{min-height:320px}}
@media(max-width:720px){.tl-list{grid-template-columns:1fr;gap:22px}
 .tl-item{padding-top:0;padding-left:38px}
 .tl-dot{top:4px}
 .tl-when{font-size:26px}}
@media(prefers-reduced-motion:reduce){
 .tl-fill{transform:scaleX(1)!important;transition:none!important}
 .tl-item,.saiyo .wk,.saiyo .wk-body{opacity:1!important;transform:none!important;transition:none!important}
 .saiyo .wk-img img{transform:none!important;transition:none!important}}

/* ============================================================
   v13 PHU LUC
   ============================================================ */
/* 1. TOP MESSAGE: chu to hon, dong sat hon, bot khoang trong */
.og-catch{line-height:1.46;letter-spacing:.04em}
#about .section-intro{margin-bottom:26px}
.msg-grid{gap:clamp(26px,2.8vw,40px)}
.msg-copy p{font-size:17px;line-height:1.92;margin-top:13px;max-width:44em;color:#36505f}
.msg-copy p.msg-lead{font-size:clamp(20px,2.3vw,27px);line-height:1.68;margin-top:0}
.msg-copy .og-strong{background-size:0 .34em}
.is-in .msg-copy .og-strong{background-size:100% .34em}
#about .service-grid{margin-top:38px!important}
#about .og-grid .service{padding:26px 24px 26px}

/* 2 + 3. Nut noi */
.ogc-fab-faq{background:var(--c-yellow);color:var(--c-navy);font-size:12px;font-weight:850;letter-spacing:.06em}
.ogc-fab-faq span{display:block;line-height:1}
.ogc-fab-mes{background:linear-gradient(205deg,#00B2FF 0%,#006AFF 32%,#A033FF 60%,#FF5280 82%,#FF7061 100%)}

/* 5. 6 STEPS doc zigzag */
.zz{position:relative;margin-top:34px}
.zz-rail{position:absolute;left:50%;top:0;bottom:0;width:2px;background:var(--c-grey);transform:translateX(-1px)}
.zz-rail i{position:absolute;inset:0;background:var(--c-red);transform:scaleY(0);transform-origin:top center;
 transition:transform 1.9s cubic-bezier(.22,.61,.36,1)}
.zz.is-on .zz-rail i{transform:scaleY(1)}
.zz-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:26px}
.zz-item{position:relative;display:grid;grid-template-columns:1fr 78px 1fr;align-items:center;min-height:96px}
.zz-dot{grid-column:2;justify-self:center;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;
 background:#fff;border:2px solid var(--c-grey);color:var(--c-navy);font-weight:850;font-size:16px;z-index:1;
 transition:border-color .5s,background .5s,color .5s,transform .5s cubic-bezier(.22,1,.36,1)}
.zz.is-on .zz-item.is-on .zz-dot{border-color:var(--c-red);background:var(--c-red);color:#fff;transform:scale(1.08)}
.zz-card{background:#fff;border:1px solid #e3ebee;box-shadow:var(--shadow);padding:22px 24px;
 opacity:0;transition:opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1)}
.zz-item:nth-child(odd) .zz-card{grid-column:1;transform:translateX(-44px)}
.zz-item:nth-child(even) .zz-card{grid-column:3;transform:translateX(44px)}
.zz-item.is-on .zz-card{opacity:1;transform:none}
.zz-card h3{font-size:17px;color:var(--c-black);margin-bottom:8px}
.zz-card p{font-size:13px;color:#6e8090;line-height:1.95}

/* 9. Bac thang di len */
.st{margin-top:34px}
.st-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
 gap:16px;align-items:end}
.st-item{display:flex;flex-direction:column;gap:14px;opacity:0;transform:translateY(22px);
 transition:opacity .62s ease,transform .62s cubic-bezier(.22,1,.36,1)}
.st.is-on .st-item{opacity:1;transform:none}
.st.is-on .st-item:nth-child(1){transition-delay:.06s}
.st.is-on .st-item:nth-child(2){transition-delay:.22s}
.st.is-on .st-item:nth-child(3){transition-delay:.38s}
.st.is-on .st-item:nth-child(4){transition-delay:.54s}
.st.is-on .st-item:nth-child(5){transition-delay:.70s}
.st-bar{display:flex;align-items:flex-end;justify-content:center;gap:4px;background:#eef2f6;
 border-top:3px solid var(--c-navy);color:var(--c-navy);padding:14px 8px 12px;
 transform-origin:bottom center;transform:scaleY(.2);transition:transform .8s cubic-bezier(.22,1,.36,1)}
.st.is-on .st-item .st-bar{transform:none}
.st-item:nth-child(1) .st-bar{height:76px}
.st-item:nth-child(2) .st-bar{height:104px}
.st-item:nth-child(3) .st-bar{height:134px}
.st-item:nth-child(4) .st-bar{height:166px}
.st-item:nth-child(5) .st-bar{height:200px;border-top-color:var(--c-red);background:#fdf3e6}
.st-bar b{font-size:33px;font-weight:850;line-height:.92;letter-spacing:-.03em}
.st-bar small{font-size:11px;font-weight:800;color:#8d8d8d;padding-bottom:5px}
.st-body strong{display:block;font-size:15px;color:var(--c-black);margin-bottom:7px}
.st-body p{font-size:12.5px;color:#6e8090;line-height:1.9}

/* 6. The LEADERS mo trang phong van */
.member{display:block;position:relative}
.mem-go{display:block;margin-top:13px;font-size:11px;font-weight:850;letter-spacing:.08em;color:var(--c-red);
 opacity:0;transform:translateY(5px);transition:opacity .35s,transform .35s}
.member:hover .mem-go{opacity:1;transform:none}

/* 7 + 8. Khoi luong nam trong 募集職種 */
.saiyo .pay-in-jobs{margin-top:46px;padding-top:40px;border-top:1px solid var(--c-grey)}
.saiyo .pay-in-jobs .block-title{color:var(--c-black)}

/* 10. 応募受付 */
.ap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ap-card{display:flex;gap:16px;padding:24px 22px;background:#fff;border:1px solid #e3ebee;box-shadow:var(--shadow);
 transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s,border-color .3s}
.ap-card:hover{transform:translateY(-5px);box-shadow:0 20px 46px #4D5F7F1f;border-color:#bcd0dd}
.ap-ico{flex:0 0 auto;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;
 background:var(--c-navy);color:#fff;font-size:20px;font-weight:800}
.ap-ico.ap-zalo{background:#0068ff;font-size:12px}
.ap-ico.ap-mes{background:linear-gradient(205deg,#00B2FF 0%,#006AFF 32%,#A033FF 60%,#FF5280 82%,#FF7061 100%)}
.ap-txt{display:flex;flex-direction:column;gap:4px;min-width:0}
.ap-txt strong{font-size:15px;color:var(--c-navy);font-weight:850}
.ap-txt small{font-size:11.5px;color:#8d8d8d}
.ap-txt em{font-style:normal;margin-top:7px;font-size:12px;color:#6e8090;line-height:1.85}
.ap-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:26px}
.ap-step{display:flex;align-items:center;gap:12px;padding:16px 16px;background:#f3f6f8;border-left:3px solid var(--c-navy)}
.ap-step b{font-size:17px;font-weight:850;color:var(--c-red)}
.ap-step span{font-size:12.5px;color:#55707f;line-height:1.7}

@media(max-width:1150px){.st-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
 .st-item:nth-child(n) .st-bar{height:auto}
 .ap-grid{grid-template-columns:1fr}.ap-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:860px){
 .zz-rail{left:27px}
 .zz-item{grid-template-columns:54px 1fr;gap:16px;min-height:0}
 .zz-dot{grid-column:1;width:54px;height:54px}
 .zz-item:nth-child(odd) .zz-card,.zz-item:nth-child(even) .zz-card{grid-column:2;transform:translateY(22px)}
 .zz-item.is-on .zz-card{transform:none}
 .st-list{grid-template-columns:1fr;gap:16px}
 .st-item{flex-direction:row;align-items:center;gap:16px}
 .st-bar{height:auto!important;min-width:96px;border-top:0;border-left:3px solid var(--c-navy);
  transform:none!important;padding:12px 10px}
 .st-item:nth-child(5) .st-bar{border-left-color:var(--c-red)}}
@media(max-width:720px){.ap-steps{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){
 .zz-rail i{transform:scaleY(1)!important;transition:none!important}
 .zz-card,.st-item,.st-bar{opacity:1!important;transform:none!important;transition:none!important}}

/* v14: giao dien chatbot */
.ogc-faq-body{padding:16px 15px;display:flex;flex-direction:column;gap:13px;background:#f5f8fa}
.cb-row{display:flex;gap:9px;align-items:flex-start}
.cb-row.cb-me{justify-content:flex-end}
.cb-av{flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:var(--c-navy);color:#fff;
 display:grid;place-items:center;font-size:11px;font-weight:850}
.cb-bubbles{display:flex;flex-direction:column;gap:7px;max-width:80%}
.cb-msg{background:#fff;border:1px solid #e1e9ef;padding:11px 13px;font-size:12.5px;line-height:1.85;
 color:#3b5363;border-radius:3px 12px 12px 12px}
.cb-me .cb-msg{background:var(--c-navy);color:#fff;border-color:var(--c-navy);
 border-radius:12px 3px 12px 12px;max-width:82%}
.cb-choices{display:flex;flex-direction:column;gap:7px;align-items:flex-end}
.cb-chip{background:#fff;border:1px solid #bcd0dd;color:var(--c-navy);font:inherit;font-size:12px;font-weight:800;
 padding:9px 13px;cursor:pointer;text-align:right;line-height:1.6;border-radius:12px;
 transition:background .2s,border-color .2s,color .2s}
.cb-chip:hover{background:var(--c-navy);border-color:var(--c-navy);color:#fff}
.cb-chip-go{background:var(--c-yellow);border-color:var(--c-yellow);color:var(--c-navy);text-decoration:none}
.cb-chip-go:hover{background:#e8b900;border-color:#e8b900;color:var(--c-navy)}

/* ============================================================
   v15 PHU LUC — theo cach trinh bay .strength-area cua ogishi.co.jp
   ============================================================ */
/* Chu nen lon truot vao tu hai ben */
.og-stage{position:relative;overflow:hidden}
.og-back{position:absolute;top:50%;font-size:clamp(90px,15vw,210px);font-weight:900;letter-spacing:-.04em;
 line-height:1;color:#4D5F7F14;pointer-events:none;user-select:none;white-space:nowrap;z-index:0;
 opacity:0;transition:transform 1.5s cubic-bezier(.22,.61,.36,1),opacity 1.5s ease}
.og-back-l{left:-2%;transform:translate(-200px,-50%)}
.og-back-r{right:-2%;transform:translate(200px,-50%)}
.og-stage.is-on .og-back{opacity:1;transform:translate(0,-50%)}
.og-stage>.wrap,.og-stage>.sg-inner{position:relative;z-index:1}

/* 4. Chuoi buoc 身につくこと */
.sg{margin-top:34px;background:#27425e;padding:clamp(34px,4vw,52px) clamp(22px,3vw,44px)}
.sg .og-back{color:#ffffff12}
.sg-inner{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;position:relative;z-index:1}
.sg-dl{margin:0;padding:0 18px;position:relative;opacity:0;transform:translateY(-10px);
 transition:opacity .62s ease,transform .62s cubic-bezier(.22,1,.36,1)}
.sg.is-on .sg-dl{opacity:1;transform:none}
.sg.is-on .sg-dl:nth-child(1){transition-delay:.10s}
.sg.is-on .sg-dl:nth-child(2){transition-delay:.32s}
.sg.is-on .sg-dl:nth-child(3){transition-delay:.54s}
.sg.is-on .sg-dl:nth-child(4){transition-delay:.76s}
.sg.is-on .sg-dl:nth-child(5){transition-delay:.98s}
.sg-dl+.sg-dl::before{content:"";position:absolute;left:-7px;top:16px;width:14px;height:14px;
 border-top:2px solid var(--c-yellow);border-right:2px solid var(--c-yellow);transform:rotate(45deg)}
.sg-t{font-size:34px;font-weight:850;color:var(--c-yellow);line-height:1;letter-spacing:-.03em;
 padding-bottom:14px;border-bottom:1px solid #ffffff2e;margin-bottom:14px}
.sg-t small{font-size:12px;font-weight:800;margin-left:5px;color:#cfdce6;letter-spacing:.08em}
.sg-d{margin:0}
.sg-d b{display:block;font-size:15px;color:#fff;font-weight:850;margin-bottom:8px}
.sg-d p{font-size:12.5px;color:#bed0dd;line-height:1.95}

/* 2. NEWS kieu trasesco: bai noi bat + danh sach */
.nw{display:grid;grid-template-columns:1.2fr 1fr;gap:26px;align-items:start}
.nw-feat{background:#fff;border:1px solid #e3ebee;box-shadow:var(--shadow);overflow:hidden;
 opacity:0;transform:translateX(-46px);transition:opacity .8s ease,transform .8s cubic-bezier(.22,.61,.36,1)}
.news.is-on .nw-feat{opacity:1;transform:none}
.nw-img{display:block;overflow:hidden}
.nw-img img{width:100%;height:300px;object-fit:cover;transform:scale(1.07);transition:transform 1.5s cubic-bezier(.22,.61,.36,1)}
.news.is-on .nw-feat .nw-img img{transform:scale(1)}
.nw-feat:hover .nw-img img{transform:scale(1.05)}
.nw-body{padding:24px 26px 28px}
.nw-body h3{font-size:19px;line-height:1.6;margin:14px 0 10px;color:var(--c-black)}
.nw-body p{font-size:13px;color:#6e8090;line-height:1.95}
.nw-body time,.nw-txt time{display:block;margin-top:12px;font-size:11px;color:#9aa8b2;letter-spacing:.08em}
.nw-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.nw-row{display:flex;gap:15px;align-items:flex-start;padding:17px 0;border-bottom:1px solid var(--c-grey);
 opacity:0;transform:translateX(46px);transition:opacity .75s ease,transform .75s cubic-bezier(.22,.61,.36,1)}
.nw-row:first-child{padding-top:0}
.news.is-on .nw-row{opacity:1;transform:none}
.news.is-on .nw-row:nth-child(1){transition-delay:.16s}
.news.is-on .nw-row:nth-child(2){transition-delay:.34s}
.nw-thumb{flex:0 0 auto;width:104px;height:74px;overflow:hidden;background:#eef2f5}
.nw-thumb img{width:100%;height:100%;object-fit:cover}
.nw-txt{min-width:0}
.nw-txt b{display:block;margin:9px 0 0;font-size:14px;line-height:1.7;color:var(--c-black);font-weight:850}

@media(max-width:1150px){.sg-inner{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 0}
 .sg-dl:nth-child(4)::before{display:none}}
@media(max-width:950px){.nw{grid-template-columns:1fr;gap:22px}
 .nw-feat{transform:translateY(26px)}.nw-row{transform:translateY(20px)}}
@media(max-width:720px){
 .sg{padding:28px 20px}
 .sg-inner{grid-template-columns:1fr;gap:22px 0}
 .sg-dl{padding:0 0 0 22px}
 .sg-dl+.sg-dl::before{left:2px;top:-14px;transform:rotate(135deg)}
 .sg-t{font-size:28px}
 .nw-img img{height:220px}
 .nw-thumb{width:84px;height:62px}}
@media(prefers-reduced-motion:reduce){
 .og-back,.sg-dl,.nw-feat,.nw-row{opacity:1!important;transform:none!important;transition:none!important}
 .nw-img img{transform:none!important}}

/* v16: nut Messenger tron va muc tin tuc co lien ket */
.ogc-fab-mes{background:#fff;padding:0;overflow:hidden}
.ogc-fab-mes img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.ap-ico.ap-mes{background:#fff;overflow:hidden;padding:0}

a.nw-feat{display:block;color:inherit;text-decoration:none}
a.nw-feat:hover .nw-body h3{color:var(--c-red)}
.nw-more{display:inline-block;margin-top:14px;font-size:11.5px;font-weight:850;color:var(--c-red);
 letter-spacing:.06em;transition:transform .32s cubic-bezier(.22,1,.36,1)}
a.nw-feat:hover .nw-more{transform:translateX(6px)}
.nw-link{display:flex;gap:15px;align-items:flex-start;color:inherit;text-decoration:none;width:100%}
.nw-row{padding:0;border-bottom:1px solid var(--c-grey)}
.nw-row .nw-link{padding:17px 0}
.nw-row:first-child .nw-link{padding-top:0}
.nw-row:hover .nw-txt b{color:var(--c-red)}
.nw-txt b{transition:color .25s}
.nw-thumb img{transition:transform 1s cubic-bezier(.22,.61,.36,1)}
.nw-row:hover .nw-thumb img{transform:scale(1.08)}
.nw-all{display:flex;justify-content:center;margin-top:34px}
.nw-all .btn{margin-top:0}

/* v17: bieu mau lien he */
.ct-grid{grid-template-columns:.92fr 1.08fr}
.fm-wrap{grid-column:1/-1;margin-bottom:34px}
.fm{background:#fff;border:1px solid #e3ebee;box-shadow:var(--shadow);padding:clamp(22px,3vw,34px)}
.fm-tabs{display:flex;gap:0;margin-bottom:24px;border-bottom:1px solid var(--c-grey)}
.fm-tab{background:transparent;border:0;border-bottom:3px solid transparent;font:inherit;font-size:13px;
 font-weight:850;color:#8d8d8d;padding:12px 18px;cursor:pointer;transition:color .25s,border-color .25s}
.fm-tab.is-on{color:var(--c-navy);border-bottom-color:var(--c-red)}
.fm-row{margin-bottom:17px}
.fm-2{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.fm label{display:block;font-size:11.5px;font-weight:850;color:var(--c-navy);letter-spacing:.08em;margin-bottom:7px}
.fm label i{font-style:normal;color:var(--c-red)}
.fm input[type=text],.fm input[type=email],.fm input[type=tel],.fm textarea{
 width:100%;font:inherit;font-size:14px;color:var(--c-black);background:#f7f9fb;
 border:1px solid #dbe3ea;padding:12px 13px;transition:border-color .2s,background .2s}
.fm input:focus,.fm textarea:focus{outline:0;border-color:var(--c-navy);background:#fff}
.fm textarea{resize:vertical;min-height:120px;line-height:1.8}
.fm-check{display:flex;gap:10px;align-items:flex-start;margin:4px 0 20px}
.fm-check input{margin-top:3px;flex:0 0 auto}
.fm-check span{font-size:12px;color:#6e8090;line-height:1.85;font-weight:500;letter-spacing:0}
#fmHoney{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.fm-send{margin-top:0;min-width:200px}
.fm-send[disabled]{opacity:.55;cursor:progress}
.fm-note{margin-top:14px;font-size:12.5px;line-height:1.9;min-height:1.2em}
.fm-note.ok{color:#1d7a3c;font-weight:800}
.fm-note.err{color:var(--c-red);font-weight:800}
@media(max-width:720px){.fm-2{grid-template-columns:1fr}}

/* v18: logo Messenger phong to de khong lo vien trang */
.ogc-fab-mes img{width:124%;height:124%;margin:-12%;object-fit:cover;border-radius:50%;display:block}
.ap-ico.ap-mes img{width:124%;height:124%;margin:-12%;object-fit:cover;border-radius:50%;display:block}

/* v19: thanh chuyen ngon ngu ba quoc ky */
.topline .wrap{gap:14px}
.lang-switch{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;margin-left:auto}
.lang-opt{display:inline-flex;align-items:center;gap:5px;padding:3px 7px 4px;border-radius:4px;
 text-decoration:none;color:inherit;opacity:.55;line-height:1;
 border-bottom:2px solid transparent;transition:opacity .2s,border-color .2s,background .2s}
.lang-opt svg{width:20px;height:14px;display:block;border-radius:2px;
 box-shadow:0 0 0 1px rgba(255,255,255,.45)}
.lang-opt b{font-size:10px;font-weight:800;letter-spacing:.06em}
.lang-opt:hover{opacity:1;background:rgba(255,255,255,.1)}
.lang-opt.is-on{opacity:1;border-bottom-color:var(--c-yellow)}
@media(max-width:860px){
 .topline{display:block}
 .topline .wrap{flex-wrap:wrap;gap:8px}
 .topline-tag{display:none}
 .lang-switch{margin-left:auto}
 .lang-opt b{display:none}
 .lang-opt{padding:3px 5px 4px}
}
@media(max-width:420px){
 .topline .wrap>span:first-child{font-size:9px;max-width:60%;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
}
