
:root{color-scheme:dark;--blue:#0063ef;--ice:#a8e0ff}*{box-sizing:border-box}body{margin:0;background:#04376a;color:#fff;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #a8e0ff;outline-offset:7px}.hero{position:relative;min-height:780px;height:100svh;isolation:isolate;overflow:hidden}.scene{position:absolute;inset:-2.5%;z-index:-3;animation:drift 24s ease-in-out infinite alternate;transform-origin:72% 40%}.scene img{width:100%;height:100%;object-fit:cover;object-position:65% center;display:block}.shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(0,28,69,.4),rgba(0,43,96,.12) 52%,transparent 80%),linear-gradient(180deg,rgba(0,22,54,.28),transparent 23%,transparent 65%,rgba(0,30,72,.65))}.header{height:120px;display:flex;align-items:center;justify-content:space-between;padding:0 4.3%;gap:30px}.brand{display:flex;align-items:center;gap:13px;color:white;text-decoration:none}.brand svg{width:44px;height:44px}.brand-name{font-size:20px;font-weight:800;letter-spacing:.12em;line-height:1.2}.brand-small{display:block;font-size:9px;font-weight:500;letter-spacing:.27em;margin-top:8px}.nav{display:flex;align-items:center;gap:33px}.nav button{background:none;border:0;padding:10px 0;font-size:12px;font-weight:600;letter-spacing:.08em;position:relative}.nav button:after{content:"";height:1px;background:white;position:absolute;bottom:3px;left:0;right:0;transform:scaleX(0);transform-origin:left;transition:transform .25s}.nav button:hover:after{transform:scaleX(1)}.nav .contact{background:#0061e8;padding:18px 24px}.contact span{margin-left:28px}.menu{display:none;background:none;border:1px solid #ffffff70;padding:12px 16px}.content{position:absolute;left:8.1%;top:32%;right:4%;}.eyebrow{display:flex;align-items:center;gap:13px;font-family:Arial,sans-serif;font-size:10px;font-weight:600;letter-spacing:.28em;margin:0 0 32px;color:#c6e8ff;animation:appear 1s .1s both}.eyebrow:before{content:"";width:27px;height:2px;background:#76caff}h1{margin:0;font-family:"Zen Old Mincho","Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK JP",serif;font-size:clamp(38px,4.65vw,78px);font-weight:600;letter-spacing:.025em;line-height:1.62;text-shadow:0 2px 20px #00244b30}.line{display:block;overflow:hidden;white-space:nowrap}.line span{display:block;animation:rise 1.3s cubic-bezier(.16,1,.3,1) .2s both}.line:nth-child(2) span{animation-delay:.36s}.sub{font-size:clamp(12px,1.04vw,16px);font-weight:600;line-height:2.25;letter-spacing:.07em;margin:28px 0 0;animation:appear 1.3s .8s both}.sub span{display:block}.bottom{position:absolute;left:4.3%;right:4.3%;bottom:58px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.signature{font-family:Arial,sans-serif;font-size:clamp(44px,6.5vw,104px);font-weight:700;letter-spacing:-.045em;line-height:.9;color:#ffffff15;user-select:none}.bottom-right{display:flex;align-items:center;gap:20px;padding-bottom:4px}.caption{font-family:Arial,sans-serif;font-size:9px;line-height:1.8;letter-spacing:.2em;text-align:right;color:#d0e9fa}.motion{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid #ffffff65;background:#00366d30;transition:background .2s}.motion:hover{background:#0063ef}.pause{width:9px;height:11px;border-left:2px solid white;border-right:2px solid white}.paused .pause{width:0;height:0;border:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid white;margin-left:3px}.paused .scene{animation-play-state:paused}.edge{position:absolute;bottom:-1px;left:0;width:100%;height:29px;fill:#f7fbff}.side{position:absolute;left:28px;top:49%;writing-mode:vertical-rl;font-family:Arial,sans-serif;font-size:9px;letter-spacing:.23em;color:#b6ddf4}.side:before{content:"";display:inline-block;height:45px;width:1px;background:#b6ddf46b;margin-bottom:17px}.mobile-panel{display:none}dialog{border:1px solid #77b3e940;background:#063366;color:white;max-width:480px;width:calc(100% - 40px);padding:38px;box-shadow:0 30px 100px #00173399}dialog::backdrop{background:#00142b99;backdrop-filter:blur(8px)}dialog h2{font-family:"Zen Old Mincho","Yu Mincho",serif;font-size:28px;margin:0 0 22px}dialog p{font-size:14px;line-height:2;color:#d5e8fa}.close{border:1px solid #ffffff65;background:none;padding:12px 24px;margin-top:15px}.dialog-label{font:10px Arial,sans-serif!important;letter-spacing:.2em;color:#8acaff!important}.menu-links{display:flex;flex-direction:column;gap:14px;margin:20px 0}.menu-links button{background:none;border:0;text-align:left;font-size:18px;padding:8px 0}@keyframes drift{from{transform:scale(1.025) translate3d(0,0,0)}to{transform:scale(1.08) translate3d(-.7%,.6%,0)}}@keyframes rise{from{transform:translateY(105%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes appear{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1800px){.content{top:33%}.sub{margin-top:38px}}@media(max-height:760px) and (min-width:761px){.hero{min-height:640px}.content{top:29%}h1{font-size:clamp(38px,4.3vw,65px)}.eyebrow{margin-bottom:20px}.sub{margin-top:20px}.bottom{bottom:42px}.signature{font-size:68px}}@media(max-width:1000px){.nav{gap:20px}.nav button{font-size:11px}.nav .contact{padding:15px}.contact span{margin-left:12px}.brand-name{font-size:17px}.content{left:7%}.side{left:18px}}@media(max-width:760px){.hero{min-height:720px;max-height:1100px}.header{height:93px;padding:0 6%}.brand{gap:9px}.brand svg{width:34px;height:34px}.brand-name{font-size:16px}.brand-small{font-size:7px;letter-spacing:.22em}.nav{display:none}.menu{display:block;font:10px Arial,sans-serif;letter-spacing:.1em}.scene{inset:-2%;}.scene img{object-position:74% center}.shade{background:linear-gradient(180deg,#00265744,transparent 22%,#002a5d20 35%,#002c64b0 78%,#002953d9),linear-gradient(90deg,#002d5a25,transparent)}.content{left:7%;right:4%;top:auto;bottom:190px}.eyebrow{font-size:8px;letter-spacing:.19em;margin-bottom:22px}.eyebrow:before{width:20px}h1{font-size:clamp(25px,6.8vw,49px);line-height:1.8;letter-spacing:0}.sub{font-size:11px;line-height:2.2;letter-spacing:.015em;margin-top:23px}.bottom{left:7%;right:7%;bottom:54px;align-items:center}.signature{font-size:47px}.caption{display:none}.side{display:none}.edge{height:20px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.scene{transform:scale(1.025)}}
.bottom{justify-content:flex-end}

/* Header v3: transparent navigation and top-attached blue action panels. */
.header{height:112px;padding:0 2.8%;gap:clamp(22px,2.4vw,44px);align-items:center}
.brand{flex-shrink:0;gap:11px}.brand-name{font-size:19px;letter-spacing:.07em}.brand-small{font-size:9px;letter-spacing:.14em}.brand svg{width:43px;height:43px}
.nav{margin-left:auto;gap:clamp(22px,2.4vw,44px)}
.nav button{font-family:"Zen Old Mincho","Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(13px,1.05vw,17px);font-weight:700;letter-spacing:.09em;white-space:nowrap;padding:13px 0}
.header-actions{display:flex;align-self:flex-start;gap:5px;flex-shrink:0}
.header-card{width:clamp(116px,9.5vw,172px);height:104px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;border:0;border-radius:0 0 13px 13px;transition:filter .25s, padding-top .25s;font-family:"Zen Old Mincho","Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(14px,1.12vw,18px);font-weight:700;letter-spacing:.1em}
.header-card svg{width:25px;height:25px}.header-card.recruit{background:linear-gradient(135deg,#0089e8,#00b2ee)}.header-card.inquiry{background:linear-gradient(135deg,#0031df,#008ef5)}.header-card:hover{filter:brightness(1.13);padding-top:10px}
@media(min-width:1800px){.header{height:128px}.header-card{height:119px}.brand-name{font-size:23px}.brand svg{width:48px;height:48px}}
@media(max-width:1100px){.header{gap:22px}.nav{gap:20px}.brand-name{font-size:16px}.brand-small{font-size:8px}.brand svg{width:35px;height:35px}.header-card{width:108px;font-size:13px;height:98px}}
@media(max-width:940px){.header{height:96px;padding:0 5%;gap:15px}.nav{display:none}.header-actions{margin-left:auto}.header-card{height:85px;width:100px;gap:7px;font-size:12px}.header-card svg{width:21px;height:21px}.menu{display:block;font-size:10px;letter-spacing:.1em;padding:12px}}
@media(max-width:600px){.header{height:90px;padding:0 6%;gap:14px}.header-actions{display:none}.brand-name{font-size:16px}.brand-small{font-size:7px}.brand svg{width:34px;height:34px}.menu{margin-left:auto}}

/* v4: editorial typography, staggered lines, quieter negative space. */
.content{left:5.2%;right:3%;top:29.5%}
h1{font-size:clamp(38px,5.15vw,99px);font-weight:500;letter-spacing:.025em;line-height:1.75;text-shadow:none}
.line{overflow:hidden;padding-bottom:.05em}
.line:nth-child(2){margin-left:8.4vw;margin-top:.06em}
.sub{margin:48px 0 0 2.1vw;font-size:clamp(12px,1.04vw,17px);font-weight:600;line-height:2.4;letter-spacing:.08em}
.shade{background:linear-gradient(90deg,rgba(0,29,69,.28),rgba(0,40,86,.12) 45%,transparent 78%),linear-gradient(180deg,rgba(0,22,54,.25),transparent 24%,transparent 59%,rgba(0,30,72,.46))}
.edge{display:none}
@media(min-width:1800px){.content{top:29.5%}.sub{margin-top:58px}}
@media(max-height:760px) and (min-width:761px){.content{top:27%}h1{font-size:clamp(38px,4.85vw,74px);line-height:1.7}.sub{margin-top:30px}.line:nth-child(2){margin-top:0}}
@media(max-width:760px){.content{left:6%;right:4%;top:auto;bottom:166px}h1{font-size:clamp(25px,6.65vw,49px);font-weight:500;line-height:1.95;letter-spacing:.015em}.line:nth-child(2){margin-left:5.8vw;margin-top:.1em}.sub{margin:33px 0 0 .8vw;font-size:11px;letter-spacing:.035em;line-height:2.3}.sub span:first-child{max-width:31em}.shade{background:linear-gradient(180deg,#00265744,transparent 23%,#002a5d20 36%,#002c64b0 78%,#002953d9),linear-gradient(90deg,#002d5a25,transparent)}}

/* v5: wave scroll cue, blue wipe reveal and a rising message section. */
html{scroll-behavior:smooth}
.page{position:relative}.hero{position:sticky;top:0;height:100svh;min-height:680px;z-index:0}
.sub{font-family:"Zen Old Mincho","Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK JP",serif;font-weight:500;font-size:clamp(13px,1.14vw,19px)}
.line{position:relative;width:max-content;max-width:100%;padding:0 .06em .05em 0;--reveal-delay:.2s}
.line:nth-child(2){--reveal-delay:.43s}
.line:after{content:"";position:absolute;inset:12% 0 12%;z-index:1;background:#0764e9;transform:scaleX(0);animation:blue-wipe 1.05s cubic-bezier(.7,0,.2,1) var(--reveal-delay) both;pointer-events:none}
.line>span,.line:nth-child(2)>span{animation:copy-reveal 1.05s linear var(--reveal-delay) both;transform:none}
.sub{animation:appear 1s 1.35s both}
@keyframes blue-wipe{0%{transform:scaleX(0);transform-origin:left}43%{transform:scaleX(1);transform-origin:left}44%{transform:scaleX(1);transform-origin:right}100%{transform:scaleX(0);transform-origin:right}}
@keyframes copy-reveal{0%,43%{opacity:0}44%,100%{opacity:1}}
.scroll-cue{position:absolute;right:3.1%;top:47%;display:flex;align-items:center;flex-direction:column;gap:16px;color:white;text-decoration:none;transition:opacity .25s}
.scroll-cue span{writing-mode:vertical-rl;font-family:Arial,sans-serif;font-size:10px;font-weight:600;letter-spacing:.17em}
.scroll-cue svg{width:24px;height:clamp(135px,25vh,240px);overflow:visible}.wave-track{stroke:#ffffff55;stroke-width:1}.wave-flow{stroke:white;stroke-width:1.5;stroke-linecap:round;stroke-dasharray:24 76;animation:wave-travel 2.8s linear infinite}.scroll-cue:hover .wave-track{stroke:#fff}
@keyframes wave-travel{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
.paused .wave-flow{animation-play-state:paused}.bottom{bottom:32px}
.about{position:relative;z-index:2;margin-top:100px;background:#f2f7fa;color:#063b78;padding:110px 7.3% 150px;min-height:850px;scroll-margin-top:125px}
.about-wave{position:absolute;left:0;top:-139px;width:100%;height:140px;fill:#f2f7fa;pointer-events:none}
.about-inner{max-width:1480px;margin:auto;display:grid;grid-template-columns:1.08fr 1fr;gap:7vw;align-items:start}
.message-label{margin:0 0 32px;color:#1764b3;font:italic 19px Georgia,"Times New Roman",serif;letter-spacing:.025em}
.about h2{margin:0;white-space:nowrap;font-family:"Zen Old Mincho","Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK JP",serif;font-weight:500;font-size:clamp(34px,4.35vw,73px);line-height:1.5;letter-spacing:.04em}
.about-copy{padding-top:57px;font-family:"Zen Old Mincho","Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK JP",serif;font-size:clamp(14px,1.2vw,19px);font-weight:500;line-height:2.5;letter-spacing:.045em}
.about-copy p{margin:0 0 29px}.about-copy .about-lead{font-size:clamp(24px,2.25vw,37px);line-height:1.9;letter-spacing:.08em;margin-bottom:38px}.about-copy .about-closing{margin-top:38px;margin-bottom:0}
.about-inner.is-observed{opacity:0;transform:translateY(35px);transition:opacity 1s,transform 1.2s cubic-bezier(.16,1,.3,1)}.about-inner.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:1000px){.about-inner{grid-template-columns:1fr 1fr;gap:5vw}.about{padding-left:6%;padding-right:6%}.about-copy{font-size:14px;letter-spacing:0}}
@media(max-width:760px){.hero{height:100svh;min-height:720px;max-height:none}.sub{font-size:12px;letter-spacing:.025em}.sub span:first-child{max-width:29em}.scroll-cue{right:3.5%;top:auto;bottom:74px;gap:10px}.scroll-cue span{font-size:8px}.scroll-cue svg{height:96px;width:17px}.bottom{bottom:23px;right:3%}.motion{width:30px;height:30px}.about{margin-top:65px;padding:64px 8% 90px;min-height:0;scroll-margin-top:65px}.about-wave{height:85px;top:-84px}.about-inner{display:block}.message-label{font-size:16px;margin-bottom:19px}.about h2{font-size:clamp(32px,8vw,50px)}.about-copy{padding-top:43px;font-size:14px;letter-spacing:.01em;line-height:2.35}.about-copy .about-lead{font-size:27px;margin-bottom:29px}.about-copy p{margin-bottom:26px}.about-copy .about-closing{margin-top:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.line:after{display:none}.line>span{opacity:1}.about-inner.is-observed{opacity:1;transform:none}}

/* v6: centered message and scroll-linked wheel navigation. */
.about-inner{display:block;max-width:850px;text-align:center}.message-label{font:500 12px Arial,sans-serif;letter-spacing:.16em;margin-bottom:25px}.about-copy{padding-top:45px;font-size:17px;line-height:2.4}.about-copy .about-lead{font-size:29px;margin-bottom:27px}.about{padding-bottom:135px}.about h2{font-size:clamp(36px,4.3vw,66px)}
.business{position:relative;z-index:3;background:white;color:#073b70;height:340vh;height:340svh;--turn:0deg}
.business-sticky{position:sticky;top:0;height:100vh;height:100svh;min-height:650px;padding:65px 7.3% 45px;display:grid;grid-template-columns:1fr 1.12fr;align-items:center;gap:7vw;max-width:1800px;margin:auto}
.business-left{align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-width:0}.business-heading h2{font:500 clamp(27px,2.35vw,42px)/1.5 "Zen Old Mincho","Yu Mincho","Hiragino Mincho ProN",serif;letter-spacing:.14em;margin:0 0 10px}.business-heading p{font:12px Arial,sans-serif;letter-spacing:.16em;color:#0874d5;margin:0}.helm-stage{position:relative;width:100%;height:clamp(290px,38vh,440px);margin-top:22px}#helm{position:absolute;width:30%;height:auto;left:35%;top:50%;margin-top:-15%;color:#104775;transform:rotate(var(--turn));will-change:transform}.orbit-label{position:absolute;left:50%;top:50%;border:0;background:transparent;padding:16px 6px;white-space:nowrap;font-family:"Zen Old Mincho","Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(18px,1.6vw,27px);letter-spacing:.12em;color:#8696a5;font-weight:500;transition:color .35s,font-size .35s;transform:translate(-50%,-50%)}.orbit-label.active{color:#003e7e;font-size:clamp(26px,2.2vw,38px);font-weight:600}.orbit-label:hover{color:#0874d5}.business-hint{margin:20px 0 0;font-size:11px;letter-spacing:.1em;color:#7b8fa1}.business-right{min-width:0}.service-name{font:12px Arial,sans-serif;color:#1379c8;letter-spacing:.1em;margin:0 0 16px}.service-name span{font:500 18px "Zen Old Mincho","Yu Mincho","Hiragino Mincho ProN",serif;letter-spacing:.08em;margin-left:12px}.service-panel h3{font:500 clamp(25px,2.6vw,43px)/1.6 "Zen Old Mincho","Yu Mincho","Hiragino Mincho ProN",serif;letter-spacing:.035em;margin:0 0 24px}.service-photo{width:100%;height:clamp(180px,28vh,340px);background-image:var(--service-photos);background-size:300% auto;background-repeat:no-repeat;background-position-y:center}.photo-0{background-position-x:0%}.photo-1{background-position-x:50%}.photo-2{background-position-x:100%}.service-description{font:500 clamp(13px,1.05vw,17px)/2.1 "Zen Old Mincho","Yu Mincho","Hiragino Mincho ProN",serif;color:#5c7083;margin:24px 0 0}.service-panel:not([hidden]){animation:service-in .55s ease both}.service-dots{display:flex;justify-content:center;gap:13px;margin-top:22px}.service-dots button{width:9px;height:9px;border:0;border-radius:50%;padding:0;background:#c9d6e1;position:relative}.service-dots button:before{content:"";position:absolute;inset:-8px}.service-dots button.active{background:#084578}.page-end{position:relative;z-index:3;padding:35px;text-align:center;background:#fff}.page-end a{color:#56738e;font-size:12px;text-decoration:none}@keyframes service-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:1000px){.business-sticky{padding:45px 5%;gap:4vw}.about-copy{font-size:16px}}
@media(max-width:760px){.about-inner{display:block}.about-copy{font-size:14px;padding-top:35px}.about-copy .about-lead{font-size:25px}.about{padding-bottom:85px}.message-label{font-size:11px}.business-sticky{display:flex;flex-direction:column;gap:10px;justify-content:center;padding:20px 7%;min-height:640px}.business-left{width:100%;align-self:auto;display:block}.business-heading h2{font-size:24px;margin-bottom:4px}.business-heading p{font-size:9px}.helm-stage{height:160px;margin-top:2px;width:80%;margin-left:auto;margin-right:auto}#helm{width:66px;left:calc(50% - 33px);margin-top:-33px}.orbit-label{font-size:15px;padding:10px 3px}.orbit-label.active{font-size:22px}.business-hint{display:none}.business-right{width:100%}.service-name{font-size:10px;margin-bottom:7px}.service-name span{font-size:14px}.service-panel h3{font-size:23px;line-height:1.45;margin-bottom:13px}.service-photo{height:clamp(130px,21svh,200px)}.service-description{font-size:12px;line-height:1.85;margin-top:12px}.service-dots{margin-top:14px}.business{height:340svh}}
@media(prefers-reduced-motion:reduce){.business{height:auto}.business-sticky{position:relative;height:auto;min-height:0;padding-top:70px;padding-bottom:70px}.orbit-label{transition:none}.service-panel:not([hidden]){animation:none}}

.business{--service-photos:none}

/* v7: blue section, white rounded panel and an orbit of tilted ellipses. */
.business{background:#075bc8;color:#073b70}
.business-sticky{display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:22px;max-width:none;padding:30px 4% 35px;min-height:680px}
.business-heading{padding-left:2.8%;flex-shrink:0;color:white}
.business-heading h2{font-size:clamp(26px,2.2vw,37px);margin:0 0 5px;letter-spacing:.12em}
.business-heading p{color:#bbddff;font-size:11px;letter-spacing:.16em}
.business-card{display:grid;grid-template-columns:1fr 1.05fr;gap:5%;align-items:center;width:100%;max-width:1680px;margin:0 auto;background:#fff;border-radius:38px;padding:clamp(28px,3.2vw,55px) 5%;flex:1;min-height:0;max-height:720px}
.business-left{display:flex;align-self:stretch;justify-content:center;align-items:center}
.helm-stage{width:100%;max-width:490px;height:auto;aspect-ratio:1.08;margin:0;isolation:isolate}
#helm{width:19%;height:auto;left:40.5%;top:50%;margin-top:-9.5%;z-index:4;color:#084c8b;background:white;border-radius:50%;padding:5px}
.orbit-label{width:49%;height:31%;padding:0;border:0;background:transparent;isolation:isolate;display:flex;align-items:center;justify-content:center;color:#75869a;transition:color .4s;font-size:clamp(17px,1.8vw,29px);font-weight:500;letter-spacing:.055em;z-index:1}
.orbit-label:before{content:"";position:absolute;inset:0;z-index:-1;border:1px dashed #9cbbd8;border-radius:50%;background:#f9fcff;transform:rotate(-32deg);transition:transform .55s,background .4s,border-color .4s,box-shadow .4s}
.orbit-label.active{color:#fff;font-size:clamp(22px,2.2vw,35px);font-weight:500;z-index:3}
.orbit-label.active:before{background:linear-gradient(135deg,#35b8f1 0%,#0877de 48%,#1546b4 100%);border-color:transparent;transform:rotate(-32deg) scale(1.17);box-shadow:0 14px 28px #0b6bc017}
.orbit-label:hover{color:#075bc8}.orbit-label.active:hover{color:white}.orbit-label:not(.active):hover:before{background:#edf7ff;border-color:#0867c8}.orbit-text{position:relative;display:block;white-space:nowrap}
.business-hint{margin-top:12px;font-size:10px;color:#8b9fb2;letter-spacing:.06em;text-align:center}
.service-panel h3{font-size:clamp(24px,2.3vw,38px);margin-bottom:18px}.service-name{margin-bottom:12px}.service-photo{height:clamp(150px,26vh,290px);border-radius:12px}.service-description{font-size:clamp(13px,1vw,16px);margin-top:18px;line-height:2}.service-dots{margin-top:17px}
.page-end{background:#075bc8}.page-end a{color:#d2e8ff}
@media(min-width:1800px){.business-heading{max-width:1680px;width:100%;margin:0 auto;padding-left:0}.business-card{max-height:820px}}
@media(max-height:760px) and (min-width:761px){.business-sticky{padding-top:20px;padding-bottom:20px;gap:14px;min-height:640px}.business-card{padding-top:24px;padding-bottom:24px}.service-photo{height:180px}.service-panel h3{font-size:27px;line-height:1.5}.service-description{font-size:13px}.helm-stage{max-width:390px}.business-heading h2{font-size:27px}}
@media(max-width:760px){.business-sticky{padding:18px 4% 20px;gap:14px;min-height:720px;justify-content:flex-start}.business-heading{padding-left:3%}.business-heading h2{font-size:25px;margin-bottom:4px}.business-heading p{font-size:10px}.business-card{display:flex;flex-direction:column;gap:10px;padding:15px 7% 20px;border-radius:26px;justify-content:center;max-height:none}.business-left{display:block;align-self:auto;width:100%}.helm-stage{width:88%;max-width:290px;height:210px;aspect-ratio:auto;margin:0 auto}.orbit-label{width:49%;height:32%;font-size:16px}.orbit-label.active{font-size:21px}.orbit-label.active:before{transform:rotate(-32deg) scale(1.12)}#helm{width:20%;left:40%;margin-top:-10%;padding:3px}.business-hint{display:none}.service-name{margin-bottom:5px;font-size:9px}.service-name span{font-size:13px}.service-panel h3{font-size:21px;line-height:1.4;margin-bottom:12px}.service-photo{height:clamp(125px,18svh,180px);border-radius:8px}.service-description{font-size:12px;line-height:1.75;margin-top:10px}.service-dots{margin-top:12px}}
@media(prefers-reduced-motion:reduce){.business-sticky{height:auto;min-height:0;padding-top:45px;padding-bottom:45px}.business-card{min-height:550px}.orbit-label:before{transition:none}}

/* v8: fleet floating on a continuous water surface. */
.business-heading h2{font-size:clamp(34px,3.2vw,52px);line-height:1.3;margin-bottom:9px}.business-heading p{font-size:16px;letter-spacing:.15em}.business-sticky{gap:25px}
#helm{background:transparent;border-radius:0;padding:0}
.fleet{position:relative;isolation:isolate;z-index:3;overflow:hidden;background:linear-gradient(180deg,#edf8ff 0%,#d8f1fb 38%,#abdce9 70%,#c7e8f0 100%);color:#093c6c;padding:130px 5% 85px}
.fleet-crest{position:absolute;top:-1px;left:0;width:100%;height:65px;fill:#075bc8;z-index:-1}.fleet-sea{position:absolute;inset:32% -4% -8%;z-index:-2;background-image:linear-gradient(180deg,#d5f0fb 0%,#c2e6ef40 38%,#d6eef080 100%),var(--fleet-ocean);background-size:cover;background-position:center;opacity:.16;filter:saturate(.4)}
.fleet-heading{text-align:center}.fleet-heading>p{font:500 14px Arial,sans-serif;letter-spacing:.16em;color:#2876b3;margin:0 0 18px}.fleet-heading h2{font:500 clamp(36px,3.6vw,58px)/1.4 "Zen Old Mincho","Yu Mincho","Hiragino Mincho ProN",serif;letter-spacing:.15em;margin:0}.fleet-intro{font:500 15px/1.8 "Zen Old Mincho","Yu Mincho","Hiragino Mincho ProN",serif;letter-spacing:.09em;margin-top:22px;color:#547e97}
.vessel-lineup{max-width:1500px;margin:55px auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3%;align-items:start;padding-bottom:40px}
.vessel{position:relative;border:0;padding:0 0 20px;margin:50px 0 0;display:block;background:none;color:inherit;text-align:center;isolation:isolate;min-width:0}.vessel-1{margin-top:0}.vessel-art{display:block;width:100%;aspect-ratio:1;background-image:var(--fleet-sprite);background-size:300% 100%;background-repeat:no-repeat;transform-origin:50% 83%;filter:drop-shadow(0 13px 7px #12497118);position:relative;z-index:1;animation:boat-bob 3.8s ease-in-out infinite;animation-play-state:paused;transition:filter .4s}.vessel-0 .vessel-art{background-position:0 0}.vessel-1 .vessel-art{background-position:50% 0}.vessel-2 .vessel-art{background-position:100% 0}
.vessel:hover .vessel-art,.vessel:focus-visible .vessel-art,.vessel[aria-expanded="true"] .vessel-art{animation-play-state:running;filter:drop-shadow(0 21px 10px #12497120)}
@keyframes boat-bob{0%,100%{transform:translateY(0) rotate(0)}25%{transform:translateY(-8px) rotate(-1.1deg)}60%{transform:translateY(-3px) rotate(1deg)}80%{transform:translateY(-9px) rotate(.3deg)}}
.vessel-water{position:absolute;top:54%;left:9%;width:82%;height:19%;border-radius:50%;background:radial-gradient(ellipse,#2b849126,transparent 67%);z-index:0;pointer-events:none}.vessel-water:before,.vessel-water:after{content:"";position:absolute;inset:5%;border-radius:50%;border:1px solid #f5ffffb0;opacity:.45;transform:scale(.9);animation:ripple-spread 3.2s ease-out infinite;animation-play-state:paused}.vessel-water:after{inset:17%;animation-delay:-1.6s}.vessel:hover .vessel-water:before,.vessel:hover .vessel-water:after,.vessel:focus-visible .vessel-water:before,.vessel:focus-visible .vessel-water:after,.vessel[aria-expanded="true"] .vessel-water:before,.vessel[aria-expanded="true"] .vessel-water:after{animation-play-state:running}
@keyframes ripple-spread{0%{transform:scale(.85);opacity:.8}100%{transform:scale(1.5,1.8);opacity:0}}
.vessel-name{font:500 clamp(19px,1.8vw,29px)/1.5 "Zen Old Mincho","Yu Mincho","Hiragino Mincho ProN",serif;letter-spacing:.07em;display:block;margin-top:-17px;position:relative;z-index:2}.vessel-arrow{display:inline-block;font:18px Arial,sans-serif;margin-left:16px;transition:transform .3s}.vessel:hover .vessel-arrow{transform:translate(3px,-3px)}.vessel-caption{display:block;font:500 12px/1.8 "Zen Old Mincho","Yu Mincho","Hiragino Mincho ProN",serif;margin-top:12px;letter-spacing:.04em;color:#51778d}
.fleet-summary{text-align:center;font:500 15px/2.2 "Zen Old Mincho","Yu Mincho","Hiragino Mincho ProN",serif;letter-spacing:.04em;margin:10px auto 0;color:#3a677f}
.fleet-detail{position:relative;max-width:770px;margin:0 auto 35px;padding:28px 75px 28px 30px;border-top:1px solid #6cabb45c;border-bottom:1px solid #6cabb45c;text-align:left;animation:service-in .5s ease}.fleet-detail h3{font:500 22px "Zen Old Mincho","Yu Mincho",serif;margin:0 0 13px}.fleet-detail p{font-size:14px;line-height:2;margin:0;color:#466f87}.fleet-detail button{position:absolute;right:14px;top:22px;border:0;background:none;font-size:11px;color:#426c81}
.page-end{background:#c7e8f0}.page-end a{color:#3b6c85}
@media(max-height:760px) and (min-width:761px){.business-heading h2{font-size:34px}.business-heading p{font-size:14px}.business-sticky{gap:18px}.business-card{padding-top:20px;padding-bottom:20px}.service-photo{height:165px}}
@media(max-width:760px){.business-heading h2{font-size:31px}.business-heading p{font-size:13px}.business-sticky{gap:16px}.business-card{padding-top:10px;padding-bottom:15px}.fleet{padding:100px 7% 60px}.fleet-crest{height:40px}.fleet-heading>p{font-size:12px}.fleet-heading h2{font-size:36px}.fleet-intro{font-size:13px;margin-top:17px}.vessel-lineup{grid-template-columns:1fr;margin-top:15px;gap:0;padding-bottom:25px;max-width:410px}.vessel{width:88%;margin:15px 0 0;justify-self:start}.vessel-1{justify-self:end;margin-top:0}.vessel-2{margin-top:0}.vessel-name{font-size:23px;margin-top:-5px}.vessel-caption{font-size:12px;margin-top:8px}.fleet-summary{font-size:13px;line-height:2.15;max-width:27em}.fleet-detail{padding:25px 20px}.fleet-detail h3{font-size:20px}.fleet-detail p{font-size:13px}.fleet-sea{inset:15% -15% 0;background-size:auto 100%}}
@media(hover:none) and (prefers-reduced-motion:no-preference){.vessel-art{animation-play-state:running;animation-duration:5s}.vessel-1 .vessel-art{animation-delay:-1.6s}.vessel-2 .vessel-art{animation-delay:-3s}}
@media(prefers-reduced-motion:reduce){.vessel-art,.vessel-water:before,.vessel-water:after{animation:none!important}}

.fleet{--fleet-sprite:none;--fleet-ocean:none}

/* v9: three distinct rounded vessel cards, retaining the floating ships. */
.vessel-lineup{gap:3%;padding-bottom:45px;align-items:start}
.vessel{border:1px solid rgba(255,255,255,.88);border-radius:30px;background:linear-gradient(165deg,rgba(255,255,255,.91),rgba(237,250,255,.72) 55%,rgba(214,240,248,.8));padding:14px 15px 34px;box-shadow:0 12px 35px rgba(13,73,106,.055);transition:background .35s,border-color .35s,box-shadow .35s;overflow:hidden}
.vessel:hover,.vessel:focus-visible,.vessel[aria-expanded="true"]{border-color:rgba(73,153,196,.6);box-shadow:0 18px 45px rgba(13,73,106,.11);background:linear-gradient(165deg,#fff,rgba(235,249,255,.94) 55%,rgba(207,237,248,.94))}
.vessel-water{top:53%;left:9%;width:82%;height:17%}
.vessel-name{margin-top:0;font-size:clamp(18px,1.65vw,27px)}
.vessel-caption{margin-top:12px}
@media(max-width:760px){.vessel-lineup{gap:23px;margin-top:35px;padding-bottom:30px}.vessel{width:100%;margin:0;justify-self:stretch;padding:8px 15px 28px;border-radius:26px}.vessel-1,.vessel-2{margin-top:0;justify-self:stretch}.vessel-name{font-size:23px;margin-top:0}.vessel-caption{margin-top:9px}}

/* v10: clearer water rings, a stronger edge and more visible buoyancy. */
.vessel{border-width:2px;border-color:rgba(255,255,255,.94);background:linear-gradient(165deg,#f5fcff 0%,#d5edf6 37%,#91cbdc 72%,#c1e4ee 100%)}
.vessel:hover,.vessel:focus-visible,.vessel[aria-expanded="true"]{border-color:#78b7d2;background:linear-gradient(165deg,#f5fcff 0%,#cce8f3 37%,#78bdd3 72%,#b2dce9 100%)}
.vessel-art{animation-name:boat-bob-clear;animation-duration:3.5s;filter:drop-shadow(0 13px 7px #12497124)}
@keyframes boat-bob-clear{0%,100%{transform:translateY(2px) rotate(-.4deg)}25%{transform:translateY(-16px) rotate(-2.3deg)}52%{transform:translateY(-5px) rotate(1.8deg)}77%{transform:translateY(-19px) rotate(.8deg)}}
.vessel-water{top:53%;left:10%;width:80%;height:18%;background:radial-gradient(ellipse,#236d8b40 0%,#438fa324 45%,transparent 72%)}
.vessel-water:before,.vessel-water:after{border:2px solid rgba(250,255,255,.97);box-shadow:0 0 0 1px rgba(40,117,147,.14),0 0 10px rgba(240,255,255,.18);animation-name:ripple-spread-clear;animation-duration:2.6s;opacity:.7}
.vessel-water:after{animation-delay:-1.3s}
@keyframes ripple-spread-clear{0%{transform:scale(.6,.7);opacity:0}16%{opacity:.95}70%{opacity:.55}100%{transform:scale(1.38,1.9);opacity:0}}
@media(hover:none) and (prefers-reduced-motion:no-preference){.vessel-art{animation-duration:4s}.vessel-water:before,.vessel-water:after{animation-play-state:running}}
@media(prefers-reduced-motion:reduce){.vessel-art,.vessel-water:before,.vessel-water:after{animation:none!important}}

/* v11: floating white header, recruitment banner and wave footer. */
.header{position:fixed;left:0;right:0;top:0;z-index:50;transition:background .3s,color .3s,box-shadow .3s,border-radius .3s,top .3s,left .3s,right .3s;height:112px}
.header.is-scrolled{top:16px;left:20px;right:20px;height:86px;padding:0 24px;background:rgba(255,255,255,.97);color:#092f5b;border-radius:20px;box-shadow:0 7px 24px #032d6920}
.header.is-scrolled .brand{color:#092f5b}.header.is-scrolled .nav button:after{background:#075bc8}.header.is-scrolled .header-actions{position:relative;top:-16px}.header.is-scrolled .header-card{height:92px;color:white}.header.is-scrolled .menu{border-color:#063b7844}
.business-sticky{top:112px;height:calc(100svh - 112px);min-height:560px;padding-top:18px;padding-bottom:25px;gap:16px}.business-card{padding-top:24px;padding-bottom:24px}.business-heading h2{font-size:clamp(32px,2.8vw,46px)}.business-heading p{font-size:15px}.service-photo{height:clamp(145px,22vh,260px)}
#fleet,#recruit{scroll-margin-top:115px}
.recruit-section{position:relative;z-index:3;background:#eef5f9;padding:105px 5.5% 170px}.recruit-banner{display:block;position:relative;width:100%;min-height:530px;max-width:1680px;margin:auto;padding:65px 7%;border:0;border-radius:30px;overflow:hidden;text-align:left;background:linear-gradient(115deg,#062b68,#09377b 55%,#085397);color:#fff;isolation:isolate}.recruit-content{display:block;position:relative;z-index:2;width:58%;pointer-events:none}.recruit-en{display:block;font:400 clamp(40px,5vw,78px)/1.1 Arial,sans-serif;letter-spacing:-.03em}.recruit-label{display:block;font-size:14px;letter-spacing:.13em;margin-top:12px;color:#c3dcf4}.recruit-title{display:block;font:500 clamp(27px,2.8vw,44px)/1.75 "Zen Old Mincho","Yu Mincho","Hiragino Mincho ProN",serif;letter-spacing:.07em;margin-top:36px}.recruit-description{display:block;font:500 14px/2 "Zen Old Mincho","Yu Mincho","Hiragino Mincho ProN",serif;color:#d4e6f7;margin-top:20px}.recruit-link{display:flex;align-items:center;justify-content:space-between;max-width:250px;font-size:16px;letter-spacing:.04em;padding-bottom:15px;border-bottom:1px solid #c1d7ed90;margin-top:38px}.recruit-link>span{display:grid;place-items:center;width:36px;height:28px;background:#fff;color:#0b4986;border-radius:25px;transition:transform .3s}.recruit-banner:hover .recruit-link>span{transform:translateX(6px)}.recruit-film{position:absolute;width:31%;height:180%;right:8%;top:-35%;transform:rotate(13deg);z-index:0;pointer-events:none}.film-track{display:flex;flex-direction:column;gap:22px;animation:film-scroll 32s linear infinite}.film-frame{flex:none;display:block;aspect-ratio:1.3;background-size:300% auto;background-repeat:no-repeat;background-position-y:center}.frame-cargo{background-image:var(--recruit-photos);background-position-x:0%}.frame-port{background-image:var(--recruit-photos);background-position-x:50%}.frame-sea{background-image:var(--recruit-ocean);background-size:cover;background-position:72% center}.recruit-banner:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,transparent 35%,#052b6830 64%,transparent 90%)}
@keyframes film-scroll{from{transform:translateY(0)}to{transform:translateY(calc(-50% - 11px))}}
.footer{position:relative;z-index:4;background:linear-gradient(180deg,#073897,#0059c8);color:white;padding:15px 6% 55px}.footer-wave{position:absolute;bottom:calc(100% - 1px);left:0;width:100%;height:130px}.footer-top{display:flex;flex-direction:column;align-items:center;gap:10px;margin:0 auto 85px;width:max-content;color:white;text-decoration:none;font-size:11px;letter-spacing:.08em}.footer-top>span{font:38px/1 Arial,sans-serif;transition:transform .3s}.footer-top:hover>span{transform:translateY(-5px)}.footer-main{max-width:1560px;margin:auto;display:grid;grid-template-columns:1fr 1.5fr;gap:8%}.footer-identity .brand svg{width:63px;height:63px}.footer-identity .brand-name{font-size:27px}.footer-identity .brand-small{font-size:10px}.footer-identity>p{font:500 16px/2 "Zen Old Mincho","Yu Mincho","Hiragino Mincho ProN",serif;margin:28px 0 0 76px;letter-spacing:.06em;color:#d5e7fc}.footer-nav{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:20px}.footer-nav>div{display:flex;flex-direction:column;gap:24px}.footer-nav a,.footer-nav button{display:flex;align-items:center;gap:10px;text-decoration:none;color:white;background:none;border:0;padding:0;text-align:left;font:500 clamp(12px,1.1vw,17px)/1.8 "Zen Old Mincho","Yu Mincho","Hiragino Mincho ProN",serif;white-space:nowrap}.footer-nav a:before,.footer-nav button:before{content:"›";display:grid;place-items:center;width:20px;height:20px;border:1px solid #d1e4ffb0;border-radius:50%;font:15px Arial,sans-serif;flex:none;transition:background .25s}.footer-nav a:hover:before,.footer-nav button:hover:before{background:#ffffff30}.footer-bottom{display:flex;align-items:flex-end;justify-content:space-between;max-width:1560px;margin:70px auto 0;gap:30px}.footer-contact{text-align:left;background:#ffffff0d;color:white;border:1px solid #ffffff55;padding:25px 30px;border-radius:8px;width:49%;max-width:610px;font:500 15px/1.8 "Zen Old Mincho","Yu Mincho",serif}.footer-contact>span{display:flex;justify-content:space-between;align-items:center;font-size:23px;margin-top:13px}.footer-contact b{font:26px Arial,sans-serif;font-weight:400}.footer-bottom small{font:10px Arial,sans-serif;letter-spacing:.12em;color:#d6e9ff}
@media(max-width:1100px){.header.is-scrolled{padding:0 18px}.footer-main{grid-template-columns:1fr;gap:45px}.footer-nav{max-width:780px}.recruit-banner{padding:50px 6%}.recruit-description{max-width:25em}}
@media(max-width:760px){.header{height:90px}.header.is-scrolled{left:10px;right:10px;top:10px;height:68px;padding:0 15px;border-radius:14px}.header.is-scrolled .header-actions{top:-10px}.header.is-scrolled .header-card{height:70px;width:85px;font-size:11px;gap:5px}.header.is-scrolled .brand-name{font-size:15px}.business-sticky{top:85px;height:calc(100svh - 85px);min-height:690px;padding-top:12px}.business-heading h2{font-size:31px}.business-heading p{font-size:13px}.business-card{padding-top:10px;padding-bottom:15px}.service-photo{height:clamp(125px,18svh,180px)}.recruit-section{padding:70px 5% 110px}.recruit-banner{min-height:600px;padding:35px 8%;border-radius:23px}.recruit-content{width:100%}.recruit-en{font-size:49px}.recruit-label{font-size:12px}.recruit-title{font-size:29px;line-height:1.65;margin-top:29px}.recruit-description{font-size:12px;max-width:19em}.recruit-link{margin-top:34px;max-width:195px;font-size:14px}.recruit-film{width:47%;right:-2%;height:160%;top:-4%;opacity:.35;z-index:0}.recruit-banner:after{background:linear-gradient(90deg,#062b6880,transparent)}.film-track{gap:16px}.footer{padding:10px 7% 35px}.footer-wave{height:75px}.footer-top{margin-bottom:48px}.footer-identity .brand-name{font-size:22px}.footer-identity .brand svg{width:50px;height:50px}.footer-identity>p{margin-left:62px;font-size:14px}.footer-main{gap:38px}.footer-nav{grid-template-columns:1fr 1fr;gap:28px 17px}.footer-nav>div{gap:18px}.footer-nav>div:last-child{grid-column:1/-1}.footer-nav a,.footer-nav button{font-size:13px}.footer-bottom{margin-top:40px;display:block}.footer-contact{width:100%;padding:20px;font-size:13px}.footer-contact>span{font-size:20px}.footer-bottom small{display:block;margin-top:35px;text-align:right}}
@media(prefers-reduced-motion:reduce){.film-track{animation:none}.business-sticky{position:relative;top:auto;height:auto;min-height:0}}

.recruit-section{--recruit-photos:none;--recruit-ocean:none}

/* Recruitment: two independently moving image planes. */
.recruit-banner{min-height:560px;padding:76px 6.2%;background:radial-gradient(ellipse at 57% 53%,#18588c 0%,#103f76 38%,#082c60 78%);border-radius:28px}
.recruit-content{width:49%;z-index:3}
.recruit-en{font-family:Arial,"Helvetica Neue",sans-serif;font-weight:400;font-size:clamp(54px,6.3vw,94px);letter-spacing:-.045em;line-height:1.05}
.recruit-label{font-size:14px;margin-top:18px;color:#e1edf8}
.recruit-title{font-size:clamp(21px,2vw,30px);line-height:1.85;margin-top:54px;letter-spacing:.06em}
.recruit-description{max-width:25em;font-size:13px;margin-top:10px;line-height:2;color:#c9dcee}
.recruit-link{margin-top:46px;max-width:225px;font-size:15px;padding-bottom:17px}
.recruit-film{height:auto;pointer-events:none;transform-origin:50% 0;will-change:transform}
.recruit-film--front{width:27%;right:8.5%;top:-230px;z-index:2;opacity:1;transform:translateY(var(--recruit-near,0px)) matrix(1,.30,-.16,.97,0,0)}
.recruit-film--back{width:10%;right:auto;left:45%;top:-370px;z-index:0;opacity:.27;filter:blur(4px) saturate(.45);transform:translateY(var(--recruit-far,0px)) matrix(1,.30,-.16,.97,0,0)}
.recruit-film .film-track{display:flex;flex-direction:column;gap:0;animation:recruit-flow 30s linear infinite;will-change:transform}
.recruit-film--back .film-track{animation-duration:65s;animation-delay:-23s}
.film-group{display:flex;flex-direction:column;gap:20px;padding-bottom:20px;flex:none}
.recruit-film--back .film-group{gap:13px;padding-bottom:13px}
.recruit-film .film-frame{width:100%;aspect-ratio:1.3;flex:none;box-shadow:none}
.recruit-film--back .film-frame{aspect-ratio:1.02}
.recruit-banner:after{z-index:1;background:linear-gradient(90deg,#082c6038 0%,transparent 44%,#12508715 68%,transparent 100%)}
@keyframes recruit-flow{from{transform:translateY(0)}to{transform:translateY(-50%)}}
@media(min-width:1600px){.recruit-banner{min-height:640px}.recruit-film--front{top:-300px}}
@media(max-width:800px){
.recruit-banner{min-height:580px;padding:48px 7%;border-radius:23px}
.recruit-content{width:72%}.recruit-en{font-size:58px}.recruit-label{font-size:12px;margin-top:13px}
.recruit-title{font-size:24px;margin-top:58px}.recruit-description{font-size:12px;max-width:18em}
.recruit-link{max-width:195px;margin-top:42px}
.recruit-film--front{width:39%;right:-11%;top:-180px;opacity:.75}
.recruit-film--back{width:15%;left:63%;top:-280px;opacity:.23;filter:blur(3px)}
.recruit-banner:after{background:linear-gradient(90deg,#082c6020 20%,#082c6030 52%,transparent 100%)}
.recruit-film .film-group{gap:15px;padding-bottom:15px}
.recruit-film--back .film-group{gap:10px;padding-bottom:10px}
}
@media(prefers-reduced-motion:reduce){.recruit-film .film-track{animation:none}.recruit-film{will-change:auto}}

/* A single vertical wheel of cards, with opaque unprinted reverse faces. */
.recruit-scene{position:absolute;inset:0;z-index:2;pointer-events:none;perspective:var(--ring-perspective,920px);perspective-origin:60% 50%;--ring-radius:390px;--ring-width:220px;--ring-height:138px}
.recruit-ring-tilt,.recruit-ring-scroll,.recruit-ring{position:absolute;display:block;width:0;height:0;transform-style:preserve-3d}
.recruit-ring-tilt{left:60%;top:50%;transform:rotateZ(8deg) rotateY(24deg)}
.recruit-ring-scroll{transform:rotateX(var(--recruit-orbit,0deg))}
.recruit-ring{animation:recruit-orbit-turn 58s linear infinite}
.recruit-card{position:absolute;display:block;width:var(--ring-width);height:var(--ring-height);left:calc(var(--ring-width) / -2);top:calc(var(--ring-height) / -2);transform-style:preserve-3d;transform:rotateX(var(--card-angle)) translateZ(var(--ring-radius)) rotateY(-10deg)}
.recruit-face{position:absolute;display:block;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;background-repeat:no-repeat}
.recruit-face--front{background-size:300% auto;background-position-y:center;transform:translateZ(.2px)}
.recruit-face--front.frame-sea{background-size:cover;background-position:72% center}
.recruit-face--back{transform:rotateY(180deg) translateZ(.2px);background:#061e39;opacity:.28;filter:blur(3.5px);box-shadow:0 0 8px #061e3920}
.recruit-content{z-index:4}
.recruit-banner:after{z-index:3;background:linear-gradient(90deg,#082c6030,transparent 40%);pointer-events:none}
@keyframes recruit-orbit-turn{from{transform:rotateX(8deg)}to{transform:rotateX(368deg)}}
@media(max-width:800px){.recruit-scene{perspective-origin:76% 50%}.recruit-ring-tilt{left:76%;transform:rotateZ(8deg) rotateY(24deg)}.recruit-banner:after{background:linear-gradient(90deg,#082c6060,transparent 75%)}}
@media(prefers-reduced-motion:reduce){.recruit-ring{animation:none;transform:rotateX(8deg)}}

[hidden]{display:none!important}
body.on-recruit{background:#fff}




.recruit-page{padding-top:0;background:#fff;color:#123d62;position:relative;z-index:2;font-family:"Zen Old Mincho","Yu Mincho","Hiragino Mincho ProN",serif}
.recruit-page-hero{height:clamp(320px,31vw,490px);position:relative;overflow:hidden;background:#7da8cc}
.recruit-page-hero>img{position:absolute;right:0;top:0;width:76%;height:100%;object-fit:cover;object-position:center 48%}
.recruit-page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#729ac0 0%,#729ac0dc 18%,#729ac062 43%,transparent 65%)}
.recruit-page-hero-copy{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:center;padding:0 8%;color:white}
.recruit-page-hero-copy>p{font-size:14px;letter-spacing:.2em;margin:0 0 22px}
.recruit-page-hero h1{font-size:clamp(30px,3.5vw,58px);font-weight:500;letter-spacing:.12em;line-height:1.6;margin:0}
.recruit-breadcrumb{max-width:1240px;margin:auto;padding:25px 40px;display:flex;gap:15px;font-size:12px;letter-spacing:.06em;color:#7b8794}
.recruit-breadcrumb a{color:inherit;text-decoration:none}
.recruit-intro{text-align:center;padding:90px 24px 130px}
.recruit-eyebrow{font:500 11px/1.5 Arial,sans-serif;letter-spacing:.2em;color:#2b81c5;margin:0 0 20px}
.recruit-intro h2{font-size:clamp(30px,3vw,44px);font-weight:500;letter-spacing:.15em;margin:0 0 36px}
.recruit-intro-copy{font-size:15px;line-height:2.5;letter-spacing:.065em;color:#425569}
.recruit-intro-copy p{margin:0}
.recruit-about{position:relative;background:linear-gradient(150deg,#f3f8fb,#e9f2f8);padding:100px 7% 165px;border-radius:64px 64px 0 0}
.recruit-about-inner{max-width:1150px;margin:auto;display:grid;grid-template-columns:1fr 1.06fr;gap:9%}
.recruit-about-tag{display:inline-block;border:1px solid #a9c1d3;border-radius:8px;padding:12px 20px;font-size:14px;letter-spacing:.08em}
.recruit-about h2{font-size:clamp(27px,2.7vw,39px);font-weight:500;letter-spacing:.075em;margin:36px 0 12px;line-height:1.6}
.recruit-about-en{color:#287dc0;font:400 12px/1.6 Arial,sans-serif;letter-spacing:.16em;margin:0}
.recruit-about-body{margin-top:38px;font-size:14px;line-height:2.2;letter-spacing:.055em;color:#465b6e}
.recruit-about-body p{margin:0 0 24px}
.recruit-about-body .recruit-about-lead{font-size:25px;line-height:1.9;color:#143e60;margin-bottom:26px}
.recruit-about-visual{padding-top:70px}
.recruit-about-visual figure{margin:0;position:relative}
.recruit-about-visual figure img{display:block;width:100%;aspect-ratio:1.48;object-fit:cover;border-radius:5px 42px 5px 5px}
.recruit-about-visual figcaption{position:absolute;bottom:20px;left:-20px;background:#123e69;color:#fff;font-size:12px;letter-spacing:.09em;padding:13px 20px}
.recruit-destination-links{margin-top:27px}
.recruit-destination-links a{display:flex;align-items:center;justify-content:space-between;padding:25px 10px 25px 2px;text-decoration:none;color:#133d62;border-bottom:1px solid #bdcfdc;font-size:27px;letter-spacing:.09em;transition:color .25s}
.recruit-destination-links small{display:block;font-size:11px;letter-spacing:.05em;color:#73899b;margin-top:8px}
.recruit-arrow{display:grid;place-items:center;width:43px;height:43px;border:1px solid #b1c7d8;border-radius:50%;font-family:Arial,sans-serif;font-size:22px;transition:background .25s,color .25s,transform .25s}
.recruit-destination-links a:hover{color:#157bd0}.recruit-destination-links a:hover .recruit-arrow{background:#125990;color:#fff;transform:translate(3px,-3px)}
@media(max-width:800px){.recruit-page{padding-top:0}.recruit-page-hero{height:340px}.recruit-page-hero>img{width:100%;object-position:63% center}.recruit-page-hero:after{background:linear-gradient(90deg,#32618fa0,transparent)}.recruit-page-hero-copy{padding:0 7%}.recruit-page-hero h1{font-size:29px;letter-spacing:.07em}.recruit-breadcrumb{padding:22px 7%}.recruit-intro{padding:65px 7% 85px}.recruit-intro-copy{font-size:13px;line-height:2.3}.recruit-intro-copy p{margin-bottom:9px}.recruit-about{padding:65px 7% 125px;border-radius:34px 34px 0 0}.recruit-about-inner{grid-template-columns:1fr;gap:12px}.recruit-about h2{margin-top:25px}.recruit-about-visual{padding-top:10px}.recruit-about-visual figcaption{left:-10px;font-size:11px}.recruit-destination-links a{font-size:25px}}

/* Recruitment benefits: pinned introduction, naturally scrolling stories. */
.recruit-about{padding-bottom:110px}
.recruit-features{background:#fff;padding:110px 7% 180px;position:relative}
.features-layout{max-width:1200px;margin:auto;display:grid;grid-template-columns:.92fr 1.08fr;gap:8%;align-items:start}
.features-sticky{position:sticky;top:135px;padding:8px 0 30px}
.features-question{display:inline-block;color:#466783;font-size:13px;letter-spacing:.07em;border:1px solid #bcd0df;border-radius:7px;padding:11px 17px}
.features-en{font:500 10px/1.5 Arial,sans-serif;letter-spacing:.23em;color:#398ac5;margin:32px 0 16px}
.features-sticky h2{font-size:clamp(25px,2.35vw,36px);font-weight:500;line-height:1.85;letter-spacing:.035em;margin:0 0 24px;color:#153e60}
.features-sticky h2 em{font-style:normal;color:#1475b4}
.features-intro{font-size:13px;line-height:2.15;letter-spacing:.045em;color:#607588;margin:0}
.features-index{display:flex;flex-wrap:wrap;gap:16px;margin-top:32px}
.features-index-item{font-size:10px;display:flex;align-items:center;gap:7px;color:#8a9eaf;transition:color .3s}
.features-index-item>span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#eef4f8;color:#839fb4;font:11px Arial,sans-serif;transition:background .3s,color .3s}
.features-index-item.current{color:#155e94}.features-index-item.current>span{background:#155e94;color:#fff}
.features-stories{min-width:0}
.feature-story{margin:0 0 90px}.feature-story:last-child{margin-bottom:0}
.feature-photo{position:relative;border-radius:22px 22px 0 0;overflow:hidden;background:#e2eef5}
.feature-photo img{display:block;width:100%;aspect-ratio:1.72;object-fit:cover;transition:transform .7s}
.feature-story:hover .feature-photo img{transform:scale(1.035)}
.feature-number{position:absolute;left:25px;bottom:16px;font:400 54px/1 Arial,sans-serif;letter-spacing:-.04em;color:#fff;text-shadow:0 2px 15px #10395755}
.feature-story-body{background:#f1f6fa;border-radius:0 0 22px 22px;padding:32px 34px 36px}
.feature-category{font-size:11px;letter-spacing:.1em;color:#3585bb;margin:0 0 13px}
.feature-story h3{font-size:clamp(23px,2.1vw,31px);font-weight:500;line-height:1.65;letter-spacing:.025em;margin:0 0 21px;color:#143f62}
.feature-description{font-size:14px;line-height:2.1;letter-spacing:.035em;color:#4d6578;margin:0}
.feature-note{font-size:11px;color:#71869a;margin:17px 0 0;line-height:1.8}
@media(min-width:801px) and (max-height:760px){.features-sticky{top:115px}.features-en{margin-top:22px}.features-sticky h2{font-size:27px;line-height:1.6;margin-bottom:18px}.features-intro{font-size:12px;line-height:1.95}.features-index{margin-top:22px}}
@media(max-width:800px){.recruit-about{padding-bottom:85px}.recruit-features{padding:70px 7% 130px}.features-layout{grid-template-columns:1fr;gap:38px}.features-sticky{position:static;padding:0}.features-sticky h2{font-size:29px}.features-intro{font-size:13px}.features-index{margin-top:25px;gap:15px}.feature-story{margin-bottom:40px}.feature-story-body{padding:27px 24px 30px}.feature-story h3{font-size:25px}.feature-description{font-size:13px}.feature-number{font-size:44px}.feature-photo img{aspect-ratio:1.6}}

.recruit-features{padding-bottom:110px}
.recruit-day{position:relative;background:#edf5fa;padding:100px 7% 180px;border-radius:60px 60px 0 0}
.day-layout{max-width:1200px;margin:auto;display:grid;grid-template-columns:.92fr 1.08fr;gap:8%;align-items:start}
.day-sticky{position:sticky;top:130px;padding:5px 0 15px}
.day-sticky h2{font-size:clamp(32px,3vw,46px);font-weight:500;line-height:1.65;letter-spacing:.08em;color:#153e60;margin:0 0 24px}
.day-intro{font-size:14px;line-height:2.15;letter-spacing:.05em;color:#526d82;margin:0 0 27px}
.day-tabs{display:grid;gap:8px;max-width:370px}
.day-tabs button{display:flex;align-items:center;gap:14px;padding:16px 18px;background:#fff;color:#214d6d;border:1px solid #c6d8e5;border-radius:10px;text-align:left;font:500 14px/1.6 "Zen Old Mincho","Yu Mincho","Hiragino Mincho ProN",serif;transition:background .25s,color .25s,border-color .25s}
.day-tab-number{font:11px Arial,sans-serif;opacity:.65}.day-tab-arrow{margin-left:auto;font:20px Arial,sans-serif}.day-tabs small{display:block;font-size:10px;opacity:.75}
.day-tabs button[aria-selected="true"]{background:#124c78;border-color:#124c78;color:white}.day-tabs button:hover{border-color:#267fb9}.day-tabs button:focus-visible{outline:3px solid #72b5e6;outline-offset:3px}
.day-disclaimer{font-size:10px;line-height:1.8;color:#8193a2;margin:17px 0 0}
.day-panel-label{font-size:12px;letter-spacing:.07em;color:#5f7e94;margin:8px 0 32px;padding-left:4px}
.day-events{list-style:none;padding:0;margin:0;position:relative;--day-photo:clamp(135px,14vw,190px)}
.day-events:before{content:"";position:absolute;top:calc(var(--day-photo)/2);bottom:calc(var(--day-photo)/2 + 45px);left:calc(var(--day-photo)/2);width:1px;background:#a6c4d9}
.day-event{display:grid;grid-template-columns:var(--day-photo) 1fr;gap:30px;align-items:center;position:relative;min-height:var(--day-photo);padding-bottom:75px}
.day-event:last-child{padding-bottom:0}
.day-event-image{width:var(--day-photo);height:var(--day-photo);border-radius:50%;overflow:hidden;border:6px solid #edf5fa;position:relative;background:#d6e8f4}
.day-event-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s}.day-event:hover img{transform:scale(1.07)}
.day-event-copy time{font:400 clamp(29px,3vw,43px)/1.2 Georgia,serif;letter-spacing:-.03em;color:#1d6c9f;display:block;margin-bottom:13px}
.day-event-copy h3{font-size:19px;line-height:1.7;font-weight:500;color:#173f5e;margin:0 0 10px}
.day-event-copy p{font-size:12px;line-height:2;color:#668094;margin:0}
.day-end{font-size:13px;color:#57778f;text-align:center;letter-spacing:.08em;padding:35px 0 0;margin:0}
@media(min-width:801px) and (max-height:780px){.day-sticky{top:114px}.day-sticky .features-en{margin:18px 0 10px}.day-sticky h2{font-size:31px;line-height:1.45;margin-bottom:15px}.day-intro{font-size:12px;line-height:1.9;margin-bottom:18px}.day-tabs button{padding:10px 14px}.day-disclaimer{margin-top:10px}}
@media(max-width:800px){.recruit-day{padding:65px 7% 130px;border-radius:34px 34px 0 0}.day-layout{grid-template-columns:1fr;gap:38px}.day-sticky{position:static}.day-sticky h2{font-size:34px}.day-tabs{max-width:none;grid-template-columns:repeat(3,1fr);gap:6px}.day-tabs button{flex-direction:column;align-items:flex-start;gap:7px;padding:13px 10px;font-size:11px}.day-tab-arrow{display:none}.day-events{--day-photo:110px}.day-event{gap:20px;padding-bottom:48px}.day-event-copy time{font-size:30px}.day-event-copy h3{font-size:17px}.day-event-copy p{font-size:11px}.day-event-image{border-width:4px}.day-end{font-size:12px}}

/* Recruitment art direction: open editorial layouts, deep ocean blue, bold scale. */
.recruit-page{--ocean:#06396b;--ink:#08375e;--foam:#edf5f7}
.recruit-page-hero{height:clamp(380px,38vw,610px);background:#6394bc}
.recruit-page-hero>img{width:85%;object-position:55% 52%}
.recruit-page-hero:after{background:linear-gradient(90deg,#174e7dc4 0%,#174e7d50 40%,transparent 75%)}
.recruit-page-hero-copy{padding-left:7%;justify-content:flex-end;padding-bottom:7%}
.recruit-page-hero h1{font-size:clamp(34px,4.6vw,74px);letter-spacing:.09em;text-shadow:0 3px 30px #0a36632a}
.recruit-page-hero-copy>p{margin-bottom:22px;letter-spacing:.2em}
.recruit-breadcrumb{max-width:none;padding:25px 7%}
.recruit-intro{padding:115px 7% 140px;position:relative}
.recruit-intro h2{font-size:clamp(44px,5vw,72px);letter-spacing:.2em;color:var(--ink);margin-bottom:43px}
.recruit-eyebrow{letter-spacing:.32em;margin-bottom:25px}
.recruit-intro-copy{font-size:16px;line-height:2.75;letter-spacing:.08em}
.recruit-about{background:#fff;border-radius:0;padding:20px 7% 190px}
.recruit-about-inner{max-width:1280px;grid-template-columns:.88fr 1.12fr;gap:10%;position:relative}
.recruit-about-copy{padding-top:25px}
.recruit-about-tag{border:0;border-radius:0;padding:0;color:#3e779c;font-size:13px;letter-spacing:.1em}
.recruit-about h2{font-size:clamp(29px,3.1vw,45px);line-height:1.65;margin-top:22px;letter-spacing:.04em}
.recruit-about-en{font-size:11px;letter-spacing:.2em}
.recruit-about-body{margin-top:46px;font-size:14px;line-height:2.35}
.recruit-about-body .recruit-about-lead{font-size:32px;line-height:1.8;letter-spacing:.08em}
.recruit-about-visual{padding-top:0;position:relative}
.recruit-about-visual figure{margin-right:-6vw}
.recruit-about-visual figure img{aspect-ratio:1.13;object-position:38% center;border-radius:100px 0 0 0}
.recruit-about-visual figcaption{bottom:28px;left:-24px;background:var(--ocean);padding:17px 24px;letter-spacing:.12em}
.recruit-destination-links{margin-top:27px}
.recruit-destination-links a{font-size:29px;padding:24px 0;border-bottom:1px solid #bed0dc}
.recruit-arrow{border:0;background:#eaf3f8;width:49px;height:49px}
.recruit-features{background:var(--ocean);color:#fff;padding:110px 7% 145px;position:relative}
.recruit-features:before{content:"";position:absolute;left:0;right:0;top:-64px;height:65px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 65' preserveAspectRatio='none'%3E%3Cpath d='M0 48C330 -25 620 76 950 34S1280 0 1440 20V65H0Z' fill='%2306396b'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.features-layout{max-width:1280px;grid-template-columns:.92fr 1.08fr;gap:10%}
.features-sticky{top:140px}
.features-question{border:0;padding:0;border-radius:0;font-size:13px;letter-spacing:.1em;color:#94c9e9}
.features-en{color:#7cb7dc;letter-spacing:.25em;margin-top:33px}
.features-sticky h2{color:#fff;font-size:clamp(26px,2.6vw,39px);line-height:1.9;letter-spacing:.045em;margin-bottom:32px}
.features-sticky h2 em{color:#a3dcf5}
.features-intro{color:#c0d4e4;font-size:13px;line-height:2.3}
.features-index{gap:18px;margin-top:35px}
.features-index-item{color:#91b1c9}.features-index-item>span{background:#ffffff12;color:#a6cde5}.features-index-item.current{color:white}.features-index-item.current>span{background:#a6dcf5;color:#08396b}
.feature-story{margin-bottom:105px;position:relative}
.feature-photo{border-radius:3px;overflow:visible}
.feature-photo img{aspect-ratio:1.48;border-radius:3px}
.feature-number{left:-24px;bottom:-29px;font-size:90px;font-weight:400;letter-spacing:-.055em;color:#b6e0f3;text-shadow:none;z-index:1}
.feature-story-body{background:none;padding:52px 0 0;border-radius:0}
.feature-category{color:#91c8e8;font-size:11px;letter-spacing:.14em}
.feature-story h3{color:white;font-size:clamp(25px,2.4vw,35px);line-height:1.8;letter-spacing:.03em;margin-bottom:22px}
.feature-description{color:#c7dce9;font-size:14px;line-height:2.3}
.feature-note{color:#9cbad0}
.recruit-day{background:var(--foam);border-radius:0;padding:115px 7% 160px}
.day-layout{max-width:1280px;gap:10%;grid-template-columns:.92fr 1.08fr}
.day-sticky{top:135px}
.day-sticky .features-question{color:#4b7d9d}
.day-sticky h2{font-size:clamp(39px,4.1vw,60px);line-height:1.55;letter-spacing:.09em;margin-bottom:28px}
.day-intro{line-height:2.2}
.day-tabs{gap:0;max-width:400px;border-top:1px solid #b5cad8}
.day-tabs button{border:0;border-bottom:1px solid #b5cad8;border-radius:0;background:transparent;padding:20px 8px;gap:18px;font-size:15px}
.day-tabs button[aria-selected="true"]{background:var(--ocean);padding-left:19px;padding-right:19px;border-color:var(--ocean)}
.day-tab-number{font-size:11px}.day-tabs button:hover .day-tab-arrow{transform:translate(3px,-3px)}.day-tab-arrow{transition:transform .25s}
.day-panel-label{font-size:12px;color:#4a7794;margin-bottom:46px}
.day-events{--day-photo:clamp(145px,16vw,230px)}
.day-events:before{background:#aec9d9}
.day-event{gap:30px;padding-bottom:85px}
.day-event-image{border:8px solid var(--foam)}
.day-event-copy time{font-family:Arial,sans-serif;font-size:clamp(34px,3.4vw,49px);letter-spacing:-.045em;color:#17689a;margin-bottom:16px}
.day-event-copy h3{font-size:20px;line-height:1.6;margin-bottom:14px}
.day-event-copy p{font-size:12px;line-height:2}
.day-end{padding-top:50px;font-size:13px}
@media(min-width:801px) and (max-height:800px){.features-sticky,.day-sticky{top:118px}.features-sticky h2{font-size:29px;line-height:1.7;margin-bottom:23px}.features-en{margin-top:23px}.features-intro{line-height:2}.features-index{margin-top:25px}.day-sticky h2{font-size:38px;line-height:1.45;margin-bottom:18px}.day-intro{font-size:12px;line-height:1.9;margin-bottom:18px}.day-tabs button{padding-top:13px;padding-bottom:13px;font-size:14px}}
@media(max-width:800px){
.recruit-page-hero{height:400px}.recruit-page-hero>img{width:100%}.recruit-page-hero-copy{padding-bottom:45px}.recruit-page-hero h1{font-size:30px}
.recruit-intro{padding:65px 7% 90px}.recruit-intro h2{font-size:42px}.recruit-intro-copy{font-size:13px;line-height:2.4}
.recruit-about{padding:0 7% 120px}.recruit-about-inner{grid-template-columns:1fr;gap:25px}.recruit-about-copy{padding-top:0}.recruit-about-body{margin-top:30px}.recruit-about-body .recruit-about-lead{font-size:29px}.recruit-about h2{font-size:29px}.recruit-about-visual figure{margin-right:-7vw}.recruit-about-visual figure img{aspect-ratio:1.3;border-radius:65px 0 0 0}.recruit-about-visual figcaption{left:-10px;font-size:10px;padding:14px}
.recruit-features{padding:65px 7% 85px}.recruit-features:before{height:36px;top:-35px}.features-layout{grid-template-columns:1fr;gap:55px}.features-sticky,.day-sticky{position:static}.features-sticky h2{font-size:29px;line-height:1.8}.feature-photo img{aspect-ratio:1.4}.feature-number{font-size:73px;left:-8px;bottom:-24px}.feature-story-body{padding-top:44px}.feature-story{margin-bottom:65px}.feature-story h3{font-size:25px}.feature-description{font-size:13px}
.recruit-day{padding:65px 7% 130px}.day-layout{grid-template-columns:1fr;gap:40px}.day-sticky h2{font-size:42px}.day-tabs{grid-template-columns:repeat(3,1fr);max-width:none;border:0;gap:5px}.day-tabs button{padding:14px 10px;font-size:11px;border:1px solid #b5cad8;gap:8px}.day-tabs button[aria-selected="true"]{padding:14px 10px}.day-events{--day-photo:120px}.day-event{gap:20px;padding-bottom:60px}.day-event-image{border-width:4px}.day-event-copy time{font-size:33px}.day-event-copy h3{font-size:17px}.day-event-copy p{font-size:11px}.day-panel-label{margin-bottom:30px}
}

.recruit-day{padding-bottom:125px}
.recruit-people{position:relative;background:#06396b;padding:45px 3.5% 115px;color:#123e61}
.people-shell{background:#fff;border-radius:48px;padding:75px 5% 70px;box-shadow:0 18px 0 #9db5c429,0 35px 0 #9db5c410}
.people-heading{text-align:center;margin-bottom:65px}
.people-heading>p{font-size:16px;letter-spacing:.12em;margin:0 0 16px}
.people-heading h2{font-size:clamp(30px,3.5vw,50px);font-weight:500;letter-spacing:.1em;line-height:1.7;margin:0}
.people-heading>span{display:block;font-size:10px;letter-spacing:.04em;color:#8596a2;margin-top:20px}
.people-mobile-br{display:none}
.people-layout{display:grid;grid-template-columns:90px minmax(0,800px) 90px;gap:clamp(20px,3vw,50px);justify-content:center;align-items:start}
.people-rail{position:sticky;top:180px;display:flex;align-items:center;flex-direction:column;gap:20px;padding-top:30px}
.people-rail p{writing-mode:vertical-rl;font-size:27px;line-height:1.9;letter-spacing:.23em;margin:0}
.people-rail-right p{font-size:30px}.people-rail-right>span{writing-mode:vertical-rl;font:10px Arial,sans-serif;letter-spacing:.22em;color:#3c86b5}
.people-stack{min-width:0;padding-bottom:70px}
.people-card{position:sticky;top:calc(125px + var(--person)*17px);background:#e9f2f7;border:1px solid #d4e2eb;border-radius:25px;padding:22px 30px 30px;margin-bottom:95px;box-shadow:0 -12px 35px #073b6a0d;transform-origin:center top}
.people-card:last-child{margin-bottom:0}
.people-card-2{background:#dcecf5;border-color:#c5dce9}
.people-card-3{background:#123f68;color:white;border-color:#123f68}
.people-card-top{display:flex;align-items:center;justify-content:space-between;color:#5182a4;font:10px/1.2 Arial,sans-serif;letter-spacing:.17em;margin-bottom:15px}
.people-card-top>span:last-child{font-size:24px;letter-spacing:-.025em}
.people-photo{border-radius:14px;overflow:hidden;background:#aac5d7}
.people-photo img{display:block;width:100%;height:clamp(180px,27vh,280px);object-fit:cover;object-position:center 42%}
.people-card-1 .people-photo img{object-position:center 33%}
.people-profile{display:flex;align-items:center;gap:13px;margin:20px 0 15px;font-size:11px;letter-spacing:.08em}
.people-profile>span{font-size:16px}.people-profile small{margin-left:auto;font-size:9px;opacity:.55}
.people-card h3{font-size:clamp(25px,2.5vw,36px);font-weight:500;line-height:1.55;letter-spacing:.07em;margin:0 0 16px}
.people-card h3 br{display:none}
.people-comment{display:grid;grid-template-columns:1fr 1fr;gap:25px;font-size:12px;line-height:2;letter-spacing:.025em;color:#536e82}
.people-comment p{margin:0}
.people-card-3 .people-card-top{color:#a0c8e3}.people-card-3 .people-comment{color:#d3e2ec}
.people-closing{text-align:center;font-size:30px;letter-spacing:.13em;line-height:1.8;margin:55px 0 0}
.people-closing span{font-size:13px;letter-spacing:.08em;color:#688396}
@media(min-width:801px) and (max-height:750px){.people-card{top:calc(114px + var(--person)*12px);padding:16px 24px 23px}.people-photo img{height:170px}.people-card h3{font-size:27px;margin-bottom:12px}.people-profile{margin:15px 0 12px}.people-comment{font-size:11px;line-height:1.9}.people-card-top{margin-bottom:12px}.people-rail{top:155px}}
@media(max-width:1000px){.people-layout{grid-template-columns:55px minmax(0,1fr) 55px;gap:20px}.people-rail p{font-size:22px}.people-rail-right p{font-size:24px}.people-card{padding:20px}.people-comment{gap:18px;font-size:11px}}
@media(max-width:800px){.recruit-people{padding:24px 4% 100px}.people-shell{padding:45px 5% 50px;border-radius:30px}.people-heading{margin-bottom:35px}.people-heading>p{font-size:13px}.people-heading h2{font-size:29px}.people-mobile-br{display:block}.people-heading>span{font-size:9px}.people-layout{grid-template-columns:minmax(0,1fr);gap:0}.people-rail-left{display:none}.people-rail-right{position:static;grid-row:1;flex-direction:row;justify-content:space-between;padding:0 0 20px}.people-rail-right p{writing-mode:horizontal-tb;font-size:18px;letter-spacing:.12em}.people-rail-right>span{writing-mode:horizontal-tb;font-size:9px}.people-card{top:calc(94px + var(--person)*10px);padding:16px;border-radius:20px;margin-bottom:65px}.people-photo img{height:clamp(140px,23vh,200px)}.people-card-top{margin-bottom:10px}.people-card-top>span:last-child{font-size:20px}.people-profile{margin:14px 0 12px;font-size:10px}.people-card h3{font-size:24px;line-height:1.5}.people-card h3 br{display:block}.people-comment{grid-template-columns:1fr;gap:9px;font-size:11px;line-height:1.85}.people-stack{padding-bottom:30px}.people-closing{font-size:25px;margin-top:20px}.people-closing span{font-size:11px}}
@media(max-height:610px){.people-card{position:relative;top:auto}.people-rail{position:relative;top:auto}}
@media(prefers-reduced-motion:reduce){.people-card{position:relative;top:auto}}
.brand-logo{display:block;width:230px;aspect-ratio:724/84;background:currentColor;-webkit-mask:url(../../html/assets/images/logo.png) center/contain no-repeat;mask:url(../../html/assets/images/logo.png) center/contain no-repeat}@media(max-width:1100px){.brand-logo{width:190px}}@media(max-width:600px){.brand-logo{width:165px}}.footer-identity .brand-logo{width:260px}
