:root {
  --color-navy: #071a33;
  --color-navy-2: #0a2445;
  --color-blue: #0c4da2;
  --color-bright-blue: #1687d9;
  --color-cyan: #43c7eb;
  --color-light-blue: #eaf5fc;
  --color-white: #fff;
  --color-text: #172033;
  --color-gray: #697587;
  --color-light-gray: #f4f7fa;
  --color-border: #dce3ea;
  --font-ja: "Noto Sans JP", sans-serif;
  --font-en: "Barlow Condensed", sans-serif;
  --container: 1280px;
  --header-h: 78px;
  --shadow: 0 24px 70px rgba(7, 26, 51, .13);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 20px)}
body{margin:0;color:var(--color-text);font-family:var(--font-ja);font-size:16px;line-height:1.85;background:#fff;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.is-menu-open{overflow:hidden}
img,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit}
ul,ol,dl,p,h1,h2,h3,figure{margin-top:0}
.container{width:min(calc(100% - 64px),var(--container));margin-inline:auto}
.section{padding:clamp(88px,9vw,150px) 0}
.section-tight{padding:clamp(42px,5vw,72px) 0}
.section--light{background:var(--color-light-gray)}
.section--navy{position:relative;color:#fff;background:var(--color-navy);overflow:hidden}
.section--navy::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 55%,rgba(22,135,217,.14));clip-path:polygon(56% 0,100% 0,100% 100%,35% 100%)}
.section--navy>.container{position:relative;z-index:1}
.skip-link{position:fixed;top:8px;left:8px;z-index:9999;padding:10px 16px;background:#fff;color:#071a33;transform:translateY(-160%)}
.skip-link:focus{transform:none}
:focus-visible{outline:3px solid var(--color-cyan);outline-offset:4px}
.eyebrow{margin-bottom:14px;color:var(--color-bright-blue);font:700 16px/1 var(--font-en);letter-spacing:.16em;text-transform:uppercase}
.section--navy .eyebrow,.recruit-banner .eyebrow,.recruit-hero .eyebrow{color:var(--color-cyan)}
.section-heading h2{margin-bottom:28px;font-size:clamp(31px,3.6vw,56px);line-height:1.28;letter-spacing:-.025em;line-break:strict;text-wrap:balance}
.heading-line{display:block;white-space:nowrap}
.split-layout .section-heading h2,.editorial-grid .section-heading h2{font-size:clamp(30px,3.1vw,48px)}
.section-heading>p:not(.eyebrow){max-width:690px;color:var(--color-gray)}
.section--navy .section-heading>p:not(.eyebrow){color:#c9d5e2}
.section-heading--row{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:58px}
.section-heading--row h2{margin-bottom:0}
.lead{font-size:clamp(19px,2vw,25px);font-weight:700;line-height:1.75;color:var(--color-text)}
.prose p{margin-bottom:28px;color:var(--color-gray)}
.split-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(60px,9vw,140px);align-items:center}
.split-layout--top{align-items:start}
.editorial-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:clamp(50px,8vw,120px);align-items:center}
.editorial-grid--reverse figure{order:2}
.text-link{display:inline-flex;align-items:center;gap:16px;padding-bottom:8px;color:var(--color-blue);font-weight:700;border-bottom:1px solid currentColor}
.text-link span,.button span{transition:transform .25s}
.text-link:hover span,.button:hover span{transform:translateX(5px)}
.text-link--white{color:#fff}
.button{display:inline-flex;min-height:58px;align-items:center;justify-content:center;gap:28px;padding:14px 28px;border:1px solid transparent;font-weight:700;line-height:1.3;transition:.25s;background:none;cursor:pointer}
.button--primary{color:#fff;background:var(--color-bright-blue)}
.button--primary:hover{background:#0f72bc;transform:translateY(-2px)}
.button--dark{color:#fff;background:var(--color-navy)}
.button--dark:hover{background:var(--color-blue)}
.button--white{color:var(--color-navy);background:#fff}
.button--outline{color:#fff;border-color:rgba(255,255,255,.65);background:rgba(7,26,51,.15);backdrop-filter:blur(8px)}
.button--outline-dark{border-color:var(--color-navy);color:var(--color-navy)}
.button-row{display:flex;flex-wrap:wrap;gap:14px}
.note{font-size:13px;color:var(--color-gray)}
.note--light{color:#b7c6d7}
.notice-box{padding:25px 30px;border-left:4px solid var(--color-bright-blue);background:var(--color-light-blue)}
.notice-box p:last-child{margin-bottom:0}
.number-label{display:block;color:var(--color-bright-blue);font:700 18px var(--font-en);letter-spacing:.1em}
.route-bg{position:relative;overflow:hidden}
.route-bg::before{content:"";position:absolute;z-index:-1;top:-15%;right:-8%;width:42vw;height:140%;border-left:1px solid rgba(12,77,162,.08);border-right:1px solid rgba(12,77,162,.08);transform:skewX(-20deg)}
.image-panel{position:relative;margin:0;overflow:hidden}
.image-panel::after{content:"";position:absolute;right:-1px;bottom:-1px;width:34%;height:5px;background:var(--color-bright-blue)}
.image-panel img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .8s}
.image-panel:hover img{transform:scale(1.025)}
.image-panel--offset{margin-top:65px}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
.reveal.is-visible{opacity:1;transform:none}

/* Header */
.site-header{position:fixed;z-index:1000;top:0;left:0;width:100%;height:var(--header-h);color:#fff;background:linear-gradient(to bottom,rgba(7,26,51,.72),transparent);transition:.3s}
.site-header.is-scrolled,.site-header.is-open{background:rgba(7,26,51,.96);box-shadow:0 8px 30px rgba(0,0,0,.16);backdrop-filter:blur(12px)}
.site-header__inner{display:flex;align-items:center;height:100%;padding-left:clamp(18px,3vw,55px)}
.site-header__name{display:flex;align-items:center;gap:22px;width:auto;margin-right:auto}
.site-header__name img{flex:none;width:180px;height:auto}
.site-header__company-name{font-size:16px;font-weight:700;letter-spacing:.08em;white-space:nowrap}
.global-nav{height:100%}
.global-nav ul{display:flex;align-items:center;height:100%;gap:clamp(16px,1.8vw,34px);margin:0;padding:0;list-style:none}
.global-nav a{position:relative;display:flex;align-items:center;height:100%;font-size:13px;font-weight:600;white-space:nowrap}
.global-nav a::after{content:"";position:absolute;top:calc(50% + 14px);bottom:auto;left:0;width:0;height:2px;background:var(--color-cyan);transition:.25s}
.global-nav a:hover::after,.global-nav a[aria-current="page"]::after{width:100%}
.global-nav__sp-contact{display:none}
.site-header__actions{display:flex;height:100%;margin-left:30px}
.header-cta{display:flex;align-items:center;padding:0 24px;font-size:13px;font-weight:700}
.header-cta--contact{background:var(--color-bright-blue)}
.header-cta--recruit{background:#fff;color:var(--color-navy)}
.menu-toggle{display:none;width:70px;height:100%;border:0;background:var(--color-bright-blue);cursor:pointer}
.menu-toggle span{display:block;width:25px;height:2px;margin:6px auto;background:#fff;transition:.25s}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* Hero */
.home-hero{position:relative;height:auto;display:flex;align-items:flex-end;color:#fff;background:var(--color-navy);overflow:hidden}
.home-hero__picture,.home-hero__shade{position:absolute;inset:0}
.home-hero__picture img{width:100%;height:100%;object-fit:cover}
.home-hero__shade{background:linear-gradient(90deg,rgba(7,26,51,.9) 0%,rgba(7,26,51,.56) 52%,rgba(7,26,51,.12) 100%),linear-gradient(0deg,rgba(7,26,51,.7),transparent 45%)}
.home-hero__content{position:relative;z-index:2;padding-bottom:clamp(105px,12vh,150px)}
.home-hero__overline{margin-bottom:25px;font:600 14px var(--font-en);letter-spacing:.2em;color:var(--color-cyan)}
.home-hero h1{max-width:920px;margin-bottom:24px;font-size:clamp(47px,6.6vw,104px);line-height:1.06;letter-spacing:-.06em}
.home-hero h1 span{display:block}
.home-hero__content>p:not(.home-hero__overline){margin-bottom:34px;font-size:clamp(15px,1.5vw,20px)}
.home-hero__rail{position:absolute;z-index:2;right:0;bottom:0;left:0;display:flex;justify-content:space-between;padding:12px clamp(20px,4vw,70px);font:600 12px var(--font-en);letter-spacing:.2em;border-top:1px solid rgba(255,255,255,.25)}

.page-hero{position:relative;display:flex;align-items:flex-end;min-height:500px;color:#fff;background-image:linear-gradient(90deg,rgba(7,26,51,.91),rgba(7,26,51,.35)),var(--hero-image);background-size:cover;background-position:center;overflow:hidden}
.page-hero::after{content:"";position:absolute;right:-8%;bottom:-70%;width:42%;height:170%;border-left:1px solid rgba(255,255,255,.24);border-right:1px solid rgba(255,255,255,.12);transform:skewX(-23deg)}
.page-hero__inner{position:relative;z-index:1;padding-bottom:70px}
.page-hero h1{margin-bottom:10px;font-size:clamp(44px,6vw,84px);line-height:1.08;letter-spacing:-.045em}
.page-hero__inner>p:last-child:not(.eyebrow){margin:0;font-size:18px}
.breadcrumb{padding-top:24px;padding-bottom:24px}
.breadcrumb ol{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;font-size:12px;color:var(--color-gray)}
.breadcrumb li+li::before{content:"/";margin-right:8px;color:#a7b1bf}
.breadcrumb a{text-decoration:underline;text-underline-offset:4px}

/* Home */
.audience-switch{margin-top:-46px;position:relative;z-index:3}
.audience-switch__grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--color-border);box-shadow:var(--shadow)}
.audience-card{position:relative;isolation:isolate;min-height:340px;padding:52px 230px 52px 56px;background:#fff;overflow:hidden}
.audience-card::after{content:"";position:absolute;z-index:-1;right:-35px;bottom:-70px;width:150px;height:240px;background:var(--color-light-blue);transform:rotate(25deg);transition:.3s}
.audience-card--recruit{color:#fff;background:var(--color-navy)}
.audience-card--recruit::after{background:rgba(22,135,217,.22)}
.audience-card:hover::after{transform:rotate(25deg) translateX(-18px)}
.audience-card__content{position:relative;z-index:2}
.audience-card__person{position:absolute;z-index:1;right:18px;bottom:0;width:220px;max-width:42%;max-height:96%;object-fit:contain;object-position:right bottom;transition:transform .35s ease}
.audience-card--business .audience-card__person{right:24px}
.audience-card:hover .audience-card__person{transform:translateY(-3px) scale(1.015)}
.audience-card__num{position:absolute;z-index:2;top:24px;right:28px;color:#d9e1e9;font:700 54px/1 var(--font-en)}
.audience-card--recruit .audience-card__num{color:#1b3657}
.audience-card h2{margin:27px 0 10px;font-size:clamp(23px,2.1vw,32px)}
.audience-card p{color:var(--color-gray)}
.audience-card--recruit p{color:#b7c6d7}
.audience-card b{color:var(--color-bright-blue);font-size:14px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--color-border)}
.service-card{position:relative;min-height:345px;padding:42px 36px;background:#fff;overflow:hidden}
.service-card>.material-symbols-outlined{margin-bottom:38px;color:var(--color-bright-blue);font-size:42px}
.service-card__num{position:absolute;top:25px;right:28px;color:#e4eaf0;font:700 44px var(--font-en)}
.service-card h3{font-size:21px}
.service-card>p:last-child{color:var(--color-gray);font-size:14px}
.strength-showcase__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(55px,8vw,120px);align-items:start;margin-top:60px;margin-bottom:55px}
.strength-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--color-border)}
.strength-list li{display:flex;align-items:center;gap:25px;padding:24px 0;border-bottom:1px solid var(--color-border);font-weight:700;font-size:18px}
.strength-list span{color:var(--color-bright-blue);font:700 18px var(--font-en)}
.fleet-preview__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.fleet-tile{margin:0;background:#0e2a4c;overflow:hidden}
.fleet-tile img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:.6s}
.fleet-tile:hover img{transform:scale(1.04)}
.fleet-tile div{padding:25px}
.fleet-tile p{margin:0;color:var(--color-cyan);font:600 14px var(--font-en);letter-spacing:.1em}
.fleet-tile h3{margin:5px 0 8px;font-size:26px}
.fleet-tile span{font-size:13px;color:#b8c6d5}
.safety-section__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(60px,9vw,140px);align-items:center}
.recruit-banner{position:relative;min-height:600px;display:flex;align-items:center;color:#fff;background-image:linear-gradient(90deg,rgba(7,26,51,.92),rgba(7,26,51,.25)),var(--banner-image);background-size:cover;background-position:center}
.recruit-banner::after{content:"RECRUIT";position:absolute;right:-30px;bottom:-35px;color:rgba(255,255,255,.09);font:800 clamp(100px,18vw,270px)/1 var(--font-en);letter-spacing:-.05em}
.recruit-banner__content{position:relative;z-index:1}
.recruit-banner h2{font-size:clamp(40px,5.5vw,78px);line-height:1.15;letter-spacing:-.045em}
.recruit-banner p:not(.eyebrow){max-width:600px;margin-bottom:30px;color:#d7e0e8}
.company-compact__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(60px,10vw,150px)}
.info-list{border-top:1px solid var(--color-border)}
.info-list div{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:17px 0;border-bottom:1px solid var(--color-border)}
.info-list dt{font-size:13px;font-weight:700;color:var(--color-gray)}
.info-list dd{margin:0}

/* Lower pages */
.alternating-list{display:grid;gap:90px}
.alternating-card{display:grid;grid-template-columns:1fr 1fr;gap:clamp(45px,8vw,110px);align-items:center}
.alternating-card:nth-child(even) .alternating-card__visual{order:2}
.alternating-card__visual{overflow:hidden}
.alternating-card__visual img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:.7s}
.alternating-card:hover img{transform:scale(1.035)}
.alternating-card h3{font-size:clamp(27px,3vw,43px);margin:5px 0 18px}
.alternating-card p:last-child{color:var(--color-gray)}
.example-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:rgba(255,255,255,.15)}
.example-card{min-height:235px;padding:30px 24px;background:#0d294a}
.example-card>span{font:700 15px var(--font-en);color:var(--color-cyan)}
.example-card h3{margin:38px 0 12px;font-size:19px}
.example-card p{margin:0;color:#b8c6d5;font-size:13px}
.process-list{display:grid;grid-template-columns:repeat(5,1fr);margin:50px 0 20px;padding:0;list-style:none}
.process-list li{position:relative;padding:25px 20px;border-top:3px solid var(--color-bright-blue);background:var(--color-light-gray)}
.process-list li+li{border-left:1px solid var(--color-border)}
.process-list li:not(:last-child)::after{content:"→";position:absolute;z-index:2;right:-12px;top:50%;color:var(--color-blue);font-weight:700}
.process-list span{display:block;margin-bottom:16px;color:var(--color-bright-blue);font:700 13px var(--font-en);letter-spacing:.1em}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.feature-card{position:relative;min-height:300px;padding:38px;background:#fff;border:1px solid var(--color-border);overflow:hidden}
.feature-card>.material-symbols-outlined{color:var(--color-bright-blue);font-size:40px}
.feature-card__number{position:absolute;right:24px;top:20px;color:#e4eaf0;font:700 45px var(--font-en)}
.feature-card h3{margin:30px 0 14px;font-size:21px}
.feature-card p:last-child{margin:0;color:var(--color-gray);font-size:14px}
.safety-points{border-top:1px solid rgba(255,255,255,.18)}
.safety-point{display:grid;grid-template-columns:50px 1fr;gap:20px;padding:27px 0;border-bottom:1px solid rgba(255,255,255,.18)}
.safety-point>span{color:var(--color-cyan);font:700 18px var(--font-en)}
.safety-point h3{margin-bottom:8px}
.safety-point p{margin:0;color:#b8c6d5;font-size:14px}
.fleet-detail-grid{display:grid;gap:85px}
.fleet-detail{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(45px,8vw,105px);align-items:center}
.fleet-detail:nth-child(even){grid-template-columns:.85fr 1.15fr}
.fleet-detail:nth-child(even) .fleet-detail__image{order:2}
.fleet-detail__image{position:relative;overflow:hidden}
.fleet-detail__image img{width:100%;aspect-ratio:3/2;object-fit:cover}
.fleet-detail__image>span{position:absolute;right:0;bottom:0;padding:13px 20px;color:#fff;background:var(--color-bright-blue);font:700 22px var(--font-en)}
.fleet-detail h3{font-size:clamp(30px,3.5vw,50px)}
.fleet-detail dl div{padding:14px 0;border-top:1px solid var(--color-border)}
.fleet-detail dt{font-size:13px;font-weight:700;color:var(--color-gray)}
.fleet-detail dd{margin:3px 0 0}
.swiper-controls{display:flex;gap:10px}
.swiper-controls button{display:grid;place-items:center;width:54px;height:54px;border:1px solid rgba(255,255,255,.35);color:#fff;background:transparent;cursor:pointer}
.fleet-swiper{overflow:visible}
.fleet-swiper .swiper-slide{width:min(720px,75vw)}
.fleet-swiper img{width:100%;aspect-ratio:3/2;object-fit:cover}
.fleet-swiper .swiper-pagination{position:static;margin-top:30px;text-align:left}
.fleet-swiper .swiper-pagination-bullet{background:#fff}
.concept-section{position:relative;isolation:isolate;overflow:hidden}
.concept-section::before{content:"";position:absolute;z-index:0;inset:0;background:url('../photos/DSC08784.jpg') center 48%/cover no-repeat;opacity:.18;filter:grayscale(.25)}
.concept-section::after{content:"";position:absolute;z-index:0;inset:0;background:linear-gradient(90deg,rgba(7,26,51,.58),rgba(7,26,51,.82))}
.concept-section>.container{position:relative;z-index:1}
.concept-section__copy{margin:80px 0 -45px;color:rgba(255,255,255,.09);font:800 clamp(60px,11vw,160px)/.82 var(--font-en);letter-spacing:-.04em}
.signature{font-weight:700;text-align:right;color:var(--color-text)!important}
.company-table{border-top:1px solid var(--color-border)}
.company-table div{display:grid;grid-template-columns:220px 1fr;padding:23px 0;border-bottom:1px solid var(--color-border)}
.company-table dt{font-weight:700;color:var(--color-blue)}
.company-table dd{margin:0}
.company-table dd.certification{display:flex;align-items:center;gap:24px}
.certification img{width:150px;max-width:100%;height:auto;flex:0 0 auto}
.office-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:35px}
.office-card{background:var(--color-light-gray)}
.office-card>img{width:100%;aspect-ratio:16/10;object-fit:cover}
.office-card>div{padding:36px}
.office-card h3{font-size:28px}
.office-card a{color:var(--color-blue);font-weight:700}
.office-map{margin-top:25px;overflow:hidden;background:#e6ebf0}
.office-map iframe{display:block;width:100%;height:260px;border:0}


.legal-document{max-width:900px}
.legal-document>p{margin-bottom:55px}
.legal-document section{margin-top:50px}
.legal-document h2{padding-bottom:13px;font-size:22px;border-bottom:1px solid var(--color-border)}
.legal-document section p{color:var(--color-gray)}
.policy-date{margin-top:70px;text-align:right;font-size:13px}

/* Recruit */
.recruit-hero{position:relative;display:flex;align-items:center;min-height:780px;color:#fff;background:var(--color-navy);overflow:hidden}
.recruit-hero__video,.recruit-hero__overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.recruit-hero__overlay{background:linear-gradient(90deg,rgba(7,26,51,.92),rgba(7,26,51,.35))}
.recruit-hero__content{position:relative;z-index:2;padding-top:80px}
.recruit-hero h1{margin-bottom:25px;font-size:clamp(47px,6.5vw,92px);line-height:1.12;letter-spacing:-.05em}
.recruit-hero h1 span{display:block;white-space:nowrap}
.recruit-hero__content>p:not(.eyebrow){margin-bottom:32px;font-size:18px}
.recruit-hero__word{position:absolute;z-index:2;right:2vw;bottom:-25px;color:rgba(255,255,255,.12);font:800 clamp(70px,12vw,180px)/1 var(--font-en);white-space:nowrap}
.feature-grid--recruit .feature-card{background:#fff}
.video-frame{position:relative;box-shadow:0 40px 80px rgba(0,0,0,.3)}
.video-frame video{width:100%;aspect-ratio:16/9;background:#020914}
.video-caption{margin-top:24px;color:#b8c6d5;text-align:center}
.link-panel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.link-panel{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:430px;padding:32px;color:#fff;background-image:linear-gradient(0deg,rgba(7,26,51,.9),rgba(7,26,51,.15)),var(--panel-image);background-size:cover;background-position:center;overflow:hidden}
.link-panel::before{content:"";position:absolute;inset:0;background:rgba(22,135,217,.15);opacity:0;transition:.3s}
.link-panel:hover::before{opacity:1}
.link-panel>*{position:relative}
.link-panel>span{font:600 14px var(--font-en);letter-spacing:.14em;color:var(--color-cyan)}
.link-panel h3{margin:12px 0 32px;font-size:25px}
.link-panel b{font-size:14px}
.detail-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.detail-card{padding:32px;background:#fff;border-top:3px solid var(--color-bright-blue)}
.detail-card h3{font-size:18px}
.detail-card p{margin:0;color:var(--color-gray);font-size:14px}
.timeline{max-width:900px;margin:55px auto 0;padding:0;list-style:none}
.timeline li{position:relative;display:grid;grid-template-columns:75px 1fr;gap:30px;padding-bottom:38px}
.timeline li:not(:last-child)::before{content:"";position:absolute;left:36px;top:55px;bottom:0;width:1px;background:rgba(255,255,255,.25)}
.timeline li>span{display:grid;place-items:center;width:74px;height:54px;color:var(--color-cyan);font:700 18px var(--font-en);border:1px solid rgba(255,255,255,.3);background:#0c294a}
.timeline h3{margin:0 0 7px;font-size:22px}
.timeline p{margin:0;color:#b8c6d5}
.faq-list{border-top:1px solid var(--color-border)}
.faq-item{border-bottom:1px solid var(--color-border)}
.faq-item h3{margin:0}
.faq-item button{display:flex;align-items:center;width:100%;gap:16px;padding:25px 8px;border:0;background:none;text-align:left;font-weight:700;cursor:pointer}
.faq-item button>span:first-child,.faq-answer span{color:var(--color-bright-blue);font:700 22px var(--font-en)}
.faq-icon{position:relative;width:24px;height:24px;margin-left:auto;flex:none}
.faq-icon::before,.faq-icon::after{content:"";position:absolute;top:11px;left:2px;width:20px;height:2px;background:var(--color-blue)}
.faq-icon::after{transform:rotate(90deg);transition:.2s}
button[aria-expanded="true"] .faq-icon::after{transform:none}
.faq-answer{padding:0 50px 25px}
.faq-answer p{display:flex;gap:15px;margin:0;color:var(--color-gray)}
.photo-story-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:25px}
.photo-story{background:var(--color-light-gray)}
.photo-story img{width:100%;aspect-ratio:16/10;object-fit:cover}
.photo-story div{padding:28px}
.photo-story h3{margin-bottom:10px;font-size:22px}
.photo-story p{margin:0;color:var(--color-gray)}
.support-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:50px 0 25px;padding:0;list-style:none;background:rgba(255,255,255,.16)}
.support-steps li{min-height:255px;padding:30px;background:#0d294a}
.support-steps span{color:var(--color-cyan);font:700 20px var(--font-en)}
.support-steps h3{margin:45px 0 10px;font-size:18px}
.support-steps p{margin:0;color:#b8c6d5;font-size:13px}
.requirements-list{margin-top:40px;border-top:1px solid var(--color-border)}
.requirement-item{border-bottom:1px solid var(--color-border)}
.requirement-item h2{margin:0}
.requirement-item h2 button{display:flex;width:100%;align-items:center;gap:20px;padding:28px 10px;border:0;background:#fff;text-align:left;font-size:24px;font-weight:700;cursor:pointer}
.requirement-item h2 small{display:block;color:var(--color-bright-blue);font:700 13px var(--font-en);letter-spacing:.12em}
.requirement-detail{padding:10px 40px 45px;background:var(--color-light-gray)}
.requirement-detail dl{margin-bottom:30px}
.requirement-detail dl div{display:grid;grid-template-columns:190px 1fr;padding:17px 0;border-bottom:1px solid var(--color-border)}
.requirement-detail dt{font-weight:700;color:var(--color-blue)}
.requirement-detail dd{margin:0}

/* Forms */
.form-layout{display:grid;grid-template-columns:310px 1fr;gap:clamp(50px,8vw,110px);align-items:start}
.form-aside{position:sticky;top:115px}
.form-aside h2{font-size:34px}
.form-aside>p:not(.eyebrow):not(.note){color:var(--color-gray)}
.form-phone{display:flex;align-items:center;gap:10px;margin:26px 0 5px;color:var(--color-blue);font:700 28px var(--font-en)}
.form-steps{display:flex;gap:0;margin:42px 0 0;padding:0;list-style:none}
.form-steps li{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:75px;color:#9da7b2;font-size:12px}
.form-steps li:not(:last-child)::after{content:"";position:absolute}
.form-steps span{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--color-border);border-radius:50%;font:700 14px var(--font-en)}
.form-steps .is-current{color:var(--color-blue);font-weight:700}
.form-steps .is-current span{color:#fff;border-color:var(--color-blue);background:var(--color-blue)}
.form-panel{padding:clamp(25px,5vw,60px);background:var(--color-light-gray)}
.form-row{display:grid;grid-template-columns:190px 1fr;gap:30px;padding:24px 0;border-bottom:1px solid var(--color-border)}
.form-row>label,.form-row>legend{padding-top:11px;font-weight:700}
.form-row em{display:inline-block;margin-left:6px;padding:1px 6px;color:#fff;background:var(--color-blue);font-size:10px;font-style:normal;vertical-align:2px}
.form-row input,.form-row select,.form-row textarea{width:100%;min-height:52px;padding:12px 15px;border:1px solid #cbd4dd;border-radius:0;color:var(--color-text);background:#fff}
.form-row textarea{resize:vertical}
.form-row--split>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:var(--color-bright-blue);outline:2px solid rgba(22,135,217,.2)}
.form-row [aria-invalid="true"]{border-color:#bc2838}
.field-error{margin:7px 0 0;color:#b21f30;font-size:13px}
.privacy-check{padding:30px 0;text-align:center}
.privacy-check a{color:var(--color-blue);text-decoration:underline}
.button--submit{width:100%;border:0}
.hp-field{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.form-row__label{margin:0;padding-top:11px;font-weight:700}
.license-fieldset{min-width:0;margin:0;padding:0;border:0}
.license-fieldset>legend{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}
.checkbox-grid label{display:flex;align-items:center;gap:10px;min-width:0;min-height:56px;padding:12px 14px;background:#fff;border:1px solid #cbd4dd;cursor:pointer;transition:border-color .2s,background-color .2s}
.checkbox-grid label:hover{border-color:var(--color-bright-blue);background:#f8fbfe}
.checkbox-grid input{flex:none;width:18px;height:18px;min-height:0;margin:0;padding:0;accent-color:var(--color-bright-blue)}
.checkbox-grid span{min-width:0;line-height:1.5;word-break:keep-all}
.error-summary{padding:15px 20px;color:#8e1b29;background:#fdecef;border-left:4px solid #bc2838}
.error-summary p{margin:0;font-weight:700}
.confirm-list{border-top:1px solid var(--color-border)}
.confirm-list div{display:grid;grid-template-columns:190px 1fr;padding:20px 0;border-bottom:1px solid var(--color-border)}
.confirm-list dt{font-weight:700;color:var(--color-blue)}
.confirm-list dd{margin:0;word-break:break-word}
.confirm-actions{display:flex;justify-content:space-between;gap:15px;margin-top:35px}
.confirm-actions form{margin:0}
.completion-panel{max-width:800px;padding:80px 50px;text-align:center;background:var(--color-light-gray)}
.completion-panel>.material-symbols-outlined{color:var(--color-bright-blue);font-size:70px}
.completion-panel h1{font-size:clamp(30px,4vw,48px)}
.completion-panel p:not(.eyebrow){margin-bottom:35px;color:var(--color-gray)}

/* Footer */
.contact-band{position:relative;padding:76px 0;color:#fff;background:linear-gradient(110deg,#0753a9 0%,var(--color-blue) 68%,#0b67bb 100%);overflow:visible}
.contact-band__inner{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,320px);align-items:center;gap:52px;min-height:250px;padding-right:370px}
.contact-band h2{margin-bottom:12px;font-size:clamp(28px,3vw,44px);line-height:1.3}
.contact-band p:not(.eyebrow){margin:0;color:#cfdfef}
.contact-band__actions{display:flex;flex-direction:column;align-items:stretch;gap:18px}
.contact-band__phone{display:flex;align-items:center;justify-content:center;gap:10px;font:800 32px var(--font-en);letter-spacing:.01em}
.contact-band__person{position:absolute;z-index:2;right:-16px;bottom:-76px;width:360px;pointer-events:none}
.contact-band__person img{display:block;width:100%;height:auto;filter:drop-shadow(0 20px 25px rgba(0,0,0,.18))}
.site-footer{padding:75px 0 25px;color:#c6d1dc;background:#041426}
.site-footer__grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}
.site-footer__name{margin-bottom:12px;color:#fff;font-size:25px;font-weight:800}
.site-footer__logo{display:inline-block;width:min(100%,250px);margin-bottom:20px}
.site-footer__logo img{width:100%;height:auto}
.site-footer__company-name{margin:0 0 14px;color:#fff;font-size:21px;font-weight:700}
.site-footer__grid>div>p:last-child{font-size:13px;color:#8fa1b3}
.site-footer nav ul{display:grid;grid-template-columns:1fr 1fr;gap:12px 35px;margin:0;padding:0;list-style:none;font-size:13px}
.site-footer a:hover{color:var(--color-cyan)}
.site-footer__bottom{display:flex;justify-content:space-between;margin-top:55px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);color:#6e8195}
.site-footer__bottom span{font:600 11px var(--font-en);letter-spacing:.2em}
.page-top{position:fixed;z-index:900;right:20px;bottom:20px;display:grid;place-items:center;width:48px;height:48px;border:0;color:#fff;background:var(--color-bright-blue);box-shadow:0 8px 25px rgba(7,26,51,.2);opacity:0;pointer-events:none;transform:translateY(10px);transition:.25s;cursor:pointer}
.page-top.is-visible{opacity:1;pointer-events:auto;transform:none}

@media (max-width:1180px){
  .site-header__company-name{display:none}
  .global-nav{position:fixed;top:var(--header-h);right:0;width:min(100%,480px);height:calc(100vh - var(--header-h));padding:30px 35px 60px;color:#fff;background:var(--color-navy);overflow:auto;visibility:hidden;opacity:0;transform:translateX(30px);transition:.25s}
  .global-nav.is-open{visibility:visible;opacity:1;transform:none}
  .global-nav ul{display:block;height:auto}
  .global-nav li{border-bottom:1px solid rgba(255,255,255,.13)}
  .global-nav a{height:auto;padding:18px 0;font-size:16px}
  .global-nav a::after{display:none}.global-nav__sp-contact{display:block}
  .site-header__actions{margin-left:20px}.menu-toggle{display:block}
  .audience-card{padding-right:185px}.audience-card__person{width:185px}
  .example-grid{grid-template-columns:repeat(3,1fr)}
}

@media (max-width:900px){
  :root{--header-h:70px}.container{width:min(calc(100% - 40px),var(--container))}.section{padding:85px 0}
  .split-layout,.editorial-grid,.strength-showcase__grid,.safety-section__grid,.company-compact__grid,.form-layout{grid-template-columns:1fr;gap:45px}
  .editorial-grid--reverse figure,.alternating-card:nth-child(even) .alternating-card__visual,.fleet-detail:nth-child(even) .fleet-detail__image{order:0}
  .site-header__actions{display:none}.site-header__name{font-size:22px}
  .home-hero{height:auto}.home-hero__shade{background:linear-gradient(90deg,rgba(7,26,51,.88),rgba(7,26,51,.38)),linear-gradient(0deg,rgba(7,26,51,.75),transparent)}
  .audience-switch__grid{grid-template-columns:1fr}.audience-card{min-height:300px;padding-right:230px}.audience-card__person{width:210px}
  .service-grid,.feature-grid{grid-template-columns:repeat(2,1fr)}
  .fleet-preview__grid{grid-template-columns:1fr 1fr}.fleet-preview__grid article:last-child{grid-column:1/-1}
  .alternating-card,.fleet-detail,.fleet-detail:nth-child(even){grid-template-columns:1fr;gap:30px}.alternating-list,.fleet-detail-grid{gap:65px}
  .process-list{grid-template-columns:1fr}.process-list li+li{border-left:0;border-top:1px solid var(--color-border)}.process-list li:not(:last-child)::after{content:"↓";right:20px;top:auto;bottom:-13px}
  .support-steps{grid-template-columns:1fr 1fr}.link-panel-grid{grid-template-columns:1fr}.link-panel{min-height:330px}
  .detail-card-grid{grid-template-columns:1fr 1fr}.form-aside{position:static}.form-aside .form-steps{max-width:260px}.form-panel{padding:35px}
}

@media (max-width:640px){
  body{font-size:15px;line-height:1.8}.container{width:calc(100% - 32px)}.section{padding:70px 0}.section-tight{padding:35px 0}
  .section-heading h2,.split-layout .section-heading h2,.editorial-grid .section-heading h2{font-size:30px}.heading-line{white-space:normal}.section-heading--row{display:block;margin-bottom:36px}.section-heading--row .text-link{margin-top:20px}
  .site-header__inner{padding-left:16px}.site-header__name{width:auto;margin-right:auto}.site-header__name img{width:160px}.menu-toggle{width:64px}
  .global-nav{width:100%;padding-inline:28px}
  .home-hero{height:auto}.home-hero__content{padding-bottom:85px}.home-hero h1{font-size:45px}.home-hero__content>p:not(.home-hero__overline){font-size:14px}.home-hero__overline{font-size:11px}.button-row{display:grid}.button{width:100%}
  .home-hero__rail{font-size:9px}.audience-switch{margin-top:0}.audience-switch__grid{width:100%}.audience-card{padding:34px 125px 34px 24px;min-height:285px}.audience-card__person{right:-4px;width:135px;max-width:40%}.audience-card--business .audience-card__person{right:-2px}.audience-card h2{font-size:21px}.audience-card p{font-size:12px}
  .page-hero{min-height:390px}.page-hero__inner{padding-bottom:45px}.page-hero h1{font-size:42px}.page-hero__inner>p:last-child:not(.eyebrow){font-size:14px}
  .service-grid,.feature-grid,.fleet-preview__grid,.example-grid,.office-grid,.photo-story-grid,.detail-card-grid{grid-template-columns:1fr}.fleet-preview__grid article:last-child{grid-column:auto}
  .service-card{min-height:285px;padding:32px 27px}.strength-list li{font-size:15px}.image-panel--offset{margin-top:0}
  .recruit-banner{min-height:570px}.recruit-banner::after{bottom:-10px}.contact-band__inner{display:block}.contact-band__actions{align-items:stretch;margin-top:30px}.contact-band__phone{justify-content:center}
  .company-table div,.requirement-detail dl div,.confirm-list div{grid-template-columns:1fr;gap:4px}.company-table dt,.requirement-detail dt{margin-bottom:4px}.company-table dd.certification{align-items:flex-start;flex-direction:column;gap:16px}.office-card>div{padding:25px}
  .recruit-hero{min-height:680px}.recruit-hero__video{display:none}.recruit-hero{background:linear-gradient(90deg,rgba(7,26,51,.9),rgba(7,26,51,.35)),url('../photos/DSC08784.jpg') center/cover}.recruit-hero h1{font-size:clamp(26px,7.5vw,38px);line-height:1.25;letter-spacing:-.04em}.recruit-hero__content>p:not(.eyebrow){font-size:15px}
  .support-steps{grid-template-columns:1fr}.support-steps li{min-height:210px}.timeline li{grid-template-columns:55px 1fr;gap:18px}.timeline li>span{width:54px}.timeline li:not(:last-child)::before{left:26px}
  .faq-item button{padding:20px 0}.faq-answer{padding:0 10px 20px}.requirement-item h2 button{font-size:19px}.requirement-detail{padding:10px 18px 30px}
  .form-panel{padding:23px 18px}.form-row{grid-template-columns:1fr;gap:8px;padding:20px 0}.form-row>label,.form-row>legend,.form-row__label{padding-top:0}.form-row--split>div,.checkbox-grid{grid-template-columns:1fr}.confirm-actions{flex-direction:column-reverse}.confirm-actions form,.confirm-actions .button{width:100%}.completion-panel{padding:55px 22px}
  .site-footer__grid{grid-template-columns:1fr;gap:35px}.site-footer nav ul{grid-template-columns:1fr}.site-footer__bottom{display:block}.site-footer__bottom span{display:block;margin-top:8px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.recruit-hero__video{display:none}
}









/* Recruit single page */
.recruit-page-nav{position:sticky;z-index:80;top:var(--header-h);background:#fff;border-bottom:1px solid var(--color-border);box-shadow:0 8px 25px rgba(7,26,51,.06)}
.recruit-page-nav .container{display:flex;justify-content:center;overflow-x:auto;scrollbar-width:none}
.recruit-page-nav .container::-webkit-scrollbar{display:none}
.recruit-page-nav a{flex:none;padding:18px 22px;color:var(--color-blue);font-size:13px;font-weight:700;border-right:1px solid var(--color-border)}
.recruit-page-nav a:first-child{border-left:1px solid var(--color-border)}
.recruit-page-nav a:hover{color:var(--color-bright-blue);background:var(--color-light-gray)}
#about,#point,#job,#schedule,#environment,#requirements,#faq{scroll-margin-top:calc(var(--header-h) + 56px)}
#requirements .section-heading h2{font-size:clamp(30px,3vw,46px)}
.recruit-data-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:45px 0 28px}
.recruit-data-card{display:flex;flex-direction:column;min-height:205px;padding:26px;background:#fff;border-top:3px solid var(--color-bright-blue)}
.recruit-data-card>span{color:var(--color-blue);font-size:14px;font-weight:700}
.recruit-data-card strong{margin:auto 0 12px;color:var(--color-navy);font:800 clamp(36px,3.25vw,50px)/1.08 var(--font-en);white-space:nowrap}
.recruit-data-card strong small{margin-left:3px;font:700 15px var(--font-jp)}
.recruit-data-card p{margin:0;color:var(--color-gray);font-size:12px}
.recruit-entry-cta .button{margin-top:18px}
@media (max-width:900px){
  .recruit-page-nav .container{justify-content:flex-start;width:100%;padding-left:20px}
  .recruit-data-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .recruit-page-nav a{padding:14px 16px;font-size:12px}
  #about,#point,#job,#schedule,#environment,#requirements,#faq{scroll-margin-top:calc(var(--header-h) + 47px)}
  .recruit-data-grid{grid-template-columns:1fr 1fr;gap:8px;margin-top:30px}
  .recruit-data-card{min-height:165px;padding:18px 14px}
  .recruit-data-card strong{font-size:34px}
  .recruit-data-card strong small{font-size:12px}
}



/* Recruit requirements table */
.recruit-position-card{margin-top:34px;background:#fff;border:1px solid #d9e3ec;box-shadow:0 18px 50px rgba(7,26,51,.08)}
.recruit-position-card__header{padding:34px 40px;color:#fff;background:linear-gradient(115deg,var(--color-navy),#0d3762);border-left:5px solid var(--color-cyan)}
.recruit-position-card__header p{margin:0 0 7px;color:var(--color-cyan);font:700 13px var(--font-en);letter-spacing:.14em}
.recruit-position-card__header h3{margin:0 0 8px;font-size:clamp(24px,2.4vw,34px);line-height:1.35}
.recruit-position-card__header span{color:#b9cadb;font-size:13px}
.recruit-requirements-table{padding:8px 40px 0}
.recruit-requirements-table table{width:100%;border-collapse:collapse;table-layout:fixed}
.recruit-requirements-table tr{border-bottom:1px solid var(--color-border)}
.recruit-requirements-table th,.recruit-requirements-table td{padding:23px 24px;text-align:left;vertical-align:top}
.recruit-requirements-table th{width:210px;color:var(--color-blue);background:#f3f7fa;font-size:15px;font-weight:700;border-right:1px solid var(--color-border)}
.recruit-requirements-table td{color:var(--color-text);line-height:1.85}
.recruit-requirements-table td strong{color:var(--color-navy)}
.recruit-conditions-note{margin:20px 40px 0;color:var(--color-gray);font-size:12px}
.recruit-position-card__footer{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:22px;padding:28px 40px;background:#f3f7fa}
.recruit-position-card__footer p{margin:0;color:var(--color-gray);font-size:14px}
.recruit-position-card__footer .button{flex:none}
@media (max-width:640px){
  .recruit-position-card{margin-top:24px}
  .recruit-position-card__header{padding:26px 22px;border-left-width:4px}
  .recruit-position-card__header h3{font-size:22px}
  .recruit-requirements-table{padding:0 18px}
  .recruit-requirements-table table,.recruit-requirements-table tbody,.recruit-requirements-table tr,.recruit-requirements-table th,.recruit-requirements-table td{display:block;width:100%}
  .recruit-requirements-table tr{padding:18px 0}
  .recruit-requirements-table th,.recruit-requirements-table td{padding:0;border:0;background:none}
  .recruit-requirements-table th{margin-bottom:7px;font-size:14px}
  .recruit-requirements-table td{font-size:14px;line-height:1.75}
  .recruit-conditions-note{margin:18px 18px 0}
  .recruit-position-card__footer{display:block;padding:24px 18px}
  .recruit-position-card__footer p{margin-bottom:16px}
}



/* Footer CTA portrait layout */
@media (max-width:1180px){
  .contact-band__inner{grid-template-columns:minmax(0,1fr) 270px;gap:30px;padding-right:300px}
  .contact-band__person{right:0;width:290px}
  .contact-band h2{font-size:34px}
  .contact-band__phone{font-size:27px}
}
@media (max-width:900px){
  .contact-band{padding:65px 0}
  .contact-band__inner{display:block;min-height:330px;padding-right:270px}
  .contact-band__actions{align-items:stretch;width:min(100%,310px);margin-top:28px}
  .contact-band__person{right:0;bottom:-65px;width:260px}
}
@media (max-width:640px){
  .contact-band{padding:30px 0 25px;overflow:hidden}
  .contact-band__inner{display:block;min-height:0;padding:0}
  .contact-band__copy{position:relative;z-index:1;max-width:58%;min-height:245px}
  .contact-band__copy .eyebrow{margin-bottom:18px}
  .contact-band h2{font-size:28px;line-height:1.5}
  .contact-band__copy>p:last-child{font-size:14px;line-height:2}
  .contact-band__actions{position:relative;z-index:3;width:100%;margin-top:0;gap:20px}
  .contact-band__actions .button{min-height:68px}
  .contact-band__phone{justify-content:center;font-size:30px}
  .contact-band__person{z-index:0;top:-20px;right:-52px;bottom:auto;width:225px;transform:none}
}





/* Home MV: preserve the complete artwork without side gaps */
.home-hero{display:block;width:100%;max-width:none;min-height:0;aspect-ratio:auto}
.home-hero__picture{position:relative;inset:auto;display:block;width:100%;height:auto}
.home-hero__picture img{width:100%;height:auto;object-fit:contain}








@media (max-width:767px){
  .home-hero{width:100%;max-width:none;margin:0;min-height:0;aspect-ratio:992/1586;background:var(--color-navy) url('../images/mv/SP.webp') top left/100% 100% no-repeat}
  .home-hero__picture{display:none}
}



