/*
Theme Name: A-Tune Corporate
Theme URI: https://a-tune.jp/
Author: 株式会社A-Tune
Author URI: https://a-tune.jp/
Description: 開発、AI、クラウド、ITコンサルティングを提供する株式会社A-Tuneのオリジナルコーポレートテーマです。
Version: 1.2.6
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: a-tune
*/

:root { --ink:#161a1b; --muted:#697172; --line:#dce1df; --paper:#f7f8f6; --accent:#0d5c56; --accent-light:#d9e9e5; --font-en:"Helvetica Neue",Helvetica,Arial,sans-serif; --font-jp:"Hiragino Kaku Gothic ProN","Yu Gothic",YuGothic,Meiryo,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#fff; color:var(--ink); font-family:var(--font-jp), sans-serif; letter-spacing:0; }
.siteIntro { display:none; }
.has-js .siteIntro { position:fixed; z-index:9999; inset:0; display:grid; grid-template-rows:1fr auto 1fr; place-items:center; overflow:hidden; background:#fff; opacity:1; visibility:visible; transition:opacity .42s cubic-bezier(.4,0,.2,1),visibility .42s; }
.intro-seen .siteIntro,.siteIntro.is-leaving { opacity:0; visibility:hidden; pointer-events:none; }
body.intro-active { overflow:hidden; }
.siteIntro__grid { grid-row:2; position:relative; width:clamp(184px,24vw,288px); aspect-ratio:1; display:grid; grid-template:1fr 1fr/1fr 1fr; overflow:hidden; }
.siteIntro__cell { display:flex; align-items:flex-end; padding:13px; color:rgba(22,26,27,.55); border:1px solid rgba(22,26,27,.18); font:600 10px var(--font-en),sans-serif; opacity:0; animation:introCellIn .72s cubic-bezier(.22,1,.36,1) forwards; }
.siteIntro__cell--dev { background:#edf0ed; --intro-x:-55%; --intro-y:-55%; }
.siteIntro__cell--ai { background:var(--accent-light); --intro-x:55%; --intro-y:-55%; animation-delay:.06s; }
.siteIntro__cell--cld { background:var(--ink); color:#9ca4a3; --intro-x:-55%; --intro-y:55%; animation-delay:.12s; }
.siteIntro__cell--con { background:#fff; --intro-x:55%; --intro-y:55%; animation-delay:.18s; }
.siteIntro__mark { position:absolute; left:50%; top:50%; width:31%; aspect-ratio:1; display:grid; place-items:center; background:var(--accent); color:#fff; font:500 clamp(38px,5vw,60px) var(--font-en),sans-serif; opacity:0; transform:translate(-50%,-50%) scale(.62); animation:introMarkIn .6s .58s cubic-bezier(.22,1,.36,1) forwards; }
.siteIntro__brand { grid-row:3; align-self:start; display:grid; justify-items:center; gap:7px; padding-top:27px; opacity:0; transform:translateY(12px); animation:introBrandIn .48s .82s ease forwards; }
.siteIntro__brand strong { font:600 16px var(--font-en),sans-serif; }
.siteIntro__brand span { color:var(--muted); font:500 10px var(--font-en),sans-serif; }
@keyframes introCellIn { from { opacity:0; transform:translate(var(--intro-x),var(--intro-y)) scale(.92); } to { opacity:1; transform:translate(0,0) scale(1); } }
@keyframes introMarkIn { to { opacity:1; transform:translate(-50%,-50%) scale(1); } }
@keyframes introBrandIn { to { opacity:1; transform:translateY(0); } }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
body.admin-bar .siteHeader { top:32px; }
.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.siteMain { min-height:60vh; }
.noticeSuccess,.noticeError { margin:0 0 32px; padding:18px 20px; border-left:3px solid var(--accent); background:var(--paper); line-height:1.8; }
.noticeError { border-color:#9f3a38; }
.hpField { position:absolute!important; left:-9999px!important; }
.siteHeader { position:fixed; z-index:20; top:0; left:0; width:100%; height:82px; display:flex; align-items:center; justify-content:space-between; padding:0 4.5vw; background:rgba(255,255,255,.92); border-bottom:1px solid rgba(22,26,27,.1); backdrop-filter:blur(12px); }
.logo,.footerLogo { display:flex; align-items:center; gap:11px; font:600 15px var(--font-en),sans-serif; letter-spacing:0; }
.logoMark { display:grid; place-items:center; width:30px; height:30px; background:var(--ink); color:#fff; font-size:14px; }
.desktopNav { height:100%; display:flex; align-items:center; gap:34px; font:500 13px var(--font-en),sans-serif; }
.desktopNav a:not(.contactNav):hover { color:var(--accent); }
.contactNav { height:100%; display:flex; align-items:center; gap:30px; padding:0 30px; margin-right:-4.5vw; background:var(--ink); color:#fff; }
.mobileNav { display:none; }
.hero { min-height:760px; height:100vh; position:relative; overflow:hidden; display:flex; align-items:center; padding:120px 4.5vw 62px; border-bottom:1px solid var(--line); }
.heroContent { position:relative; z-index:2; width:min(760px,70%); }
.eyebrow,.sectionLabel { margin:0 0 26px; color:var(--accent); font:600 12px var(--font-en),sans-serif; text-transform:uppercase; letter-spacing:0; }
.hero h1 { max-width:780px; margin:0; font-size:clamp(56px,7.2vw,112px); line-height:1.04; font-weight:520; letter-spacing:0; }
.heroLead { margin:38px 0 28px; color:#3f4647; font-size:16px; line-height:2; }
.textLink { display:inline-flex; align-items:center; gap:16px; padding-bottom:7px; border-bottom:1px solid currentColor; font:600 13px var(--font-en),sans-serif; }
.textLink span { transition:transform .25s ease; }.textLink:hover span { transform:translate(3px,-3px); }
.heroGrid { position:absolute; right:-5vw; top:18%; width:min(45vw,650px); aspect-ratio:1; display:grid; grid-template:1fr 1fr/1fr 1fr; transform:rotate(-8deg); opacity:.92; }
.heroCell { display:flex; align-items:flex-end; padding:22px; border:1px solid #c8cecc; color:rgba(22,26,27,.32); font:500 13px var(--font-en),sans-serif; }
.cellA { background:#edf0ed; }.cellB { background:var(--accent-light); transform:translateY(12%); }.cellC { background:#252b2c; color:#9ca4a3; }.cellD { background:#fff; transform:translateY(12%); }
.heroFoot { position:absolute; z-index:2; left:4.5vw; right:4.5vw; bottom:30px; display:flex; justify-content:space-between; color:var(--muted); font-size:11px; }
.scrollLabel { font-family:var(--font-en),sans-serif; }
.sectionBand { border-bottom:1px solid var(--line); }
.sectionInner { width:min(1180px,91vw); margin:0 auto; }
.statement { padding:150px 0; }.statementGrid { display:grid; grid-template-columns:1fr 2.2fr; gap:70px; }
.statement h2,.sectionHead h2,.approach h2,.pageHero h1,.aboutIntro h2,.contactBand h2 { margin:0; font-weight:520; letter-spacing:0; }
.statement h2,.sectionHead h2,.approach h2,.aboutIntro h2 { font-size:clamp(35px,4.2vw,62px); line-height:1.3; }
.statementGrid > div > p,.approachCopy > p,.aboutIntro > div > p { max-width:680px; margin:35px 0 0; color:var(--muted); font-size:15px; line-height:2.15; }
.businessSection { padding:150px 0 130px; background:var(--paper); }
.sectionHead { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:76px; }
.businessList { border-top:1px solid #bdc4c2; }
.businessItem { min-height:170px; display:grid; grid-template-columns:75px minmax(260px,1.1fr) 1.5fr 30px; gap:30px; align-items:center; border-bottom:1px solid #bdc4c2; transition:background .25s,padding .25s; }
.businessItem:hover { background:#fff; padding:0 20px; }
.industryFocus { padding:125px 0; background:#fff; }
.industryFocusGrid { display:grid; grid-template-columns:1fr 1.2fr; gap:9vw; align-items:end; }
.industryFocus h2 { margin:20px 0 0; font-size:clamp(34px,4vw,58px); font-weight:500; line-height:1.35; }
.industryLead { max-width:650px; margin:0 0 5px; color:var(--muted); font-size:15px; line-height:2.15; }
.industryCapabilities { display:grid; grid-template-columns:repeat(4,1fr); margin-top:75px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.industryCapabilities span { position:relative; padding:23px 20px 23px 30px; color:#42494a; font-size:12px; }
.industryCapabilities span::before { content:""; position:absolute; left:0; top:50%; width:7px; height:7px; border:1px solid var(--accent); transform:translateY(-50%); }
.recruitDxSection { padding:110px 0; background:#fff; }
.recruitDxBanner { min-height:440px; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr); overflow:hidden; background:#0c1525; color:#fff; border:1px solid #1e2b42; }
.recruitDxCopy { position:relative; z-index:2; display:flex; flex-direction:column; align-items:flex-start; padding:58px clamp(42px,5vw,74px); }
.recruitDxLabel { display:flex; align-items:center; gap:14px; margin:0 0 36px; color:#9bb7ff; font:600 11px var(--font-en),sans-serif; text-transform:uppercase; }
.recruitDxLabel span { padding-right:14px; color:#b8c1d2; border-right:1px solid #526078; }
.recruitDxCopy h2 { margin:0; max-width:650px; font-size:clamp(39px,4.7vw,64px); line-height:1.2; font-weight:540; }
.recruitDxCopy > p:not(.recruitDxLabel) { max-width:590px; margin:27px 0 34px; color:#b8c1d2; font-size:14px; line-height:2; }
.recruitDxCta { display:inline-flex; align-items:center; gap:18px; margin-top:auto; padding-bottom:7px; border-bottom:1px solid #fff; font-size:13px; font-weight:600; }
.recruitDxCta > span { color:#7ea1ff; font-size:18px; transition:transform .25s ease; }
.recruitDxVisual { position:relative; min-width:0; overflow:hidden; }
.recruitDxVisual::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#0c1525 0%,rgba(12,21,37,.2) 38%,rgba(12,21,37,.5) 100%); }
.recruitDxVisual img { width:100%; height:100%; display:block; object-fit:cover; object-position:center; filter:saturate(.75) contrast(1.06) brightness(.72); transition:transform .6s cubic-bezier(.22,1,.36,1); }
.recruitDxFlow { position:absolute; z-index:2; left:28px; right:28px; bottom:28px; display:grid; grid-template-columns:1fr auto 1fr auto 1fr; align-items:center; gap:9px; padding:17px 18px; background:rgba(7,13,24,.78); border-top:1px solid rgba(255,255,255,.32); backdrop-filter:blur(8px); }
.recruitDxFlow span { display:grid; gap:4px; font:600 12px var(--font-en),sans-serif; }
.recruitDxFlow small { color:#7ea1ff; font:500 8px var(--font-en),sans-serif; }
.recruitDxFlow i { color:#7d8798; font-style:normal; }
.recruitDxBanner:hover .recruitDxVisual img { transform:scale(1.035); }
.recruitDxBanner:hover .recruitDxCta > span { transform:translate(3px,-3px); }
.businessNumber { color:var(--accent); font:500 12px var(--font-en),sans-serif; }.businessTitle h3 { margin:0 0 7px; font:500 clamp(22px,2.2vw,32px) var(--font-en),sans-serif; }.businessTitle p,.businessBody { margin:0; }.businessTitle p { color:var(--muted); font-size:12px; }.businessBody { color:var(--muted); font-size:13px; line-height:1.9; }.businessArrow { color:var(--accent); font-size:20px; }
.approach { padding:150px 0; }.approachGrid { display:grid; grid-template-columns:1fr 1fr; gap:9vw; align-items:center; }
.approachVisual { position:relative; aspect-ratio:1; background:var(--ink); overflow:hidden; }
.axis { position:absolute; color:#c8d0ce; font:500 11px var(--font-en),sans-serif; }.axis::after { content:""; position:absolute; background:#596261; }.axisX { left:8%; right:8%; top:50%; border-top:1px solid #596261; }.axisX span { position:absolute; right:0; top:12px; }.axisY { top:8%; bottom:8%; left:50%; border-left:1px solid #596261; }.axisY span { position:absolute; left:12px; top:0; writing-mode:vertical-rl; }.axisCenter { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); display:grid; place-items:center; width:32%; aspect-ratio:1; background:var(--accent); color:#fff; font:500 clamp(48px,7vw,88px) var(--font-en),sans-serif; }
.approachCopy > p { margin-bottom:34px; }
.newsSection { padding:130px 0; background:var(--paper); }.newsGrid { display:grid; grid-template-columns:1fr 2.3fr; gap:70px; }.newsGrid h2 { margin:0; font-size:40px; font-weight:520; }.newsItem { min-height:105px; display:grid; grid-template-columns:100px 90px 1fr 20px; gap:20px; align-items:center; border-top:1px solid #bdc4c2; border-bottom:1px solid #bdc4c2; }.newsItem time { color:var(--muted); font:500 12px var(--font-en),sans-serif; }.newsTag { color:var(--accent); font:500 10px var(--font-en),sans-serif; text-transform:uppercase; }.newsItem strong { font-size:14px; font-weight:500; }.newsMore { margin-top:30px; }
.columnSection { padding:140px 0; }
.homeColumns,.columnList { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.columnVisual,.columnThumbnail { position:relative; overflow:hidden; aspect-ratio:16/10; margin-bottom:25px; background:#edf0ed; border:1px solid var(--line); }
.columnThumbnail img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .45s cubic-bezier(.22,1,.36,1); }
.homeColumn:hover .columnThumbnail img,.columnCard:hover .columnThumbnail img { transform:scale(1.025); }
.columnVisual span { position:absolute; z-index:2; left:18px; bottom:14px; color:var(--muted); font:500 11px var(--font-en),sans-serif; }
.columnVisual i { position:absolute; display:block; background:var(--accent); }
.columnVisual1 i { width:30%;height:100%;right:20%;top:0; }.columnVisual1::after { content:""; position:absolute; left:0;top:50%;width:100%;height:1px;background:#89918f; }
.columnVisual2 { background:var(--ink); }.columnVisual2 i { width:46%;aspect-ratio:1;right:10%;top:13%;background:var(--accent-light);transform:rotate(10deg); }.columnVisual2::after { content:""; position:absolute; left:34%;top:0;width:1px;height:100%;background:#65706e; }
.columnVisual3 { background:var(--accent-light); }.columnVisual3 i { width:34%;aspect-ratio:1;left:33%;top:20%;background:var(--ink); }.columnVisual3::after { content:""; position:absolute; inset:14%;border:1px solid rgba(13,92,86,.45); }
.columnCardMeta { display:flex; align-items:center; gap:16px; color:var(--muted); font:500 10px var(--font-en),sans-serif; }
.columnCardMeta span { color:var(--accent); text-transform:uppercase; }
.homeColumn h3,.columnCard h2 { margin:17px 0 13px; font-size:21px; line-height:1.55; font-weight:520; }
.homeColumn > p,.columnCard > p { margin:0;color:var(--muted);font-size:13px;line-height:1.85; }
.homeColumn { transition:transform .25s ease; }.homeColumn:hover { transform:translateY(-5px); }
.columnList { row-gap:75px; }.columnCard { display:block; }.columnCard strong { display:inline-flex;gap:12px;margin-top:25px;padding-bottom:6px;border-bottom:1px solid currentColor;font:600 11px var(--font-en),sans-serif; }
.columnArticle { padding-top:82px; }.columnArticleHeader { padding:100px 4.5vw 105px;background:var(--paper);border-bottom:1px solid var(--line); }
.columnBack { display:inline-block;margin-bottom:75px;color:var(--muted);font:500 12px var(--font-en),sans-serif; }
.columnArticleHeader h1 { max-width:950px;margin:28px 0 45px;font-size:clamp(42px,6.2vw,84px);line-height:1.25;font-weight:520; }
.columnArticleHeader > p { max-width:720px;margin:0 0 0 auto;color:var(--muted);font-size:15px;line-height:2.1; }
.columnArticleBody { width:min(780px,calc(100% - 40px));margin:0 auto;padding:110px 0 130px; }.columnArticleBody section { margin-bottom:95px; }
.articleNumber { color:var(--accent);font:600 11px var(--font-en),sans-serif; }.columnArticleBody h2 { margin:16px 0 32px;font-size:clamp(26px,3vw,38px);line-height:1.5;font-weight:520; }
.columnArticleBody section p,.columnArticleBody > p { margin:0 0 24px;color:#495051;font-size:15px;line-height:2.2; }
.columnArticleBody a { color:#1769d2; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px; transition:color .2s; }.columnArticleBody a:hover { color:#0b47a1; }
.articleAuthor { padding:35px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line); }.articleAuthor span { color:var(--muted);font:500 10px var(--font-en),sans-serif; }.articleAuthor strong { display:block;margin:12px 0 5px;font-size:14px; }.articleAuthor p { margin:0;color:var(--muted);font:500 11px var(--font-en),sans-serif; }
.contactBand { background:var(--accent); color:#fff; }.contactInner { min-height:420px; width:min(1180px,91vw); margin:auto; display:flex; align-items:center; justify-content:space-between; }.contactBand .sectionLabel { color:#bcd6d2; }.contactBand h2 { font-size:clamp(36px,5vw,70px); line-height:1.3; }.contactCircle { display:grid; place-items:center; width:110px; height:110px; border:1px solid rgba(255,255,255,.6); border-radius:50%; font-size:30px; transition:background .25s,color .25s,transform .25s; }.contactInner:hover .contactCircle { background:#fff;color:var(--accent);transform:translate(4px,-4px); }
.siteFooter { padding:80px 4.5vw 30px; background:var(--ink); color:#fff; }.footerTop,.footerBottom { display:flex; justify-content:space-between; }.footerTop { min-height:210px; gap:60px; }.footerBrand { display:flex; flex-direction:column; align-items:flex-start; gap:34px; flex:1; }.footerLogo { align-self:flex-start; }.footerLogo .logoMark { background:#fff;color:var(--ink); }.footerSocial { display:grid; gap:11px; width:min(560px,52vw); }.footerSocialLabel { margin:0; color:#919898; font:500 9px var(--font-en),sans-serif; text-transform:uppercase; }.footerSocialLinks { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }.socialLink { display:grid; gap:8px; min-width:0; padding-top:14px; border-top:1px solid #424849; transition:color .25s,border-color .25s; }.socialLink small { color:#919898; font:500 9px var(--font-en),sans-serif; text-transform:uppercase; transition:color .25s; }.socialLink strong { display:flex; justify-content:space-between; gap:10px; min-width:0; font:500 11px var(--font-en),sans-serif; white-space:nowrap; }.socialLink:hover { color:#90bdb7; border-color:#90bdb7; }.socialLink:hover small { color:#90bdb7; }.footerNav { display:grid; grid-template-columns:repeat(2,130px); gap:20px 40px; font:500 12px var(--font-en),sans-serif; }.footerNav a:hover { color:#90bdb7; }.footerBottom { padding-top:25px; border-top:1px solid #424849; color:#919898; font-size:10px; }
.pageHero { min-height:550px; padding:180px 4.5vw 90px; background:var(--paper); border-bottom:1px solid var(--line); }.pageHero h1 { font:520 clamp(58px,8vw,112px)/1 var(--font-en),sans-serif; }.pageHero > p:last-child { max-width:620px; margin:52px 0 0 auto; color:var(--muted); line-height:2; }
.subSection { padding:120px 0; border-bottom:1px solid var(--line); }.detailList { border-top:1px solid var(--line); }.detailItem { display:grid; grid-template-columns:1fr 1fr; gap:80px; padding:65px 0; border-bottom:1px solid var(--line); }.detailItem span { color:var(--accent); font:500 11px var(--font-en),sans-serif; }.detailItem h2 { margin:14px 0 6px; font:500 clamp(30px,4vw,52px) var(--font-en),sans-serif; }.detailItem p { color:var(--muted); font-size:14px; line-height:2; }.detailItem .detailJp { margin:0; font-size:12px; }.businessIndustry { display:grid; grid-template-columns:1fr 2fr; gap:70px; margin-top:120px; padding:70px 0 0; border-top:1px solid var(--line); }.businessIndustry h2 { margin:0 0 24px; font-size:clamp(28px,3.2vw,44px); font-weight:500; }.businessIndustry p:not(.sectionLabel) { max-width:700px; color:var(--muted); font-size:14px; line-height:2.1; }.aboutIntro { display:grid; grid-template-columns:1fr 2fr; gap:70px; }.profileSection { background:var(--paper); }.profileTable { max-width:850px; margin:50px 0 0 auto; }.profileTable div { display:grid; grid-template-columns:180px 1fr; padding:24px 0; border-top:1px solid #c9cecc; }.profileTable div:last-child { border-bottom:1px solid #c9cecc; }.profileTable dt { color:var(--muted); font-size:12px; }.profileTable dd { margin:0; font-size:14px; }
.newsDetail { max-width:850px; margin:0 auto; }.newsDetail time { margin-right:20px; color:var(--muted); font:500 12px var(--font-en),sans-serif; }.newsDetail h2 { margin:35px 0; font-size:clamp(28px,4vw,46px); font-weight:520; }.newsDetail p,.legal p { color:var(--muted); line-height:2; }.formWrap { display:grid; grid-template-columns:1fr 2fr; gap:8vw; }.formNotice { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }.formNotice p { margin:0 0 18px; }.formNotice small { color:var(--muted); line-height:1.8; }.contactEmail { max-width:100%; margin-bottom:18px; padding-bottom:5px; border-bottom:1px solid currentColor; color:var(--accent); font:500 14px var(--font-en),sans-serif; overflow-wrap:anywhere; }.contactForm { display:grid; gap:30px; }.contactForm label { display:grid; gap:10px; font-size:13px; }.contactForm label > span { color:var(--accent); font-size:10px; }.contactForm input,.contactForm select,.contactForm textarea { width:100%; border:1px solid #c9cecc; border-radius:0; background:#fff; padding:15px; outline:none; }.contactForm input:focus,.contactForm select:focus,.contactForm textarea:focus { border-color:var(--accent); }.contactForm .checkLabel { display:flex; grid-template-columns:20px 1fr; align-items:center; }.checkLabel input { width:18px;height:18px; }.contactForm button { width:100%; display:flex; justify-content:space-between; border:0; padding:21px 25px; background:var(--ink); color:#fff; cursor:pointer; }.legal { max-width:850px; }.legal h2 { margin:55px 0 10px; font-size:22px; }.draftNote { padding:20px; border-left:3px solid var(--accent); background:var(--paper); }
.checkLabel .checkText { color:var(--ink); font-size:13px; }
.checkLabel .checkText a { color:var(--accent); border-bottom:1px solid currentColor; }
.legalDocument > p,.legalDocument li { color:var(--muted); font-size:14px; line-height:2.05; }
.legalDocument ul { margin:18px 0 0; padding-left:1.4em; }
.legalDocument li + li { margin-top:8px; }
.legalDocument a { color:var(--accent); border-bottom:1px solid currentColor; }
.legalDate { margin:0 0 38px; text-align:right; font-size:12px!important; }
.legalHero { min-height:460px; padding-top:165px; }
.legalHero h1 { max-width:none; font-size:clamp(40px,4.6vw,68px); line-height:1.2; }
.legalHero > p:last-child { margin-top:38px; }
@media (max-width:800px) {
  .siteIntro__grid { width:min(58vw,224px); }
  .siteIntro__cell { padding:10px; }
  body.admin-bar .siteHeader { top:46px; }
  .siteHeader { height:68px; padding:0 20px; }.desktopNav { display:none; }.mobileNav { display:block; }.mobileNav summary { position:relative; width:38px;height:38px; list-style:none; cursor:pointer; }.mobileNav summary::-webkit-details-marker { display:none; }.mobileNav summary span { position:absolute; left:8px; width:22px; height:1px; background:var(--ink); }.mobileNav summary span:first-child { top:14px; }.mobileNav summary span:last-child { top:23px; }.mobileNav nav { position:fixed; top:68px; left:0; width:100%; display:grid; background:#fff; border-bottom:1px solid var(--line); }.mobileNav nav a { padding:19px 20px; border-top:1px solid var(--line); font:500 14px var(--font-en),sans-serif; }
  .hero { min-height:700px; height:100svh; padding:110px 20px 70px; align-items:flex-start; }.heroContent { width:100%; }.hero h1 { font-size:clamp(48px,15vw,72px); }.heroLead { margin-top:28px; font-size:14px; }.desktopOnly { display:none; }.heroGrid { width:76vw; right:-24vw; top:auto; bottom:62px; opacity:.62; }.heroFoot { left:20px;right:20px;bottom:20px; }.heroFoot span:first-child { display:none; }
  .sectionInner { width:calc(100% - 40px); }.statement,.businessSection,.industryFocus,.approach,.newsSection,.columnSection,.subSection { padding:90px 0; }.statementGrid,.industryFocusGrid,.approachGrid,.newsGrid,.aboutIntro,.businessIndustry,.formWrap { grid-template-columns:1fr; gap:50px; }.statement h2,.sectionHead h2,.industryFocus h2,.approach h2,.aboutIntro h2 { font-size:36px; }.sectionHead { display:block;margin-bottom:45px; }.sectionHead .textLink { margin-top:28px; }.businessItem { min-height:0; padding:28px 0; grid-template-columns:45px 1fr 20px; gap:12px; }.businessItem:hover { padding:28px 8px; }.businessBody { grid-column:2/4; }.industryCapabilities { grid-template-columns:1fr 1fr; margin-top:50px; }.industryCapabilities span { padding:19px 8px 19px 23px; border-bottom:1px solid var(--line); }.industryCapabilities span:nth-last-child(-n+2) { border-bottom:0; }.businessIndustry { margin-top:80px; padding-top:50px; }.approachGrid { gap:60px; }.approachVisual { width:100%; }.newsGrid { gap:35px; }.newsItem { grid-template-columns:90px 1fr 20px; gap:10px; padding:20px 0; }.newsTag { display:none; }.homeColumns,.columnList { grid-template-columns:1fr;gap:55px; }.homeColumn h3,.columnCard h2 { font-size:20px; }.columnArticle { padding-top:68px; }.columnArticleHeader { padding:65px 20px 75px; }.columnBack { margin-bottom:50px; }.columnArticleHeader h1 { font-size:40px; }.columnArticleHeader > p { margin-top:38px; }.columnArticleBody { padding:80px 0 95px; }.columnArticleBody section { margin-bottom:70px; }.contactInner { min-height:360px; }.contactCircle { width:70px;height:70px; flex:0 0 70px; }.contactBand h2 { font-size:34px; }.siteFooter { padding:60px 20px 25px; }.footerTop { display:block; }.footerBrand { gap:28px; }.footerSocial { width:100%; }.footerSocialLinks { gap:10px; }.socialLink strong { font-size:10px; }.socialLink strong span { display:none; }.footerNav { margin:50px 0;grid-template-columns:1fr 1fr; }.footerBottom span { display:none; }
  .recruitDxSection { padding:70px 0; }.recruitDxBanner { min-height:0; grid-template-columns:1fr; }.recruitDxCopy { padding:40px 26px 46px; }.recruitDxLabel { margin-bottom:27px; }.recruitDxCopy h2 { font-size:clamp(34px,10vw,44px); }.recruitDxCopy > p:not(.recruitDxLabel) { margin:23px 0 31px; font-size:13px; }.recruitDxCta { margin-top:0; }.recruitDxVisual { min-height:270px; }.recruitDxVisual::after { background:linear-gradient(180deg,#0c1525 0%,rgba(12,21,37,.1) 26%,rgba(12,21,37,.45) 100%); }.recruitDxFlow { left:16px; right:16px; bottom:16px; padding:14px 12px; }
  .pageHero { min-height:470px; padding:150px 20px 70px; }.pageHero h1 { font-size:54px; overflow-wrap:anywhere; }.pageHero > p:last-child { margin-top:48px; }.detailItem { grid-template-columns:1fr; gap:20px;padding:45px 0; }.profileTable { margin-top:20px; }.profileTable div { grid-template-columns:100px 1fr;gap:15px; }.contactBand h2 { font-size:30px; }.contactInner { gap:20px; }
  .legalHero { min-height:410px; padding-top:130px; }.legalHero h1 { font-size:clamp(36px,10vw,44px); }.legalHero > p:last-child { margin-top:36px; }
}
@media (max-width:800px) {
  .contactInner { position:relative; display:block; min-height:360px; padding:78px 0 42px; }
  .contactCircle { position:absolute; right:0; bottom:42px; width:70px; height:70px; }
  .contactBand h2 { font-size:clamp(26px,8vw,30px); white-space:nowrap; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } .siteIntro { display:none!important; } }
