:root{--navy:#1b2a4a;--amber:#e8890c;--gray:#f4f5f7;--text:#2a2a2a;--white:#fff;--max:1200px;--shadow:0 14px 40px rgba(27,42,74,.09)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);font-family:"Noto Sans JP",sans-serif;line-height:1.8;background:#fff}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.container{width:min(calc(100% - 48px),var(--max));margin-inline:auto}.skip-link{position:fixed;left:16px;top:-80px;background:var(--amber);color:var(--navy);padding:10px 18px;z-index:200}.skip-link:focus{top:12px}.site-header{height:88px;background:#fff;position:sticky;top:0;z-index:100;border-bottom:1px solid #e5e7eb}.topbar{background:var(--navy);color:#fff;font-size:13px}.topbar-inner{max-width:1320px;margin:auto;padding:6px 32px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.topbar a{color:#fff;font-weight:700}@media(max-width:800px){.topbar-inner{padding:6px 18px;justify-content:center;text-align:center;font-size:12px}.topbar .hours{display:none}}.header-inner{height:100%;max-width:1320px;margin:auto;padding:0 32px;display:flex;align-items:center;gap:42px}.logo{font-family:"Zen Kaku Gothic New",sans-serif;font-weight:900;font-size:24px;color:var(--navy);letter-spacing:.04em;white-space:nowrap}.logo::before{content:"";display:inline-block;width:12px;height:28px;background:var(--amber);margin-right:10px;vertical-align:-5px}.global-nav{margin-left:auto}.global-nav ul{display:flex;gap:30px;align-items:center;list-style:none;margin:0;padding:0}.global-nav a{font-weight:700;font-size:14px}.global-nav a:hover,.global-nav a[aria-current=page]{color:var(--amber)}.header-contact,.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 24px;font-weight:700;border:2px solid transparent;transition:.2s}.header-contact,.btn-amber{background:var(--amber);color:var(--navy)}.btn-navy{background:var(--navy);color:#fff}.btn-outline{border-color:var(--navy);color:var(--navy);background:transparent}.btn:hover{transform:translateY(-2px)}.menu-toggle{display:none;border:0;background:transparent;width:48px;height:48px;padding:11px;margin-left:auto}.menu-toggle span{display:block;height:2px;background:var(--navy);margin:6px 0}.hero{position:relative;min-height:88vh;display:grid;align-items:end;color:#fff;background:var(--navy);overflow:hidden}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(27,42,74,.92) 0%,rgba(27,42,74,.55) 50%,rgba(27,42,74,.06) 100%)}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-content{position:relative;z-index:1;padding-bottom:100px}.eyebrow{font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;color:var(--amber);letter-spacing:.16em;text-transform:uppercase;font-size:13px}.hero h1{font-family:"Zen Kaku Gothic New",sans-serif;font-size:clamp(38px,5vw,68px);line-height:1.28;max-width:830px;margin:14px 0 20px;font-weight:900}.hero p{font-size:20px;font-weight:700;margin:0}.section{padding:100px 0}.section-gray{background:var(--gray)}.section-navy{background:var(--navy);color:#fff}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:46px}.section-title,.page-hero h1{font-family:"Zen Kaku Gothic New",sans-serif;color:var(--navy);font-size:clamp(32px,4vw,48px);line-height:1.3;margin:8px 0;font-weight:900}.section-navy .section-title{color:#fff}.lead{font-size:18px;max-width:760px}.news-list{list-style:none;padding:0;margin:0;border-top:1px solid #d8dce3}.news-list li{display:flex;gap:32px;padding:18px 0;border-bottom:1px solid #d8dce3}.news-list time{color:#697386}.tag{font-size:12px;color:var(--navy);background:#fde8cb;padding:2px 10px;align-self:center}.message-grid,.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.company-hero-img{width:100%;aspect-ratio:5/4;object-fit:cover;border:1px solid #d9dde5}.big-copy{font-family:"Zen Kaku Gothic New",sans-serif;font-size:clamp(32px,4vw,52px);font-weight:900;color:var(--navy);line-height:1.45}.cards,.works-grid,.strength-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.card{background:#fff;padding:36px;border-top:5px solid var(--amber);box-shadow:var(--shadow)}.card-number{font-family:"Zen Kaku Gothic New";font-size:42px;font-weight:900;color:#d9dde5}.card h3,.work-card h3{font-family:"Zen Kaku Gothic New";font-size:24px;color:var(--navy);margin:8px 0}.work-card{background:#fff;box-shadow:var(--shadow);overflow:hidden}.work-card img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:.3s}.work-card:hover img{transform:scale(1.025)}.work-card-body{padding:24px}.work-card-body p{margin:0}.strength{text-align:center;padding:34px 24px}.strength-mark{font-family:"Zen Kaku Gothic New";font-size:48px;font-weight:900;color:var(--amber)}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d9dde5}.fact{background:#fff;padding:28px;text-align:center}.fact strong{display:block;font-family:"Zen Kaku Gothic New";font-size:34px;color:var(--navy)}.recruit-teaser img{width:100%;aspect-ratio:1;object-fit:cover}.cta{text-align:center}.cta h2{font-family:"Zen Kaku Gothic New";font-size:clamp(32px,4vw,52px);margin:0 0 18px}.cta .btn{margin-top:25px}.page-hero{padding:95px 0 70px;background:var(--gray);border-bottom:1px solid #e5e7eb}.breadcrumb{font-size:13px;color:#687080;margin-bottom:25px}.page-hero p{max-width:720px}.service-detail{display:grid;grid-template-columns:120px 1fr;gap:40px;padding:48px 0;border-bottom:1px solid #d9dde5}.service-detail__img{width:100%;aspect-ratio:9/5;object-fit:cover;margin:20px 0;border:1px solid #d9dde5}.service-no{font-family:"Zen Kaku Gothic New";font-size:64px;font-weight:900;color:var(--amber)}.service-detail h2{font-family:"Zen Kaku Gothic New";font-size:32px;color:var(--navy);margin:0}.feature-list{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}.feature-list div{background:var(--gray);padding:22px}.detail-main{max-width:900px;margin:auto}.detail-main>img{width:100%;aspect-ratio:3/2;object-fit:cover}.project-meta,.company-table,.job-table{width:100%;border-collapse:collapse;margin-top:40px}.project-meta th,.project-meta td,.company-table th,.company-table td,.job-table th,.job-table td{padding:18px;border-bottom:1px solid #d9dde5;text-align:left}.project-meta th,.company-table th,.job-table th{width:26%;color:var(--navy);background:var(--gray)}.detail-nav{display:flex;justify-content:space-between;margin-top:55px}.portrait{width:100%;aspect-ratio:1;object-fit:cover}.interview{display:grid;grid-template-columns:370px 1fr;gap:60px;align-items:center;margin-bottom:70px}.interview h2{font-family:"Zen Kaku Gothic New";font-size:30px;color:var(--navy)}.timeline{border-left:3px solid var(--amber);padding-left:34px}.timeline-item{position:relative;padding:0 0 35px}.timeline-item::before{content:"";position:absolute;width:13px;height:13px;border-radius:50%;background:var(--amber);left:-42px;top:9px}.timeline-item strong{color:var(--navy);font-family:"Zen Kaku Gothic New"}.form-wrap{max-width:840px;margin:auto}.form-row{margin-bottom:30px}.form-row label,.label-like{display:block;font-weight:700;color:var(--navy);margin-bottom:8px}.required{color:#b44612;font-size:12px;margin-left:8px}.form-row input,.form-row select,.form-row textarea{width:100%;border:1px solid #aab0ba;padding:14px;background:#fff;border-radius:0}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:3px solid rgba(232,137,12,.28);border-color:var(--amber)}.error{display:none;color:#b42318;font-size:14px;margin:6px 0 0}.error.visible{display:block}.is-invalid{border-color:#b42318!important}.form-actions{display:flex;justify-content:center;gap:15px;margin-top:38px}.confirm-list{background:var(--gray);padding:30px;margin:25px 0}.confirm-list dt{font-weight:700;color:var(--navy);margin-top:14px}.confirm-list dd{margin:3px 0 14px;white-space:pre-wrap}.form-panel[hidden]{display:none}.complete{text-align:center;padding:70px 20px;background:var(--gray)}.site-footer{background:#111d36;color:#fff;padding:68px 0 28px}.footer-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:70px}.footer-logo{color:#fff}.footer-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;list-style:none;margin:0;padding:0}.footer-nav a:hover{color:var(--amber)}.disclaimer{border-top:1px solid rgba(255,255,255,.2);margin-top:48px;padding-top:22px;font-size:12px}.copyright{font-size:12px;color:#b9c0cf}.center{text-align:center}.mt{margin-top:35px}@media(max-width:800px){.container{width:min(calc(100% - 36px),var(--max))}.site-header{height:72px}.header-inner{padding:0 18px}.logo{font-size:20px}.header-contact{display:none}.menu-toggle{display:block}.global-nav{position:absolute;top:72px;left:0;width:100%;background:#fff;max-height:0;overflow:hidden;transition:max-height .3s;border-bottom:1px solid #ddd}.global-nav.is-open{max-height:390px}.global-nav ul{display:block;padding:12px 18px 24px}.global-nav li{border-bottom:1px solid #e5e7eb}.global-nav a{display:block;padding:16px 4px}.global-nav li:last-child{border:0}.global-nav li:last-child a{background:var(--amber);text-align:center;color:var(--navy);margin-top:14px}.hero{min-height:570px}.hero::after{background:linear-gradient(0deg,rgba(27,42,74,.94),rgba(27,42,74,.18))}.hero-content{padding-bottom:55px}.hero p{font-size:16px}.section{padding:70px 0}.section-head{display:block;margin-bottom:32px}.message-grid,.split,.cards,.works-grid,.strength-grid,.facts,.footer-grid,.feature-list{grid-template-columns:1fr}.message-grid,.split{gap:32px}.news-list li{display:grid;grid-template-columns:auto 1fr;gap:5px 15px}.news-list li a{grid-column:1/-1}.service-detail{grid-template-columns:1fr;gap:5px}.service-no{font-size:44px}.interview{grid-template-columns:1fr;gap:24px}.interview img{max-width:400px}.project-meta th,.project-meta td,.company-table th,.company-table td,.job-table th,.job-table td{display:block;width:100%}.project-meta th,.company-table th,.job-table th{padding-bottom:6px}.project-meta td,.company-table td,.job-table td{padding-top:8px}.footer-nav{grid-template-columns:1fr 1fr}.form-actions{flex-direction:column}.btn{width:100%}.detail-nav{gap:12px}.detail-nav .btn{font-size:13px;padding:8px}.page-hero{padding:65px 0 48px}}
.global-nav li:last-child{display:none}@media(max-width:800px){.global-nav li:last-child{display:block}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
