@import url('https://fonts.googleapis.com/css2?family=Lato:wght@400;700&family=Libre+Baskerville:wght@400;700&family=Noto+Serif+JP:wght@400;500;600&family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined&icon_names=account_tree,analytics,corporate_fare,description,design_services,engineering,experiment,fact_check,factory,groups,health_and_safety,home,inventory_2,lightbulb,mail,model_training,open_in_new,play_circle,precision_manufacturing,published_with_changes,school,verified,workspace_premium&display=block');

:root{--navy:#173b8f;--deep:#173b8f;--blue:#2e7fc4;--text:#26303e;--muted:#5d6570;--line:#d8e3ed;--soft:#f4f9fd;--sidebar:240px;--serif-jp:"Noto Serif JP",serif;--sans-jp:"Zen Kaku Gothic New",sans-serif;--serif-en:"Libre Baskerville",serif;--sans-en:"Lato",sans-serif}
.material-symbols-outlined{font-family:"Material Symbols Outlined"!important;font-weight:normal!important;font-style:normal!important;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:"liga";-webkit-font-feature-settings:"liga"}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:#fff;font-family:var(--sans-jp);font-size:16px;line-height:1.8}a{color:inherit;text-decoration:none}a[href],button:not(:disabled),select,input[type="checkbox"],input[type="radio"],label:has(input[type="checkbox"]),label:has(input[type="radio"]){cursor:pointer}button:disabled{cursor:not-allowed}button,select,input,textarea{font:inherit}.site-shell{min-height:100vh}.sidebar{position:fixed;z-index:50;inset:0 auto 0 0;width:var(--sidebar);padding:54px 38px;background:linear-gradient(160deg,#073568 0%,var(--deep) 65%);color:#fff;display:flex;flex-direction:column}.logo{display:flex;align-items:center;gap:13px;font:700 14px var(--sans-en);letter-spacing:.06em}.logo-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid #fff;font:700 25px var(--serif-en)}.sidebar nav{margin-top:96px;border-top:1px solid rgba(255,255,255,.65);padding-top:28px;display:grid;gap:11px}.sidebar nav a{display:flex;gap:12px;align-items:center;font-weight:700;font-size:15px}.sidebar nav i{font-style:normal;color:#b9d8ff;font-size:11px}.sidebar-note{margin-top:auto;font:10px/1.65 var(--sans-en);letter-spacing:.18em;opacity:.58}.page-column{margin-left:var(--sidebar);width:calc(100% - var(--sidebar));overflow:hidden}.mobile-header{display:none}.hero{height:min(810px,100vh);min-height:680px;position:relative;color:#fff;overflow:hidden;background:#061b33}.image-placeholder{position:relative;display:grid;place-items:center;min-height:240px;background:linear-gradient(135deg,#dbe6f0,#879eb4 52%,#1b405f);overflow:hidden;color:rgba(255,255,255,.72);font:700 13px var(--sans-en);letter-spacing:.18em}.image-placeholder:before,.blueprint:before{content:"";position:absolute;inset:-40%;background:repeating-linear-gradient(90deg,transparent 0 39px,rgba(255,255,255,.08) 40px),repeating-linear-gradient(0deg,transparent 0 39px,rgba(255,255,255,.08) 40px);transform:rotate(-12deg)}.image-placeholder span,.image-placeholder small{position:relative;z-index:1}.image-placeholder span{font-size:28px}.image-placeholder small{position:absolute;bottom:18px;letter-spacing:.06em}.hero-media{position:absolute;inset:0;width:100%;height:100%;background:linear-gradient(115deg,#031a33 0%,#0b3155 40%,#67859e 100%)}.hero-media:after{content:"";position:absolute;right:8%;top:12%;width:32%;aspect-ratio:1;border:1px solid rgba(255,255,255,.16);border-radius:50%;box-shadow:0 0 0 80px rgba(255,255,255,.03),0 0 0 150px rgba(255,255,255,.02)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,15,35,.86),rgba(0,24,50,.18) 70%)}.hero-copy{position:absolute;left:9%;top:50%;transform:translateY(-50%);max-width:700px}.eyebrow{margin:0 0 16px;color:var(--blue);font:700 12px var(--sans-en);letter-spacing:.12em}.eyebrow-light{color:#89bfff}.hero h1{font:500 clamp(38px,4vw,64px)/1.55 var(--serif-jp);letter-spacing:.05em;margin:0 0 24px}.hero-copy>p:not(.eyebrow){line-height:2}.hero-actions{display:flex;gap:12px;margin-top:35px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:36px;min-width:168px;padding:13px 19px;color:#fff;background:var(--navy);border:1px solid var(--navy);font-size:13px;font-weight:700}.button-blue{background:#0752a7;border-color:#0752a7}.button-outline{background:rgba(0,14,36,.4);border-color:rgba(255,255,255,.8)}.scroll-indicator{position:absolute;right:24px;bottom:42px;font:9px var(--sans-en);letter-spacing:.25em;writing-mode:vertical-rl}.section{padding:clamp(90px,9vw,150px) clamp(54px,8vw,130px);max-width:1440px;margin:auto}.section-heading-row{display:flex;align-items:center;justify-content:space-between;gap:30px}.section-heading h2,.feature-copy h2,.company-copy h2,.recruit-copy h2,.contact-cta h2{font:400 clamp(39px,4.2vw,68px)/1 var(--serif-en);letter-spacing:.055em;margin:0}.section-heading>div>p:not(.eyebrow),.jp-label,.company-copy>p:not(.eyebrow),.recruit-copy>p:not(.eyebrow):first-of-type,.contact-cta>p:nth-of-type(2){margin:15px 0 0;font-weight:700}.news-list{margin-top:50px;border-top:1px solid var(--line)}.news-row{display:grid;grid-template-columns:125px 110px 1fr 30px;align-items:center;gap:20px;min-height:74px;border-bottom:1px solid var(--line);font-size:14px}.news-row time{font:12px var(--sans-en);color:var(--muted)}.tag{display:inline-block;width:max-content;border:1px solid #aac2df;padding:3px 14px;color:#264a72;font-size:11px}.arrow{color:var(--blue);font-size:20px}.split-feature{display:grid;grid-template-columns:1fr .82fr;align-items:center;gap:8vw}.feature-copy h3,.section-heading h3,.company-copy h3,.recruit-copy h3,.contact-cta h3{font:500 clamp(28px,3vw,45px)/1.6 var(--serif-jp);letter-spacing:.04em;margin:42px 0 20px}.feature-copy>p:not(.eyebrow,.jp-label){max-width:520px;color:var(--muted)}.feature-copy .button{margin-top:24px}.feature-image{aspect-ratio:.82;min-height:0}.feature-image.landscape{aspect-ratio:1.5}.number-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;border-top:1px solid var(--line)}.number-grid>div{position:relative;padding:24px 28px;border-right:1px solid var(--line)}.number-grid>div:first-child{border-left:1px solid var(--line)}.number-grid span,.product-card span,.company-links span,.process-line span{color:var(--blue);font:400 16px var(--serif-en)}.number-grid h4{margin:4px 0;font-family:var(--serif-jp);font-size:19px}.number-grid p{font-size:12px;color:var(--muted)}.number-grid b{color:var(--blue)}.align-end{align-items:flex-end}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:55px}.product-card{display:grid;grid-template-columns:48% 1fr;border-bottom:1px solid var(--line);min-height:235px}.product-card .image-placeholder{min-height:220px}.product-card>div:last-child{position:relative;padding:28px}.product-card h3{margin:2px 0 12px;font:500 20px var(--serif-jp)}.product-card p{font-size:12px;color:var(--muted)}.product-card b{position:absolute;right:20px;bottom:18px;color:var(--blue)}.development-section{background:var(--soft);max-width:none}.reverse{grid-template-columns:1fr 1.15fr}.reverse .feature-copy{order:1}.reverse .feature-image{order:2}.process-line{display:grid;grid-template-columns:repeat(4,1fr);margin-top:80px}.process-line div{border-top:1px solid #b9c7d8;padding:16px 4px;display:grid;gap:8px}.company-section{background:#fff}.company-copy{max-width:1440px}.company-image{height:340px;min-height:0}.company-links{display:grid;grid-template-columns:repeat(4,1fr);max-width:1440px;margin:auto}.company-links div{padding:30px;border-right:1px solid var(--line);display:grid;gap:8px}.company-links b{color:var(--blue)}.recruit-section{position:relative;min-height:570px;display:grid;grid-template-columns:.75fr 1.25fr;background:#f4f8fb}.recruit-image{grid-column:2;min-height:570px}.recruit-copy{grid-column:1;grid-row:1;align-self:center;padding:65px 10%;z-index:2}.recruit-copy>p:last-of-type{color:var(--muted)}.contact-cta{text-align:left}.contact-cta>p:last-of-type{color:var(--muted)}.button-wide{min-width:310px;margin-top:25px}footer{padding:48px 6%;background:var(--navy);color:#fff}.footer-brand{display:flex;flex-direction:column}.footer-brand strong{font:700 18px var(--sans-en)}.footer-brand small{opacity:.72}.footer-links{display:flex;gap:36px;flex-wrap:wrap;margin:26px 0;border-bottom:1px solid rgba(255,255,255,.24);padding-bottom:26px;font-size:13px}footer>small{opacity:.65;font:10px var(--sans-en)}
.sub-hero{position:relative;min-height:560px;padding:130px 7%;display:flex;align-items:center;background:linear-gradient(115deg,#fff 35%,#eaf3fc);overflow:hidden}.sub-hero>div:first-child{position:relative;z-index:2}.sub-hero h1{font:500 clamp(44px,5vw,72px) var(--serif-jp);letter-spacing:.14em;margin:25px 0}.blueprint{position:absolute;inset:0 0 0 42%;opacity:.55;background:linear-gradient(135deg,transparent,#c7ddf5)}.blueprint:before{background:repeating-linear-gradient(90deg,transparent 0 50px,rgba(47,116,190,.15) 51px),repeating-linear-gradient(0deg,transparent 0 50px,rgba(47,116,190,.15) 51px)}.compact{min-height:360px}.archive h2{font:500 30px var(--serif-jp)}.archive-tabs{display:flex;border-bottom:1px solid var(--line);margin-top:35px}.archive-tabs button{border:0;background:none;padding:16px 34px;font:700 15px var(--sans-en)}.archive-tabs .active{color:var(--blue);border-bottom:4px solid var(--blue)}.archive-list>a{display:grid;grid-template-columns:120px 110px 1fr 110px 35px;align-items:center;gap:20px;min-height:110px;border-bottom:1px solid var(--line)}.archive-list time{font:14px var(--sans-en)}.archive-list i{height:66px;display:grid;place-items:center;background:#dce6ef;color:#7890a8;font:10px var(--sans-en)}.archive-list b{font-size:23px;color:var(--blue)}.pagination{display:flex;justify-content:center;gap:12px;margin-top:60px}.pagination button{width:44px;height:44px;border:1px solid #abc3df;background:#fff;color:var(--blue)}.pagination .active{background:var(--blue);color:#fff}.archive-cta{display:flex;gap:36px;align-items:center;justify-content:center;padding:52px 7%;background:#edf5ff}.archive-cta h2{margin:0;font:500 28px var(--serif-jp)}.archive-cta select{min-width:180px;padding:15px;border:1px solid #86b2e9;background:#fff}.article{max-width:1050px}.article-meta{display:flex;gap:22px;align-items:center}.article h2{font:500 clamp(30px,3.2vw,46px)/1.65 var(--serif-jp);padding-bottom:35px;border-bottom:1px solid var(--line)}.article-image{height:440px;margin:55px 0;display:grid;place-items:center;background:linear-gradient(135deg,#dfe9f2,#8aa1b7);color:#fff;letter-spacing:.18em}.article>p:not(.eyebrow){max-width:780px;margin:25px auto;color:#44536a}.article-nav{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:70px;padding-top:28px;color:var(--blue)}
.contact-intro{text-align:center}.contact-intro h2,form>h2{font:500 32px var(--serif-jp);color:var(--navy)}.contact-intro>div{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:900px;margin:40px auto 100px}.contact-intro>div a{display:flex;justify-content:space-between;align-items:center;text-align:left;padding:36px;border:1px solid #9ebee2;color:var(--navy);font:700 18px var(--serif-jp)}.contact-intro b{color:var(--blue)}form{max-width:1000px;margin:auto}.form-row{display:grid;grid-template-columns:250px 1fr;border:1px solid var(--line);border-bottom:0;min-height:105px}.form-row:last-of-type{border-bottom:1px solid var(--line)}.form-label{padding:35px 24px;font-weight:700}.form-label span{background:var(--blue);color:#fff;padding:2px 7px;margin-left:10px;font-size:11px}.form-control{padding:24px;border-left:1px solid var(--line)}.form-control>input,.form-control>textarea,.form-control select,.address input{width:100%;padding:15px;border:1px solid var(--line);background:#fff}.radios{display:flex;gap:24px;flex-wrap:wrap;padding:12px 0}.address{display:grid;gap:12px}.consent{margin-top:55px;padding:42px;text-align:center;border:1px solid #9ebee2}.consent a{color:var(--blue);text-decoration:underline}.consent .button{display:flex;min-width:430px;margin:30px auto 12px}.consent small{display:block}
@media(max-width:1100px){:root{--sidebar:184px}.sidebar{padding:42px 25px}.sidebar nav{margin-top:70px}.section{padding-left:6vw;padding-right:6vw}.number-grid{grid-template-columns:1fr 1fr}.product-grid{gap:20px}.archive-list>a{grid-template-columns:100px 100px 1fr 80px 25px}.archive-cta{flex-wrap:wrap}}
@media(max-width:767px){body{font-size:15px}.mobile-header{position:fixed;z-index:80;inset:0 0 auto;display:flex;height:68px;align-items:center;justify-content:space-between;padding:0 20px;background:var(--navy);color:#fff}.mobile-logo{font:700 22px var(--serif-en)}.mobile-logo span{font:700 12px var(--sans-en);margin-left:8px}.mobile-header button{display:grid;gap:5px;border:0;background:none;padding:10px}.mobile-header button span{display:block;width:27px;height:1px;background:#fff}.sidebar{width:100%;transform:translateX(-100%);transition:transform .25s;padding:100px 30px 35px}.sidebar.is-open{transform:none}.sidebar .logo{display:none}.sidebar nav{margin-top:10px}.sidebar nav a{font-size:18px;padding:7px}.page-column{margin-left:0;width:100%;padding-top:68px}.hero{min-height:690px;height:calc(100svh - 68px)}.hero-copy{left:24px;right:24px;top:47%}.hero h1{font-size:34px;line-height:1.65}.hero-copy>p:not(.eyebrow){font-size:13px}.hero-actions{flex-direction:column;align-items:flex-start}.scroll-indicator{display:none}.section{padding:78px 24px}.section-heading-row,.split-feature{display:block}.section-heading-row>.button{margin-top:30px}.news-row{grid-template-columns:90px 1fr 20px;gap:10px;padding:17px 0}.news-row .tag{grid-row:2;grid-column:1}.news-row strong{grid-column:2}.news-row .arrow{grid-column:3;grid-row:1/3}.feature-image{margin-top:45px;aspect-ratio:1.3}.number-grid,.product-grid,.company-links,.process-line{grid-template-columns:1fr}.number-grid>div,.number-grid>div:first-child{border-left:0;border-right:0;border-bottom:1px solid var(--line)}.product-card{grid-template-columns:1fr}.product-card>div:last-child{padding:23px 4px 40px}.process-line{margin-top:45px}.company-image{height:230px}.recruit-section{display:block}.recruit-image{min-height:300px}.recruit-copy{padding:70px 24px}.button-wide{min-width:100%}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sub-hero{min-height:400px;padding:90px 24px}.compact{min-height:260px}.archive-tabs{overflow-x:auto}.archive-tabs button{padding:12px 22px}.archive-list>a{grid-template-columns:85px 1fr 24px;padding:22px 0;gap:10px}.archive-list .tag{grid-column:1}.archive-list strong{grid-column:2;grid-row:1/3}.archive-list i{display:none}.archive-list b{grid-column:3;grid-row:1/3}.archive-cta{display:block;padding:45px 24px}.archive-cta select,.archive-cta .button{width:100%;margin-top:18px}.article-image{height:240px}.article-nav{font-size:12px;gap:12px}.contact-intro>div{grid-template-columns:1fr;margin-bottom:65px}.form-row{grid-template-columns:1fr}.form-label{padding:18px 16px}.form-control{border-left:0;border-top:1px solid var(--line);padding:16px}.consent{padding:28px 16px}.consent .button{min-width:100%}}
@media(prefers-reduced-motion:no-preference) and (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sidebar{transition:none}}

/* Approved TOP-page refinements */
.sidebar{background:var(--navy)}
.button-blue{background:var(--navy);border-color:var(--navy)}
.section-heading h2,.feature-copy h2,.company-copy h2,.recruit-copy h2,.contact-cta h2{font-size:clamp(54px,5.4vw,86px);letter-spacing:.09em}
.section-heading>div>p:not(.eyebrow),.jp-label,.company-copy>p:first-of-type,.recruit-copy>p:first-of-type,.contact-cta>p:first-of-type{font-size:16px;font-weight:700;margin-top:24px}
.split-feature{grid-template-columns:1.12fr .72fr;gap:7vw}
.feature-image{aspect-ratio:.9;max-height:560px}
.reverse{grid-template-columns:1fr 1.1fr}.reverse .feature-image{aspect-ratio:1.72;max-height:none}
.company-copy{padding-bottom:70px}.company-copy h3{margin-bottom:18px}.company-description{font-size:16px!important;font-weight:400!important;color:var(--muted);line-height:2.1;margin:0 0 28px!important}.company-image{height:300px}
.company-links>div{padding:30px 36px 36px;min-height:245px;border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start}.company-links>div>div{display:flex;align-items:center;gap:22px;padding:0;border:0}.company-links p{font-size:13px;line-height:1.8;color:var(--muted);margin:18px 0}.company-links b{margin-top:auto}
.recruit-section{position:relative;display:block;min-height:640px;isolation:isolate;overflow:hidden}.recruit-image{position:absolute;z-index:-2;inset:0;width:100%;height:100%;min-height:0}.recruit-section:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.94) 30%,rgba(255,255,255,.68) 48%,rgba(255,255,255,.08) 72%,transparent 100%);pointer-events:none}.recruit-copy{width:min(54%,720px);min-height:640px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:72px 5vw 72px 7vw}.recruit-copy h3{font-size:clamp(31px,3.3vw,52px)}.recruit-copy>p:last-of-type{line-height:2.15}.recruit-copy .button{margin-top:30px;min-width:220px}
.contact-cta{padding-top:120px;padding-bottom:120px}.contact-cta h3{font-size:clamp(30px,3.4vw,52px)}.contact-cta>p:last-of-type{font-size:17px;line-height:2.1}.contact-cta .button{min-width:390px;padding:20px 28px;font-size:16px}
footer{padding:38px 5% 24px;background:var(--navy)}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(5,minmax(0,1fr));gap:0;max-width:1440px;margin:auto}.footer-brand{padding:0 45px 0 0}.footer-brand strong{font:700 26px var(--sans-en)}.footer-brand span{font-family:var(--serif-jp);font-size:17px}.footer-column{display:flex;flex-direction:column;gap:10px;padding:0 24px;border-left:1px solid rgba(255,255,255,.68);font-size:14px}.footer-column a:first-child{font-weight:700}.footer-grid+small{display:block;max-width:1440px;margin:28px auto 0;opacity:.55}
@media(max-width:1100px){.footer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 0}.footer-brand{grid-column:1/-1}.footer-column{padding:0 24px}.company-links>div{padding:24px}}
@media(max-width:767px){.section-heading h2,.feature-copy h2,.company-copy h2,.recruit-copy h2,.contact-cta h2{font-size:42px}.split-feature,.reverse{display:block}.feature-image,.reverse .feature-image{aspect-ratio:1.35;max-height:none}.company-description br,.recruit-copy br,.contact-cta br{display:none}.company-links>div{min-height:auto}.recruit-section{min-height:650px}.recruit-image{position:absolute;min-height:0}.recruit-section:after{background:linear-gradient(90deg,rgba(255,255,255,.97),rgba(255,255,255,.88) 72%,rgba(255,255,255,.45))}.recruit-copy{width:100%;min-height:650px;padding:72px 24px}.contact-cta .button{min-width:100%}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-brand{grid-column:1/3}.footer-column{padding-left:14px}.footer-column:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.footer-column:last-child>a:first-child{grid-column:1/-1}.footer-grid+small{margin-top:35px}}

/* TOP typography system: based on the approved RECRUIT hierarchy */
.section-heading h2,
.feature-copy h2,
.company-copy h2,
.recruit-copy h2,
.contact-cta h2{
  font-size:clamp(54px,5.4vw,86px);
  line-height:1;
  letter-spacing:.09em;
}

/* Keep the shared contact CTA aligned to the page content edge at every width. */
.site-main>.contact-cta{width:100%;max-width:none!important;margin:0!important;padding-right:clamp(48px,6vw,90px)!important;padding-left:clamp(48px,6vw,90px)!important}
@media(max-width:767px){.site-main>.contact-cta{padding-right:24px!important;padding-left:24px!important}}

.company-related-nav{padding:78px var(--cd-pad);background:#eef4f9}.company-related-nav>p{margin:0 0 26px;color:var(--blue);font:700 12px var(--sans-en);letter-spacing:.09em}.company-related-nav>div{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #b8c9da;border-bottom:1px solid #b8c9da}.company-related-nav a{display:flex;justify-content:space-between;align-items:center;min-height:86px;padding:0 22px;border-right:1px solid #b8c9da;font-weight:700}.company-related-nav a:last-child{border-right:0}.company-related-nav b{color:var(--blue);transition:transform .25s}.company-related-nav a:hover b{transform:translateX(5px)}
@media(max-width:900px){.company-related-nav>div{grid-template-columns:1fr 1fr}.company-related-nav a:nth-child(2){border-right:0}.company-related-nav a:nth-child(-n+2){border-bottom:1px solid #b8c9da}}
@media(max-width:767px){.company-related-nav{padding:58px 24px}.company-related-nav>div{grid-template-columns:1fr}.company-related-nav a{min-height:66px;border-right:0;border-bottom:1px solid #b8c9da}.company-related-nav a:last-child{border-bottom:0}}

/* Company profile page */
.company-page{--company-pad:clamp(48px,5.4vw,82px);background:#fff}.company-page img{display:block;width:100%;height:100%;object-fit:cover}.company-label{margin:0 0 22px;color:#2476c7;font:700 14px var(--sans-en);letter-spacing:.08em}.company-section{padding:clamp(76px,7vw,112px) var(--company-pad)}.company-section h2,.company-contact h2{margin:0;font:500 40px/1.5 var(--serif-jp);letter-spacing:.045em}.company-section-heading{margin-bottom:48px}.company-hero{position:relative;height:var(--subpage-hero-height);min-height:var(--subpage-hero-height);overflow:hidden;border-bottom:1px solid var(--line);background:#f4f7fa}.company-breadcrumb{position:absolute;z-index:4;top:0;left:0;right:0;height:52px;padding:0 var(--company-pad);display:flex;align-items:center;gap:9px;color:#718093;font-size:14px}.company-breadcrumb a:hover{color:var(--blue)}.company-hero-image{position:absolute;z-index:1;inset:0 0 0 24%;overflow:hidden}.company-hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.98) 13%,rgba(255,255,255,.7) 29%,transparent 52%)}.company-hero-image img{object-position:center 56%;filter:saturate(.82)}.company-hero-copy{position:absolute;z-index:3;left:var(--company-pad);top:50%;width:min(560px,44%);transform:translateY(-40%)}.company-hero-copy h1{margin:0;font:500 52px/1.35 var(--serif-jp);letter-spacing:.07em}.company-hero-copy>p:last-child{margin:40px 0 0;font:500 20px/2.05 var(--serif-jp);letter-spacing:.07em}.company-profile{display:grid;grid-template-columns:minmax(460px,.92fr) minmax(0,1.08fr);align-items:center;gap:clamp(54px,6vw,104px)}.company-profile-copy dl{margin:38px 0 0;border-top:1px solid var(--line)}.company-profile-copy dl>div{display:grid;grid-template-columns:132px 1fr;padding:18px 0;border-bottom:1px solid var(--line)}.company-profile-copy dt{font-weight:700}.company-profile-copy dd{margin:0;color:var(--muted);line-height:1.8}.company-profile-image{height:560px;overflow:hidden;background:#edf6ff}.company-profile-image img{object-position:center;filter:saturate(.75)}.company-group{background:#f5f8fb}.company-group-layout{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);align-items:center;gap:clamp(64px,8vw,140px)}.company-group-mark{position:relative;display:flex;width:290px;aspect-ratio:1;margin:auto;flex-direction:column;align-items:center;justify-content:center;border:1px solid #98bce4;border-radius:50%;color:#17448f;font-family:var(--sans-en);letter-spacing:.12em}.company-group-mark:before,.company-group-mark:after{content:"";position:absolute;width:70%;height:38%;border:1px solid #75a7da;border-radius:50%;transform:rotate(24deg)}.company-group-mark:after{transform:rotate(-24deg)}.company-group-mark span,.company-group-mark strong{position:relative;z-index:1;background:#f5f8fb;padding:3px 12px}.company-group-mark span{font-size:14px}.company-group-mark strong{font-size:27px}.company-group ol{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.company-group li{display:grid;grid-template-columns:72px 1fr;align-items:center;min-height:74px;border-bottom:1px solid var(--line)}.company-group li b{color:#2476c7;font:400 20px var(--serif-en)}.company-group li span{font-weight:600}.company-relations-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.company-relations-grid article{border:1px solid var(--line)}.company-relations-grid article>div{height:270px;overflow:hidden}.company-relations-grid article:first-child img{object-position:center 68%}.company-relations-grid h3{margin:0;padding:24px 28px 8px;font:600 22px var(--serif-jp)}.company-relations-grid p{margin:0;padding:0 28px 28px;color:var(--muted);line-height:1.9}.company-related{background:#f5f8fb}.company-related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.company-related-card{overflow:hidden;border:1px solid var(--line);background:#fff;cursor:pointer}.company-related-card>div{height:220px;overflow:hidden}.company-related-card img{transition:transform .6s cubic-bezier(.2,.65,.25,1)}.company-related-card:hover img{transform:scale(1.045)}.company-related-card>p{display:grid;grid-template-columns:46px 1fr 24px;align-items:center;min-height:86px;margin:0;padding:0 20px}.company-related-card b{color:#2476c7;font:400 19px var(--serif-en)}.company-related-card span{font-weight:700}.company-related-card i{color:#2476c7;font-style:normal;text-align:right;transition:transform .2s ease}.company-related-card:hover i{transform:translateX(4px)}.company-contact{display:grid;grid-template-columns:50% 50%;min-height:510px;overflow:hidden;border-bottom:8px solid var(--navy)}.company-contact-copy{display:flex;flex-direction:column;justify-content:center;padding:64px var(--company-pad)}.company-contact-copy>p:not(.company-label){margin:28px 0 36px;color:var(--muted);line-height:2}.company-contact-copy .button{max-width:520px}.company-contact-image{position:relative;overflow:hidden}.company-contact-image:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.74) 12%,transparent 42%)}.company-contact-image img{object-position:center;filter:saturate(.76)}

@media(max-width:1100px){.company-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.company-profile{grid-template-columns:1fr 1fr}.company-profile-copy dl>div{grid-template-columns:105px 1fr}}
@media(max-width:767px){.company-page{--company-pad:24px}.company-section{padding:60px var(--company-pad)}.company-section h2,.company-contact h2{font-size:28px;line-height:1.6}.company-section-heading{margin-bottom:30px}.company-hero{height:var(--subpage-hero-height);min-height:var(--subpage-hero-height)}.company-breadcrumb{height:46px;padding:0 24px;font-size:12px}.company-hero-image{inset:0}.company-hero-image:after{background:linear-gradient(180deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,.62) 44%,rgba(255,255,255,.12) 78%),linear-gradient(90deg,#fff 0%,rgba(255,255,255,.72) 38%,transparent 82%)}.company-hero-image img{object-position:58% center}.company-hero-copy{left:24px;right:24px;top:39%;width:auto;transform:none}.company-hero-copy h1{font-size:34px}.company-hero-copy>p:last-child{margin-top:28px;font-size:18px}.company-profile{display:flex;flex-direction:column;align-items:stretch;gap:34px}.company-profile-copy dl{margin-top:28px}.company-profile-copy dl>div{display:block;padding:16px 0}.company-profile-copy dd{margin-top:8px}.company-profile-image{height:auto;aspect-ratio:3/2}.company-group-layout{display:block}.company-group-mark{width:220px;margin:0 auto 40px}.company-group li{grid-template-columns:54px 1fr;min-height:68px;font-size:14px}.company-relations-grid{grid-template-columns:1fr}.company-relations-grid article>div{height:auto;aspect-ratio:3/2}.company-related-grid{grid-template-columns:1fr;gap:18px}.company-related-card>div{height:auto;aspect-ratio:3/2}.company-contact{display:flex;min-height:0;flex-direction:column}.company-contact-copy{padding:52px 24px 28px}.company-contact-copy>p:not(.company-label){margin:22px 0 28px}.company-contact-copy>p:not(.company-label) br{display:none}.company-contact-image{height:240px}.company-contact-image:before{background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.42) 24%,transparent 64%)}}

/* Electrification / fuel-cell products — PDF composition. */
.electrification-page{--electrification-pad:clamp(48px,5.4vw,82px);background:#fff}
.electrification-page img{display:block;max-width:100%}
.electrification-block{padding:clamp(68px,6vw,92px) var(--electrification-pad)}
.electrification-label{margin:0 0 22px;color:#236fc1;font:700 14px var(--sans-en);letter-spacing:.08em}
.electrification-copy h2{margin:0;font:500 38px/1.58 var(--serif-jp);letter-spacing:.045em;text-wrap:balance;line-break:strict}
.electrification-no-break{white-space:nowrap}
.electrification-copy>p:last-child{margin:26px 0 0;color:var(--muted);font-size:16px;line-height:2;text-wrap:pretty;line-break:strict}
.electrification-hero{position:relative;height:var(--subpage-hero-height);min-height:var(--subpage-hero-height);overflow:hidden;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#fff 0%,#fff 28%,#eef3f8 100%)}
.electrification-breadcrumb{position:absolute;z-index:4;top:0;left:0;right:0;height:52px;padding:0 var(--electrification-pad);display:flex;align-items:center;gap:9px;color:#718093;font-size:14px}
.electrification-breadcrumb a:hover{color:var(--blue)}
.electrification-hero-image{position:absolute;z-index:1;inset:0 0 0 22%;overflow:hidden;background:#eef3f7}
.electrification-hero-image:after{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.99) 13%,rgba(255,255,255,.76) 25%,rgba(255,255,255,0) 45%)}
.electrification-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.75) contrast(1.02)}
.electrification-hero-copy{position:absolute;z-index:3;left:var(--electrification-pad);top:50%;width:min(620px,48%);transform:translateY(-42%)}
.electrification-hero-copy h1{margin:0;font:500 50px/1.35 var(--serif-jp);letter-spacing:.07em;white-space:nowrap}
.electrification-hero-copy p{margin:42px 0 0;font:500 20px/2.15 var(--serif-jp);letter-spacing:.08em}
.electrification-intro{display:grid;grid-template-columns:43% 57%;align-items:center;min-height:610px;padding-right:0}
.electrification-intro-image{height:470px;overflow:hidden;background:#fff}
.electrification-intro-image img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.8)}
.electrification-vehicle{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.electrification-vehicle-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.5fr);align-items:center;gap:44px;margin-top:38px}
.electrification-car{position:relative;height:430px;overflow:hidden;background:#f5f8fb}
.electrification-car img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.72) contrast(.96)}
.electrification-marker{position:absolute;z-index:2;min-width:68px;padding:9px 12px;border:2px solid #fff;color:#fff;background:#176fc4;font:700 16px/1 var(--sans-en);box-shadow:0 3px 10px rgba(23,59,143,.18);transition:transform .2s ease,background .2s ease}
.electrification-marker:hover,.electrification-marker:focus-visible,.electrification-marker.is-active{background:var(--navy);transform:scale(1.1);outline:none}
.electrification-marker.marker-1{left:31%;top:48%}.electrification-marker.marker-2{left:64%;top:44%}
.electrification-vehicle-list{border:1px solid var(--line)}
.electrification-vehicle-list>button{display:grid;width:100%;grid-template-columns:70px 1fr 22px;align-items:center;min-height:106px;padding:0 22px;border:0;border-bottom:1px solid var(--line);color:var(--text);background:#fff;text-align:left;font-size:16px;transition:background .25s ease,color .25s ease}
.electrification-vehicle-list>button:last-child{border-bottom:0}.electrification-vehicle-list>button:hover,.electrification-vehicle-list>button:focus-visible,.electrification-vehicle-list>button.is-active{color:#fff;background:var(--navy);outline:none}.electrification-vehicle-list b{color:#2377c7;font:400 21px var(--serif-en)}.electrification-vehicle-list i{color:var(--blue);font-style:normal;text-align:right}.electrification-vehicle-list>button:is(:hover,:focus-visible,.is-active) b,.electrification-vehicle-list>button:is(:hover,:focus-visible,.is-active) i{color:#fff}
.electrification-lineup{scroll-margin-top:30px}
.electrification-lineup-heading{display:flex;align-items:center;gap:42px;margin-bottom:24px}.electrification-lineup-heading .electrification-label{margin:0}.electrification-lineup-heading>p:last-child{margin:0;color:var(--muted);font-size:14px}
.electrification-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line)}
.electrification-tabs button{display:flex;justify-content:center;align-items:center;gap:12px;min-height:62px;border:0;border-right:1px solid var(--line);background:#fff;color:var(--text);font-size:16px;transition:background .25s ease,color .25s ease}.electrification-tabs button:last-child{border-right:0}.electrification-tabs button b{color:#2377c7;font:400 18px var(--serif-en)}.electrification-tabs button:is(:hover,:focus-visible,.is-active){color:#fff;background:var(--navy);outline:none}.electrification-tabs button:is(:hover,:focus-visible,.is-active) b{color:#fff}
.electrification-lineup-title{display:flex;align-items:baseline;gap:18px;margin:34px 0 22px;padding-bottom:16px;border-bottom:1px solid var(--line)}.electrification-lineup-title b{color:#2377c7;font:400 20px var(--serif-en)}.electrification-lineup-title h2{margin:0;font-size:20px}
.electrification-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.electrification-product-grid article{border:1px solid var(--line)}.electrification-product-grid article>div{height:390px;overflow:hidden;background:#fff}.electrification-product-grid img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.82)}.electrification-product-grid h3{position:relative;margin:0;padding:20px 20px 25px;font:700 14px var(--sans-en);letter-spacing:.02em}.electrification-product-grid h3:after{content:"";position:absolute;left:20px;bottom:14px;width:22px;height:2px;background:#2377c7}
.electrification-manufacturing{background:#f7f9fb}.electrification-manufacturing-head{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:end;gap:40px}.electrification-manufacturing-main{height:310px;overflow:hidden}.electrification-manufacturing-main img{width:100%;height:100%;object-fit:cover;filter:saturate(.72)}
.electrification-process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:26px}.electrification-process-grid figure{margin:0}.electrification-process-grid img{width:100%;height:190px;object-fit:cover;filter:saturate(.7)}.electrification-process-grid figcaption{padding:9px 0 0;border-left:2px solid #2377c7;text-indent:10px;font-size:14px;font-weight:700}
.electrification-technology-link{display:flex;justify-content:space-between;align-items:center;width:280px;margin:36px auto 0;padding:14px 20px;border:1px solid #87a8cf;color:var(--navy);font-size:14px;font-weight:700;transition:background .3s ease,color .3s ease}.electrification-technology-link:hover{color:#fff;background:var(--navy)}
.electrification-contact{height:510px;min-height:510px;box-sizing:border-box;overflow:hidden;border-bottom:8px solid var(--navy)}
.electrification-contact .products-overview-contact-copy{padding:66px var(--electrification-pad)}
.electrification-contact .products-overview-contact-images{height:100%;min-height:0;max-height:100%;grid-template-rows:repeat(2,minmax(0,1fr));overflow:hidden}
.electrification-contact .products-overview-contact-images img{width:100%;height:100%;min-height:0;object-fit:cover;background:#fff;filter:saturate(.8)}

@media(max-width:980px) and (min-width:768px){
  .electrification-hero-copy h1{font-size:40px}
  .electrification-vehicle-layout{grid-template-columns:minmax(0,1fr) 280px;gap:24px}
  .electrification-product-grid article>div{height:300px}
}

@media(max-width:767px){
  .electrification-page{--electrification-pad:24px}.electrification-block{padding:60px var(--electrification-pad)}
  .electrification-hero{height:530px;min-height:530px}.electrification-breadcrumb{height:46px;padding:0 24px;font-size:12px;white-space:nowrap;overflow:hidden}.electrification-hero-image{inset:0 0 0 4%}.electrification-hero-image:after{background:linear-gradient(180deg,rgba(255,255,255,.88) 0%,rgba(255,255,255,.54) 38%,rgba(255,255,255,.05) 72%),linear-gradient(90deg,#fff 0%,rgba(255,255,255,.78) 36%,transparent 75%)}.electrification-hero-image img{object-position:center}.electrification-hero-copy{left:24px;right:24px;top:38%;width:auto;transform:none}.electrification-hero-copy h1{font-size:32px;line-height:1.5;white-space:normal}.electrification-hero-copy p{margin-top:24px;font-size:18px;line-height:2}
  .electrification-copy h2{font-size:28px}.electrification-copy>p:last-child{font-size:16px}.electrification-copy>p:last-child br{display:none}
  .electrification-intro{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding-right:24px}.electrification-intro-image{height:auto;aspect-ratio:3/2;margin-top:34px}
  .electrification-vehicle-layout{display:block;margin-top:30px}.electrification-car{height:auto;aspect-ratio:3/2}.electrification-marker{min-width:52px;padding:7px 8px;font-size:12px}.electrification-vehicle-list{margin-top:20px}.electrification-vehicle-list>button{grid-template-columns:62px 1fr 22px;min-height:70px;padding:0 16px;font-size:14px}
  .electrification-lineup-heading{display:block}.electrification-lineup-heading>p:last-child{margin-top:10px}.electrification-tabs{grid-template-columns:1fr}.electrification-tabs button{justify-content:flex-start;padding:0 18px;border-right:0;border-bottom:1px solid var(--line)}.electrification-tabs button:last-child{border-bottom:0}
  .electrification-product-grid{grid-template-columns:1fr;gap:18px}.electrification-product-grid article>div{height:auto;aspect-ratio:1}.electrification-product-grid h3{font-size:14px}
  .electrification-manufacturing-head{display:block}.electrification-manufacturing-main{height:auto;aspect-ratio:3/2;margin-top:32px}.electrification-process-grid{grid-template-columns:1fr;gap:24px}.electrification-process-grid figure{display:flex;flex-direction:column}.electrification-process-grid img{height:auto;aspect-ratio:3/2}.electrification-process-grid figcaption{order:-1;margin-bottom:12px;padding:5px 0}.electrification-technology-link{width:100%;margin-top:30px}
  .electrification-contact{height:auto;min-height:0}.electrification-contact .products-overview-contact-copy{padding:60px 24px 24px}.electrification-contact .products-overview-contact-copy h2{font-size:28px}.electrification-contact .products-overview-contact-copy>p:not(.products-overview-label) br{display:none}.electrification-contact .products-overview-contact-images{height:215px;min-height:215px}.electrification-contact-break{display:none}
}

/* Company detail pages */
.company-detail-page{--cd-pad:clamp(48px,6vw,90px);overflow:hidden;background:#fff}.company-detail-page img{display:block;width:100%;height:100%;object-fit:cover}.company-detail-breadcrumb{height:52px;padding:0 var(--cd-pad);display:flex;align-items:center;gap:9px;color:#718093;font-size:14px}.company-detail-breadcrumb a:hover{color:var(--blue)}
.company-detail-hero{display:grid;grid-template-columns:.84fr 1.16fr;height:var(--subpage-hero-height);min-height:var(--subpage-hero-height);background:#f5f8fb}.company-detail-hero>div{display:flex;justify-content:center;flex-direction:column;padding:40px var(--cd-pad)}.company-detail-hero>div>p,.company-detail-page section>header>p,.company-detail-page section>div>p:first-child,.philosophy-statement>p,.history-intro>p{margin:0 0 20px;color:var(--blue);font:700 12px var(--sans-en);letter-spacing:.09em}.company-detail-hero h1{margin:0;font:500 clamp(36px,4vw,54px)/1.4 var(--serif-jp);letter-spacing:.06em}.company-detail-hero h2{margin:30px 0 0;font:500 clamp(22px,2.25vw,34px)/1.8 var(--serif-jp);letter-spacing:.05em}.company-detail-hero figure{position:relative;margin:0;overflow:hidden}.company-detail-hero figure:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f5f8fb 0%,transparent 28%)}
.philosophy-statement{position:relative;padding:100px var(--cd-pad);color:#fff;background:#07182d}.philosophy-statement h2{margin:0;font:500 clamp(58px,7vw,96px)/1.2 var(--serif-jp);letter-spacing:.08em}.philosophy-statement h3{margin:24px 0 54px;font:500 20px var(--serif-jp);letter-spacing:.08em}.philosophy-statement>div{max-width:720px;margin-left:auto;padding:36px;border-left:1px solid rgba(255,255,255,.35)}.philosophy-statement>div p{margin:0;line-height:2.1}.philosophy-statement>div p+p{margin-top:18px}
.company-philosophy-page .company-detail-hero h1{
  white-space:nowrap;
  font-size:clamp(34px,3.2vw,50px);
  letter-spacing:.03em;
}
.philosophy-origin{padding:clamp(90px,9vw,140px) var(--cd-pad);background:#fff}
.philosophy-origin>header{width:min(100%,1080px);margin:0 auto}
.philosophy-origin>header>p:first-child{margin:0 0 22px;color:var(--blue);font:700 13px var(--sans-en);letter-spacing:.1em}
.philosophy-origin h2{margin:0;font:500 clamp(36px,3.6vw,54px)/1.55 var(--serif-jp);letter-spacing:.05em}
.philosophy-origin h2 br{display:none}
.philosophy-origin .philosophy-origin-lead{max-width:960px;margin:42px 0 0;color:var(--ink);font:500 clamp(19px,1.55vw,23px)/2 var(--serif-jp);letter-spacing:.035em}
.philosophy-origin-body{width:min(100%,1080px);margin:60px auto 0;padding:clamp(42px,5vw,68px);background:#f5f8fb}
.philosophy-origin-body p{max-width:960px;margin:0;color:#4f5b6b;font:400 18px/2.2 var(--sans-jp);letter-spacing:.025em}
.company-philosophy-page .philosophy-origin-body>p:first-child{margin:0;color:#4f5b6b;font:400 18px/2.2 var(--sans-jp);letter-spacing:.025em}
.philosophy-origin-body p+p{margin-top:28px}
.company-values,.location-list,.facility-grid,.history-intro,.history-timeline,.history-future,.overseas-locations{padding:100px var(--cd-pad)}.company-detail-page section>header h2,.history-intro h2,.history-future h2,.overseas-locations h2{margin:0;font:500 clamp(30px,3vw,46px)/1.6 var(--serif-jp);letter-spacing:.05em}.company-values>div{display:grid;grid-template-columns:repeat(4,1fr);margin-top:50px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.company-values article{min-height:260px;padding:32px;border-right:1px solid var(--line)}.company-values article:last-child{border-right:0}.company-values b{color:var(--blue);font:500 22px var(--serif-en)}.company-values h3{margin:26px 0 16px;font:500 24px var(--serif-jp)}.company-values p{margin:0;color:var(--muted);line-height:1.9}
.location-list>div{display:grid;gap:34px;margin-top:50px}.location-list article{display:grid;grid-template-columns:.9fr 1.1fr;min-height:320px;background:#f5f8fb}.location-list article:nth-child(even){grid-template-columns:1.1fr .9fr}.location-list article:nth-child(even) figure{order:2}.location-list figure{margin:0;overflow:hidden}.location-list .location-map{position:relative;min-height:320px;background:#e8f1f7}.location-list .location-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.location-list article>div{padding:44px}.location-list b{color:var(--blue);font:500 22px var(--serif-en)}.location-list h3{margin:18px 0 10px;font:500 26px var(--serif-jp)}.location-list address{color:var(--muted);font-style:normal}.location-list article p{margin:28px 0 0;line-height:1.9}.facility-grid{background:#f5f8fb}.facility-grid>div{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:46px}.facility-grid article{background:#fff}.facility-grid figure{height:240px;margin:0;overflow:hidden}.facility-grid h3{margin:24px 24px 12px;font:500 22px var(--serif-jp)}.facility-grid article p{margin:0;padding:0 24px 28px;color:var(--muted);line-height:1.85}.overseas-locations{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px}.overseas-locations dl{margin:0;border-top:1px solid var(--line)}.overseas-locations dl>div{display:grid;grid-template-columns:100px 1fr;padding:25px 0;border-bottom:1px solid var(--line)}.overseas-locations dt{color:var(--blue);font:700 18px var(--sans-en)}.overseas-locations dd{margin:0}.overseas-locations dd strong,.overseas-locations dd span{display:block}.overseas-locations dd span{margin-top:8px;color:var(--muted)}
.history-intro{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:70px}.history-intro>div{color:var(--muted);line-height:2}.history-timeline{padding-top:20px;background:#f7fafc}.history-timeline ol{max-width:1000px;margin:0 auto;padding:0;list-style:none}.history-timeline li{position:relative;display:grid;grid-template-columns:180px 1fr;gap:40px;padding:38px 0;border-bottom:1px solid var(--line)}.history-timeline li:before{content:"";position:absolute;left:174px;top:45px;width:11px;height:11px;border-radius:50%;background:var(--blue)}.history-timeline time{color:var(--blue);font:500 30px var(--serif-en)}.history-timeline h3{margin:0;font:500 22px var(--serif-jp)}.history-timeline p{margin:12px 0 0;color:var(--muted);line-height:1.8}.history-future{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:70px}.history-future figure{height:410px;margin:0;overflow:hidden;clip-path:polygon(8% 0,100% 0,92% 100%,0 100%)}.history-future>div>p:last-child{margin:28px 0 0;color:var(--muted);line-height:2}
@media(max-width:900px){.company-values>div{grid-template-columns:1fr 1fr}.company-values article:nth-child(2){border-right:0}.facility-grid>div{grid-template-columns:1fr}.history-intro,.history-future,.overseas-locations{grid-template-columns:1fr}.history-future figure{order:2}}
@media(max-width:767px){.company-detail-page{--cd-pad:24px}.company-detail-breadcrumb{height:46px;padding:0 24px;font-size:12px;white-space:nowrap;overflow:hidden}.company-detail-hero{position:relative;display:block;height:var(--subpage-hero-height);min-height:var(--subpage-hero-height)}.company-detail-hero>div{position:relative;z-index:2;height:100%;padding:60px 24px 30px}.company-detail-hero h1{font-size:34px}.company-detail-hero h2{font-size:23px}.company-detail-hero figure{position:absolute;inset:0}.company-detail-hero figure:after{background:linear-gradient(90deg,rgba(245,248,251,.96),rgba(245,248,251,.62) 62%,rgba(245,248,251,.2))}.company-detail-hero figure img{object-position:62% center}.philosophy-statement,.company-values,.location-list,.facility-grid,.history-intro,.history-timeline,.history-future,.overseas-locations{padding:68px 24px}.philosophy-statement h2{font-size:52px}.philosophy-statement h3{font-size:17px;line-height:1.8}.philosophy-statement>div{padding:24px 0 0;border-top:1px solid rgba(255,255,255,.35);border-left:0}.company-values>div{grid-template-columns:1fr}.company-values article,.location-list article,.location-list article:nth-child(even){min-height:0}.company-values article{border-right:0;border-bottom:1px solid var(--line)}.location-list article,.location-list article:nth-child(even){display:flex;flex-direction:column}.location-list article:nth-child(even) figure{order:0}.location-list .location-map{width:100%;height:230px;min-height:230px;flex:0 0 230px}.location-list article>div{padding:28px 24px}.facility-grid figure{height:220px}.overseas-locations dl>div{grid-template-columns:1fr;gap:10px}.history-intro{gap:28px}.history-timeline li{grid-template-columns:82px 1fr;gap:24px}.history-timeline li:before{display:none}.history-timeline time{font-size:23px}.history-future{gap:34px}.history-future figure{height:auto;aspect-ratio:3/2;clip-path:none}}
@media(max-width:767px){
  .company-philosophy-page .company-detail-hero h1{
    font-size:clamp(23px,7vw,28px);
    letter-spacing:.01em;
  }
}
@media(max-width:900px){
  .philosophy-origin-body{margin-top:46px}
}
@media(max-width:767px){
  .philosophy-origin{padding:72px 24px}
  .philosophy-origin h2{font-size:30px;line-height:1.65}
  .philosophy-origin h2 br{display:block}
  .philosophy-origin .philosophy-origin-lead{margin-top:30px;font-size:17px;line-height:2}
  .philosophy-origin .philosophy-origin-lead br{display:none}
  .philosophy-origin-body{margin-top:36px;padding:30px 24px}
  .philosophy-origin-body p{font-size:16px;line-height:2.05}
  .company-philosophy-page .philosophy-origin-body>p:first-child{font-size:16px;line-height:2.05}
  .philosophy-origin-body p+p{margin-top:24px}
  .philosophy-origin-body br{display:none}
}

/* Development detail page */
.development-detail-page{--development-pad:clamp(48px,5.4vw,82px);background:#fff}
.development-detail-page img{display:block;width:100%;height:100%;object-fit:cover}
.development-detail-section{padding:clamp(72px,7vw,108px) var(--development-pad)}
.development-detail-label{margin:0 0 20px;color:#2474c5;font:700 14px/1.4 var(--sans-en);letter-spacing:.08em}
.development-detail-page h2{margin:0;font:500 38px/1.58 var(--serif-jp);letter-spacing:.045em;line-break:strict}
.development-detail-page h3{line-break:strict}
.development-detail-copy>p:last-child{margin:26px 0 0;color:var(--muted);font-size:16px;line-height:2}
.development-detail-hero{position:relative;height:var(--subpage-hero-height);min-height:var(--subpage-hero-height);overflow:hidden;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#fff 0%,#fff 28%,#eef3f8 100%)}
.development-detail-breadcrumb{position:absolute;z-index:4;top:0;left:0;right:0;height:52px;padding:0 var(--development-pad);display:flex;align-items:center;gap:9px;color:#718093;font-size:14px}
.development-detail-breadcrumb a:hover{color:var(--blue)}
.development-detail-hero-image{position:absolute;z-index:1;inset:0 0 0 22%;overflow:hidden}
.development-detail-hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.99) 13%,rgba(255,255,255,.75) 25%,transparent 48%)}
.development-detail-hero-image img{object-position:center 42%;filter:saturate(.78) contrast(1.02)}
.development-detail-hero-copy{position:absolute;z-index:3;left:var(--development-pad);top:50%;width:min(580px,46%);transform:translateY(-42%)}
.development-detail-hero-copy h1{margin:0;font:500 52px/1.35 var(--serif-jp);letter-spacing:.1em}
.development-detail-en{margin:12px 0 0;color:#2474c5;font:700 13px var(--sans-en);letter-spacing:.08em}
.development-detail-lead{margin:38px 0 0;font:500 20px/2.05 var(--serif-jp);letter-spacing:.08em}
.development-detail-intro{display:grid;grid-template-columns:58% 42%;align-items:stretch;padding:0;min-height:610px}
.development-detail-intro>.development-detail-copy{display:flex;flex-direction:column;justify-content:center;padding:0 var(--development-pad)}
.development-detail-intro-image{height:610px;overflow:hidden;background:#f5f7fa}
.development-detail-intro-image img{object-position:center;filter:saturate(.72)}
.development-detail-process{background:linear-gradient(160deg,#fff 52%,#f2f7fb 100%)}
.development-detail-process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto 210px;gap:0 18px;margin-top:44px}
.development-detail-process-grid article{display:grid;grid-row:span 2;grid-template-rows:subgrid;min-width:0}
.development-detail-process-grid article>div{min-height:0;padding:22px;border-top:1px solid var(--line)}
.development-detail-process-grid b{color:#2474c5;font:400 21px var(--serif-en)}
.development-detail-process-grid h3{display:inline;margin:0 0 0 14px;font-size:18px}
.development-detail-process-grid p{margin:15px 0 0;color:var(--muted);font-size:14px;line-height:1.8}
.development-detail-process-grid img{height:100%;object-position:center;filter:saturate(.72)}
.development-detail-production{position:relative;min-height:680px;padding:74px var(--development-pad);overflow:hidden;color:#fff;background:#07172d}
.development-detail-production>img{position:absolute;inset:0;opacity:.65;filter:saturate(.55) contrast(1.08)}
.development-detail-production:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,17,38,.95),rgba(2,17,38,.34) 68%,rgba(2,17,38,.12))}
.development-detail-production-copy,.development-detail-production-cards{position:relative;z-index:2}
.development-detail-production-copy{max-width:620px}
.development-detail-production-copy h2{font-size:38px}.development-detail-production-copy>p{max-width:none;margin-top:22px;color:rgba(255,255,255,.78);white-space:nowrap}
.development-detail-production-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;width:min(760px,70%);margin-top:90px}
.development-detail-production-cards article{position:relative;min-height:230px;padding:28px 32px;color:var(--text);background:#fff}
.development-detail-production-cards b{color:#2474c5;font:400 22px var(--serif-en)}
.development-detail-production-cards h3{margin:6px 0 2px;font-size:18px}.development-detail-production-cards small{color:#2474c5;font:700 11px var(--sans-en)}
.development-detail-production-cards p{max-width:78%;color:var(--muted);font-size:14px;line-height:1.8}.development-detail-production-cards .material-symbols-outlined{position:absolute;right:28px;bottom:28px;color:#2474c5;font-size:36px}
.development-detail-cad{display:grid;grid-template-columns:54% 46%;align-items:center;padding-left:0}
.development-detail-cad-image{height:520px}.development-detail-cad-image img{object-position:center;filter:saturate(.75)}
.development-detail-cad>.development-detail-copy{padding:0 var(--development-pad)}
.development-detail-cad-flow{grid-column:1/3;display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:22px;margin:64px var(--development-pad) 0;text-align:center}
.development-detail-cad-flow div{display:grid;justify-items:center;gap:8px}.development-detail-cad-flow .material-symbols-outlined{display:grid;place-items:center;width:92px;height:92px;border:1px solid var(--line);border-radius:50%;color:#2474c5;font-size:34px}.development-detail-cad-flow b{font-size:16px}.development-detail-cad-flow p{margin:0;color:var(--muted);font-size:13px}.development-detail-cad-flow i{color:#2474c5;font-style:normal;font-size:22px}
.development-detail-precision{position:relative;min-height:600px;overflow:hidden;color:#fff;background:#06182c}
.development-detail-precision>img{position:absolute;inset:0;opacity:.75;filter:saturate(.58) contrast(1.08)}
.development-detail-precision:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,15,34,.95),rgba(2,18,38,.46) 58%,transparent)}
.development-detail-precision>div{position:relative;z-index:2;width:min(610px,48%);padding:100px var(--development-pad)}
.development-detail-precision p{color:rgba(255,255,255,.78)}.development-detail-precision ul{display:flex;gap:14px;margin:55px 0 0;padding:0;list-style:none}.development-detail-precision li{display:flex;align-items:center;justify-content:center;min-height:72px;flex:1;padding:16px 18px;border:1px solid rgba(255,255,255,.55);font-size:14px;text-align:center;box-sizing:border-box}
.development-detail-people h2{margin-bottom:38px}.development-detail-people-grid{display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:repeat(2,220px);gap:12px}.development-detail-people-grid figure{position:relative;margin:0;overflow:hidden}.development-detail-people-grid .is-large{grid-row:1/3}.development-detail-people-grid img{filter:saturate(.72)}.development-detail-people-grid figcaption{position:absolute;left:0;top:0;padding:8px 14px;color:#fff;background:#176fc4;font-size:13px}
.development-detail-base{display:grid;grid-template-columns:42% 58%;align-items:center;overflow:hidden;padding-top:48px;padding-bottom:48px;background:#edf6ff}.development-detail-base h2{font-size:32px}.development-detail-base p:not(.development-detail-label){color:var(--muted)}.development-detail-base .development-detail-label{color:#2474c5}.development-detail-base .button{margin-top:25px;background:#fff;color:var(--navy)}.development-detail-base>img{display:block;width:100%;height:auto;object-fit:contain;object-position:center;background:#edf6ff;transform:scale(1.5);transform-origin:center}
.development-detail-contact{display:grid;grid-template-columns:50% 50%;align-items:stretch;min-height:430px;border-bottom:8px solid var(--navy);overflow:hidden;background:#fff}.development-detail-contact>div:first-child{display:flex;flex-direction:column;justify-content:center;padding:70px var(--development-pad);position:relative;z-index:3}.development-detail-contact h2{font-size:38px}.development-detail-contact p:not(.development-detail-label){color:var(--muted);font-size:16px;line-height:2}.development-detail-contact .button{width:min(100%,430px)}.development-detail-contact-image{position:relative;min-height:430px;overflow:hidden}.development-detail-contact-image:after{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.9) 7%,rgba(255,255,255,.38) 19%,transparent 38%)}.development-detail-contact-image img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.68)}

@media(max-width:767px){
  .development-detail-page{--development-pad:24px}.development-detail-section{padding:60px 24px}.development-detail-page h2{font-size:28px}
  .development-detail-hero{height:var(--subpage-hero-height);min-height:var(--subpage-hero-height)}.development-detail-breadcrumb{height:46px;padding:0 24px;font-size:12px}.development-detail-hero-image{inset:0 0 0 4%}.development-detail-hero-image:after{background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,255,255,.48) 48%,rgba(255,255,255,.04) 78%),linear-gradient(90deg,#fff,rgba(255,255,255,.72) 38%,transparent 78%)}.development-detail-hero-image img{object-position:60% center}.development-detail-hero-copy{left:24px;right:24px;top:39%;width:auto;transform:none}.development-detail-hero-copy h1{font-size:34px}.development-detail-lead{margin-top:24px;font-size:18px}
  .development-detail-intro{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:0}.development-detail-intro>.development-detail-copy{order:1;padding:60px 24px}.development-detail-copy>p:last-child{font-size:16px}.development-detail-copy>p:last-child br{display:none}.development-detail-intro-image{order:2;height:auto;aspect-ratio:3/2;margin-top:0}
  .development-detail-process-grid{grid-template-columns:1fr;gap:0;margin-top:30px;border:1px solid var(--line)}.development-detail-process-grid article{display:flex;flex-direction:column;border-bottom:1px solid var(--line)}.development-detail-process-grid article:last-child{border-bottom:0}.development-detail-process-grid article>div{width:100%;min-height:0;padding:22px 20px;border:0}.development-detail-process-grid h3{display:inline;margin:0 0 0 12px}.development-detail-process-grid p{margin-top:12px;font-size:14px}.development-detail-process-grid img{width:100%;height:auto;min-height:0;aspect-ratio:3/2;object-fit:cover}
  .development-detail-production{min-height:0;padding:60px 24px}.development-detail-production-copy h2{font-size:28px}.development-detail-production-copy>p{white-space:normal}.development-detail-production-cards{grid-template-columns:1fr;width:100%;margin-top:42px}.development-detail-production-cards article{min-height:210px}
  .development-detail-cad{display:flex;flex-direction:column;padding:60px 24px}.development-detail-cad-image{order:2;width:100%;height:auto;aspect-ratio:3/2;margin-top:34px}.development-detail-cad>.development-detail-copy{order:1;padding:0}.development-detail-cad-flow{order:3;display:grid;grid-template-columns:1fr;margin:38px 0 0;width:100%}.development-detail-cad-flow i{transform:rotate(90deg)}
  .development-detail-precision{min-height:560px}.development-detail-precision>div{width:100%;padding:70px 24px}.development-detail-precision ul{gap:8px;margin-top:40px}.development-detail-precision li{min-height:64px;padding:12px 10px;font-size:13px}
  .development-detail-people h2{margin-bottom:30px}.development-detail-people-grid{grid-template-columns:1fr;grid-template-rows:none}.development-detail-people-grid .is-large{grid-row:auto}.development-detail-people-grid figure{height:auto;aspect-ratio:3/2}
  .development-detail-base{display:flex;flex-direction:column;align-items:stretch;padding-top:44px;padding-bottom:44px}.development-detail-base>img{width:calc(100% + 48px);max-width:none;height:auto;aspect-ratio:auto;margin:24px -24px 0;object-fit:contain;transform:scale(1.25)}.development-detail-base .button{width:100%}
  .development-detail-contact{display:flex;flex-direction:column;min-height:0}.development-detail-contact>div:first-child{padding:60px 24px 22px}.development-detail-contact h2{font-size:28px}.development-detail-contact p br{display:none}.development-detail-contact-image{width:100%;min-height:0;height:215px}.development-detail-contact-image:after{background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.72) 12%,transparent 38%)}.development-detail-contact .button{width:100%;margin-bottom:-20px;position:relative;z-index:4}
}

/* Disaster prevention products page */
.disaster-page{--disaster-pad:clamp(48px,5.4vw,82px);background:#fff}
.disaster-page img{display:block;width:100%;max-width:100%}
.disaster-block{padding:clamp(68px,6vw,92px) var(--disaster-pad)}
.disaster-label{margin:0 0 22px;color:#236fc1;font:700 14px var(--sans-en);letter-spacing:.08em}
.disaster-copy h2,.disaster-content-copy h2{margin:0;font:500 38px/1.58 var(--serif-jp);letter-spacing:.045em;text-wrap:balance;line-break:strict}
.disaster-copy>p:last-child,.disaster-content-copy>p:last-child{margin:26px 0 0;color:var(--muted);font-size:16px;line-height:2;text-wrap:pretty;line-break:strict}
.disaster-hero{position:relative;height:var(--subpage-hero-height);min-height:var(--subpage-hero-height);overflow:hidden;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#fff 0%,#fff 28%,#eef3f8 100%)}
.disaster-breadcrumb{position:absolute;z-index:4;top:0;left:0;right:0;height:52px;padding:0 var(--disaster-pad);display:flex;align-items:center;gap:9px;color:#718093;font-size:14px}.disaster-breadcrumb a:hover{color:var(--blue)}
.disaster-hero-image{position:absolute;z-index:1;inset:0 0 0 22%;overflow:hidden;background:#eef3f7}.disaster-hero-image:after{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.99) 13%,rgba(255,255,255,.76) 25%,rgba(255,255,255,0) 45%)}
.disaster-hero-image img{height:100%;object-fit:cover;object-position:center;filter:saturate(.84) contrast(1.01)}
.disaster-hero-copy{position:absolute;z-index:3;left:var(--disaster-pad);top:50%;width:min(600px,46%);transform:translateY(-42%)}.disaster-hero-copy h1{margin:0;font:500 52px/1.35 var(--serif-jp);letter-spacing:.07em;white-space:nowrap}.disaster-hero-copy p{margin:42px 0 0;font:500 20px/2.15 var(--serif-jp);letter-spacing:.08em}
.disaster-intro,.disaster-story{display:grid;grid-template-columns:42% 58%;align-items:center;min-height:600px;padding-right:0}.disaster-intro-image,.disaster-story-image{height:470px;overflow:hidden}.disaster-intro-image img,.disaster-story-image img{height:100%;object-fit:cover;object-position:center;filter:saturate(.88)}
.disaster-story{grid-template-columns:42% 58%;border-top:1px solid var(--line)}.disaster-story-image{order:2}.disaster-story-image img{object-fit:cover}
.disaster-product{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.disaster-product-head{display:grid;grid-template-columns:38% 62%;align-items:center}.disaster-kicker{margin:0 0 14px;color:#2377c7;font-size:14px;font-weight:700}.disaster-product-main{height:470px;overflow:hidden}.disaster-product-main img{height:100%;object-fit:contain;background:#f8fafc}
.disaster-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:28px}.disaster-detail-grid figure{margin:0;border:1px solid var(--line)}.disaster-detail-grid figure>div{height:auto;aspect-ratio:3/2;overflow:hidden;background:#f8fafc}.disaster-detail-grid img{width:100%;height:100%;object-fit:cover;object-position:center}.disaster-detail-grid figcaption{padding:16px 18px;border-top:1px solid var(--line);font-size:14px;font-weight:700}
.disaster-content{display:grid;grid-template-columns:36% 64%;align-items:end;padding-right:0}.disaster-content-copy{padding-right:48px}.disaster-content-image{height:430px;overflow:hidden}.disaster-content-image img{height:100%;object-fit:cover;object-position:center}.disaster-content-links{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:28px var(--disaster-pad) 0 0;border:1px solid var(--line)}.disaster-content-links>a{display:grid;grid-template-columns:38px 1fr;gap:4px 12px;padding:24px;border-right:1px solid var(--line);transition:color .25s ease,background-color .25s ease}.disaster-content-links>a:last-child{border-right:0}.disaster-content-links>a:hover,.disaster-content-links>a:focus-visible{color:#fff;background:var(--navy);outline:none}.disaster-content-links .material-symbols-outlined{grid-row:1/3;align-self:center;color:#2377c7;font-size:30px;transition:color .25s ease}.disaster-content-links b{font-size:16px}.disaster-content-links small{color:var(--muted);font-size:14px;transition:color .25s ease}.disaster-content-links>a:hover .material-symbols-outlined,.disaster-content-links>a:focus-visible .material-symbols-outlined,.disaster-content-links>a:hover small,.disaster-content-links>a:focus-visible small{color:#fff}
.disaster-contact{height:510px;min-height:510px;box-sizing:border-box;overflow:hidden;border-bottom:8px solid var(--navy)}.disaster-contact .products-overview-contact-copy{padding:66px var(--disaster-pad)}.disaster-contact .products-overview-contact-images{height:100%;min-height:0;max-height:100%;grid-template-rows:repeat(2,minmax(0,1fr));overflow:hidden}.disaster-contact .products-overview-contact-images img{height:100%;min-height:0;object-fit:cover;object-position:center;background:#fff;filter:saturate(.84)}

@media(max-width:980px) and (min-width:768px){.disaster-hero-copy h1{font-size:42px}.disaster-content{grid-template-columns:42% 58%}}
@media(max-width:767px){
  .disaster-page{--disaster-pad:24px}.disaster-block{padding:60px var(--disaster-pad)}
  .disaster-breadcrumb{height:46px;padding:0 24px;font-size:12px;white-space:nowrap;overflow:hidden}.disaster-hero-image{inset:0 0 0 4%}.disaster-hero-image:after{background:linear-gradient(180deg,rgba(255,255,255,.88) 0%,rgba(255,255,255,.54) 38%,rgba(255,255,255,.05) 72%),linear-gradient(90deg,#fff 0%,rgba(255,255,255,.78) 36%,transparent 75%)}.disaster-hero-image img{object-position:64% center}.disaster-hero-copy{left:24px;right:24px;top:39%;width:auto;transform:none}.disaster-hero-copy h1{font-size:34px;line-height:1.5;white-space:normal}.disaster-hero-copy p{margin-top:24px;font-size:18px;line-height:2}
  .disaster-copy h2,.disaster-content-copy h2{font-size:28px}.disaster-copy>p:last-child,.disaster-content-copy>p:last-child{font-size:16px}.disaster-copy>p:last-child br{display:none}
  .disaster-intro,.disaster-story{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding-right:24px}.disaster-intro-image,.disaster-story-image{height:auto;aspect-ratio:3/2;margin-top:34px}.disaster-story-image{order:initial}
  .disaster-product-head{display:flex;flex-direction:column;align-items:stretch}.disaster-product-main{height:auto;aspect-ratio:3/2;margin-top:34px}.disaster-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.disaster-detail-grid figure>div{height:auto;aspect-ratio:3/2}.disaster-detail-grid figcaption{padding:12px;font-size:12px}
  .disaster-content{display:flex;flex-direction:column;align-items:stretch;padding-right:24px}.disaster-content-copy{padding-right:0}.disaster-content-image{height:auto;aspect-ratio:3/2;margin-top:34px}.disaster-content-links{grid-template-columns:1fr;width:100%;margin:20px 0 0}.disaster-content-links>a{border-right:0;border-bottom:1px solid var(--line)}.disaster-content-links>a:last-child{border-bottom:0}
  .disaster-contact{height:auto;min-height:0}.disaster-contact .products-overview-contact-copy{padding:36px 24px 24px}.disaster-contact .products-overview-contact-copy h2{font-size:28px}.disaster-contact .products-overview-contact-copy>p:not(.products-overview-label) br{display:none}.disaster-contact .products-overview-contact-images{height:215px;min-height:215px}
}

/* Section headings no longer use the short decorative rule. */
.products-heading-copy h2::before,
.development-heading h2::before,
.company-heading h2::before,
.recruit-copy h2::before {
  content: none;
  display: none;
}

.tech-visual.has-image::before {
  display: none;
}

.tech-visual.has-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.section-heading>div>p:first-of-type,
.feature-copy>.jp-label,
.company-copy>p:first-of-type,
.recruit-copy>p:first-of-type,
.contact-cta>p:first-of-type{
  margin-top:24px;
  font-size:16px;
  line-height:1.7;
  font-weight:700;
}
.feature-copy h3,
.section-heading h3,
.company-copy h3,
.recruit-copy h3,
.contact-cta h3{
  margin-top:42px;
  margin-bottom:20px;
  font-size:clamp(31px,3.3vw,52px);
  line-height:1.6;
  letter-spacing:.04em;
}
.feature-copy>p:not(.jp-label),
.company-description,
.recruit-copy>p:last-of-type,
.contact-cta>p:last-of-type{
  font-size:16px;
  line-height:2.1;
}
.feature-copy .button,
.section-heading .button,
.company-copy .button,
.recruit-copy .button,
.contact-cta .button{
  font-size:13px;
}
@media(max-width:767px){
  .section-heading h2,.feature-copy h2,.company-copy h2,.recruit-copy h2,.contact-cta h2{font-size:42px}
  .feature-copy h3,.section-heading h3,.company-copy h3,.recruit-copy h3,.contact-cta h3{font-size:31px}
  .feature-copy>p:not(.jp-label),.company-description,.recruit-copy>p:last-of-type,.contact-cta>p:last-of-type{font-size:15px}
}

/* Technology page */
.technology-page{--tech-pad:clamp(42px,5.5vw,88px);background:#fff}.technology-page p{color:var(--muted)}
.tech-block{position:relative;padding:110px var(--tech-pad)}.tech-title>p{margin:0 0 34px;color:var(--navy);font:700 12px var(--sans-en);letter-spacing:.05em}.tech-title h2{margin:0;font:500 clamp(34px,3.2vw,52px)/1.65 var(--serif-jp);letter-spacing:.07em}.tech-visual{position:relative;display:grid;place-items:center;min-height:220px;overflow:hidden;background:linear-gradient(135deg,#dce6ee,#8ca0b2 52%,#153957);color:rgba(255,255,255,.55);font:700 22px var(--sans-en);letter-spacing:.14em}.tech-visual:before{content:"";position:absolute;inset:-40%;background:repeating-linear-gradient(90deg,transparent 0 55px,rgba(255,255,255,.08) 56px),repeating-linear-gradient(0deg,transparent 0 55px,rgba(255,255,255,.08) 56px);transform:rotate(-10deg)}.tech-visual span,.tech-visual small{position:relative;z-index:1}.tech-visual small{position:absolute;bottom:18px;font-size:10px;letter-spacing:.05em}
.tech-hero{position:relative;display:grid;grid-template-columns:43% 57%;min-height:610px;background:#fff}.tech-hero-copy{padding:130px 7% 90px 8%;z-index:2}.tech-hero-copy>p{margin:0 0 50px;color:var(--navy);font:700 12px var(--sans-en)}.tech-hero h1{font:500 clamp(44px,4.1vw,67px)/1.35 var(--serif-jp);letter-spacing:.08em;margin:0}.tech-lead{margin-top:40px;font:500 clamp(20px,2.1vw,32px)/1.8 var(--serif-jp)}.tech-hero-image{min-height:610px}.tech-scroll{position:absolute;left:8%;bottom:38px;font:10px var(--sans-en);letter-spacing:.15em}
.tech-intro{min-height:680px;padding-bottom:60px}.tech-intro-copy{position:relative;z-index:2;max-width:570px}.tech-intro-copy>p{margin-top:35px;line-height:2}.tech-intro-image{position:absolute;inset:55px 0 0 43%;opacity:.38}.tech-points{position:relative;z-index:3;display:grid;grid-template-columns:repeat(3,1fr);margin-top:80px;border-top:1px solid #9eb9d7;background:rgba(255,255,255,.72)}.tech-points>div{display:grid;grid-template-columns:auto 1fr;gap:3px 16px;padding:30px 36px}.tech-points i{grid-row:1/3;color:var(--navy);font-style:normal}.tech-points strong{font-family:var(--serif-jp)}.tech-points span{font-size:12px;color:var(--muted)}
.process-section{padding-bottom:90px}.process-feature{display:grid;grid-template-columns:45% 55%;align-items:center}.process-feature>.tech-visual{min-height:390px}.process-feature>div:last-child{padding:65px var(--tech-pad)}.process-feature>div:last-child>p{line-height:2}.process-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:22px;padding:30px var(--tech-pad);border:1px solid var(--line);margin:20px 4% 0}.process-cards>div{display:grid;grid-template-columns:auto 1fr;gap:4px 14px}.process-cards b{color:var(--blue);font:400 18px var(--serif-en)}.process-cards .tech-visual{grid-column:1/3;min-height:110px;margin-top:12px}.process-cards .tech-visual span{font-size:13px}
.core-section{display:grid;grid-template-columns:.88fr 1.18fr;gap:6vw}.core-intro>p{line-height:2;margin:28px 0}.core-intro .tech-visual{min-height:280px}.tech-accordion{align-self:center;border:1px solid #7fa4d1}.tech-accordion details{border-bottom:1px solid #7fa4d1}.tech-accordion details:last-child{border:0}.tech-accordion summary{display:grid;grid-template-columns:48px 1fr 20px;align-items:center;padding:18px 24px;cursor:pointer;list-style:none}.tech-accordion summary::-webkit-details-marker{display:none}.tech-accordion summary b{color:var(--blue);font:400 18px var(--serif-en)}.tech-accordion summary span{text-align:center}.tech-accordion details[open] summary span{transform:rotate(45deg)}.tech-accordion details>div{padding:0 24px 25px 72px}.tech-tags{display:flex;gap:8px;flex-wrap:wrap}.tech-tags span{border:1px solid #a9bfd9;padding:5px 12px;color:var(--navy);font-size:11px}
.quality-section{display:grid;grid-template-columns:.75fr 1.25fr;gap:5vw;background:#fbfcfd}.quality-section>div:first-child{align-self:center}.quality-section>div:first-child>p{max-width:420px;line-height:2}.quality-images{position:relative;min-height:400px}.quality-images .tech-visual:first-child{height:330px}.quality-images .tech-visual:last-child{position:absolute;right:0;bottom:0;width:40%;min-height:170px;border:10px solid #fff}.quality-list{grid-column:1/3;display:grid;grid-template-columns:repeat(3,1fr);margin-top:35px}.quality-list>div{display:grid;grid-template-columns:40px 1fr;gap:5px 15px;padding:10px 30px;border-right:1px solid var(--line)}.quality-list b{grid-row:1/3;color:var(--blue);font:400 20px var(--serif-en)}.quality-list span{font-size:12px;color:var(--muted)}
.support-section{position:relative;min-height:540px;padding:45px var(--tech-pad);background:#031d3a;color:#fff;overflow:hidden}.support-section>.tech-visual{position:absolute;inset:45px 0 0;width:100%;height:calc(100% - 45px)}.support-section>.tech-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,16,35,.8),rgba(0,20,43,.1))}.support-panel{position:relative;z-index:2;width:38%;padding:45px;background:#fff;color:var(--text)}.support-panel>p{line-height:2}.support-flow{position:absolute;z-index:2;right:5%;bottom:70px;display:grid;grid-template-columns:repeat(4,1fr);width:51%;color:#fff}.support-flow>div{padding:0 18px;border-left:1px solid rgba(255,255,255,.45);display:grid}.support-flow b{font:400 22px var(--serif-en)}.support-flow strong{font-size:12px}
.prototype-section{display:grid;grid-template-columns:.85fr .7fr 1fr;gap:4vw;align-items:center;background:#f7f9fb}.prototype-section>p{grid-column:1;align-self:start;margin-top:-80px;line-height:2}.prototype-actions{grid-column:1;align-self:start;margin-top:-55px;display:flex;gap:10px}.prototype-section>.tech-visual{grid-column:2;grid-row:1/4;min-height:370px}.prototype-grid{grid-column:3;grid-row:1/4;display:grid;grid-template-columns:1fr 1fr}.prototype-grid>div{min-height:150px;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;gap:15px}.prototype-grid b{color:var(--blue);font:400 18px var(--serif-en)}.tech-outline{background:#fff;color:var(--navy)}
.people-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:5vw}.people-section>div:first-child{align-self:center}.people-section>div:first-child>p{line-height:2}.people-images{display:grid;grid-template-columns:2fr .8fr;gap:15px}.people-images .tech-visual:first-child{min-height:330px}.people-values{grid-column:1/3;display:grid;grid-template-columns:repeat(6,1fr);margin-top:30px}.people-values span{text-align:center;padding:24px 8px;border-top:1px solid var(--line);font-size:12px;color:var(--navy)}
.equipment-section{background:#fff}.equipment-head{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;align-items:end}.equipment-list>div{display:grid;grid-template-columns:45px 120px 1fr;gap:12px;padding:18px 0;border-top:1px solid var(--line)}.equipment-list b{color:var(--blue);font:400 17px var(--serif-en)}.equipment-list span{font-size:12px;color:var(--muted)}.equipment-band{display:grid;grid-template-columns:repeat(3,1fr)}.equipment-band .tech-visual{min-height:230px;place-items:end start;padding:25px}.equipment-band .tech-visual span{font-family:var(--serif-jp)}
.products-link{display:grid;grid-template-columns:.62fr 1.38fr;gap:4vw;align-items:center}.products-link>div:first-child>p{line-height:2}.product-link-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.product-link-grid a{text-align:center;color:var(--navy);font-size:12px}.product-link-grid .tech-visual{min-height:180px;margin-bottom:15px}.product-link-grid .tech-visual span{font-size:13px}
.tech-contact{display:grid;grid-template-columns:55% 45%;min-height:500px;background:#f7f9fb}.tech-contact>div:first-child{padding:90px var(--tech-pad);z-index:2}.tech-contact>div:first-child>p{line-height:2}.tech-contact>div:first-child>div{display:flex;gap:12px;margin-top:30px}.tech-contact>.tech-visual{min-height:500px;opacity:.55}
@media(max-width:900px){.tech-hero{grid-template-columns:1fr;min-height:auto}.tech-hero-copy{padding:90px 7%}.tech-hero-image{min-height:360px}.tech-scroll{display:none}.tech-intro-image{inset:40px 0 0 30%}.process-feature,.core-section,.quality-section,.people-section,.equipment-head,.products-link{grid-template-columns:1fr}.quality-list,.people-values{grid-column:1}.support-panel{width:55%}.support-flow{width:60%}.prototype-section{grid-template-columns:1fr 1fr}.prototype-section>.tech-title,.prototype-section>p,.prototype-actions{grid-column:1}.prototype-section>.tech-visual{grid-column:2;grid-row:1/4}.prototype-grid{grid-column:1/3;grid-row:auto}.product-link-grid{margin-top:30px}}
@media(max-width:767px){.tech-block{padding:78px 24px}.tech-title>p{margin-bottom:22px}.tech-title h2{font-size:31px}.tech-hero-copy{padding:70px 24px}.tech-hero h1{font-size:39px}.tech-lead{font-size:21px}.tech-hero-image{min-height:280px}.tech-intro{min-height:auto}.tech-intro-image{position:relative;inset:auto;margin:40px -24px 0;min-height:280px;opacity:.65}.tech-points,.process-cards,.quality-list,.people-values,.equipment-band,.product-link-grid{grid-template-columns:1fr}.tech-points>div,.quality-list>div{border-bottom:1px solid var(--line)}.process-feature{display:block}.process-feature>div:last-child{padding:70px 24px}.process-cards{margin:0;padding:24px}.process-cards .tech-visual{min-height:180px}.core-section{gap:45px}.quality-images{min-height:320px}.support-section{padding:25px 0;min-height:790px}.support-section>.tech-visual{inset:25px 0 0;height:calc(100% - 25px)}.support-panel{width:calc(100% - 48px);margin:24px;padding:30px}.support-flow{left:24px;right:24px;bottom:45px;width:auto;grid-template-columns:1fr 1fr;gap:25px}.prototype-section{display:block}.prototype-section>p,.prototype-actions{margin-top:25px}.prototype-actions{flex-direction:column}.prototype-section>.tech-visual{margin-top:35px;min-height:300px}.prototype-grid{margin-top:30px}.people-images{margin-top:30px;grid-template-columns:1fr}.people-values{margin-top:20px}.equipment-list{margin-top:35px}.equipment-list>div{grid-template-columns:38px 95px 1fr}.product-link-grid{grid-template-columns:1fr 1fr}.tech-contact{display:block}.tech-contact>div:first-child{padding:78px 24px}.tech-contact>div:first-child>div{flex-direction:column}.tech-contact>.tech-visual{min-height:280px}}

/* Client feedback: brighter blue, automotive-led TOP */
.sidebar,footer{background:#173b8f}
.image-asset{position:relative;overflow:hidden}.image-asset img{display:block;width:100%;height:100%;object-fit:cover}
.product-card .image-asset{min-height:220px}
.hero{background:#f6fbff;color:var(--text)}
.hero-media{position:absolute;inset:0;width:100%;height:100%}.hero-media img{object-position:center}
.hero-shade{background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.91) 30%,rgba(255,255,255,.5) 54%,rgba(255,255,255,.04) 78%)}
.hero-copy{max-width:760px}.hero h1{color:#152a55;font-size:clamp(43px,4.4vw,70px);line-height:1.48}.hero-copy>p:not(.eyebrow){color:#34465d;font-weight:500}.button-blue{background:#2d70bd;border-color:#2d70bd}.button-outline{background:rgba(255,255,255,.8);border-color:#2d70bd;color:#173b8f}.scroll-indicator{color:#173b8f}
.products-section{background:linear-gradient(180deg,#fff 0%,#f5faff 100%)}.product-card.is-featured{grid-column:1/3;grid-template-columns:62% 1fr;min-height:360px;background:#fff;border-top:1px solid var(--line)}.product-card.is-featured .image-asset{min-height:360px}.product-card.is-featured h3{font-size:26px}.product-card.is-featured p{font-size:14px;line-height:2}
.factory-gallery{display:grid;grid-template-columns:1.45fr 1fr 1fr;gap:1px;background:#fff}.factory-gallery .image-placeholder,.factory-gallery .image-asset{min-height:320px}.factory-gallery .image-placeholder:first-child,.factory-gallery .image-asset:first-child{min-height:390px}
.company-section{background:linear-gradient(180deg,#fff 0%,#f7fbff 100%)}
@media(max-width:767px){.hero-shade{background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.72) 72%,rgba(255,255,255,.35))}.hero-media img{object-position:58% center}.hero h1{font-size:35px}.product-card.is-featured{grid-column:auto;grid-template-columns:1fr}.product-card.is-featured .image-asset{min-height:260px}.factory-gallery{grid-template-columns:1fr}.factory-gallery .image-placeholder,.factory-gallery .image-placeholder:first-child,.factory-gallery .image-asset,.factory-gallery .image-asset:first-child{min-height:260px}}

/* TOP layout corrections */
.number-grid{border-bottom:1px solid var(--line)}
.number-grid>a{position:relative;display:block;padding:24px 28px;border-right:1px solid var(--line);transition:background-color .25s ease,color .25s ease}
.number-grid>a:first-child{border-left:1px solid var(--line)}
.number-grid>a span{color:var(--blue);font:400 16px var(--serif-en)}
.number-grid>a h4{margin:4px 0;font-family:var(--serif-jp);font-size:19px}
.number-grid>a p{font-size:12px;color:var(--muted)}
.number-grid>a b{color:var(--blue)}
.number-grid>a:hover,.number-grid>a:focus-visible{background:var(--blue);color:#fff;outline:none}
.number-grid>a:hover span,.number-grid>a:hover p,.number-grid>a:hover b,.number-grid>a:focus-visible span,.number-grid>a:focus-visible p,.number-grid>a:focus-visible b{color:#fff}
.split-feature{grid-template-columns:.9fr 1.1fr;gap:6vw}
.split-feature>.feature-image:not(.landscape){min-height:620px;max-height:680px}
.reverse{grid-template-columns:.76fr 1.24fr}
.reverse>.feature-image.landscape{min-height:430px;aspect-ratio:1.55}
.product-grid{grid-template-columns:1fr 1fr}
.product-card{grid-column:auto;grid-template-columns:48% 1fr;min-height:235px;background:transparent;border-top:0}
.product-card .image-asset{min-height:220px}
.product-card h3,.product-card.is-featured h3{font-size:20px}
.product-card p,.product-card.is-featured p{font-size:12px;line-height:1.8}
.recruit-section .recruit-image{position:absolute;z-index:-2;inset:0;width:100%;height:100%;min-height:0}
.recruit-section .recruit-image img{object-position:center}
@media(max-width:1100px){.split-feature{grid-template-columns:1fr 1fr}.split-feature>.feature-image:not(.landscape){min-height:520px}.reverse{grid-template-columns:.85fr 1.15fr}.reverse>.feature-image.landscape{min-height:380px}}
@media(max-width:767px){.number-grid>a,.number-grid>a:first-child{border-left:0;border-right:0;border-bottom:1px solid var(--line)}.split-feature,.reverse{display:block}.split-feature>.feature-image:not(.landscape),.reverse>.feature-image.landscape{min-height:330px;aspect-ratio:1.25}.product-card{grid-template-columns:1fr}.recruit-section .recruit-image{position:absolute;min-height:0}.recruit-section .recruit-image img{object-position:58% center}}

/* Shared TOP content alignment */
.page-column{--content-left:clamp(54px,8vw,130px)}
.page-column>.section,
.page-column main>.section{padding-left:var(--content-left);padding-right:var(--content-left)}
.hero-copy{left:var(--content-left)}
.recruit-copy{padding-left:var(--content-left)}
@media(max-width:1100px){.page-column{--content-left:6vw}}
@media(max-width:767px){.page-column{--content-left:24px}.page-column>.section,.page-column main>.section{padding-left:var(--content-left);padding-right:var(--content-left)}.hero-copy{left:var(--content-left);right:var(--content-left)}.recruit-copy{padding-left:var(--content-left);padding-right:var(--content-left)}}

.process-line p{margin:4px 28px 0 0;color:var(--muted);font-size:12px;line-height:1.8}

.company-photo-gallery{grid-template-columns:1.45fr .72fr .72fr}
.company-photo-gallery .image-asset,.company-photo-gallery .image-asset:first-child{min-height:360px}
.company-photo-gallery .image-asset:first-child img{object-position:center}
.company-photo-gallery .image-asset:last-child img{object-position:center 65%}
@media(max-width:767px){.company-photo-gallery{grid-template-columns:1fr}.company-photo-gallery .image-asset,.company-photo-gallery .image-asset:first-child{min-height:260px}}

/* Sidebar: lower-page navigation with Material Symbols */
.sidebar nav a,.sidebar nav a:hover,.sidebar nav a.is-active{transform:none}
.sidebar nav a{gap:14px;transition:opacity .2s ease,color .2s ease}
.sidebar nav a.is-active:before{display:none}
.nav-icon{flex:0 0 24px;font-family:"Material Symbols Outlined";font-weight:normal;font-style:normal;font-size:22px;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";color:#fff;opacity:.78}
.sidebar nav a:hover .nav-icon,.sidebar nav a.is-active .nav-icon{opacity:1}

/* Product cards: restrained hover emphasis */
.product-card{overflow:hidden}
.product-card>div:last-child{transition:background-color .3s ease,color .3s ease}
.product-card>div:last-child span,.product-card>div:last-child p,.product-card>div:last-child b{transition:color .3s ease}
@media(hover:hover) and (pointer:fine){
  .product-card:hover>div:last-child{background:var(--navy);color:#fff}
  .product-card:hover>div:last-child span,.product-card:hover>div:last-child p,.product-card:hover>div:last-child b{color:#fff}
}
@media(prefers-reduced-motion:no-preference) and (prefers-reduced-motion:reduce){
  .product-card .image-asset img,.product-card>div:last-child,.product-card>div:last-child span,.product-card>div:last-child p,.product-card>div:last-child b{transition:none}
}

/* Keep lower-page navigation still; only opacity indicates hover/current page. */
.sidebar nav a,.sidebar nav a:hover,.sidebar nav a.is-active{transform:none}
.sidebar nav a.is-active:before{display:none}

/* Unified, restrained reveal motion */
[data-reveal]{opacity:0;will-change:opacity,transform;transition-property:opacity,transform;transition-timing-function:cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms)}
[data-reveal="heading"]{transform:translateY(22px);transition-duration:720ms}
[data-reveal="text"]{transform:translateY(14px);transition-duration:620ms}
[data-reveal="image"]{transform:translateY(12px) scale(1.02);transition-duration:900ms}
[data-reveal="button"]{transform:translateY(10px);transition-duration:560ms}
[data-reveal="item"]{transform:translateY(16px);transition-duration:620ms}
[data-reveal].is-revealed{opacity:1;transform:none}
@media(prefers-reduced-motion:no-preference) and (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none}}

.technology-page .product-link-grid .tech-visual img,
.technology-page .process-cards .tech-visual img {
  transition: transform 700ms cubic-bezier(.22,1,.36,1);
}

.technology-page .product-link-grid a:hover .tech-visual img {
  transform: scale(1.045);
}

@media(prefers-reduced-motion:no-preference) and (prefers-reduced-motion:reduce){
  .technology-page .product-link-grid .tech-visual img,
  .technology-page .process-cards .tech-visual img{transition:none}
}

/* Navigation state and official brand assets */
html{scroll-padding-top:24px}
.logo{display:block;width:156px}
.logo img{display:block;width:100%;height:auto}
.sidebar nav{margin-top:90px}
.sidebar nav a{position:relative;padding:3px 0;opacity:.72;transition:opacity .25s ease,transform .25s ease}
.sidebar nav a:hover,.sidebar nav a.is-active{opacity:1;transform:none}
.sidebar nav a.is-active:before{display:none}
.sidebar nav i{color:#fff;font-size:9px;opacity:.58}
.sidebar nav a.is-active i{opacity:1}
.image-placeholder{color:rgba(255,255,255,.5)}
.footer-brand img{display:block;width:min(100%,240px);height:auto;margin-bottom:8px}
.footer-external{display:flex;align-items:center;gap:6px;width:max-content}
.footer-external .material-symbols-outlined{font-family:"Material Symbols Outlined";font-size:18px;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:"liga";-webkit-font-feature-settings:"liga"}
@media(max-width:767px){
  .mobile-logo{display:block;width:145px}
  .mobile-logo img{display:block;width:100%;height:auto}
  .footer-brand img{width:145px}
  .hero h1{font-size:30px}
  .sidebar nav{margin-top:10px}
}

/* TOP: strengthen photography and rebalance English display headings */
.section-heading h2,.feature-copy h2,.company-copy h2,.recruit-copy h2,.contact-cta h2{
  font-size:clamp(34px,3.35vw,54px);
  letter-spacing:.045em;
}
#technology.section{
  max-width:none;
  padding-right:clamp(32px,4vw,64px);
}
#technology .split-feature{
  grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);
  gap:clamp(48px,6vw,90px);
}
#technology .split-feature>.feature-image:not(.landscape){
  width:100%;
  min-height:0;
  max-height:none;
  aspect-ratio:1/1;
}
#technology .split-feature>.feature-image img{object-position:center}
@media(max-width:1100px){
  #technology .split-feature{grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);gap:5vw}
}
@media(max-width:767px){
  .section-heading h2,.feature-copy h2,.company-copy h2,.recruit-copy h2,.contact-cta h2{font-size:34px}
  #technology.section{padding-right:var(--content-left)}
  #technology .split-feature{display:block}
  #technology .split-feature>.feature-image:not(.landscape){min-height:330px;aspect-ratio:1.2;margin-top:45px}
}

/* TOP products introduction: match the supplied editorial balance */
.products-section .section-heading-row{align-items:flex-end}
.products-heading-copy{max-width:760px}
.products-heading-copy h2:before{
  content:"";
  display:block;
  width:64px;
  height:2px;
  margin-bottom:38px;
  background:var(--line);
}
.products-heading-copy>p:first-of-type{margin-top:18px}
.products-heading-copy h3{
  margin:66px 0 8px;
  font-size:clamp(25px,2.25vw,34px);
  line-height:1.55;
}
.products-heading-copy .products-lead{
  margin:0;
  color:var(--muted);
  font-size:14px;
  font-weight:500;
  line-height:2;
}
.products-section .section-heading-row>.button{
  min-width:264px;
  margin-bottom:3px;
  padding:16px 24px;
}
.products-section .product-grid{margin-top:72px}
@media(max-width:767px){
  .products-heading-copy h2:before{width:48px;margin-bottom:28px}
  .products-heading-copy h3{margin-top:45px;font-size:25px}
  .products-heading-copy .products-lead br{display:none}
  .products-section .section-heading-row>.button{min-width:100%;margin-top:30px}
  .products-section .product-grid{margin-top:50px}
}

/* TOP development: heading, feature and process are three clear tiers */
.development-heading h2:before{
  content:"";
  display:block;
  width:64px;
  height:2px;
  margin-bottom:38px;
  background:var(--line);
}
.development-heading>p{margin:18px 0 0;font-weight:700}
.development-main{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  align-items:center;
  gap:clamp(52px,6vw,94px);
  margin-top:38px;
}
.development-copy h3{
  margin:0 0 10px;
  font:500 clamp(27px,2.5vw,38px)/1.65 var(--serif-jp);
  letter-spacing:.04em;
}
.development-copy>p{margin:0;color:var(--muted);font-size:14px;line-height:2}
.development-copy .button{min-width:264px;margin-top:22px;padding:16px 24px}
.development-main>.feature-image.landscape{
  width:100%;
  min-height:0;
  max-height:none;
  aspect-ratio: 2/1.2;
}
.development-main>.feature-image img{object-position:center}
.development-main>.top-prototype-development-photo img{object-position:50% 60%}
.development-section .process-line{margin-top:100px}
.development-section .process-line>div{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:0 30px 0 0;
  border-top:0;
}
.development-section .process-line>div:before{
  content:"";
  position:absolute;
  top:0;
  left:48px;
  right:24px;
  height:1px;
  background:#b9c7d8;
}
.development-section .process-line>div:after{
  content:"";
  position:absolute;
  z-index:2;
  top:-4px;
  right:16px;
  width:0;
  height:0;
  border-top:4px solid transparent;
  border-bottom:4px solid transparent;
  border-left:8px solid #aab8c7;
}
.development-section .process-line>div:last-child:after{display:none}
.development-section .process-line span{
  width:max-content;
  padding-right:14px;
  background:var(--soft);
  transform:translateY(-52%);
}
.development-section .process-line strong{margin:8px 0 0 48px;font-size:16px}
.development-section .process-line p{margin:0 0 0 48px;color:var(--muted);font-size:12px;line-height:1.8}
@media(max-width:767px){
  .development-heading h2:before{width:48px;margin-bottom:28px}
  .development-main{display:block;margin-top:42px}
  .development-copy h3{font-size:26px}
  .development-copy>p br{display:none}
  .development-copy .button{min-width:100%}
  .development-main>.feature-image.landscape{min-height:260px;aspect-ratio:1.35;margin-top:42px}
  .development-section .process-line{margin-top:70px}
  .development-section .process-line>div{padding:0 0 28px}
  .development-section .process-line>div:before,
  .development-section .process-line>div:after{display:none}
  .development-section .process-line strong{margin:18px 0 0}
  .development-section .process-line p{margin-left:0}
}

/* TOP: use one scale for Japanese section catchphrases */
.feature-copy h3,
.products-heading-copy h3,
.development-copy h3,
.company-copy h3,
.recruit-copy h3,
.contact-cta h3{
  font-size:clamp(26px,2.2vw,34px);
  line-height:1.65;
  letter-spacing:.04em;
}
.development-main{
  grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);
  gap:clamp(42px,4.5vw,72px);
}
.development-copy h3>span{white-space:nowrap}
@media(max-width:767px){
  .feature-copy h3,.products-heading-copy h3,.development-copy h3,.company-copy h3,.recruit-copy h3,.contact-cta h3{font-size:26px}
  .development-copy h3>span{white-space:normal}
}

/* TOP company: title above, introduction and action aligned below */
.company-copy{padding-bottom:70px}
.company-heading h2:before{
  content:"";
  display:block;
  width:64px;
  height:2px;
  margin-bottom:38px;
  background:var(--line);
}
.company-heading>p{margin:18px 0 0;font-size:16px;font-weight:700}
.company-intro-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:clamp(50px,7vw,110px);
  margin-top:58px;
}
.company-intro-row h3{margin:0 0 8px}
.company-intro-row .company-description{margin:0!important;font-size:14px!important;line-height:2!important}
.company-intro-row>.button{min-width:264px;margin:0 0 3px;padding:16px 24px}
@media(max-width:767px){
  .company-heading h2:before{width:48px;margin-bottom:28px}
  .company-intro-row{display:block;margin-top:42px}
  .company-intro-row .company-description br{display:none}
  .company-intro-row>.button{min-width:100%;margin-top:30px}
}

/* TOP recruit: match the reference spacing and short, soft white fade */
.recruit-section{min-height:clamp(720px,60vw,900px)}
.recruit-section:after{
  background:linear-gradient(90deg,
    #fff 0%,
    rgba(255,255,255,.99) 18%,
    rgba(255,255,255,.9) 27%,
    rgba(255,255,255,.58) 36%,
    rgba(255,255,255,.18) 45%,
    rgba(255,255,255,0) 55%);
}
.recruit-copy{
  width:min(48%,680px);
  min-height:clamp(720px,60vw,900px);
  justify-content:flex-start;
  padding-top:clamp(78px,7vw,110px);
  padding-bottom:clamp(78px,7vw,110px);
}
.recruit-copy h2:before{
  content:"";
  display:block;
  width:64px;
  height:2px;
  margin-bottom:38px;
  background:var(--line);
}
.recruit-copy>p:first-of-type{margin-top:18px}
.recruit-copy h3{margin-top:70px;margin-bottom:34px}
.recruit-copy>p:last-of-type{margin:0;line-height:2.15}
.recruit-copy .button{min-width:264px;margin-top:46px;padding:16px 24px}
@media(max-width:767px){
  .recruit-section,.recruit-copy{min-height:700px}
  .recruit-section:after{background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.93) 58%,rgba(255,255,255,.55) 100%)}
  .recruit-copy{width:100%;padding-top:70px;padding-bottom:70px;justify-content:flex-start}
  .recruit-copy h2:before{width:48px;margin-bottom:28px}
  .recruit-copy h3{margin-top:48px;margin-bottom:24px}
  .recruit-copy>p:last-of-type br{display:none}
  .recruit-copy .button{min-width:100%;margin-top:34px}
}

/* Technology links: keep only the internal vertical dividers */
.number-grid>a:first-child{border-left:0}
.number-grid>a:last-child{border-right:0}

/* Shared section geometry: one left edge and one content width everywhere */
.page-column{
  --content-left:80px;
  --section-gutter:80px;
}
.page-column main .section{
  width:100%;
  max-width:none;
  margin-left:0;
  margin-right:0;
  padding-left:var(--section-gutter);
  padding-right:var(--section-gutter);
}
.hero-copy{left:var(--section-gutter)}
.recruit-copy{padding-left:var(--section-gutter)}
#technology.section{padding-right:var(--section-gutter)}
@media(max-width:767px){
  .page-column{--content-left:24px;--section-gutter:24px}
  .hero-copy{left:var(--section-gutter);right:var(--section-gutter)}
  .recruit-copy{padding-left:var(--section-gutter);padding-right:var(--section-gutter)}
}

/* PC typography scale: 16px body / 14px supporting text / 18px navigation */
@media(min-width:768px){
  body{font-size:16px}
  .sidebar nav a{font-size: 16px;}
  .button{font-size:14px}
  .feature-copy>p:not(.jp-label),
  .recruit-copy>p:last-of-type,
  .contact-cta>p:last-of-type{font-size:16px}
  .eyebrow,
  .news-row time,
  .tag,
  .number-grid>a p,
  .product-card p,
  .products-heading-copy .products-lead,
  .development-copy>p,
  .development-section .process-line p,
  .company-intro-row .company-description,
  .company-links p,
  .tech-title>p,
  .tech-hero-copy>p,
  .tech-visual small,
  .tech-points span,
  .tech-tags span,
  .quality-list span,
  .support-flow strong,
  .people-values span,
  .equipment-list span,
  .product-link-grid a{font-size: 16px;}
  .company-intro-row .company-description{font-size:14px!important}
}

/* SP news rows: date + category, then title */
@media(max-width:767px){
  .news-row{
    grid-template-columns:auto 1fr 24px;
    grid-template-rows:auto auto;
    column-gap:14px;
    row-gap:14px;
    padding:22px 0;
  }
  .news-row time{grid-column:1;grid-row:1}
  .news-row .tag{grid-column:2;grid-row:1;justify-self:start}
  .news-row strong{grid-column:1/3;grid-row:2}
  .news-row .arrow{grid-column:3;grid-row:2;align-self:center}
}

/* SP products: one card per row, with image above copy */
.sp-only{display:none}
@media(max-width:767px){
  .products-section .product-grid{
    grid-template-columns:minmax(0,1fr);
    gap:36px;
  }
  .products-section .product-card{
    width:100%;
    grid-template-columns:minmax(0,1fr);
  }
  .products-section .product-card .image-asset{
    min-height:0;
    aspect-ratio:3/2;
  }
  .sp-only{display:block}
  .development-copy h3>span{white-space:nowrap}
}

/* SP development: keep the feature image visible and tighten the vertical rhythm */
@media(max-width:767px){
  .development-main>.feature-image.landscape{
    min-height:0;
    height:auto;
    aspect-ratio:16/9;
    margin-top:30px;
  }
  .development-main>.feature-image.landscape img{object-position:center bottom}
  .development-main>.top-prototype-development-photo img{object-position:50% 58%}
  .development-main>.feature-image[data-reveal="image"]{
    opacity:1;
    transform:none;
    transition:none;
  }
  .development-section .process-line{margin-top:42px}
  .company-intro-row h3>span{white-space:nowrap}
  .company-copy{padding-bottom:36px}
  .company-photo-gallery .image-asset[data-reveal="image"]{
    opacity:1;
    transform:none;
    transition:none;
  }
  .company-links>div{
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .company-links>div:first-child{border-top:1px solid var(--line)}
}
/* SP recruit: keep the photo near the top and fade it into the copy area. */
@media (max-width: 767px) {
  .recruit-section {
    min-height: 0;
    background: #fff;
  }

  .recruit-section .recruit-image {
    inset: 0 0 auto;
    width: 100%;
    height: 360px;
    min-height: 0;
  }

  .recruit-section .recruit-image img {
    object-position: center top;
  }

  .recruit-section .recruit-image[data-reveal="image"] {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .recruit-section::after {
    background: linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.2) 0%,
      rgba(255, 255, 255, 0.5) 28%,
      rgba(255, 255, 255, 0.9) 48%,
      #fff 62%
    );
  }

  .recruit-copy {
    width: 100%;
    min-height: 0;
    padding-top: 56px;
    padding-bottom: 36px;
  }

  .recruit-copy h3 {
    margin-top: 150px;
    margin-bottom: 24px;
  }

  .recruit-copy .button {
    margin-top: 30px;
  }
}

br.sp-contact-break {
  display: none;
}

@media (max-width: 767px) {
  .contact-cta h3 br.sp-contact-break {
    display: block;
  }
}

/* Products page — lower-page rules established by the fixed technology page. */
.products-page{
  --product-pad:clamp(48px,5.4vw,82px);
  --product-section:clamp(68px,6vw,92px);
  background:#fff;
}
.products-page img{display:block;width:100%;height:100%;object-fit:cover}
.product-breadcrumb{
  height:52px;padding:0 var(--product-pad);display:flex;align-items:center;gap:9px;
  border-bottom:1px solid var(--line);color:#718093;font-size:14px;
}
.product-breadcrumb a:hover{color:var(--blue)}
.product-block{padding:var(--product-section) var(--product-pad)}
.product-title>p,.product-index{
  margin:0 0 20px;color:#236fc1;font:700 14px var(--sans-en);letter-spacing:.08em;
}
.product-title h2{
  margin:0;font:500 38px/1.58 var(--serif-jp);letter-spacing:.045em;text-wrap:balance;
}
.product-hero{display:grid;grid-template-columns:43% 57%;min-height:530px}
.product-hero-copy{padding:105px var(--product-pad) 78px;align-self:center}
.product-hero-copy>p{margin:0 0 38px;color:#236fc1;font:700 14px var(--sans-en);letter-spacing:.08em}
.product-hero h1{margin:0;font:500 52px/1.35 var(--serif-jp);letter-spacing:.045em}
.product-hero-lead{margin-top:28px;font:500 26px/1.75 var(--serif-jp);letter-spacing:.045em}
.product-hero-image{min-height:530px;overflow:hidden;background:#edf2f6}
.product-hero-image img{object-position:center}
.product-introduction{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:end;gap:8vw}
.product-intro-copy{padding-bottom:4px}
.product-intro-copy p{margin:0;color:var(--muted);font-size:16px;line-height:2}
.product-intro-copy p+p{margin-top:8px}
.product-category-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-top:0;padding-bottom:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.product-category-nav>a{position:relative;display:grid;grid-template-columns:42px 1fr 18px;align-items:center;gap:8px;min-height:112px;padding:22px 24px;border-right:1px solid var(--line);transition:background .3s ease,color .3s ease}
.product-category-nav>a:last-child{border-right:0}
.product-category-nav b{color:var(--blue);font:400 20px var(--serif-en)}
.product-category-nav strong{font-size:16px;white-space:nowrap}
.product-category-nav span{color:var(--blue);font-size:18px}
.product-category-nav>a:hover{color:#fff;background:var(--navy)}
.product-category-nav>a:hover b,.product-category-nav>a:hover span{color:#fff}
.product-main-feature{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);align-items:stretch;gap:0;background:var(--soft)}
.product-main-image{min-height:570px;overflow:hidden}
.product-main-image img{object-position:center}
.product-main-copy{display:flex;flex-direction:column;justify-content:center;padding:60px clamp(40px,5vw,76px);background:#fff}
.product-main-copy h2{margin:0 0 26px;font:500 38px/1.55 var(--serif-jp);letter-spacing:.045em}
.product-main-copy>p:not(.product-index){margin:0;color:var(--muted);font-size:16px;line-height:2}
.product-main-copy dl{margin:38px 0 0;border-top:1px solid var(--line)}
.product-main-copy dl>div{display:grid;grid-template-columns:72px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}
.product-main-copy dt{color:#236fc1;font-weight:700}.product-main-copy dd{margin:0}
.product-category-sections{background:#fff}
.product-category{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);align-items:end;gap:clamp(48px,6vw,96px);scroll-margin-top:40px}
.product-category+.product-category{border-top:1px solid var(--line)}
.product-category.is-reverse{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)}
.product-category.is-reverse .product-category-copy{order:2}.product-category.is-reverse .product-category-image{order:1}
.product-category-heading{display:flex;align-items:flex-start;gap:24px}
.product-category-heading>b{padding-top:26px;color:var(--blue);font:400 20px var(--serif-en)}
.product-category-heading .product-title>p{margin-bottom:8px}
.product-category-copy h3{margin:38px 0 16px;font:500 26px/1.65 var(--serif-jp);letter-spacing:.04em;text-wrap:balance}
.product-category-copy>p{margin:0;color:var(--muted);font-size:16px;line-height:2;text-wrap:pretty;line-break:strict}
.product-category-copy ul{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 0;padding:0;list-style:none}
.product-category-copy li{padding:7px 14px;border:1px solid #aac2df;color:#1c4a84;font-size:14px;white-space:nowrap}
.product-category-image{width:100%;aspect-ratio:3/2;overflow:hidden;background:#edf2f6}
.product-category-image img{transition:transform .7s cubic-bezier(.22,1,.36,1)}
.product-category:hover .product-category-image img{transform:scale(1.025)}
.product-technology-link{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:60px;background:var(--soft)}
.product-technology-link p{margin:26px 0 0;color:var(--muted);font-size:16px;line-height:2}
.product-technology-link .button{min-width:264px;padding:16px 24px}
.product-contact{display:grid;grid-template-columns:50% 50%;min-height:520px}
.product-contact-copy{display:flex;flex-direction:column;justify-content:center;padding:var(--product-section) var(--product-pad)}
.product-contact-copy>p{margin:28px 0 0;color:var(--muted);font-size:16px;line-height:2}
.product-contact-copy .button{max-width:420px;margin-top:34px;padding:16px 24px}
.product-contact-image{position:relative;min-height:520px;overflow:hidden}
.product-contact-image:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.65) 8%,transparent 30%);pointer-events:none}
.product-contact-image img{filter:saturate(.65);object-position:center}

@media(max-width:1100px) and (min-width:768px){
  .product-category-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .product-category-nav>a:nth-child(2){border-right:0}
  .product-category-nav>a:nth-child(-n+2){border-bottom:1px solid var(--line)}
}
@media(max-width:767px){
  .products-page{--product-pad:24px;--product-section:64px}
  .product-breadcrumb{font-size:14px}
  .product-hero{display:block;min-height:0}
  .product-hero-copy{padding:56px var(--product-pad) 44px}
  .product-hero-copy>p{margin-bottom:20px}
  .product-hero h1{font-size:34px}
  .product-hero-lead{font-size:20px}
  .product-hero-image{min-height:0;aspect-ratio:3/2}
  .product-introduction{display:block}
  .product-title h2{font-size:28px}
  .product-intro-copy{margin-top:28px;padding:0}
  .product-intro-copy br,.product-contact-copy br,.product-technology-link br{display:none}
  .product-category-nav{grid-template-columns:1fr;padding-left:var(--product-pad);padding-right:var(--product-pad);border:0}
  .product-category-nav>a{min-height:72px;padding:15px 18px;border:1px solid var(--line);border-bottom:0}
  .product-category-nav>a:last-child{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
  .product-category-nav strong{white-space:normal}
  .product-main-feature{display:flex;flex-direction:column;padding-top:var(--product-section);padding-bottom:var(--product-section)}
  .product-main-image{min-height:0;aspect-ratio:3/2}
  .product-main-copy{padding:38px 24px}
  .product-main-copy h2{font-size:28px}
  .product-category,.product-category.is-reverse{display:flex;flex-direction:column;align-items:stretch;gap:34px}
  .product-category.is-reverse .product-category-copy,.product-category.is-reverse .product-category-image{order:initial}
  .product-category-heading{gap:16px}
  .product-category-heading>b{padding-top:25px}
  .product-category-copy h3{margin-top:30px;font-size:22px}
  .product-category-copy ul{gap:8px}
  .product-category-copy li{font-size:14px}
  .product-category-image{aspect-ratio:3/2}
  .product-technology-link{display:block}
  .product-technology-link .button{width:100%;margin-top:32px}
  .product-contact{display:flex;flex-direction:column;min-height:0}
  .product-contact-copy{padding:64px var(--product-pad) 30px}
  .product-contact-copy .button{width:100%;max-width:none;margin-bottom:-28px;position:relative;z-index:2}
  .product-contact-image{min-height:0;aspect-ratio:3/2}
  .product-contact-image:before{background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.58) 16%,transparent 42%)}
}

/* Products overview — fixed PDF composition. */
.products-overview{background:#fff}
.products-overview .product-block{padding-left:var(--product-pad);padding-right:var(--product-pad)}
.products-overview-hero{position:relative;min-height:870px;overflow:hidden;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#fff 0%,#fff 28%,#eef3f8 100%)}
.products-overview-hero .product-breadcrumb{position:relative;z-index:3;border:0}
.products-overview-hero-visual{position:absolute;z-index:1;inset:0 0 0 22%;overflow:hidden}
.products-overview-hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.99) 13%,rgba(255,255,255,.75) 25%,rgba(255,255,255,0) 45%)}
.products-overview-hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.72) contrast(1.02)}
.products-overview-hero-copy{position:absolute;z-index:2;left:var(--product-pad);top:50%;transform:translateY(-42%)}
.products-overview-hero-copy h1{margin:0;font:500 52px/1.35 var(--serif-jp);letter-spacing:.12em}
.products-overview-hero-copy p{margin:42px 0 0;font:500 20px/2.15 var(--serif-jp);letter-spacing:.08em}
.products-overview-label{margin:0 0 38px;color:#236fc1;font:700 14px var(--sans-en);letter-spacing:.08em}
.products-overview-intro{position:relative;min-height:470px;display:flex;align-items:center;overflow:hidden}
.products-overview-intro>div:first-child{position:relative;z-index:2}
.products-overview-intro h2{margin:0;font:500 38px/1.7 var(--serif-jp);letter-spacing:.075em}
.products-overview-intro h2 .products-intro-break-sp{display:none}
.products-overview-intro>div:first-child>p:last-child{margin:34px 0 0;color:var(--muted);font-size:16px;line-height:2}
.products-overview-blueprint{position:absolute;z-index:1;right:-3%;top:8%;width:43%;height:84%;opacity:.42;background:linear-gradient(90deg,transparent,rgba(225,238,249,.75)),repeating-linear-gradient(90deg,transparent 0 54px,rgba(128,177,217,.16) 55px),repeating-linear-gradient(0deg,transparent 0 54px,rgba(128,177,217,.16) 55px);transform:skewY(-7deg)}
.products-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px;padding-top:0!important}
.products-overview-card{display:block;scroll-margin-top:24px;border:1px solid var(--line);background:#fff;color:inherit;text-decoration:none;cursor:pointer}
.products-overview-card:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.products-overview-card-image{height:385px;overflow:hidden;background:#eef3f7}
.products-overview-card-image img{object-position:center}
.products-overview-card-copy{padding:30px 30px 32px}
.products-overview-card-copy h2{display:flex;align-items:baseline;gap:16px;margin:0;font:500 24px/1.45 var(--serif-jp);letter-spacing:.045em}
.products-overview-card-copy h2 b{color:var(--blue);font:400 24px var(--serif-en)}
.products-overview-card-copy p{min-height:58px;margin:20px 0;color:var(--muted);font-size:14px;line-height:1.9}
.products-overview-card-cta{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 20px;border:1px solid #8eabd0;color:#173b8f;font-size:14px;font-weight:700;transition:background .3s ease,color .3s ease}
.products-overview-card:hover .products-overview-card-cta,.products-overview-card:focus-visible .products-overview-card-cta{color:#fff;background:var(--navy)}
.products-overview-contact{display:grid;grid-template-columns:58% 42%;align-items:stretch;gap:0;min-height:430px;padding:0!important;background:#fff}
.products-overview-contact-copy{display:flex;flex-direction:column;justify-content:center;padding:72px var(--product-pad)}
.products-overview-contact-copy h2{margin:0;font:500 38px/1.58 var(--serif-jp);letter-spacing:.045em;text-wrap:balance;line-break:strict}
.products-overview-contact-copy>p:not(.products-overview-label){margin:24px 0 0;color:var(--muted);font-size:16px;line-height:2}
.products-overview-contact-copy .button{width:min(100%,420px);margin-top:34px;padding:16px 24px}
.products-overview-contact-images{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-height:430px;overflow:hidden}
.products-overview-contact-images:after{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.9) 7%,rgba(255,255,255,.38) 19%,transparent 38%)}
.products-overview-contact-images img{width:100%;height:100%;min-height:0;object-fit:cover;filter:saturate(.68)}

@media(max-width:767px){
  .products-overview-hero{min-height:650px}
  .products-overview-hero-visual{inset:0 0 0 4%}
  .products-overview-hero-visual:after{background:linear-gradient(180deg,rgba(255,255,255,.85) 0%,rgba(255,255,255,.52) 38%,rgba(255,255,255,.05) 72%),linear-gradient(90deg,#fff 0%,rgba(255,255,255,.78) 36%,transparent 75%)}
  .products-overview-hero-visual img{object-position:55% top}
  .products-overview-hero-copy{left:var(--product-pad);right:var(--product-pad);top:40%;transform:none}
  .products-overview-hero-copy h1{font-size:34px}
  .products-overview-hero-copy p{margin-top:26px;font-size:18px;line-height:2}
  .products-overview-intro{min-height:0;padding-top:64px;padding-bottom:64px}
  .products-overview-label{margin-bottom:24px}
  .products-overview-intro h2{font-size:28px;line-height:1.7}
  .products-overview-intro>div:first-child>p:last-child{margin-top:26px}
  .products-overview-intro h2 br{display:block}
  .products-overview-intro h2 .products-intro-break-sp{display:block}
  .products-overview-intro>div:first-child>p:last-child br{display:none}
  .products-overview-blueprint{right:-25%;width:82%;opacity:.28}
  .products-overview-grid{grid-template-columns:minmax(0,1fr);gap:28px;padding-top:0!important;padding-bottom:0}
  .products-overview-card-image{height:auto;aspect-ratio:3/2}
  .products-overview-card-copy{padding:24px}
  .products-overview-card-copy h2{font-size:20px}.products-overview-card-copy h2 b{font-size:20px}
  .products-overview-card-copy p{min-height:0;margin:16px 0 20px}
  .products-overview-contact{display:flex;flex-direction:column;align-items:stretch;gap:0;min-height:0;padding:0!important}
  .products-overview-contact-copy{padding:60px 24px 20px}
  .products-overview-contact-copy h2{font-size:28px}
  .products-overview-contact-copy br{display:none}
  .products-overview-contact-copy .button{width:100%;margin-bottom:-22px;position:relative;z-index:2}
  .products-overview-contact-images{width:100%;min-height:215px;height:215px}
  .products-overview-contact-images:after{background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.72) 12%,transparent 38%)}
}

/* SP company links: compact rows with the arrow aligned to the right edge. */
@media (max-width: 767px) {
  .company-links > div {
    position: relative;
    min-height: 0;
    padding: 22px 58px 22px 24px;
  }

  .company-links p {
    margin: 10px 0 0;
  }

  .company-links b {
    position: absolute;
    top: 50%;
    right: 24px;
    margin: 0;
    transform: translateY(-50%);
  }
}

@media (max-width: 767px) {
  .recruit-copy h3 br.recruit-title-break {
    display: block;
  }

  .contact-cta {
    padding-top: 60px;
  }

  .company-photo-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .company-photo-gallery .image-asset:first-child {
    grid-column: 1 / -1;
    height: 220px;
  }

  .company-photo-gallery .image-asset,
  .company-photo-gallery .image-asset:first-child {
    height: 180px;
    min-height: 0;
  }

  /* Keep the visual gap between adjacent SP sections at roughly 60px. */
  .page-column main > .section,
  .company-copy {
    padding-top: 30px;
    padding-bottom: 30px;
  }

  .recruit-copy {
    padding-bottom: 30px;
  }

  .contact-cta {
    padding-top: 30px;
  }

  .number-grid > a,
  .number-grid > a:first-child {
    position: relative;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    column-gap: 12px;
    padding: 18px 56px 18px 20px;
  }

  .number-grid > a span {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
  }

  .number-grid > a h4 {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
  }

  .number-grid > a p {
    grid-column: 2;
    grid-row: 2;
    margin: 6px 0 0;
  }

  .number-grid > a b {
    position: absolute;
    top: 50%;
    right: 24px;
    transform: translateY(-50%);
  }
}

/* Keep the decorative rule removed after all section-specific declarations. */
.products-heading-copy h2::before,
.development-heading h2::before,
.company-heading h2::before,
.recruit-copy h2::before {
  content: none;
  display: none;
}

@media (max-width: 767px) {
  .development-section .process-line > div {
    padding-bottom: 48px;
  }

  .development-section .process-line strong {
    margin-top: 4px;
  }

  .section-heading h2,
  .feature-copy h2,
  .company-copy h2,
  .recruit-copy h2,
  .contact-cta h2 {
    font-size: 28px;
  }

  .page-column main > .contact-cta {
    padding-bottom: 60px;
  }

  .hero-copy {
    top: 54%;
  }

  .hero-media img {
    object-position: 58% 62%;
  }
}

/* Technology page — restore the calm editorial rhythm of the supplied PDF. */
.technology-page {
  --tech-pad: clamp(48px, 5.4vw, 82px);
  background: #fff;
}

.technology-page .tech-breadcrumb {
  position: relative;
  z-index: 3;
  height: 52px;
  padding: 0 var(--tech-pad);
  display: flex;
  align-items: center;
  gap: 9px;
  border-bottom: 0;
  color: #718093;
  font-size: 12px;
}

.technology-page .tech-breadcrumb a:hover { color: var(--blue); }

.technology-page .tech-block {
  padding: clamp(68px, 6vw, 92px) var(--tech-pad);
}

.technology-page .tech-title > p {
  margin-bottom: 20px;
  color: #236fc1;
  font-size: 10px;
  letter-spacing: .08em;
}

.technology-page .tech-title h2 {
  font-size: clamp(28px, 2.35vw, 40px);
  line-height: 1.58;
  letter-spacing: .045em;
}

.technology-page .tech-visual.has-image {
  background: #e9eef3;
}

.technology-page .tech-visual.has-image img {
  filter: saturate(.72) contrast(1.02);
}

.technology-page .tech-hero {
  grid-template-columns: 43% 57%;
  min-height: 530px;
  margin-top: -52px;
}

.technology-page .tech-hero-copy {
  padding: 157px var(--tech-pad) 78px;
}

.technology-page .tech-hero-copy > p {
  margin-bottom: 38px;
  color: #236fc1;
  font-size: 10px;
}

.technology-page .tech-hero h1 {
  font-size: clamp(38px, 3.5vw, 55px);
  line-height: 1.35;
}

.technology-page .tech-lead {
  margin-top: 28px;
  font-size: clamp(19px, 1.75vw, 27px);
  line-height: 1.75;
}

.technology-page .tech-hero-image {
  min-height: 530px;
}

.technology-page .tech-intro {
  min-height: 610px;
  padding-bottom: 44px;
}

.technology-page .tech-intro-copy > p {
  margin-top: 26px;
  font-size: 13px;
  line-height: 1.9;
}

.technology-page .tech-intro-image {
  inset: 38px 0 0 43%;
  opacity: 1;
}

.technology-page .tech-points {
  margin-top: 58px;
  border-color: #b7c8dc;
  background: transparent;
}

.technology-page .tech-points > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 18px 24px;
}

.technology-page .tech-point-heading {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.technology-page .tech-points .tech-point-icon {
  color: var(--blue);
  font-size: 22px;
}

.technology-page .tech-points strong {
  line-height: 1.4;
}

.technology-page .tech-points > div > span:last-child {
  margin-top: 2px;
  width: 100%;
  text-align: center;
  line-height: 1.55;
}

.technology-page .process-section {
  padding: 38px 0 72px;
}

.technology-page .process-feature > .tech-visual {
  min-height: 405px;
}

.technology-page .process-feature > div:last-child {
  padding: 78px var(--tech-pad);
}

.technology-page .process-feature > div:last-child > p {
  font-size: 13px;
  line-height: 1.9;
}

.technology-page .process-cards {
  gap: 0;
  margin: 32px var(--tech-pad) 0;
  padding: 32px 24px 34px;
  border: 1px solid var(--line);
}

.technology-page .process-cards > div {
  padding: 0 12px;
  border-right: 1px solid var(--line);
}

.technology-page .process-cards > div:first-child {
  padding-left: 0;
}

.technology-page .process-cards > div:last-child {
  padding-right: 0;
  border-right: 0;
}

.technology-page .process-cards .tech-visual {
  width: 100%;
  height: 122px;
  min-height: 122px;
  aspect-ratio: auto;
}

.technology-page .process-cards .tech-visual img { object-fit: cover; }

.technology-page .core-section {
  grid-template-columns: .86fr 1.14fr;
  gap: 6vw;
}

.technology-page .core-intro > p,
.technology-page .quality-section > div:first-child > p,
.technology-page .people-section > div:first-child > p,
.technology-page .products-link > div:first-child > p {
  font-size: 13px;
  line-height: 1.9;
}

.technology-page .core-intro .tech-visual {
  min-height: 250px;
}

.technology-page .tech-accordion {
  border-color: #87a8cf;
}

@media (min-width: 901px) {
  .technology-page .core-section { align-items: end; }
  .technology-page .tech-accordion { align-self: end; }
}

.technology-page .tech-accordion summary {
  padding: 15px 20px;
}

.technology-page .tech-accordion-item {
  border-bottom: 1px solid #87a8cf;
}

.technology-page .tech-accordion-item:last-child { border-bottom: 0; }

.technology-page .tech-accordion-trigger {
  width: 100%;
  display: grid;
  grid-template-columns: 48px 1fr 20px;
  align-items: center;
  padding: 15px 20px;
  border: 0;
  color: var(--text);
  background: transparent;
  text-align: left;
}

.technology-page .tech-accordion-trigger b {
  color: var(--blue);
  font: 400 18px var(--serif-en);
}

.technology-page .tech-accordion-trigger > span {
  text-align: center;
  transition: transform .45s cubic-bezier(.22, 1, .36, 1);
}

.technology-page .tech-accordion-item.is-open .tech-accordion-trigger > span {
  transform: rotate(45deg);
}

.technology-page .tech-accordion-panel {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  visibility: hidden;
  transition: grid-template-rows .5s cubic-bezier(.22, 1, .36, 1), opacity .32s ease, visibility 0s linear .5s;
}

.technology-page .tech-accordion-panel-inner {
  min-height: 0;
  overflow: hidden;
  padding: 0 20px 0 68px;
  transform: translateY(-8px);
  transition: padding .5s cubic-bezier(.22, 1, .36, 1), transform .45s cubic-bezier(.22, 1, .36, 1);
}

.technology-page .tech-accordion-item.is-open .tech-accordion-panel {
  grid-template-rows: 1fr;
  opacity: 1;
  visibility: visible;
  transition: grid-template-rows .5s cubic-bezier(.22, 1, .36, 1), opacity .4s ease .08s, visibility 0s;
}

.technology-page .tech-accordion-item.is-open .tech-accordion-panel-inner {
  padding-bottom: 25px;
  transform: translateY(0);
}

@media (prefers-reduced-motion: no-preference) and (prefers-reduced-motion: reduce) {
  .technology-page .tech-accordion-panel,
  .technology-page .tech-accordion-panel-inner,
  .technology-page .tech-accordion-trigger > span { transition: none; }
  .technology-page .people-track { animation-play-state: paused; }
}

.technology-page .quality-section {
  grid-template-columns: .82fr 1.18fr;
  gap: 5vw;
  align-items: stretch;
  background: #fff;
}

.technology-page .quality-images {
  min-height: 540px;
}

.technology-page .quality-images .tech-visual:first-child {
  height: 470px;
}

.technology-page .quality-list {
  grid-column: auto;
  grid-template-columns: 1fr;
  margin-top: 42px;
}

.technology-page .quality-list > div {
  min-height: 88px;
  padding: 18px 0;
  border-top: 1px solid var(--line);
  border-right: 0;
}

.technology-page .quality-images .tech-visual:last-child {
  width: 42%;
  min-height: 220px;
  border-width: 12px;
}
.technology-page .quality-images .quality-product-closeup img {
  object-position: 58% 68%;
  transform: scale(1.42);
  transform-origin: 58% 68%;
}

.technology-page .support-section {
  min-height: 470px;
  padding: 36px var(--tech-pad);
  background: #032454;
}

.technology-page .support-section > .tech-visual {
  inset: 36px 0 0;
  height: calc(100% - 36px);
}

.technology-page .support-section > .tech-visual img {
  filter: saturate(.55) brightness(.62) contrast(1.08);
}

.technology-page .support-section > .development-support-photo img {
  object-position: 52% 58%;
}

.technology-page .support-panel {
  width: 36%;
  padding: 36px;
}

.technology-page .support-panel > p {
  font-size: 12px;
  line-height: 1.85;
}

.technology-page .support-flow {
  right: var(--tech-pad);
  bottom: 58px;
  width: 52%;
}

.technology-page .support-flow > div { grid-template-rows: auto auto auto; }
.technology-page .support-flow span {
  margin-top: 7px;
  color: rgba(255,255,255,.72);
  font-size: 10px;
  line-height: 1.55;
}

@media (min-width: 901px) {
  .technology-page .support-section {
    display: flex;
    align-items: flex-end;
    min-height: 610px;
    padding: 70px var(--tech-pad);
  }

  .technology-page .support-section > .tech-visual {
    inset: 36px 0 0;
    height: calc(100% - 36px);
  }

  .technology-page .support-panel {
    padding: 44px;
  }

  .technology-page .support-flow {
    bottom: 70px;
  }
}

.technology-page .prototype-section {
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.28fr);
  column-gap: 6vw;
  background: #fff;
}

.technology-page .prototype-section > .tech-title,
.technology-page .prototype-section > p,
.technology-page .prototype-section > .prototype-actions {
  grid-column: 1;
}

.technology-page .prototype-section > .prototype-grid {
  grid-column: 2;
  grid-row: 1 / 4;
}

.technology-page .prototype-section > p,
.technology-page .prototype-actions {
  margin-top: 0;
}

.technology-page .prototype-grid > div {
  min-height: 135px;
  padding: 24px;
}

.technology-page .prototype-section .tech-title h2 {
  font-size: clamp(27px, 2.2vw, 34px);
}

.technology-page .no-break { white-space: nowrap; }

.technology-page .prototype-actions {
  display: grid;
  grid-template-columns: minmax(210px, 1.35fr) minmax(130px, .8fr);
}

.technology-page .prototype-actions .button {
  min-width: 0;
  gap: 16px;
  padding-inline: 16px;
  white-space: nowrap;
}

.technology-page .prototype-grid > div {
  display: grid;
  grid-template-columns: auto auto 1fr;
  grid-template-rows: auto auto;
  align-content: center;
  gap: 7px 10px;
}

.technology-page .prototype-grid .prototype-icon {
  grid-row: 1 / 3;
  align-self: center;
  color: var(--blue);
  font-size: 27px;
}

.technology-page .prototype-grid b { grid-column: 2; }
.technology-page .prototype-grid strong {
  grid-column: 3;
  white-space: nowrap;
}

.technology-page .prototype-grid small {
  grid-column: 2 / 4;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.55;
}

.technology-page .people-section {
  grid-template-columns: .78fr 1.22fr;
  column-gap: 5vw;
  row-gap: 18px;
}

.technology-page .people-carousel { min-width: 0; overflow: hidden; }
.technology-page .people-track {
  display: flex;
  width: max-content;
  will-change: transform;
  animation: people-carousel 42s linear infinite;
}
.technology-page .people-slide-group { display: flex; gap: 16px; padding-right: 16px; }
.technology-page .people-carousel .tech-visual {
  flex: 0 0 clamp(210px, 16vw, 300px);
  width: clamp(210px, 16vw, 300px);
  aspect-ratio: 3 / 4;
  min-height: 0;
  margin: 0;
}

.technology-page .people-carousel .tech-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@keyframes people-carousel { to { transform: translateX(-50%); } }

.technology-page .people-values {
  margin-top: 0;
  gap: 12px;
}

.technology-page .people-values span {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 58px;
  padding: 14px 12px;
  border: 1px solid var(--line);
  white-space: nowrap;
}

.technology-page .people-values i {
  color: var(--blue);
  font-size: 22px;
  font-style: normal;
}

@media (max-width: 1500px) and (min-width: 768px) {
  .technology-page .people-values {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.technology-page .equipment-head {
  grid-template-columns: .78fr 1.22fr;
}

@media (min-width: 901px) {
  .technology-page .equipment-head {
    align-items: end;
  }

  .technology-page .equipment-head > * {
    align-self: end;
  }
}

.technology-page .equipment-list > div {
  padding: 14px 0;
}

.technology-page .equipment-band .tech-visual {
  min-height: 205px;
}

.technology-page .products-link {
  grid-template-columns: .6fr 1.4fr;
}

.technology-page .product-link-grid {
  gap: 10px;
}

.technology-page .product-link-grid .tech-visual {
  height: 200px;
  min-height: 200px;
}

.technology-page .product-link-grid .tech-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.technology-page .tech-contact {
  grid-template-columns: 50% 50%;
  min-height: 430px;
  background: #fff;
}

.technology-page .tech-contact > div:first-child {
  padding: 72px var(--tech-pad);
}

.technology-page .tech-contact-copy > .tech-title {
  display: block;
  margin-top: 0;
}

.technology-page .tech-contact > .tech-visual {
  min-height: 430px;
  opacity: 1;
}

.technology-page .tech-contact > .tech-visual img {
  opacity: .55;
}

.technology-page .tech-contact > .tech-visual::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, #fff 0%, rgba(255,255,255,.9) 7%, rgba(255,255,255,.38) 19%, transparent 38%);
}

@media (max-width: 767px) {
  .technology-page .tech-breadcrumb {
    height: 46px;
    padding: 0 24px;
    font-size: 11px;
  }
  .technology-page .tech-block {
    padding: 60px 24px;
  }

  .technology-page .tech-hero {
    display: block;
    min-height: auto;
    margin-top: -46px;
  }

  .technology-page .tech-hero-copy {
    padding: 110px 24px 52px;
  }

  .technology-page .tech-hero h1 {
    font-size: 34px;
  }

  .technology-page .tech-hero-image {
    min-height: 280px;
  }

  .technology-page .tech-title h2 {
    font-size: 27px;
  }

  .technology-page .tech-intro {
    min-height: auto;
  }

  .technology-page .tech-intro-image {
    inset: auto;
    margin: 32px -24px 0;
    min-height: 240px;
    opacity: 1;
  }

  .technology-page .tech-points {
    margin-top: 36px;
  }

  .technology-page .process-feature > div:last-child {
    padding: 68px 24px;
  }

  .technology-page .process-cards {
    grid-template-columns: 1fr;
    gap: 18px;
    margin: 0 24px;
    padding: 28px 24px 38px;
  }

  .technology-page .process-cards .tech-visual {
    grid-column: 2;
    grid-row: 1 / 3;
    width: 100%;
    height: 170px;
    min-height: 170px;
    margin-top: 0;
  }

  .technology-page .process-cards > div,
  .technology-page .process-cards > div:first-child,
  .technology-page .process-cards > div:last-child {
    display: grid;
    grid-template-columns: minmax(82px, 1fr) minmax(0, 2fr);
    grid-template-rows: auto 1fr;
    align-items: start;
    column-gap: 16px;
    padding: 0;
    border: 0;
  }

  .technology-page .process-cards b,
  .technology-page .process-cards strong {
    grid-column: 1;
  }

  .technology-page .process-cards strong {
    margin-top: 8px;
    line-height: 1.45;
  }

  .technology-page .process-section {
    padding-bottom: 0;
  }

  .technology-page .core-section {
    padding-top: 60px;
  }

  .technology-page .support-section {
    min-height: 680px;
    padding: 24px 0;
  }

  .technology-page .quality-images {
    min-height: 390px;
  }

  .technology-page .quality-section {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .technology-page .quality-images .tech-visual:first-child {
    height: 330px;
  }

  .technology-page .quality-images .tech-visual:last-child {
    min-height: 170px;
  }

  .technology-page .support-panel {
    width: calc(100% - 48px);
    margin: 24px;
    padding: 28px;
  }

  .technology-page .prototype-section > .tech-visual {
    min-height: 260px;
  }

  .technology-page .people-carousel {
    margin: 30px -24px 0 0;
  }
  .technology-page .people-carousel .people-slide-group {
    gap: 12px;
    padding-right: 12px;
  }
  .technology-page .people-carousel .tech-visual {
    flex: 0 0 min(72vw, 280px);
    width: min(72vw, 280px);
    min-height: 0;
  }

  .technology-page .prototype-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .technology-page .equipment-band {
    grid-template-columns: 1fr;
  }

  .technology-page .equipment-band .tech-visual {
    min-height: 160px;
  }

  .technology-page .product-link-grid .tech-visual {
    height: 180px;
    min-height: 180px;
  }

  .technology-page .tech-contact > div:first-child {
    padding: 60px 24px;
  }

  .technology-page .tech-contact > .tech-visual::after {
    background: linear-gradient(180deg, #fff 0%, rgba(255,255,255,.72) 12%, transparent 38%);
  }
}

/* Technology typography: 16px body copy / 14px supporting copy. */
.technology-page .tech-intro-copy > p,
.technology-page .process-feature > div:last-child > p,
.technology-page .core-intro > p,
.technology-page .quality-section > div:first-child > p,
.technology-page .support-panel > p,
.technology-page .prototype-section > p,
.technology-page .people-section > div:first-child > p,
.technology-page .products-link > div:first-child > p,
.technology-page .tech-contact > div:first-child > p,
.technology-page .tech-accordion-panel p { font-size: 16px; }

.technology-page .tech-breadcrumb,
.technology-page .tech-title > p,
.technology-page .tech-hero-copy > p,
.technology-page .tech-points > div > span:last-child,
.technology-page .tech-tags span,
.technology-page .quality-list span,
.technology-page .support-flow strong,
.technology-page .support-flow span,
.technology-page .people-values span,
.technology-page .equipment-list span { font-size: 14px; }

.technology-page .people-values span { font-size: 18px; }
.technology-page .people-values i { font-size: 24px; }

/* SP: CORE TECHNOLOGY以降の主要レイアウトはすべて1カラム。 */
@media (max-width: 767px) {
  .technology-page .core-section,
  .technology-page .quality-section,
  .technology-page .people-section,
  .technology-page .equipment-head,
  .technology-page .products-link {
    grid-template-columns: minmax(0, 1fr);
  }

  .technology-page .prototype-section,
  .technology-page .tech-contact {
    display: block;
  }

  .technology-page .prototype-section {
    padding-bottom: 0;
  }

  .technology-page .people-section {
    padding-top: 60px;
  }

  .technology-page .support-section {
    min-height: 0;
    padding: 24px 0 32px;
  }

  .technology-page .support-panel {
    margin: 24px 24px 0;
  }

  .technology-page .support-flow {
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    width: auto;
    margin: 16px 24px 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    border: 1px solid rgba(255,255,255,.55);
  }

  .technology-page .support-flow > div {
    min-height: 150px;
    padding: 22px 16px;
    border: 0;
  }

  .technology-page .support-flow > div:nth-child(odd) {
    border-right: 1px solid rgba(255,255,255,.55);
  }

  .technology-page .support-flow > div:nth-child(-n + 2) {
    border-bottom: 1px solid rgba(255,255,255,.55);
  }

  .technology-page .prototype-grid {
    width: auto;
    margin: 24px 12px 0;
    border: 1px solid var(--line);
  }

  .technology-page .prototype-grid > div {
    min-height: 150px;
    padding: 12px 10px;
    grid-template-columns: auto auto;
    grid-template-rows: auto auto auto;
    justify-content: center;
    justify-items: center;
    align-content: center;
    gap: 5px 8px;
    border: 0;
  }

  .technology-page .prototype-grid .prototype-icon {
    grid-column: 1 / 3;
    grid-row: 1;
    justify-self: center;
    align-self: center;
  }

  .technology-page .prototype-grid b {
    grid-column: 1;
    grid-row: 2;
  }

  .technology-page .prototype-grid strong {
    grid-column: 2;
    grid-row: 2;
  }

  .technology-page .prototype-grid small {
    grid-column: 1 / 3;
    grid-row: 3;
    text-align: center;
  }

  .technology-page .prototype-grid > div:nth-child(odd) {
    border-right: 1px solid var(--line);
  }

  .technology-page .prototype-grid > div:nth-child(-n + 2) {
    border-bottom: 1px solid var(--line);
  }

  .technology-page .prototype-grid small span {
    white-space: nowrap;
  }

  .technology-page .process-cards .tech-visual {
    height: auto;
    min-height: 0;
    aspect-ratio: 3 / 2;
  }

  .technology-page .equipment-list > div {
    grid-template-columns: 72px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 16px;
    row-gap: 6px;
  }

  .technology-page .equipment-list b {
    grid-column: 1;
    grid-row: 1;
  }

  .technology-page .equipment-list strong {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
  }

  .technology-page .equipment-list span {
    grid-column: 2;
    grid-row: 2;
  }

  .technology-page .tech-contact > .tech-visual {
    height: 215px;
    min-height: 215px;
  }

  .technology-page .tech-contact > div:first-child {
    padding-bottom: 20px;
  }

  .technology-page .tech-contact > .tech-visual img {
    object-fit: cover;
    object-position: center;
  }

  .technology-page .core-section > *,
  .technology-page .quality-section > *,
  .technology-page .people-section > *,
  .technology-page .equipment-head > *,
  .technology-page .products-link > * {
    grid-column: 1;
  }
}

/* Technology page typography system
   Keep the approved font families while using one size for each visual role. */
.technology-page {
  --tech-type-hero: 52px;
  --tech-type-lead: 26px;
  --tech-type-heading: 38px;
  --tech-type-label: 14px;
  --tech-type-body: 16px;
  --tech-type-support: 14px;
  --tech-type-card-title: 16px;
  --tech-type-number: 20px;
  --tech-type-button: 14px;
}

.technology-page .tech-hero h1 { font-size: var(--tech-type-hero); }
.technology-page .tech-lead { font-size: var(--tech-type-lead); }

.technology-page .tech-title h2,
.technology-page .prototype-section .tech-title h2 {
  font-size: var(--tech-type-heading);
  line-height: 1.58;
  letter-spacing: .02em;
}

.technology-page .tech-title > p,
.technology-page .tech-hero-copy > p,
.technology-page .tech-breadcrumb { font-size: var(--tech-type-label); }

.technology-page .tech-intro-copy > p,
.technology-page .process-feature > div:last-child > p,
.technology-page .core-intro > p,
.technology-page .quality-copy > p,
.technology-page .support-panel > p,
.technology-page .prototype-section > p,
.technology-page .people-section > div:first-child > p,
.technology-page .products-link > div:first-child > p,
.technology-page .tech-contact-copy > p,
.technology-page .tech-accordion-panel p { font-size: var(--tech-type-body); }

.technology-page .tech-points > div > span:last-child,
.technology-page .tech-tags span,
.technology-page .quality-list span,
.technology-page .support-flow span,
.technology-page .prototype-grid small,
.technology-page .equipment-list span { font-size: var(--tech-type-support); }

.technology-page .tech-points strong,
.technology-page .process-cards strong,
.technology-page .tech-accordion-trigger strong,
.technology-page .quality-list strong,
.technology-page .support-flow strong,
.technology-page .prototype-grid strong,
.technology-page .equipment-list strong,
.technology-page .product-link-grid strong { font-size: var(--tech-type-card-title); }

.technology-page .process-cards b,
.technology-page .tech-accordion-trigger b,
.technology-page .quality-list b,
.technology-page .support-flow b,
.technology-page .prototype-grid b,
.technology-page .equipment-list b { font-size: var(--tech-type-number); }

.technology-page .button { font-size: var(--tech-type-button); }

/* Keep Japanese copy from leaving a single character or short fragment behind. */
.technology-page .tech-hero h1,
.technology-page .tech-lead,
.technology-page .tech-title h2 {
  text-wrap: balance;
  line-break: strict;
}

.technology-page .heading-line {
  display: inline-block;
  white-space: nowrap;
}

.technology-page p,
.technology-page .tech-points span,
.technology-page .quality-list span,
.technology-page .support-flow span,
.technology-page .prototype-grid small,
.technology-page .equipment-list span {
  text-wrap: pretty;
  line-break: strict;
}

.technology-page .tech-accordion-trigger strong,
.technology-page .process-cards strong,
.technology-page .prototype-grid strong,
.technology-page .product-link-grid strong,
.technology-page .button {
  text-wrap: nowrap;
}

.technology-page .quality-list strong,
.technology-page .support-flow strong,
.technology-page .equipment-list strong,
.technology-page .product-link-grid strong {
  text-wrap: balance;
  line-break: strict;
}

@media (min-width: 901px) {
  .technology-page .process-feature {
    grid-template-columns: 42% 58%;
  }

  .technology-page .process-feature > div:last-child {
    padding-inline: 50px;
  }

  .technology-page .core-section,
  .technology-page .people-section,
  .technology-page .equipment-head,
  .technology-page .products-link {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .technology-page .quality-section {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  }

  .technology-page .tech-contact {
    grid-template-columns: 58% 42%;
  }

  .technology-page .tech-contact > div:first-child {
    padding-inline: 50px;
  }
}

@media (max-width: 767px) {
  .technology-page {
    --tech-type-hero: 34px;
    --tech-type-lead: 20px;
    --tech-type-heading: 28px;
  }
}

/* Site-wide filled button interaction. */
.button:not(.button-outline) {
  transition: background-position 420ms cubic-bezier(.22,.75,.24,1), color 180ms 90ms ease, border-color 320ms ease, transform 320ms cubic-bezier(.2,.72,.2,1), box-shadow 320ms ease;
}

.button:not(.button-outline):hover,
.button:not(.button-outline):focus-visible {
  border-color: var(--navy);
  outline: none;
}

/* Aluminum products detail page. */
.aluminum-page{--aluminum-pad:clamp(48px,5.4vw,82px);background:#fff}
.aluminum-page img{max-width:100%}
.aluminum-block{padding:clamp(68px,6vw,92px) var(--aluminum-pad)}
.aluminum-label{margin:0 0 22px;color:#236fc1;font:700 14px var(--sans-en);letter-spacing:.08em}
.aluminum-copy h2{margin:0;font:500 38px/1.58 var(--serif-jp);letter-spacing:.045em;text-wrap:balance;line-break:strict}
.aluminum-title-sp{display:none}
.aluminum-contact-sp{display:none}
.aluminum-copy>p:last-child{margin:26px 0 0;color:var(--muted);font-size:16px;line-height:2;text-wrap:pretty;line-break:strict}
.aluminum-hero{position:relative;display:grid;grid-template-columns:43% 57%;min-height:530px;overflow:hidden;background:#fff}
.aluminum-breadcrumb{position:absolute;z-index:3;top:0;left:0;right:0;height:52px;padding:0 var(--aluminum-pad);display:flex;align-items:center;gap:9px;color:#718093;font-size:14px}
.aluminum-breadcrumb a:hover{color:var(--blue)}
.aluminum-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:110px var(--aluminum-pad) 70px}
.aluminum-hero-copy h1{margin:0;font:500 52px/1.35 var(--serif-jp);letter-spacing:.08em}
.aluminum-hero-copy p{margin:32px 0 0;font:500 26px/1.75 var(--serif-jp);letter-spacing:.04em}
.aluminum-hero-image{min-height:530px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff}
.aluminum-page .aluminum-hero-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.82)}
.aluminum-intro{display:grid;grid-template-columns:43% 57%;align-items:center;min-height:610px;padding-right:0}
.aluminum-intro-image{height:470px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff}
.aluminum-page .aluminum-intro-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.82)}
.aluminum-vehicle{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.aluminum-vehicle-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,.55fr);align-items:center;gap:48px;margin-top:38px}
.aluminum-car{position:relative;height:430px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff}
.aluminum-page .aluminum-car img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(.92);object-position:center}
.aluminum-car .marker{position:absolute;z-index:2;min-width:64px;padding:8px 12px;border:2px solid #fff;color:#fff;background:#176fc4;font:700 16px var(--sans-en);line-height:1;box-shadow:0 3px 10px rgba(23,59,143,.18);transition:transform .2s ease,background .2s ease}
.aluminum-car .marker:hover,.aluminum-car .marker:focus-visible,.aluminum-car .marker.is-active{background:var(--navy);transform:scale(1.1);outline:none}
.aluminum-car .marker-1{left:18%;top:54%}.aluminum-car .marker-2{left:38%;top:49%}.aluminum-car .marker-3{left:15%;top:68%}.aluminum-car .marker-4{left:77%;top:39%}.aluminum-car .marker-5{left:48%;top:72%}
.aluminum-vehicle-list{border:1px solid var(--line)}
.aluminum-vehicle-list>button{display:grid;width:100%;grid-template-columns:64px 1fr 22px;align-items:center;min-height:85.6px;padding:0 18px;border:0;border-bottom:1px solid var(--line);color:var(--text);background:#fff;text-align:left;font-size:14px;transition:background .2s ease,color .2s ease}
.aluminum-vehicle-list>button:last-child{border-bottom:0}.aluminum-vehicle-list>button:hover,.aluminum-vehicle-list>button:focus-visible,.aluminum-vehicle-list>button.is-active{color:#fff;background:var(--navy);outline:none}.aluminum-vehicle-list b{color:#2377c7;font:400 18px var(--serif-en)}.aluminum-vehicle-list>button:hover b,.aluminum-vehicle-list>button:focus-visible b,.aluminum-vehicle-list>button.is-active b,.aluminum-vehicle-list>button:hover i,.aluminum-vehicle-list>button:focus-visible i,.aluminum-vehicle-list>button.is-active i{color:#fff}.aluminum-vehicle-list i{color:var(--blue);font-style:normal;text-align:right}
.aluminum-lineup-heading{display:flex;align-items:center;gap:42px;margin-bottom:24px}.aluminum-lineup-heading .aluminum-label{margin:0}.aluminum-lineup-heading>p:last-child{margin:0;color:var(--muted);font-size:14px}
.aluminum-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--line)}
.aluminum-tabs button{display:flex;justify-content:center;align-items:center;gap:10px;min-height:58px;border:0;border-right:1px solid var(--line);background:#fff;color:var(--text);font-size:14px;transition:background .25s ease,color .25s ease}.aluminum-tabs button:last-child{border-right:0}.aluminum-tabs button b{color:#2377c7;font:400 16px var(--serif-en)}.aluminum-tabs button.is-active{color:#fff;background:var(--navy)}.aluminum-tabs button.is-active b{color:#fff}
.aluminum-lineup-title{display:flex;align-items:baseline;gap:18px;margin:34px 0 22px;padding-bottom:16px;border-bottom:1px solid var(--line)}.aluminum-lineup-title b{color:#2377c7;font:400 20px var(--serif-en)}.aluminum-lineup-title h2{margin:0;font-size:20px}
.aluminum-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.aluminum-product-grid article{border:1px solid var(--line)}.aluminum-product-grid article>div{height:230px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff}.aluminum-page .aluminum-product-grid img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.78)}.aluminum-product-grid h3{position:relative;margin:0;padding:18px 18px 22px;font:700 14px var(--sans-en);letter-spacing:.02em}.aluminum-product-grid h3:after{content:"";position:absolute;left:18px;bottom:13px;width:20px;height:2px;background:#2377c7}
.aluminum-manufacturing{background:#f7f9fb}.aluminum-manufacturing-head{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:end;gap:40px}.aluminum-manufacturing-main{height:310px;overflow:hidden}.aluminum-manufacturing-main img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.72)}
.aluminum-process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:26px}.aluminum-process-grid figure{margin:0}.aluminum-process-grid img{display:block;width:100%;height:190px;object-fit:cover;filter:saturate(.7)}.aluminum-process-grid figcaption{padding:9px 0 0;border-left:2px solid #2377c7;text-indent:10px;font-size:14px;font-weight:700}
.aluminum-technology-link{display:flex;justify-content:space-between;align-items:center;width:280px;margin:36px auto 0;padding:14px 20px;border:1px solid #87a8cf;color:var(--navy);font-size:14px;font-weight:700;transition:background .3s ease,color .3s ease}.aluminum-technology-link:hover{color:#fff;background:var(--navy)}
.aluminum-contact{height:430px;min-height:430px;box-sizing:border-box;overflow:hidden;border-bottom:8px solid var(--navy)}
.aluminum-contact .products-overview-contact-copy{padding:72px var(--aluminum-pad)}
.aluminum-contact .products-overview-contact-images{height:100%;min-height:0;max-height:100%;grid-template-rows:repeat(2,minmax(0,1fr));overflow:hidden}
.aluminum-contact .products-overview-contact-images img{display:block;width:100%;height:100%;min-height:0;object-fit:cover;background:#fff;padding:0;filter:saturate(.78)}

@media(max-width:900px) and (min-width:768px){
  .aluminum-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.aluminum-tabs button:nth-child(3){border-right:0}.aluminum-tabs button:nth-child(-n+3){border-bottom:1px solid var(--line)}
  .aluminum-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:767px){
  .aluminum-page{--aluminum-pad:24px}.aluminum-block{padding:60px var(--aluminum-pad)}
  .aluminum-hero{display:block;min-height:0;padding-top:46px}.aluminum-breadcrumb{height:46px;padding:0 24px;font-size:12px;white-space:nowrap}.aluminum-hero-copy{padding:60px 24px 48px}.aluminum-hero-copy h1{font-size:34px}.aluminum-hero-copy p{font-size:20px}.aluminum-hero-image{min-height:0;aspect-ratio:3/2}
  .aluminum-copy h2{font-size:28px}.aluminum-copy>p:last-child{font-size:16px}.aluminum-copy>p:last-child br{display:none}.aluminum-title-pc{display:none}.aluminum-title-sp{display:inline}
  .aluminum-intro{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding-right:24px}.aluminum-intro-image{height:auto;aspect-ratio:3/2;margin-top:34px}
  .aluminum-vehicle-layout{display:block;margin-top:30px}.aluminum-car{height:auto;aspect-ratio:3/2}.aluminum-car .marker{min-width:46px;padding:6px 8px;font-size:12px}.aluminum-vehicle-list{margin-top:20px}.aluminum-vehicle-list>button{grid-template-columns:52px 1fr 22px;min-height:64px}
  .aluminum-lineup-heading{display:block}.aluminum-lineup-heading>p:last-child{margin-top:10px}.aluminum-tabs{grid-template-columns:1fr;border-bottom:0}.aluminum-tabs button{justify-content:flex-start;padding:0 18px;border-right:0;border-bottom:1px solid var(--line)}.aluminum-tabs button:last-child{border-bottom:1px solid var(--line)}
  .aluminum-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.aluminum-product-grid article>div{height:auto;aspect-ratio:1}.aluminum-product-grid h3{font-size:12px;padding:14px 12px 20px}.aluminum-product-grid h3:after{left:12px}
  .aluminum-manufacturing-head{display:block}.aluminum-manufacturing-main{height:auto;aspect-ratio:3/2;margin-top:32px}.aluminum-process-grid{grid-template-columns:1fr;gap:24px}.aluminum-process-grid figure{display:flex;flex-direction:column}.aluminum-process-grid img{height:auto;aspect-ratio:3/2}.aluminum-process-grid figcaption{order:-1;margin-bottom:12px;padding:5px 0;border-left:2px solid #2377c7}.aluminum-technology-link{width:100%;margin-top:30px}
  .aluminum-contact{height:auto;min-height:0;overflow:hidden}.aluminum-contact-pc{display:none}.aluminum-contact-sp{display:inline}.aluminum-contact .aluminum-contact-sp br{display:block}
  .aluminum-contact .products-overview-contact-copy{padding:60px 24px 24px}
  .aluminum-contact .products-overview-contact-images{height:215px;min-height:215px;aspect-ratio:auto}
  .aluminum-contact .products-overview-contact-images img{padding:0}
}

/* Lower-page hero height: use the Technology page's 530px composition site-wide. */
:root{--subpage-hero-height:530px}
@media(min-width:768px){
  .sub-hero,
  .sub-hero.compact,
  .technology-page .tech-hero,
  .technology-page .tech-hero-image,
  .products-overview-hero,
  .product-hero,
  .product-hero-image,
  .aluminum-hero,
  .aluminum-hero-image{min-height:var(--subpage-hero-height);height:var(--subpage-hero-height)}
}
@media(max-width:767px){
  .products-overview-hero{min-height:var(--subpage-hero-height)}
  .sub-hero,.sub-hero.compact{min-height:var(--subpage-hero-height)}
}

/* Match the Technology and Aluminum FV composition to the Products FV. */
.technology-page .tech-hero,
.aluminum-page .aluminum-hero{
  position:relative;
  display:block;
  min-height:var(--subpage-hero-height);
  height:var(--subpage-hero-height);
  overflow:hidden;
  border-bottom:1px solid var(--line);
  background:linear-gradient(135deg,#fff 0%,#fff 28%,#eef3f8 100%);
}
.technology-page .tech-hero-image,
.aluminum-page .aluminum-hero-image{
  position:absolute;
  z-index:1;
  inset:0 0 0 22%;
  width:auto;
  min-height:0;
  height:100%;
  overflow:hidden;
  background:#eef3f7;
}
.technology-page .tech-hero-image::after,
.aluminum-page .aluminum-hero-image::after{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.99) 13%,rgba(255,255,255,.75) 25%,rgba(255,255,255,0) 45%);
}
.technology-page .tech-hero-image img,
.aluminum-page .aluminum-hero-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  filter:saturate(.72) contrast(1.02);
}
.technology-page .tech-hero-copy,
.aluminum-page .aluminum-hero-copy{
  position:absolute;
  z-index:2;
  left:var(--tech-pad);
  top:50%;
  width:min(520px,42%);
  padding:0;
  transform:translateY(-42%);
}
.aluminum-page .aluminum-hero-copy{left:var(--aluminum-pad)}
.technology-page .tech-hero h1,
.aluminum-page .aluminum-hero-copy h1{font-size:52px;line-height:1.35}
.technology-page .tech-lead,
.aluminum-page .aluminum-hero-copy p{margin-top:42px;font-size:20px;line-height:2.15;letter-spacing:.08em}

@media(max-width:767px){
  .technology-page .tech-hero,
  .aluminum-page .aluminum-hero{
    display:block;
    min-height:var(--subpage-hero-height);
    height:var(--subpage-hero-height);
    padding:0;
  }
  .technology-page .tech-hero-image,
  .aluminum-page .aluminum-hero-image{
    inset:0 0 0 4%;
    width:auto;
    min-height:0;
    height:100%;
    aspect-ratio:auto;
  }
  .technology-page .tech-hero-image::after,
  .aluminum-page .aluminum-hero-image::after{
    background:linear-gradient(180deg,rgba(255,255,255,.85) 0%,rgba(255,255,255,.52) 38%,rgba(255,255,255,.05) 72%),linear-gradient(90deg,#fff 0%,rgba(255,255,255,.78) 36%,transparent 75%);
  }
  .technology-page .tech-hero-image img,
  .aluminum-page .aluminum-hero-image img{object-position:55% top}
  .technology-page .tech-hero-copy,
  .aluminum-page .aluminum-hero-copy{
    left:24px;
    right:24px;
    top:40%;
    width:auto;
    padding:0;
    transform:none;
  }
  .technology-page .tech-hero h1,
  .aluminum-page .aluminum-hero-copy h1{font-size:34px}
  .technology-page .tech-lead,
  .aluminum-page .aluminum-hero-copy p{margin-top:26px;font-size:18px;line-height:2}
}

/* Jack products page */
.jack-page{--jack-pad:clamp(48px,5.4vw,82px);background:#fff}
.jack-page img{display:block;max-width:100%}
.jack-block{padding:clamp(68px,6vw,92px) var(--jack-pad)}
.jack-label{margin:0 0 22px;color:#236fc1;font:700 14px var(--sans-en);letter-spacing:.08em}
.jack-copy h2{margin:0;font:500 38px/1.58 var(--serif-jp);letter-spacing:.045em;text-wrap:balance;line-break:strict}
.jack-copy>p:last-child{margin:26px 0 0;color:var(--muted);font-size:16px;line-height:2;text-wrap:pretty;line-break:strict}
.jack-map-title-sp{display:none}
.jack-hero{position:relative;height:var(--subpage-hero-height);min-height:var(--subpage-hero-height);overflow:hidden;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#fff 0%,#fff 28%,#eef3f8 100%)}
.jack-breadcrumb{position:absolute;z-index:4;top:0;left:0;right:0;height:52px;padding:0 var(--jack-pad);display:flex;align-items:center;gap:9px;color:#718093;font-size:14px}
.jack-breadcrumb a:hover{color:var(--blue)}
.jack-hero-image{position:absolute;z-index:1;inset:0 0 0 22%;overflow:hidden;background:#eef3f7}
.jack-hero-image:after{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.99) 13%,rgba(255,255,255,.76) 25%,rgba(255,255,255,0) 45%)}
.jack-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.76) contrast(1.01)}
.jack-hero-copy{position:absolute;z-index:3;left:var(--jack-pad);top:50%;width:min(600px,46%);transform:translateY(-42%)}
.jack-hero-copy h1{margin:0;font:500 52px/1.35 var(--serif-jp);letter-spacing:.07em;white-space:nowrap}
.jack-hero-copy p{margin:42px 0 0;font:500 20px/2.15 var(--serif-jp);letter-spacing:.08em}
.jack-intro{display:grid;grid-template-columns:43% 57%;align-items:center;min-height:610px;padding-right:0}
.jack-intro-image{height:470px;overflow:hidden;background:#fff}
.jack-intro-image img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.82)}
.jack-vehicle{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.jack-vehicle-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.45fr);align-items:center;gap:46px;margin-top:38px}
.jack-car{position:relative;height:430px;overflow:hidden;background:#f5f8fb}
.jack-car img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.76) contrast(.98)}
.jack-marker{position:absolute;z-index:2;min-width:68px;padding:9px 12px;border:2px solid #fff;color:#fff;background:#176fc4;font:700 16px/1 var(--sans-en);box-shadow:0 3px 10px rgba(23,59,143,.18);transition:transform .2s ease,background .2s ease}
.jack-marker:hover,.jack-marker:focus-visible,.jack-marker.is-active{background:var(--navy);transform:scale(1.1);outline:none}
.jack-marker.marker-1{left:29%;top:57%}.jack-marker.marker-2{right:16%;top:55%}
.jack-vehicle-list{border:1px solid var(--line)}
.jack-vehicle-list>button{display:grid;width:100%;grid-template-columns:72px 1fr 22px;align-items:center;min-height:106px;padding:0 22px;border:0;border-bottom:1px solid var(--line);color:var(--text);background:#fff;text-align:left;font-size:16px;transition:background .25s ease,color .25s ease}
.jack-vehicle-list>button:last-child{border-bottom:0}
.jack-vehicle-list>button:hover,.jack-vehicle-list>button:focus-visible,.jack-vehicle-list>button.is-active{color:#fff;background:var(--navy);outline:none}
.jack-vehicle-list b{color:#2377c7;font:400 21px var(--serif-en)}
.jack-vehicle-list i{color:var(--blue);font-style:normal;text-align:right}
.jack-vehicle-list>button:is(:hover,:focus-visible,.is-active) b,.jack-vehicle-list>button:is(:hover,:focus-visible,.is-active) i{color:#fff}
.jack-lineup{scroll-margin-top:30px}
.jack-lineup-heading{display:flex;align-items:center;gap:42px;margin-bottom:24px}.jack-lineup-heading .jack-label{margin:0}.jack-lineup-heading>p:last-child{margin:0;color:var(--muted);font-size:14px}
.jack-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line)}
.jack-tabs button{display:flex;justify-content:center;align-items:center;gap:12px;min-height:62px;border:0;border-right:1px solid var(--line);background:#fff;color:var(--text);font-size:16px;transition:background .25s ease,color .25s ease}.jack-tabs button:last-child{border-right:0}.jack-tabs button b{color:#2377c7;font:400 18px var(--serif-en)}.jack-tabs button:is(:hover,:focus-visible,.is-active){color:#fff;background:var(--navy);outline:none}.jack-tabs button:is(:hover,:focus-visible,.is-active) b{color:#fff}
.jack-lineup-title{display:flex;align-items:baseline;gap:18px;margin:34px 0 22px;padding-bottom:16px;border-bottom:1px solid var(--line)}.jack-lineup-title b{color:#2377c7;font:400 20px var(--serif-en)}.jack-lineup-title h2{margin:0;font-size:20px}
.jack-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.jack-product-grid article{border:1px solid var(--line)}.jack-product-grid h3{margin:0;padding:18px 20px;border-bottom:1px solid var(--line);font:500 18px var(--serif-jp)}.jack-product-grid article>div{height:390px;overflow:hidden;background:#fff}.jack-product-grid img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.82)}.jack-product-grid.is-single{grid-template-columns:repeat(2,minmax(0,1fr))}.jack-product-grid.is-single article>div{height:390px;aspect-ratio:auto}
.jack-contact{height:510px;min-height:510px;box-sizing:border-box;overflow:hidden;border-bottom:8px solid var(--navy)}
.jack-contact .products-overview-contact-copy{padding:66px var(--jack-pad)}
.jack-contact-title-sp{display:none}
.jack-contact .products-overview-contact-images{height:100%;min-height:0;max-height:100%;grid-template-rows:repeat(2,minmax(0,1fr));overflow:hidden}
.jack-contact .products-overview-contact-images img{width:100%;height:100%;min-height:0;object-fit:contain;object-position:center;background:#fff;filter:saturate(.82)}

@media(max-width:980px) and (min-width:768px){
  .jack-hero-copy h1{font-size:42px}.jack-vehicle-layout{grid-template-columns:minmax(0,1fr) 280px;gap:24px}.jack-product-grid article>div,.jack-product-grid.is-single article>div{height:300px}
}

@media(max-width:767px){
  .jack-page{--jack-pad:24px}.jack-block{padding:60px var(--jack-pad)}
  .jack-hero{height:var(--subpage-hero-height);min-height:var(--subpage-hero-height)}.jack-breadcrumb{height:46px;padding:0 24px;font-size:12px;white-space:nowrap;overflow:hidden}.jack-hero-image{inset:0 0 0 4%}.jack-hero-image:after{background:linear-gradient(180deg,rgba(255,255,255,.88) 0%,rgba(255,255,255,.54) 38%,rgba(255,255,255,.05) 72%),linear-gradient(90deg,#fff 0%,rgba(255,255,255,.78) 36%,transparent 75%)}.jack-hero-image img{object-position:58% center}.jack-hero-copy{left:24px;right:24px;top:39%;width:auto;transform:none}.jack-hero-copy h1{font-size:34px;line-height:1.5;white-space:normal}.jack-hero-copy p{margin-top:24px;font-size:18px;line-height:2}
  .jack-copy h2{font-size:28px}.jack-copy>p:last-child{font-size:16px}.jack-copy>p:last-child br{display:none}.jack-map-title-pc{display:none}.jack-map-title-sp{display:inline}
  .jack-intro{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding-right:24px}.jack-intro-image{height:auto;aspect-ratio:3/2;margin-top:34px}
  .jack-vehicle-layout{display:block;margin-top:30px}.jack-car{height:auto;aspect-ratio:2/1}.jack-marker{min-width:52px;padding:7px 8px;font-size:12px}.jack-marker.marker-1{left:27%;top:55%}.jack-marker.marker-2{right:12%;top:53%}.jack-vehicle-list{margin-top:20px}.jack-vehicle-list>button{grid-template-columns:62px 1fr 22px;min-height:70px;padding:0 16px;font-size:14px}
  .jack-lineup{padding-bottom:24px}.jack-lineup-heading{display:block}.jack-lineup-heading>p:last-child{margin-top:10px}.jack-tabs{grid-template-columns:1fr}.jack-tabs button{justify-content:flex-start;padding:0 18px;border-right:0;border-bottom:1px solid var(--line)}.jack-tabs button:last-child{border-bottom:0}
  .jack-product-grid,.jack-product-grid.is-single{grid-template-columns:1fr;gap:18px}.jack-product-grid article>div,.jack-product-grid.is-single article>div{height:auto;aspect-ratio:3/2}.jack-product-grid h3{font-size:16px}
  .jack-contact{height:auto;min-height:0}.jack-contact .products-overview-contact-copy{padding:36px 24px 24px}.jack-contact .products-overview-contact-copy h2{font-size:28px}.jack-contact .products-overview-contact-copy>p:not(.products-overview-label) br{display:none}.jack-contact .products-overview-contact-images{height:215px;min-height:215px}.jack-contact-title-pc{display:none}.jack-contact-title-sp{display:inline}
}
.company-profile-list{margin:0;padding:0;list-style:none;display:grid;gap:6px}.company-profile-list li{position:relative;padding-left:1em}.company-profile-list li::before{content:"・";position:absolute;left:0}.company-profile-list--columns{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}
@media(max-width:767px){.company-profile-list--columns{grid-template-columns:1fr}}

/* Company hero: keep the copy side pure white and join it seamlessly to the image fade. */
@media(min-width:768px){.company-page .company-hero{background:#fff}}

/* PHP theme compatibility layer */
.corporate-home.hero,.corporate-home .hero{height:100vh;min-height:680px}
.sidebar ul{margin:0;padding:0;list-style:none}.sidebar li{border:0!important}.sidebar li:first-child{border:0!important}.sidebar nav a{padding:8px 0}.sidebar .brand img{width:100%;max-width:164px}.side-tagline{margin-top:auto}
.corporate-home .contact-cta{display:block;max-width:1440px;margin:0 auto;padding:120px clamp(54px,8vw,130px);background:#fff}
.corporate-home .contact-cta>div{padding:0}.corporate-home .contact-cta img{display:none}
.company-links>a{display:flex;min-height: 220px;padding:30px 36px 36px;border-right:1px solid var(--line);flex-direction:column;align-items:flex-start}.company-links>a>div{display:flex;align-items:center;gap:22px}.company-links>a p{margin:18px 0;color:var(--muted);font-size: 14px;line-height:1.8}.company-links>a b{margin-top:auto;color:var(--blue)}
footer{display:block;margin-left:var(--sidebar)}
@media(max-width:900px){footer{margin-left:0}.corporate-home .contact-cta{padding:78px 24px}.sidebar nav{margin-top:54px}.corporate-home .hero{height:100svh}}
@media(max-width:767px){.company-links>a{min-height:auto;padding:25px 24px;border-bottom:1px solid var(--line)}.corporate-home .contact-cta{padding:78px 24px}}

/* Collision fixes between the legacy PHP selectors and the reference design. */
.sidebar{overflow:hidden}.sidebar nav,.sidebar ul,.sidebar li{width:100%;min-width:0}.sidebar nav a{width:100%;min-width:0;white-space:nowrap;overflow:hidden}.sidebar .material-symbols-outlined{flex:0 0 24px;width:24px;overflow:hidden;font-family:'Material Symbols Outlined'!important;font-size:22px!important;font-weight:normal!important;letter-spacing:normal!important}.sidebar .external{margin-left:auto}
.corporate-home{overflow:hidden;background:#fff}.corporate-home>.section{width:100%;padding-right:clamp(40px,7vw,112px);padding-left:clamp(40px,7vw,112px);}
.corporate-home .products-section .product-grid{width:100%}.corporate-home .products-section .product-grid>.product-card{overflow:hidden;min-width:0;padding:0;background:transparent;box-shadow:none;color:inherit;text-decoration:none}.corporate-home .product-card>div:last-child{min-width:0}.corporate-home .products-section .product-card:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.corporate-home .company-links{grid-template-columns:repeat(5,minmax(0,1fr));width:100%;overflow:hidden}.corporate-home .company-links>a{min-width:0}.corporate-home .company-links>a>div{min-height:0;margin:0;padding:0;border:0;background:transparent}.corporate-home .company-links>a>div>*{writing-mode:horizontal-tb}.corporate-home .company-links>a p{overflow-wrap:anywhere}
.corporate-home .factory-gallery{overflow:hidden}.corporate-home .factory-gallery .image-asset{min-width:0}
.corporate-home .development-section .process-line>div{min-width:0}.corporate-home .development-section .process-line p{overflow-wrap:anywhere}
.corporate-home .recruit-section{overflow:hidden}.corporate-home .recruit-copy{position:relative;z-index:2}
@media(max-width:900px){.corporate-home>.section{padding-right:24px;padding-left:24px}.corporate-home .product-grid{grid-template-columns:1fr}.corporate-home .company-links{grid-template-columns:1fr 1fr}.corporate-home .company-links>a{border-bottom:1px solid var(--line)}}
@media(max-width:560px){.corporate-home .company-links{grid-template-columns:1fr}.corporate-home .section-heading-row{display:block}.corporate-home .section-heading-row>.button{width:100%;margin-top:28px}.corporate-home .hero-copy{right:24px;left:24px}.corporate-home .hero h1{font-size:34px}.corporate-home .hero-copy>p br{display:none}.corporate-home .product-card{grid-template-columns:1fr}.corporate-home .product-card .image-asset{min-height:240px}}

/* Shared lower-page layout, based on the former corporate-site design. */
.reference-detail{overflow:hidden;background:#fff}.reference-breadcrumb{display:flex;gap:12px;align-items:center;min-height:62px;padding:0 clamp(42px,6vw,90px);color:var(--muted);font-size:12px}.reference-hero{position:relative;display:grid;grid-template-columns:43% 57%;min-height:570px;background:#fff}.reference-hero-copy{position:relative;z-index:2;display:flex;padding:90px clamp(42px,6vw,90px);flex-direction:column;justify-content:center}.reference-label{margin:0 0 30px;color:var(--navy);font:700 12px/1.5 var(--sans-en);letter-spacing:.08em}.reference-hero h1{margin:0;color:var(--text);font:500 clamp(42px,4.4vw,68px)/1.42 var(--serif-jp);letter-spacing:.08em}.reference-lead{margin:38px 0 0;color:var(--text);font:500 clamp(20px,2vw,30px)/1.9 var(--serif-jp)}.reference-hero-image{position:relative;min-width:0;overflow:hidden}.reference-hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.35) 13%,transparent 34%)}.reference-hero-image img{width:100%;height:100%;min-height:570px;object-fit:cover}.reference-section{padding:clamp(82px,8vw,126px) clamp(42px,6vw,90px)}.reference-section.is-tint{background:#f4f9fd}.reference-section-inner{display:grid;grid-template-columns:minmax(330px,.86fr) minmax(0,1.14fr);align-items:center;gap:clamp(50px,7vw,110px);max-width:1320px;margin:auto}.reference-section-inner.is-reverse{grid-template-columns:minmax(0,1.14fr) minmax(330px,.86fr)}.reference-section-inner.is-reverse .reference-section-copy{order:2}.reference-section-inner.is-reverse figure{order:1}.reference-section-copy h2{margin:0 0 28px;font:500 clamp(30px,3vw,46px)/1.65 var(--serif-jp);letter-spacing:.05em}.reference-section-copy>p:not(.reference-label){margin:0;color:var(--muted);font-size:16px;line-height:2.1}.reference-section figure{margin:0;min-width:0;overflow:hidden}.reference-section figure img{width:100%;height:clamp(360px,38vw,530px);object-fit:cover}.reference-feature-list{display:grid;grid-template-columns:1fr 1fr;margin:32px 0 0;padding:0;border-top:1px solid var(--line);list-style:none}.reference-feature-list li{padding:16px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:14px}.reference-detail>.contact-cta{display:block;max-width:1440px;margin:0 auto;padding:110px clamp(42px,6vw,90px);background:#fff}.reference-detail>.contact-cta>div{padding:0}.reference-detail>.contact-cta>img{display:none}
@media(max-width:900px){.reference-breadcrumb{padding:0 24px}.reference-hero{grid-template-columns:1fr;min-height:0}.reference-hero-copy{padding:70px 24px 52px}.reference-hero h1{font-size:40px}.reference-lead{margin-top:25px;font-size:22px}.reference-hero-image img{min-height:0;height:min(68vw,430px)}.reference-hero-image:after{background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.12) 22%,transparent 48%)}.reference-section{padding:72px 24px}.reference-section-inner,.reference-section-inner.is-reverse{grid-template-columns:1fr;gap:36px}.reference-section-inner.is-reverse .reference-section-copy,.reference-section-inner.is-reverse figure{order:initial}.reference-section-copy h2{font-size:30px}.reference-section figure img{height:min(68vw,430px)}.reference-detail>.contact-cta{padding:72px 24px}}
@media(max-width:560px){.reference-feature-list{grid-template-columns:1fr}.reference-section-copy>p:not(.reference-label){font-size:15px}.reference-hero h1{font-size:34px}.reference-hero-copy{padding-top:54px}}

/* TOP FV copy balance */
.corporate-home .hero-media::after{display:none}
.corporate-home .hero-media video{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.corporate-home .hero-shade{display:none}
.corporate-home .hero-copy{
  top:auto;
  bottom:clamp(42px,6vh,72px);
  right:auto;
  left:0;
  width:auto;
  max-width:calc(100% - 80px);
  padding:clamp(26px,2.6vw,38px) 220px clamp(26px,2.6vw,38px) 80px;
  background:linear-gradient(90deg,rgba(255,255,255,.86) 0%,rgba(255,255,255,.86) 74%,rgba(255,255,255,.68) 82%,rgba(255,255,255,.26) 93%,rgba(255,255,255,0) 100%);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
  transform:translateY(18px);
}
.corporate-home .hero-copy.is-visible{transform:none}
.corporate-home .hero h1{
  max-width:620px;
  margin-bottom:24px;
  font-size:clamp(40px,3.7vw,60px);
  line-height:1.5;
  letter-spacing:.045em;
}
.corporate-home .hero-copy>p:not(.eyebrow){
  max-width:570px;
  margin-bottom:0;
  font-size:16px;
  line-height:2;
}
.corporate-home .hero h1,.corporate-home .hero-copy>p:not(.eyebrow){text-shadow:none}
.corporate-home .hero-actions{margin-top:30px}
@media(max-width:900px){.corporate-home .hero-copy{right:auto;bottom:32px;left:0;width:auto;max-width:calc(100% - 32px);padding-right:100px;padding-left:32px;background:linear-gradient(90deg,rgba(255,255,255,.86) 0%,rgba(255,255,255,.86) 84%,rgba(255,255,255,.35) 94%,rgba(255,255,255,0) 100%);transform:translateY(18px)}.corporate-home .hero-copy.is-visible{transform:none}.corporate-home .hero h1{font-size:clamp(36px,6vw,50px)}.corporate-home .hero-media video{object-position:55% center}}
@media(max-width:560px){.corporate-home .hero-copy{top:auto;right:auto;bottom:20px;left:0;width:auto;max-width:calc(100% - 16px);padding:24px 48px 26px 20px;background:linear-gradient(90deg,rgba(255,255,255,.86) 0%,rgba(255,255,255,.86) 88%,rgba(255,255,255,0) 100%);transform:translateY(18px)}.corporate-home .hero-copy.is-visible{transform:none}.corporate-home .hero h1{font-size:30px;line-height:1.5}.corporate-home .hero-copy>p:not(.eyebrow){font-size:13px;line-height:1.85}.corporate-home .hero-actions{gap:8px;margin-top:22px}.corporate-home .hero-actions .button{min-width:0;padding-right:14px;padding-left:14px;gap:18px}.corporate-home .hero-media video{object-position:center}}

/* Keep the recruit copy off the sidebar edge while retaining the full-bleed image. */
.corporate-home .recruit-copy{
  box-sizing:border-box;
  width:min(54%,720px);
  padding-right:clamp(38px,5vw,80px);
  padding-left:clamp(48px,7vw,112px);
}
.corporate-home .recruit-copy h2,
.corporate-home .recruit-copy>p,
.corporate-home .recruit-copy h3,
.corporate-home .recruit-copy .button{max-width:580px}
@media(max-width:900px){.corporate-home .recruit-copy{width:min(62%,680px);padding-left:clamp(32px,6vw,64px)}}
@media(max-width:560px){.corporate-home .recruit-copy{width:100%;padding-right:24px;padding-left:24px}.corporate-home .recruit-copy .button{width:100%}}

/* Image replacement safety: preserve every designed frame regardless of source ratio. */
.hero-media,
.feature-image,
.product-card .image-asset,
.company-photo-gallery .image-asset,
.recruit-image,
.reference-hero-image,
.reference-section figure,
.products-overview-card-image,
.products-overview-contact-images,
.aluminum-hero-image,
.aluminum-intro-image,
.electrification-hero-image,
.electrification-intro-image,
.jack-hero-image,
.jack-intro-image,
.disaster-hero-image,
.disaster-intro-image,
.development-detail-hero-image,
.development-detail-intro-image,
.development-detail-contact-image,
.company-hero-image,
.company-contact-image{
  overflow:hidden;
}
.hero-media>img,
.feature-image>img,
.product-card .image-asset>img,
.company-photo-gallery .image-asset>img,
.recruit-image>img,
.reference-hero-image>img,
.reference-section figure>img,
.products-overview-card-image>img,
.products-overview-contact-images img,
.aluminum-hero-image>img,
.aluminum-intro-image>img,
.electrification-hero-image>img,
.electrification-intro-image>img,
.jack-hero-image>img,
.jack-intro-image>img,
.disaster-hero-image>img,
.disaster-intro-image>img,
.development-detail-hero-image>img,
.development-detail-intro-image>img,
.development-detail-contact-image>img,
.company-hero-image>img,
.company-contact-image>img{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center;
}
.product-card .image-asset{height: 100%;min-height:220px}
.company-photo-gallery .image-asset{height:360px;min-height:360px}
.recruit-image{height:100%;min-height:0}
.reference-section figure{height:clamp(360px,38vw,530px)}
.reference-section figure>img{height:100%}
@media(max-width:900px){.product-card .image-asset{height:min(64vw,360px)}.company-photo-gallery .image-asset{height:min(52vw,320px);min-height:0}.reference-section figure{height:min(68vw,430px)}}
@media(max-width:560px){.product-card .image-asset{height:66vw;min-height:240px}.company-photo-gallery .image-asset{height:58vw}}

/* Unify all lower-page first views to the company-page height. */
@media(min-width:901px){
  .reference-detail .reference-hero,
  .site-main>.sub-hero,
  .technology-page .tech-hero,
  .products-page .products-overview-hero,
  .aluminum-page .aluminum-hero,
  .electrification-page .electrification-hero,
  .jack-page .jack-hero,
  .disaster-page .disaster-hero,
  .development-detail-page .development-detail-hero,
  .company-page .company-hero{
    height:570px;
    min-height:570px;
    max-height:570px;
  }
  .reference-detail .reference-hero-image,
  .reference-detail .reference-hero-image>img,
  .technology-page .tech-hero-image,
  .products-page .products-overview-hero-visual,
  .aluminum-page .aluminum-hero-image,
  .electrification-page .electrification-hero-image,
  .jack-page .jack-hero-image,
  .disaster-page .disaster-hero-image,
  .development-detail-page .development-detail-hero-image,
  .company-page .company-hero-image{
    height:570px;
    min-height:570px;
    max-height:570px;
  }
}

/* Privacy policy */
.privacy-page{--privacy-pad:clamp(48px,6vw,90px);overflow:hidden;background:#fff}
.privacy-hero{position:relative;height:570px;min-height:570px;overflow:hidden;border-bottom:1px solid var(--line);background:linear-gradient(120deg,#fff 0%,#fff 52%,#f3f8fc 100%)}
.privacy-breadcrumb{position:absolute;z-index:4;inset:0 0 auto;display:flex;align-items:center;gap:9px;height:52px;padding:0 var(--privacy-pad);color:#718093;font-size:12px}
.privacy-breadcrumb a:hover{color:var(--blue)}
.privacy-hero-copy{position:absolute;z-index:3;left:var(--privacy-pad);top:50%;transform:translateY(-38%)}
.privacy-hero-copy>p{margin:0 0 24px;color:var(--blue);font:700 12px var(--sans-en);letter-spacing:.1em}
.privacy-hero h1{margin:0;font:500 clamp(38px,4.2vw,62px)/1.5 var(--serif-jp);letter-spacing:.06em}
.privacy-hero-drawing{position:absolute;z-index:1;inset:0 0 0 46%;overflow:hidden;opacity:.16}
.privacy-hero-drawing:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.8) 24%,transparent 62%)}
.privacy-hero-drawing img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(.72)}
.privacy-content{width:min(100%,1180px);margin:0 auto;padding:clamp(82px,8vw,120px) var(--privacy-pad)}
.privacy-intro{margin:0 0 62px;color:var(--muted);font-size:16px;line-height:2.1}
.privacy-list{margin:0;padding:0;list-style:none;counter-reset:privacy}
.privacy-list>li{position:relative;padding:32px 0 34px 74px;border-top:1px solid var(--line);counter-increment:privacy}
.privacy-list>li:last-child{border-bottom:1px solid var(--line)}
.privacy-list>li:before{content:counter(privacy,decimal-leading-zero);position:absolute;top:31px;left:0;color:var(--blue);font:400 20px var(--serif-en)}
.privacy-list h2{margin:0 0 14px;color:var(--text);font:600 20px/1.6 var(--serif-jp)}
.privacy-list p{margin:0;color:var(--muted);font-size:15px;line-height:2}
.privacy-list a{color:var(--blue);text-decoration:underline;text-underline-offset:4px}
@media(max-width:767px){
  .privacy-page{--privacy-pad:24px}
  .privacy-hero{height:530px;min-height:530px}
  .privacy-breadcrumb{height:46px;padding:0 24px;white-space:nowrap}
  .privacy-hero-copy{left:24px;right:24px;top:40%;transform:none}
  .privacy-hero h1{font-size:32px}
  .privacy-hero-drawing{inset:0;opacity:.1}.privacy-hero-drawing:after{background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.68) 58%,transparent)}
  .privacy-content{padding:68px 24px}
  .privacy-intro{margin-bottom:42px;font-size:15px}
  .privacy-list>li{padding:26px 0 28px 46px}
  .privacy-list>li:before{top:25px;font-size:17px}
  .privacy-list h2{font-size:18px}
  .privacy-list p{font-size:14px}
}
@media(max-width:900px){.reference-detail .reference-hero,.site-main>.sub-hero{height:auto;min-height:0;max-height:none}}

/* PDF product pages (source pages 3-6). */
.pdf-product-page{overflow:hidden;background:#fff}.pdf-breadcrumb{display:flex;gap:10px;padding:22px clamp(42px,6vw,86px);color:var(--muted);font-size:11px}.pdf-product-hero,.pdf-product-intro,.pdf-product-map{display:grid;grid-template-columns:.82fr 1.18fr;align-items:center;min-height:570px}.pdf-product-hero>div,.pdf-product-intro>div,.pdf-product-map>div{padding:70px clamp(42px,6vw,86px)}.pdf-product-hero figure,.pdf-product-intro figure,.pdf-product-map figure{height:570px;margin:0;overflow:hidden}.pdf-product-page figure img{display:block;width:100%;height:100%;object-fit:cover}.pdf-product-hero p,.pdf-product-intro>div>p:first-child,.pdf-product-map>div>p,.pdf-product-lineup>p,.pdf-product-manufacturing>div>p{color:var(--blue);font:700 12px var(--sans-en);letter-spacing:.08em}.pdf-product-hero h1{margin:20px 0 30px;font:500 clamp(42px,4.2vw,66px)/1.45 var(--serif-jp)}.pdf-product-hero h2{font:500 clamp(21px,2vw,30px)/1.8 var(--serif-jp)}.pdf-product-intro{background:#f7fbff}.pdf-product-intro h2,.pdf-product-map h2,.pdf-product-lineup h2,.pdf-product-manufacturing h2{margin:20px 0;font:500 clamp(29px,3vw,45px)/1.7 var(--serif-jp)}.pdf-product-intro>div>p:last-child{color:var(--muted);line-height:2.1}.pdf-product-map{min-height:470px}.pdf-product-map figure{height:470px}.pdf-product-lineup{padding:100px clamp(42px,6vw,86px);background:#f7fbff}.pdf-product-lineup>div{display:grid;grid-template-columns:repeat(2,1fr);gap: 0;max-width:1250px;margin:45px auto 0}.pdf-product-lineup article{border:1px solid var(--line);background:#fff}.pdf-product-lineup article figure{height:300px;margin:0;overflow:hidden}.pdf-product-lineup h3{display:flex;gap:18px;margin:0;padding:20px;font:500 17px var(--serif-jp)}.pdf-product-lineup h3 b{color:var(--blue);font-family:var(--serif-en)}.pdf-product-manufacturing{display:grid;grid-template-columns:.7fr 1.3fr;align-items:center;padding:100px clamp(42px,6vw,86px);gap:60px}.pdf-manufacturing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pdf-manufacturing-grid figure{height:250px;margin:0;position:relative;overflow:hidden}.pdf-manufacturing-grid figcaption{position:absolute;inset:auto 0 0;padding:14px;background:linear-gradient(transparent,rgba(0,20,50,.8));color:#fff}.pdf-product-page>.contact-cta{display:block;max-width:1440px;margin:0 auto;padding:100px clamp(42px,6vw,86px)}.pdf-product-page>.contact-cta>img{display:none}
.pdf-product-intro.is-text-only{display:block;min-height:0}.pdf-product-intro.is-text-only>div{max-width:900px;padding-top:100px;padding-bottom:100px}.pdf-product-manufacturing{grid-template-columns:minmax(520px,.85fr) 1.65fr}.pdf-product-manufacturing h2{font-size:clamp(30px,2.4vw,45px)}.pdf-product-manufacturing h2>span{display:block;white-space:nowrap}
@media(max-width:900px){.pdf-product-hero,.pdf-product-intro,.pdf-product-map{grid-template-columns:1fr;min-height:0}.pdf-product-hero>div,.pdf-product-intro>div,.pdf-product-map>div{padding:60px 24px}.pdf-product-intro.is-text-only>div{padding:60px 24px}.pdf-product-hero figure,.pdf-product-intro figure,.pdf-product-map figure{height:min(70vw,440px)}.pdf-product-lineup{padding:70px 24px}.pdf-product-lineup article figure{height:min(58vw,330px)}.pdf-product-manufacturing{grid-template-columns:1fr;padding:70px 24px}.pdf-product-manufacturing h2{font-size:clamp(24px,7.4vw,30px)}.pdf-product-page>.contact-cta{padding:70px 24px}}
@media(max-width:560px){.pdf-product-lineup>div,.pdf-manufacturing-grid{grid-template-columns:1fr}.pdf-manufacturing-grid figure{height:64vw}.pdf-product-hero h1{font-size:34px}}

/* Single PHP shell and typography baseline. */
.site-main{width:calc(100% - var(--sidebar));margin-left:var(--sidebar)}
.menu-toggle,.menu-backdrop{display:none}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}
.side-tagline{color:rgba(255,255,255,.62);font:10px/1.7 var(--sans-en);letter-spacing:.14em}
.contact-cta h2,.contact-cta h3,.contact-cta p{max-width:900px}.contact-cta>p:last-of-type{margin-top:18px}
@media(prefers-reduced-motion:no-preference) and (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

/* Products overview breadcrumb: keep it inside the first view instead of
   letting the navigation create a blank row above the hero composition. */
.products-overview-breadcrumb{
  position:absolute;
  z-index:4;
  top:0;
  left:0;
  right:0;
  display:flex;
  align-items:center;
  gap:9px;
  height:52px;
  padding:0 var(--product-pad);
  color:#718093;
  font-size:12px;
  line-height:1;
}
.products-overview-breadcrumb a{color:inherit;transition:color .2s ease}
.products-overview-breadcrumb a:hover{color:var(--blue)}
@media(max-width:767px){
  .products-overview-breadcrumb{
    height:46px;
    padding:0 24px;
    font-size:12px;
    white-space:nowrap;
  }
}

/* Contact page — PDF p.17 */
.contact-page{--contact-pad:clamp(48px,6vw,90px);overflow:hidden;background:#fff}
.contact-hero{position:relative;height:570px;min-height:570px;overflow:hidden;border-bottom:1px solid var(--line);background:linear-gradient(120deg,#fff 0%,#fff 51%,#f3f8fc 100%)}
.contact-breadcrumb{position:absolute;z-index:4;top:0;left:0;right:0;display:flex;align-items:center;gap:9px;height:52px;padding:0 var(--contact-pad);color:#718093;font-size:12px}
.contact-breadcrumb a:hover{color:var(--blue)}
.contact-hero-copy{position:absolute;z-index:3;left:var(--contact-pad);top:50%;width:min(570px,52%);transform:translateY(-39%)}
.contact-label{margin:0 0 22px;color:var(--blue);font:700 12px var(--sans-en);letter-spacing:.1em}
.contact-hero h1{margin:0;font:500 clamp(44px,4.5vw,66px)/1.45 var(--serif-jp);letter-spacing:.07em}
.contact-hero-copy>p:last-child{margin:34px 0 0;color:var(--muted);font-size:15px;line-height:2}
.contact-hero-drawing{position:absolute;z-index:1;inset:0 0 0 43%;overflow:hidden;opacity:.18}
.contact-hero-drawing:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.82) 22%,transparent 58%)}
.contact-hero-drawing img{width:100%;height:100%;object-fit:cover;object-position:center;filter:none}
.contact-guide,.contact-form-section{padding:clamp(78px,8vw,120px) var(--contact-pad)}
.contact-guide header,.contact-form-section>header{text-align:center}
.contact-guide h2,.contact-form-section h2{margin:0;color:var(--navy);font:500 clamp(27px,2.8vw,40px)/1.55 var(--serif-jp);letter-spacing:.07em}
.contact-guide header>span,.contact-form-section>header>span{display:block;width:48px;height:2px;margin:20px auto 24px;background:var(--blue)}
.contact-guide header p,.contact-form-section>header p{margin:0;color:var(--muted);font-size:15px;line-height:2}
.contact-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;width:min(100%,900px);margin:52px auto 0}
.contact-guide-grid>a{display:grid;grid-template-columns:64px 1fr 28px;align-items:center;gap:20px;min-height:190px;padding:30px 34px;border:1px solid #aec5dd;background:#fff;color:var(--navy);transition:border-color .2s,box-shadow .2s,transform .2s}
.contact-guide-grid>a:hover{border-color:var(--blue);box-shadow:0 12px 30px rgba(8,49,95,.09);transform:translateY(-2px)}
.contact-guide-grid .material-symbols-outlined{color:var(--blue);font-size:52px;font-weight:200}
.contact-guide-grid strong{display:block;font:600 18px/1.7 var(--serif-jp)}
.contact-guide-grid small{display:block;margin-top:12px;color:var(--muted);font-size:12px;line-height:1.8}
.contact-guide-grid b{color:var(--blue);font-size:20px}
.contact-form-section{padding-top:30px;padding-bottom:120px}
.contact-form-section>header{width:min(100%,1000px);margin:0 auto;text-align:left}
.contact-form-section>header>span{margin:18px 0 22px}
.contact-form-section form{width:min(100%,1000px);max-width:none;margin:48px auto 0}
.contact-mwform{width:min(100%,1000px);margin:48px auto 0}
.contact-mwform form{width:100%;margin:0}
.contact-mwform input[type=text],.contact-mwform input[type=email],.contact-mwform input[type=tel],.contact-mwform input[type=url],.contact-mwform input[type=number],.contact-mwform textarea,.contact-mwform select{max-width:100%;padding:14px 16px;border:1px solid #d5dde6;border-radius:0;background:#fff;color:var(--text);font:inherit;outline:none}
.contact-mwform input[type=text],.contact-mwform input[type=email],.contact-mwform input[type=tel],.contact-mwform input[type=url],.contact-mwform textarea,.contact-mwform select{width:100%}
.contact-mwform textarea{resize:vertical;line-height:1.8}
.contact-mwform input:focus,.contact-mwform textarea:focus,.contact-mwform select:focus{border-color:var(--blue);box-shadow:0 0 0 2px rgba(35,111,193,.12)}
.contact-mwform .error{display:block;margin-top:8px;color:#b42318;font-size:13px}
.contact-mwform .horizontal-item+.horizontal-item{margin-left:24px}
.contact-mwform input[type=submit],.contact-mwform input[type=button],.contact-mwform button{display:inline-flex;min-width:240px;min-height:60px;align-items:center;justify-content:center;margin:24px 8px 0;padding:16px 28px;border:1px solid var(--blue);background:var(--blue);color:#fff;font:700 15px/1.5 inherit;cursor:pointer}
.contact-mwform .btn_c:disabled{opacity:.48;cursor:not-allowed}
.contact-mwform .formbox table{width:100%;border-collapse:collapse;background:#fff}
.contact-mwform .formbox tr{border:1px solid var(--line)}
.contact-mwform .formbox th{width:260px;padding:31px 24px;color:var(--text);font-weight:700;text-align:left;vertical-align:middle}
.contact-mwform .formbox td{padding:20px 24px;border-left:1px solid var(--line);vertical-align:middle}
.contact-mwform .req{display:inline-block;margin-left:8px;padding:2px 7px;background:var(--blue);color:#fff;font-size:10px;font-weight:700;line-height:1.5}
.contact-mwform .rst{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.contact-mwform .rst li{margin:0}
.contact-mwform .rst li:first-child{display:flex;align-items:center}
.contact-mwform .mwform-zip-field,.contact-mwform .mwform-tel-field{display:flex;align-items:center;gap:10px}
.contact-mwform .mwform-zip-field{max-width:420px}
.contact-mwform .mwform-tel-field{max-width:620px}
.contact-mwform .mwform-zip-field input[type=text]{width:auto;flex:1 1 0;min-width:0}
.contact-mwform .mwform-tel-field input[type=text]{width:auto;flex:1 1 0;min-width:0}
.contact-mwform .rst .adds{display:block;margin-bottom:4px}
.contact-mwform .remail{margin:14px 0 8px;color:var(--muted);font-size:12px}
.contact-mwform .ctr{text-align:center}
.contact-mwform .orange{margin:28px 0 0;color:var(--blue);font-size:13px;font-weight:700}
.contact-mwform .agree{margin-top:32px}
.contact-mwform .btn_submit{text-align:center}
.contact-mwform .btn_confirm{display:flex;justify-content:center;gap:16px}
.contact-mwform .btn_confirm .btn_submit{flex:0 1 300px}
.contact-mwform .btn_confirm input{width:100%}
.contact-mwform input.btn_back{border-color:#aeb9c5;background:#fff;color:var(--navy)}
.contact-form-row{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:92px;border:1px solid var(--line);border-bottom:0;background:#fff}
.contact-form-row:last-of-type,.contact-form-row.is-last{border-bottom:1px solid var(--line)}
.contact-form-label{padding:31px 24px;color:var(--text);font-weight:700;font-style:normal}
.contact-form-label em{display:inline-block;margin-left:8px;padding:2px 7px;background:var(--blue);color:#fff;font-size:10px;font-style:normal;line-height:1.5}
.contact-form-control{display:flex;min-width:0;padding:20px 24px;flex-direction:column;justify-content:center;border-left:1px solid var(--line)}
.contact-form-control input:not([type=radio]),.contact-form-control textarea,.contact-form-control select{width:100%;min-width:0;padding:14px 16px;border:1px solid #d5dde6;border-radius:0;background:#fff;color:var(--text);outline:none}
.contact-form-control input:focus,.contact-form-control textarea:focus,.contact-form-control select:focus{border-color:var(--blue);box-shadow:0 0 0 2px rgba(35,111,193,.12)}
.contact-form-control textarea{resize:vertical;line-height:1.8}
.contact-form-control small{margin-top:8px;color:var(--muted);font-size:11px}
.contact-radio-group{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:30px;flex-wrap:wrap}
.contact-radio-group label{white-space:nowrap;font-size:14px}
.contact-address{gap:10px}
.contact-address label{display:grid;grid-template-columns:24px 1fr;align-items:center;gap:6px}
.contact-consent{width:min(100%,1000px);margin:58px auto 0;padding:48px;border:1px solid #aac3df;text-align:center}
.contact-consent p{margin:0 0 24px}
.contact-consent a{color:var(--blue);text-decoration:underline;text-underline-offset:4px}
.contact-consent>label{display:block;font-size:14px}
.contact-consent .button{display:flex;width:min(100%,560px);min-height:66px;margin:34px auto 12px;padding:18px 28px;font-size:16px}
.contact-consent>small{display:block;color:var(--muted);font-size:11px}
@media(max-width:767px){
  .contact-page{--contact-pad:24px}
  .contact-hero{height:530px;min-height:530px}
  .contact-breadcrumb{height:46px;padding:0 24px}
  .contact-hero-copy{left:24px;right:24px;top:38%;width:auto;transform:none}
  .contact-hero h1{font-size:34px}
  .contact-hero-copy>p:last-child{margin-top:26px;font-size:14px}.contact-hero-copy br{display:none}
  .contact-hero-drawing{inset:0;opacity:.12}.contact-hero-drawing:after{background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.7) 54%,transparent 100%)}
  .contact-guide,.contact-form-section{padding:68px 24px}
  .contact-guide h2,.contact-form-section h2{font-size:28px}
  .contact-guide header p br{display:none}
  .contact-guide-grid{grid-template-columns:1fr;gap:16px;margin-top:36px}
  .contact-guide-grid>a{grid-template-columns:48px 1fr 22px;gap:14px;min-height:150px;padding:24px 20px}
  .contact-guide-grid .material-symbols-outlined{font-size:42px}.contact-guide-grid strong{font-size:16px}
  .contact-form-section{padding-top:12px}
  .contact-form-section form{margin-top:34px}
  .contact-mwform{margin-top:34px}
  .contact-mwform .horizontal-item{display:block;margin:8px 0}
  .contact-mwform .horizontal-item+.horizontal-item{margin-left:0}
  .contact-mwform input[type=submit],.contact-mwform input[type=button],.contact-mwform button{width:100%;min-width:0;margin:12px 0 0}
  .contact-mwform .formbox table,.contact-mwform .formbox tbody,.contact-mwform .formbox tr,.contact-mwform .formbox th,.contact-mwform .formbox td{display:block;width:100%}
  .contact-mwform .formbox tr{border-bottom:0}
  .contact-mwform .formbox tr:last-child{border-bottom:1px solid var(--line)}
  .contact-mwform .formbox th{padding:18px 16px}
  .contact-mwform .formbox td{padding:16px;border-top:1px solid var(--line);border-left:0}
  .contact-mwform .mwform-zip-field,.contact-mwform .mwform-tel-field{width:100%;max-width:none;gap:6px}
  .contact-mwform .btn_confirm{display:block}
  .contact-mwform .btn_confirm .btn_submit{width:100%}
  .contact-form-row{grid-template-columns:1fr}
  .contact-form-label{padding:18px 16px}
  .contact-form-control{padding:16px;border-top:1px solid var(--line);border-left:0}
  .contact-radio-group{align-items:flex-start;gap:14px 22px}
  .contact-consent{margin-top:36px;padding:30px 16px}
  .contact-consent>label{display:flex;align-items:flex-start;gap:7px;text-align:left}
  .contact-consent .button{min-width:0;font-size:14px}
}

/* TOP first-view scroll cue */
.corporate-home .scroll-indicator{
  right:24px;
  bottom:0;
  width:18px;
  height:150px;
  color:#173b8f;
  font:700 9px/1 var(--sans-en);
  letter-spacing:.25em;
  writing-mode:vertical-rl;
}
.corporate-home .scroll-indicator:before{
  content:"";
  position:absolute;
  top:64px;
  left:50%;
  width:1px;
  height:86px;
  background:rgba(23,59,143,.46);
  transform:translateX(-50%);
}
.corporate-home .scroll-indicator:after{
  content:"";
  position:absolute;
  top:64px;
  left:50%;
  width:2px;
  height:86px;
  background:#173b8f;
  transform:translateX(-50%) scaleY(0);
  transform-origin:center top;
  animation:hero-scroll-line 2.2s cubic-bezier(.45,0,.25,1) infinite;
}
@keyframes hero-scroll-line{
  0%{transform:translateX(-50%) scaleY(0);transform-origin:center top}
  48%{transform:translateX(-50%) scaleY(1);transform-origin:center top}
  52%{transform:translateX(-50%) scaleY(1);transform-origin:center bottom}
  100%{transform:translateX(-50%) scaleY(0);transform-origin:center bottom}
}
@media(prefers-reduced-motion:no-preference) and (prefers-reduced-motion:reduce){
  .corporate-home .scroll-indicator:after{animation:none;transform:translateX(-50%) scaleY(1)}
}

/* Site-wide motion system: editorial reveals with precise industrial rhythm. */
html,body{overflow-x:clip}
/* Keep reveal sections out of the first paint until common.js has prepared their final animation state. */
.motion-loading .reveal{
  visibility:hidden;
  animation:motion-loading-fallback 0s 2s forwards;
}
@keyframes motion-loading-fallback{to{visibility:visible}}
.motion-ready .reveal{opacity:1;transform:none;transition:none;max-width: unset;}
.motion-ready [data-reveal]{
  opacity:.12;
  will-change:opacity,transform,clip-path;
  transition-property:opacity,transform,clip-path,filter;
  transition-delay:var(--reveal-delay,0ms);
  transition-timing-function:cubic-bezier(.16,1,.3,1);
  filter:blur(3px);
}
.motion-ready [data-reveal="heading"]{
  clip-path:none;
  transform:translateY(34px);
  transition-duration:920ms;
}
.motion-ready [data-reveal="letters"]{
  opacity:1;
  transform:none;
  clip-path:none;
  filter:none;
  transition:none;
}
/* Native inline text preserves word wrapping, Japanese punctuation and font metrics.
   Animate opacity only: inline-block glyphs introduced browser-dependent breaks. */
.letter-heading-character{
  display:inline;
  opacity:0;
  transition:opacity 620ms cubic-bezier(.16,1,.3,1);
  transition-delay:calc(var(--reveal-delay,0ms) + var(--letter-index) * 38ms);
}
[data-reveal="letters"].is-revealed .letter-heading-character{
  opacity:1;
}
.motion-ready [data-motion-fv] [data-reveal="letters"] .letter-heading-character{
  transition-duration:1250ms;
  transition-timing-function:ease-in-out;
  transition-delay:calc(var(--reveal-delay,0ms) + var(--letter-index) * 80ms);
}
.motion-ready [data-reveal="fade"]{transform:none;clip-path:none;filter:none;transition-duration:760ms}
.motion-ready [data-motion-fv] :is(h1,h2,h3,p)[data-reveal="fade"]{transition-duration:1200ms;transition-timing-function:ease-in-out}
.motion-ready [data-reveal="image"]{
  filter:none;
  transform:translateY(18px) scale(1.055);
  transition-duration:1250ms;
}
.motion-ready [data-reveal="image"][data-reveal-side="right"]{clip-path:inset(0 55% 0 0)}
.motion-ready [data-reveal="image"][data-reveal-side="left"]{clip-path:inset(0 0 0 55%)}
.motion-ready [data-reveal].is-revealed{opacity:1;transform:none;clip-path:inset(0);filter:none}

/* Photography moves a few pixels more slowly than the page, like a controlled camera move. */
[data-parallax-media]{
  transform:translate3d(0,var(--parallax-y,0),0) scale(1.035);
  will-change:transform;
}
.corporate-home .hero-media img{
  transform:none;
  will-change:auto;
}

/* Section eyebrows act as a small timing cue before the main headline. */
.motion-ready .eyebrow[data-reveal="heading"],
.motion-ready .jp-label[data-reveal="heading"]{
  transform:translateX(-22px);
  clip-path:inset(0 45% 0 0);
  transition-duration:820ms;
}
.motion-ready .eyebrow[data-reveal="heading"].is-revealed,
.motion-ready .jp-label[data-reveal="heading"].is-revealed{
  transform:none;
  clip-path:inset(0);
}

/* Refined hover feedback */
.button{
  position:relative;
  overflow:hidden;
  transition:color .32s ease,background-color .32s ease,border-color .32s ease,transform .32s cubic-bezier(.2,.72,.2,1),box-shadow .32s ease;
}
.button>span{position:relative;z-index:1;transition:transform .32s cubic-bezier(.2,.72,.2,1)}
.button:hover,.button:focus-visible{transform:translateY(-3px);box-shadow:0 12px 26px rgba(8,41,82,.16);outline:none}
.button:hover>span,.button:focus-visible>span{transform:translateX(5px)}
.button-blue:hover,.button-blue:focus-visible,.button:not(.button-outline):hover,.button:not(.button-outline):focus-visible{border-color:var(--navy)}
.button-outline:hover,.button-outline:focus-visible{border-color:var(--navy)}

.product-card,.news-row,.number-grid>a,.company-links>a,.contact-guide-grid>a,.company-related-card{
  transition:transform .38s cubic-bezier(.2,.72,.2,1),box-shadow .38s ease,background-color .3s ease,border-color .3s ease;
}
.product-card:hover,.number-grid>a:hover,.company-links>a:hover,.contact-guide-grid>a:hover,.company-related-card:hover{
  transform:translateY(-5px);
  box-shadow:0 16px 34px rgba(10,43,79,.1);
}
.news-row:hover{transform:translateX(7px);background:rgba(236,245,252,.58)}

.image-asset,.product-category-image,.company-profile-image,.company-contact-image,
.development-detail-hero-image,.development-detail-intro-image,.reference-section figure{
  overflow:hidden;
}
.sidebar nav a .material-symbols-outlined{transition:transform .3s cubic-bezier(.2,.72,.2,1),color .3s ease}
.support-section[id],.people-section[id]{scroll-margin-top:24px}
@media(max-width:767px){.support-section[id],.people-section[id]{scroll-margin-top:82px}}
.sidebar nav a:hover .material-symbols-outlined{transform:translateX(4px);color:#fff}
.footer-column a{transition:opacity .25s ease,transform .25s ease}
.footer-column a:hover{opacity:.7;transform:translateX(4px)}

@media(hover:none){
  .button:hover,.product-card:hover,.number-grid>a:hover,.company-links>a:hover,.contact-guide-grid>a:hover,.company-related-card:hover,.news-row:hover{transform:none;box-shadow:none}
  .image-asset:hover>img,.product-category-image:hover>img,.company-profile-image:hover>img,.company-contact-image:hover>img,.development-detail-intro-image:hover>img,.reference-section figure:hover>img{transform:none}
}
@media(max-width:767px){
  .motion-ready [data-reveal="heading"]{transform:translateY(28px);transition-duration:820ms}
  .motion-ready [data-reveal="image"]{transform:translateY(12px) scale(1.035);transition-duration:920ms}
  .letter-heading-character{transition-delay:calc(var(--reveal-delay,0ms) + var(--letter-index) * 30ms)}
}
@media(prefers-reduced-motion:no-preference) and (prefers-reduced-motion:reduce){
  .motion-ready [data-motion-fv] [data-reveal="letters"] .letter-heading-character,
  .motion-ready [data-motion-fv] :is(h1,h2,h3,p)[data-reveal="fade"]{transition:none}
  .motion-ready [data-reveal]{opacity:1;transform:none;clip-path:none;filter:none;transition:none}
  .letter-heading-character{opacity:1;transform:none;filter:none;transition:none}
  [data-parallax-media]{transform:none}
  .button,.button>span,.product-card,.news-row,.number-grid>a,.company-links>a,.contact-guide-grid>a,.company-related-card,
  .image-asset>img,.product-category-image>img,.company-profile-image>img,.company-contact-image>img,
  .development-detail-hero-image>img,.development-detail-intro-image>img,.reference-section figure>img,
  .sidebar nav a .material-symbols-outlined,.footer-column a{transition:none}
}

/* Technology: give the product links enough width for natural Japanese titles. */
@media(min-width:901px){
  .technology-page .products-link{
    grid-template-columns: minmax(360px,.28fr) minmax(0,1.72fr);
    gap:clamp(24px,3vw,44px);
    padding-right:clamp(30px,4vw,58px);
  }
  .technology-page .product-link-grid{
    gap:clamp(8px,1vw,14px);
  }
  .technology-page .product-link-grid strong{
    display:block;
    padding:0 3px;
    font-size:15px;
    white-space:nowrap;
    text-wrap:nowrap;
  }
}
@media(max-width:900px){
  .site-main{width:100%;margin-left:0}
  .sidebar{width:min(84vw,340px);transform:translateX(-100%);transition:transform .3s ease}
  .menu-open .sidebar{transform:none}
  .menu-toggle{position:fixed;z-index:80;top:14px;right:14px;display:flex;width:52px;height:52px;padding:10px;background:var(--navy);border:0;color:#fff;flex-direction:column;justify-content:center;gap:6px}
  .menu-toggle>span{display:block;width:100%;height:1px;background:#fff}.menu-toggle>b{font:9px var(--sans-en);letter-spacing:.12em}
  .menu-backdrop{position:fixed;z-index:45;inset:0;background:rgba(0,20,50,.52)}.menu-open .menu-backdrop{display:block}
}

/* Cross-page type and spacing rhythm. */
.tech-title>p,.reference-label,.pdf-product-hero p,.pdf-product-intro>div>p:first-child,.pdf-product-map>div>p,.pdf-product-lineup>p,.pdf-product-manufacturing>div>p,.development-detail-label,.company-section-heading>p:first-child,.products-overview-hero-copy>p,.products-overview-intro>div>p:first-child{
  font-family:var(--sans-en);font-size:12px;font-weight:700;line-height:1.5;letter-spacing:.08em
}
.technology-page h1,.reference-detail h1,.pdf-product-page h1,.development-detail-page h1,.company-page h1,.products-overview h1,.sub-hero h1{font-family:var(--serif-jp);font-weight:500}
.technology-page h2,.reference-detail h2,.pdf-product-page h2,.development-detail-page h2,.company-page h2,.products-overview h2,.contact-page h2,.archive h2{font-family:var(--serif-jp);font-weight:500}
.technology-page p,.reference-detail p,.pdf-product-page p,.development-detail-page p,.company-page p,.products-overview p,.contact-page p,.archive p{line-height:1.95}
.technology-page .button,.reference-detail .button,.pdf-product-page .button,.development-detail-page .button,.company-page .button,.products-overview .button,.contact-page .button{min-height:52px;padding:14px 22px;font-family:var(--sans-jp);font-size:14px} .products-overview .button{ color: #fff; }
@media(max-width:767px){.tech-block,.reference-section,.pdf-product-lineup,.pdf-product-manufacturing,.development-detail-section,.company-section,.product-block,.contact-page{padding-top:68px;padding-bottom:68px}.technology-page p,.reference-detail p,.pdf-product-page p,.development-detail-page p,.company-page p,.products-overview p,.contact-page p,.archive p{font-size:15px;line-height:1.9}}
.technology-page .tech-title>p,.technology-page .tech-hero-copy>p,.company-page .company-hero-copy>p:first-child{font:700 12px/1.5 var(--sans-en);letter-spacing:.08em}
.company-page .company-section-heading>p:not(:first-child){color:var(--muted);font:400 16px/2 var(--sans-jp);letter-spacing:.04em}
.site-main>.sub-hero h1{font-size:52px;line-height:1.35}
.site-main>.sub-hero .eyebrow,.development-detail-en{font:700 12px/1.5 var(--sans-en);letter-spacing:.08em}
.development-detail-base{overflow:hidden}.development-detail-base>img{max-width:100%;object-fit:contain}
@media(max-width:767px){.site-main>.sub-hero h1{font-size:34px}}
@media(max-width:560px){.corporate-home .product-grid,.corporate-home .product-card,.corporate-home .product-card .image-asset{width:100%;max-width:100%;min-width:0}.development-detail-base>img{width:100%;max-width:100%;margin:0;transform:none}}

/* News archive — PDF p.16 */
.technology-page #processing-technology,
.technology-page #quality-analysis,
.technology-page #skill-transfer,
.technology-page #problem-solving{scroll-margin-top:32px}
.news-page{--news-pad:clamp(48px,6vw,90px);overflow:hidden;background:#fff}
.news-hero{position:relative;height:570px;min-height:570px;overflow:hidden;border-bottom:1px solid var(--line);background:#fff}
.news-breadcrumb{position:absolute;z-index:4;inset:0 0 auto;display:flex;align-items:center;gap:9px;height:52px;padding:0 var(--news-pad);color:#718093;font-size:12px}
.news-breadcrumb a:hover{color:var(--blue)}
.news-hero-copy{position:absolute;z-index:3;left:var(--news-pad);top:50%;width:min(530px,45%);transform:translateY(-38%)}
.news-hero-copy>p{margin:0 0 24px;color:var(--blue);font:700 12px var(--sans-en);letter-spacing:.1em}
.news-hero h1{margin:0;font:500 clamp(44px,4.5vw,66px)/1.45 var(--serif-jp);letter-spacing:.07em}
.news-hero h2{margin:34px 0 0;font:500 18px/1.9 var(--serif-jp);letter-spacing:.04em}
.news-hero-image{position:absolute;z-index:1;inset:0 0 0 38%;overflow:hidden}
.news-hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.96) 12%,rgba(255,255,255,.52) 34%,transparent 60%),linear-gradient(180deg,rgba(255,255,255,.18),transparent 50%)}
.news-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 55%;filter:saturate(.75)}
.news-index{padding:clamp(82px,8vw,120px) var(--news-pad)}
.news-index>header,.news-year-tabs,.news-archive-list,.news-pagination{width:min(100%,1180px);margin-left:auto;margin-right:auto}
.news-index h2{margin:0;font:500 32px/1.5 var(--serif-jp);letter-spacing:.06em}
.news-year-tabs{display:flex;margin-top:42px;border-bottom:1px solid var(--line)}
.news-year-tabs button{position:relative;min-width:105px;padding:16px 26px;border:0;background:transparent;color:var(--muted);font:700 13px var(--sans-en);cursor:pointer}
.news-year-tabs button:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--blue);transform:scaleX(0);transition:transform .3s ease}
.news-year-tabs button:hover,.news-year-tabs button.is-active{color:var(--blue)}
.news-year-tabs button.is-active:after,.news-year-tabs button:hover:after{transform:scaleX(1)}
.news-archive-list>a{display:grid;grid-template-columns:120px 92px minmax(0,1fr) 126px 24px;align-items:center;gap:24px;min-height:112px;border-bottom:1px solid var(--line);transition:background-color .3s ease,transform .3s ease}
.news-archive-list>a.no-thumbnail{grid-template-columns:120px 92px minmax(0,1fr) 24px}
.news-archive-list>a:hover{background:#f6faff;transform:translateX(5px)}
.news-archive-list time{color:var(--muted);font:400 13px var(--sans-en)}
.news-archive-list>a>span{justify-self:start;padding:4px 14px;border:1px solid #9bb9dc;color:var(--navy);font-size:11px;white-space:nowrap}
.news-archive-list strong{font-size:14px;line-height:1.8}
.news-archive-list figure{width:126px;height:72px;margin:0;overflow:hidden;background:#edf2f6}
.news-archive-list img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.72,.2,1)}
.news-archive-list>a:hover img{transform:scale(1.06)}
.news-archive-list b{color:var(--blue);font-size:20px;font-weight:400;transition:transform .3s ease}
.news-archive-list>a:hover b{transform:translateX(4px)}
.news-pagination{display:flex;justify-content:center;gap:10px;margin-top:54px}
.news-pagination button{display:grid;place-items:center;width:42px;height:42px;border:1px solid #a9bfd9;background:#fff;color:var(--navy);cursor:pointer;transition:background .25s,color .25s}
.news-pagination button:hover,.news-pagination button.is-active{color:#fff;background:var(--navy)}
.news-page>.contact-cta{display:block;max-width:1440px;margin:0 auto;padding:100px var(--news-pad)}
.news-page>.contact-cta>img{display:none}

/* WordPress news detail */
.news-single{--single-width:940px;padding:0 var(--news-pad) clamp(90px,9vw,140px);background:#fff}
.news-single-breadcrumb{display:flex;align-items:center;gap:10px;width:min(100%,var(--single-width));min-height:76px;margin:0 auto;color:var(--muted);font-size:12px}
.news-single-breadcrumb a{transition:color .2s ease}.news-single-breadcrumb a:hover{color:var(--blue)}
.news-single-header{width:min(100%,var(--single-width));margin:0 auto;padding:clamp(56px,6vw,88px) 0 clamp(46px,5vw,70px);border-bottom:1px solid var(--line)}
.news-single-meta{display:flex;align-items:center;gap:24px;margin-bottom:30px}.news-single-meta time{color:var(--muted);font:400 14px var(--sans-en)}
.news-single-header h1{margin:0;font:500 clamp(30px,3.1vw,46px)/1.65 var(--serif-jp);letter-spacing:.04em;overflow-wrap:anywhere}
.news-single-body{width:min(100%,var(--single-width));margin:0 auto;padding:clamp(48px,5.5vw,80px) 0 0}
.news-single-image{margin:0 0 50px;overflow:hidden}.news-single-image img{display:block;width:100%;height:auto;max-height:580px;object-fit:cover}
.news-single .entry-content{color:var(--text);font-size:16px;line-height:2.15}.news-single .entry-content>*:first-child{margin-top:0}.news-single .entry-content>*:last-child{margin-bottom:0}
.news-single .entry-content p{margin:0 0 1.8em}.news-single .entry-content h2{margin:2.2em 0 .9em;padding-bottom:.55em;border-bottom:1px solid var(--line);font:500 clamp(24px,2.4vw,34px)/1.6 var(--serif-jp)}
.news-single .entry-content h3{margin:2em 0 .7em;font:500 clamp(20px,2vw,27px)/1.6 var(--serif-jp)}.news-single .entry-content a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.news-single .entry-content img{max-width:100%;height:auto}.news-single .entry-content ul,.news-single .entry-content ol{padding-left:1.5em}.news-single .entry-content blockquote{margin:2em 0;padding:20px 28px;border-left:4px solid var(--blue);background:#f5f9fd}
.news-single-back{display:flex;justify-content:center;width:min(100%,var(--single-width));margin:clamp(56px,6vw,90px) auto 0;padding-top:44px;border-top:1px solid var(--line)}
.news-single-back .button{min-width:250px;padding:17px 22px}.news-page .navigation.pagination{display:flex;justify-content:center;width:min(100%,1180px);margin:54px auto 0}
.news-page .nav-links{display:flex;gap:10px}.news-page .page-numbers{display:grid;place-items:center;min-width:42px;height:42px;padding:0 10px;border:1px solid #a9bfd9;color:var(--navy);background:#fff}
.news-page .page-numbers.current,.news-page a.page-numbers:hover{color:#fff;background:var(--navy)}
@media(max-width:767px){
  .technology-page #processing-technology,
  .technology-page #quality-analysis,
  .technology-page #skill-transfer,
  .technology-page #problem-solving{scroll-margin-top:84px}
  .news-page{--news-pad:24px}
  .news-hero{height:530px;min-height:530px}
  .news-breadcrumb{height:46px;padding:0 24px}
  .news-hero-image{inset:0}.news-hero-image:after{background:linear-gradient(180deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.68) 52%,rgba(255,255,255,.12) 100%)}
  .news-hero-image img{object-position:62% center}
  .news-hero-copy{left:24px;right:24px;top:38%;width:auto;transform:none}
  .news-hero h1{font-size:34px}.news-hero h2{margin-top:26px;font-size:16px}
  .news-index{padding:68px 24px}.news-index h2{font-size:28px}
  .news-year-tabs{margin-top:30px;overflow-x:auto}.news-year-tabs button{min-width:78px;padding:14px 18px}
  .news-archive-list>a{grid-template-columns:86px 1fr 22px;gap:8px 12px;min-height:0;padding:22px 0}
  .news-archive-list time{grid-column:1}.news-archive-list>a>span{grid-column:1;grid-row:2;padding:3px 10px}
  .news-archive-list strong{grid-column:2;grid-row:1/3;font-size:14px}
  .news-archive-list figure{display:none}.news-archive-list b{grid-column:3;grid-row:1/3}
  .news-archive-list>a.no-thumbnail{grid-template-columns:86px 1fr 22px}
  .news-page>.contact-cta{padding:72px 24px}
  .news-single{padding:0 24px 72px}.news-single-breadcrumb{min-height:62px}.news-single-header{padding:46px 0 38px}.news-single-meta{gap:14px;margin-bottom:22px}.news-single-header h1{font-size:28px;line-height:1.65}.news-single-body{padding-top:42px}.news-single-image{margin-bottom:34px}.news-single .entry-content{font-size:15px;line-height:2}.news-single-back{margin-top:52px;padding-top:34px}.news-single-back .button{width:100%}
}

/* Interactive vehicle maps shared by product categories. */
.pdf-interactive-map{display:block;padding:clamp(42px,5vh,58px) clamp(42px,6vw,86px) 30px;background:#f7fbff}
.pdf-map-heading{padding:0}
.pdf-map-heading>p,.pdf-lineup-heading>p{margin:0;color:var(--blue);font:700 12px var(--sans-en);letter-spacing:.08em}
.pdf-map-heading h2{margin:12px 0 0;font:500 clamp(27px,2.6vw,40px)/1.55 var(--serif-jp)}
.pdf-map-layout{display:grid;grid-template-columns:minmax(0,1.48fr) minmax(280px,.52fr);align-items:center;gap:32px;margin-top:22px}
.pdf-map-canvas{position:relative;width:min(100%,900px);height:auto;aspect-ratio:1774/887;justify-self:center;margin:0;overflow:hidden;background:transparent}
.pdf-product-page .pdf-map-canvas{height:auto;aspect-ratio:auto}
.pdf-product-page .pdf-map-canvas>img{width:100%;height:auto;object-fit:contain;object-position:center}
.pdf-map-marker{position:absolute;z-index:3;min-width:64px;padding:8px 10px;border:2px solid #fff;color:#fff;background:#176fc4;font:700 15px/1 var(--sans-en);box-shadow:0 3px 12px rgba(16,59,110,.22);cursor:pointer;transition:transform .25s ease,background .25s ease}
.pdf-map-marker:hover,.pdf-map-marker:focus-visible,.pdf-map-marker.is-active{background:var(--navy);transform:scale(1.1);outline:none}
.pdf-map-marker.marker-1{left:16%;top:53%}.pdf-map-marker.marker-2{left:39%;top:48%}.pdf-map-marker.marker-3{left:14%;top:69%}.pdf-map-marker.marker-4{left:76%;top:39%}.pdf-map-marker.marker-5{left:49%;top:73%}
.pdf-product-electrification .pdf-map-marker.marker-1{left:31%;top:48%}.pdf-product-electrification .pdf-map-marker.marker-2{left:64%;top:44%}
.pdf-product-jack .pdf-map-marker.marker-1{left:29%;top:57%}.pdf-product-jack .pdf-map-marker.marker-2{left:72%;top:55%}
.pdf-map-list{border:1px solid var(--line);background:#fff}
.pdf-map-list>button{display:grid;width:100%;grid-template-columns:70px 1fr 22px;align-items:center;min-height:82px;padding:0 20px;border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--text);text-align:left;cursor:pointer;transition:color .25s ease,background .25s ease}
.pdf-map-list>button:last-child{border-bottom:0}
.pdf-map-list>button:hover,.pdf-map-list>button:focus-visible,.pdf-map-list>button.is-active{color:#fff;background:var(--navy);outline:none}
.pdf-map-list b,.pdf-map-list i{color:var(--blue);font-style:normal}.pdf-map-list b{font:400 19px var(--serif-en)}.pdf-map-list i{text-align:right}
.pdf-map-list>button:is(:hover,:focus-visible,.is-active) b,.pdf-map-list>button:is(:hover,:focus-visible,.is-active) i{color:#fff}
.pdf-interactive-lineup{padding:28px clamp(42px,6vw,86px) 76px;background:#fff}
.pdf-interactive-lineup.is-map-omitted{padding-top:76px}
.pdf-lineup-heading{display:flex;align-items:center;gap:50px}.pdf-lineup-heading>span{color:var(--muted);font-size:14px}
.pdf-lineup-tabs{display:grid;width:100%;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:0;margin-top:18px;border:1px solid var(--line)}
/* Override the older `.pdf-product-lineup > div` column rule so every tab
   uses the same implicit track, including at the 560px breakpoint. */
.pdf-interactive-lineup>.pdf-lineup-tabs{grid-template-columns:none;margin-top:18px}
.pdf-lineup-tabs button{display:flex;width:100%;min-width:0;margin:0;flex:1 1 0;align-items:center;justify-content:center;gap:8px;min-height:56px;padding:8px 10px;border:0;border-right:1px solid var(--line);border-radius:0;background:#fff;color:var(--text);white-space:nowrap;cursor:pointer;transition:background .25s ease,color .25s ease}
.pdf-lineup-tabs button:last-child{border-right:0}.pdf-lineup-tabs b{color:var(--blue);font:400 18px var(--serif-en)}
.pdf-lineup-tabs span{font-size:clamp(12px,1vw,15px)}
.pdf-lineup-tabs button:is(:hover,:focus-visible,.is-active){color:#fff;background:var(--navy);outline:none}.pdf-lineup-tabs button:is(:hover,:focus-visible,.is-active) b{color:#fff}
.pdf-product-lineup>.pdf-lineup-title{display:flex;align-items:baseline;gap:22px;margin-top:58px}.pdf-lineup-title>b{flex-shrink:0;color:var(--blue);font:400 30px var(--serif-en)}.pdf-lineup-title h2{margin:0;font:500 30px var(--serif-jp)}
.pdf-lineup-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:28px}
.pdf-lineup-products article{border:1px solid var(--line);background:#fff}.pdf-lineup-products article[hidden]{display:none}
.pdf-lineup-products figure{height:300px;margin:0;overflow:hidden}.pdf-lineup-products h3{margin:0;padding:20px 22px;font:500 17px var(--serif-jp)}
.pdf-lineup-products article.is-switching{animation:product-card-in .5s cubic-bezier(.2,.72,.2,1) both}
@keyframes product-card-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
/* Group photographs and names do not imply individual product pairings. */
.product-category-links{padding:76px clamp(42px,6vw,86px);background:#fff}
.product-category-links h2{margin:20px 0 38px;font:500 clamp(26px,3vw,40px)/1.6 var(--serif-jp)}
.product-category-links-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.product-category-links-grid>a{min-width:0;border:1px solid var(--line);color:var(--blue)}
.product-category-links-grid figure{margin:0;aspect-ratio:3/2;overflow:hidden}
.product-category-links-grid figure img{object-fit:contain}
.product-category-link-label{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px;font-weight:700;background:linear-gradient(var(--blue),var(--blue)) left/0% 100% no-repeat;transition:background-size .35s ease,color .35s ease}
.product-category-link-label>span{flex-shrink:0}
.product-category-links-grid>a:is(:hover,:focus-visible) .product-category-link-label{background-size:100% 100%;color:#fff}
.product-category-links-grid>a:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
@media(max-width:767px){.product-category-links{padding:68px 24px}.product-category-links-grid{grid-template-columns:minmax(0,1fr)}}
.pdf-lineup-products.pdf-lineup-grouped{grid-template-columns:minmax(0,1fr)}
.pdf-lineup-grouped article{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:center}
.pdf-lineup-products.pdf-lineup-grouped figure{height:auto;aspect-ratio:auto}
.pdf-lineup-products.pdf-lineup-grouped figure img{display:block;width:100%;height:auto;object-fit:contain}
.pdf-lineup-grouped ul{margin:0;padding:28px 32px 28px 48px;font:500 17px/1.8 var(--serif-en);overflow-wrap:anywhere}
.pdf-lineup-grouped li+li{margin-top:12px}
@media(max-width:900px){.pdf-lineup-grouped article{grid-template-columns:minmax(0,1fr)}}
@media(max-width:900px){
  .pdf-map-layout{grid-template-columns:minmax(0,1fr) 260px;gap:22px}
  .pdf-map-list>button{grid-template-columns:60px 1fr 20px;min-height:70px;padding:0 14px;font-size:14px}
}
@media(max-width:767px){
  .pdf-interactive-map,.pdf-interactive-lineup{padding:68px 24px}
  .pdf-map-layout{display:block;margin-top:28px}.pdf-map-canvas{height:auto;aspect-ratio:1774/887}
  .pdf-map-marker{min-width:48px;padding:6px 7px;font-size:11px}
  .pdf-product-aluminum .pdf-map-marker.marker-4{right:2%;left:auto}
  .pdf-map-list{margin-top:18px}
  .pdf-lineup-heading{display:block}.pdf-lineup-heading>span{display:block;margin-top:10px}
  .pdf-lineup-tabs{grid-auto-columns:165px;overflow-x:auto}.pdf-interactive-lineup>.pdf-lineup-tabs{margin-top:26px}.pdf-lineup-tabs button{min-width:0;justify-content:flex-start;min-height:58px;padding:0 16px}.pdf-lineup-tabs button:last-child{border-right:0}
  .pdf-product-lineup>.pdf-lineup-title{margin-top:38px}.pdf-lineup-title>b{font-size:24px}.pdf-lineup-title h2{font-size:24px}
  .pdf-lineup-products{grid-template-columns:1fr}.pdf-lineup-products figure{height:auto;aspect-ratio:4/3}
}

/* Company information — PDF p.14 */
.company-pdf-page{--cp:clamp(48px,6vw,90px);overflow:hidden;background:#fff}
.company-pdf-page .company-hero-copy{width:min(650px,52%)}
.company-pdf-page .company-hero-copy>p:first-child{margin:0 0 22px;color:var(--blue);font:700 12px var(--sans-en);letter-spacing:.09em}
.company-pdf-page .company-hero-copy h2{margin:24px 0 0;font:500 clamp(24px,2.3vw,34px)/1.85 var(--serif-jp);letter-spacing:.06em}
.company-pdf-label{margin:0 0 22px;color:var(--blue);font:700 12px var(--sans-en);letter-spacing:.09em}
.company-pdf-page h2{margin:0;font:500 clamp(30px,3vw,46px)/1.6 var(--serif-jp);letter-spacing:.05em}
.company-pdf-copy>p:not(.company-pdf-label){margin:24px 0 0;color:var(--muted);line-height:2.05}
.company-pdf-intro{display:grid;grid-template-columns:38% 62%;align-items:center;min-height:500px;padding:80px 0 80px var(--cp)}
.company-pdf-intro>.company-pdf-copy{padding-right:50px}
.company-pdf-collage{display:grid;grid-template-columns:repeat(4,1fr);height:330px;overflow:hidden}
.company-pdf-collage figure{height:100%;margin:0;overflow:hidden;clip-path:polygon(13% 0,100% 0,87% 100%,0 100%)}
.company-pdf-collage figure+figure{margin-left:-10%}.company-pdf-collage img{width:100%;height:100%;object-fit:cover;filter:saturate(.72)}
.company-pdf-philosophy{position:relative;display:grid;grid-template-columns:1fr .8fr;align-items:center;min-height:470px;padding:80px var(--cp);overflow:hidden;color:#fff;background:#061526}
.company-pdf-philosophy-bg{position:absolute;inset:0;opacity:.52}.company-pdf-philosophy-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#061526 0%,rgba(6,21,38,.28) 55%,#061526 100%)}.company-pdf-philosophy-bg img{width:100%;height:100%;object-fit:cover}
.company-pdf-philosophy-title,.company-pdf-philosophy-text{position:relative;z-index:2}.company-pdf-philosophy-title h2{font-size:clamp(48px,6vw,82px)}.company-pdf-philosophy-title h3{margin:18px 0 0;font:500 18px var(--serif-jp);letter-spacing:.08em}
.company-pdf-philosophy-text{padding:38px;border:1px solid rgba(255,255,255,.2);background:rgba(8,30,55,.72)}.company-pdf-philosophy-text p{margin:0;line-height:2}.company-pdf-philosophy-text p+p{margin-top:18px}
.company-pdf-message{display:grid;grid-template-columns:.78fr 1.22fr;align-items:center;gap:70px;padding:90px var(--cp)}
.company-pdf-message figure{height:390px;margin:0;overflow:hidden;clip-path:polygon(8% 0,100% 0,92% 100%,0 100%)}.company-pdf-message img{width:100%;height:100%;object-fit:cover}
.company-pdf-text-link{display:inline-flex;gap:34px;margin-top:28px;color:var(--blue);font-weight:700}.company-pdf-text-link span{transition:transform .25s}.company-pdf-text-link:hover span{transform:translateX(5px)}
.company-pdf-philosophy .company-pdf-text-link{display:flex;width:min(100%,360px);min-height:58px;align-items:center;justify-content:space-between;margin-top:32px;padding:14px 22px;border:1px solid #fff;color:var(--navy);background:#fff;transition:color .25s ease,background .25s ease}
.company-pdf-philosophy .company-pdf-text-link:hover,.company-pdf-philosophy .company-pdf-text-link:focus-visible{color:#fff;background:transparent;outline:none}
.company-pdf-products{padding:90px var(--cp)}.company-pdf-products>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:40px;background:#07182c}
.company-pdf-products>a,.company-pdf-products>div>a{position:relative;min-width:0;min-height:430px;padding:20px;color:#fff;border-right:1px solid rgba(255,255,255,.2);overflow:hidden}
.company-pdf-products>div>a:last-child{border-right:0}.company-pdf-products figure{position:absolute;z-index:0;inset:0;margin:0}.company-pdf-products figure:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,15,31,.1),rgba(2,15,31,.92))}
.company-pdf-products img{width:100%;height:100%;object-fit:cover;filter:saturate(.62);transition:transform .8s cubic-bezier(.2,.72,.2,1)}.company-pdf-products a:hover img{transform:scale(1.05)}
.company-pdf-products a>span,.company-pdf-products h3,.company-pdf-products a>p,.company-pdf-products a>b{position:relative;z-index:2}.company-pdf-products a>span{font-family:var(--serif-en)}.company-pdf-products h3{margin:10px 0 0;font:500 18px var(--serif-jp)}.company-pdf-products a>p{position:absolute;right:20px;bottom:54px;left:20px;margin:0;font-size: 14px;line-height:1.8}.company-pdf-products a>b{position:absolute;bottom:20px;left:20px;color:#8cc3ff}
.company-pdf-profile{display:grid;grid-template-columns:.88fr 1.12fr;align-items:center;gap:70px;padding:100px var(--cp);background:#f7fafc}.company-pdf-profile dl{margin:35px 0;border-top:1px solid var(--line)}.company-pdf-profile dl>div{display:grid;grid-template-columns:100px 1fr;padding:12px 0;border-bottom:1px solid var(--line)}.company-pdf-profile dt{font-weight:700}.company-pdf-profile dd{margin:0;color:var(--muted)}.company-pdf-profile figure{height:430px;margin:0;overflow:hidden;clip-path:polygon(12% 0,100% 0,100% 100%,0 100%)}.company-pdf-profile img{width:100%;height:100%;object-fit:cover}
.company-verified-details{padding:90px var(--cp);background:#fff}.company-verified-details header{margin-bottom:35px}.company-verified-details h2{margin:8px 0 0;font-family:var(--serif-jp);font-size:clamp(32px,4vw,50px);font-weight:500}.company-verified-details dl{margin:0;border-top:1px solid var(--line)}.company-verified-details dl>div{display:grid;grid-template-columns:180px 1fr;gap:35px;padding:24px 0;border-bottom:1px solid var(--line)}.company-verified-details dt{font-weight:700}.company-verified-details dd{margin:0;color:var(--muted);line-height:2}
.company-pdf-locations{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center;padding:100px var(--cp)}.company-pdf-locations h3{margin:32px 0 12px;color:var(--blue);font-size:15px}.company-pdf-locations dl{margin:0}.company-pdf-locations dl>div{display:grid;grid-template-columns:130px 1fr;gap:14px;padding:5px 0}.company-pdf-locations dd{margin:0;color:var(--muted)}.company-pdf-locations-copy>p:not(.company-pdf-label){color:var(--muted)}
.company-pdf-outline-link{display:inline-flex;justify-content:space-between;gap:38px;min-width:230px;margin-top: 48px;padding:12px 18px;border:1px solid #8eabd0;color:var(--navy);font-weight:700;transition:color .25s,background .25s}.company-pdf-outline-link:hover{color:#fff;background:var(--navy)}
.company-pdf-map{position:relative;width:100%;max-width:1180px;aspect-ratio:1672/941;justify-self:center;overflow:hidden}.company-pdf-map>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:.94}.company-pdf-map span{position:absolute;z-index:2;transform:translate(-50%,-50%);padding:5px 10px;background:#fff;color:var(--navy);font:700 11px var(--sans-en);box-shadow:0 4px 15px rgba(15,55,95,.1)}.map-japan{left:88%;top:38%}.map-usa{left:18%;top:38%}.map-india{left:73%;top:52%}
.company-pdf-map i{position:absolute;z-index:3;width:11px;height:11px;transform:translate(-50%,-50%);border:3px solid #fff;border-radius:50%;background:var(--blue);box-shadow:0 0 0 1px var(--blue)}.company-pdf-map .map-point-japan{left:84.5%;top:44%}
.company-pdf-history{padding:100px var(--cp);background:#f7fafc}.company-pdf-history ol{position:relative;display:grid;grid-template-columns:repeat(8,1fr);margin:52px 0 0;padding:0;list-style:none}.company-pdf-history ol:after{content:"";position:absolute;left:0;right:0;top:90px;height:1px;background:#9fb3c9}.company-pdf-history li{position:relative;z-index:1;padding-right:14px}.company-pdf-history li:after{content:"";position:absolute;top:86px;left:0;display:block;width:9px;height:9px;border-radius:50%;background:var(--navy)}.company-pdf-history b{display:block;color:var(--blue);font:700 16px var(--serif-en)}.company-pdf-history li>span{display:block;margin-top:8px;font-size:12px;line-height:1.6}
.company-pdf-links{padding:90px var(--cp)}.company-pdf-links>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:34px}.company-pdf-links a{min-width:0}.company-pdf-links figure{height: 200px;margin:0;overflow:hidden;clip-path:polygon(8% 0,100% 0,92% 100%,0 100%)}.company-pdf-links img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.company-pdf-links a:hover img{transform:scale(1.05)}.company-pdf-links a>span{display:block;padding:14px 10px;color:var(--blue);font-size: 16px;font-weight:700}
.company-links-common{padding:90px var(--cd-pad,var(--cp,6vw));background:#fff}
.company-links-common>.company-pdf-label{margin:0 0 22px;color:var(--blue);font:700 12px var(--sans-en);letter-spacing:.09em}
.company-links-common>h2{margin:0;font:500 clamp(30px,3vw,46px)/1.6 var(--serif-jp);letter-spacing:.05em}
@media(min-width:561px){.motion-ready .company-links-common figure[data-reveal].is-revealed{clip-path:polygon(10% 0,100% 0,90% 100%,0 100%)}}
.company-pdf-recruit{position:relative;display:grid;grid-template-columns:1fr 1.25fr;align-items:center;min-height:300px;padding:55px var(--cp);overflow:hidden;color:#fff;background:var(--brand-blue)}.company-pdf-recruit>div,.company-pdf-recruit>a{position:relative;z-index:3}.company-pdf-recruit h2{font-size:32px}.company-pdf-recruit p{margin:18px 0 0}.company-pdf-recruit figure{position:absolute;inset:0 0 0 42%;margin:0}.company-pdf-recruit figure:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--brand-blue),transparent 55%)}.company-pdf-recruit img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.68)}.company-pdf-recruit>a{grid-column:2;justify-self:end;min-width:260px}
.company-pdf-page>.contact-cta{display:block;max-width:1440px;margin:auto;padding:100px var(--cp)}.company-pdf-page>.contact-cta>img{display:none}
@media(max-width:900px){
  .company-pdf-intro,.company-pdf-message,.company-pdf-profile,.company-pdf-locations{grid-template-columns:1fr;gap:38px}
  .company-pdf-intro{padding-right:var(--cp)}.company-pdf-intro>.company-pdf-copy{padding-right:0}.company-pdf-collage{height:300px}
  .company-pdf-products>div{grid-template-columns:repeat(2,1fr)}.company-pdf-products>div>a{min-height:380px}
  .company-pdf-profile figure{order:-1}.company-pdf-history ol{grid-template-columns:repeat(4,1fr);gap:34px 0}.company-pdf-history ol:after{display:none}
  .company-pdf-links>div{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:767px){
  .company-pdf-page{--cp:24px}.company-pdf-page h2{font-size:28px}
  .company-pdf-page .company-hero-copy{width:auto}
  .company-pdf-page .company-hero-copy h2{font-size:24px;line-height:1.8;letter-spacing:.035em}
  .company-pdf-intro{padding:68px 24px}.company-pdf-collage{grid-template-columns:1fr 1fr;height:auto}.company-pdf-collage figure{height:180px;clip-path:none}.company-pdf-collage figure+figure{margin-left:0}
  .company-pdf-philosophy{display:block;min-height:620px;padding:68px 24px}.company-pdf-philosophy-title h2{font-size:52px}.company-pdf-philosophy-text{margin-top:48px;padding:24px}
  .company-pdf-message,.company-pdf-profile,.company-pdf-locations,.company-pdf-history,.company-pdf-links{padding:68px 24px}.company-pdf-message figure,.company-pdf-profile figure{height:auto;aspect-ratio:3/2;clip-path:none}
  .company-pdf-products{padding:68px 24px}.company-pdf-products>div{grid-template-columns:1fr}.company-pdf-products>div>a{min-height:350px;border-right:0;border-bottom:1px solid rgba(255,255,255,.2)}
  .company-pdf-profile dl>div,.company-pdf-locations dl>div{grid-template-columns:1fr}.company-pdf-profile dd,.company-pdf-locations dd{margin-top:5px}
  .company-verified-details{padding:68px 24px}.company-verified-details dl>div{grid-template-columns:1fr;gap:8px;padding:20px 0}
  .company-pdf-map{height:auto;aspect-ratio:1672/941}.company-pdf-history ol{grid-template-columns:1fr 1fr;gap:28px}.company-pdf-history li{padding-bottom:18px;border-bottom:1px solid var(--line)}.company-pdf-history li:after{display:none}
  .company-pdf-links>div{grid-template-columns:1fr 1fr}.company-pdf-links figure{height:130px;clip-path:none}
  .company-pdf-recruit{display:block;min-height:420px;padding:58px 24px}.company-pdf-recruit figure{inset:0}.company-pdf-recruit figure:after{background:linear-gradient(180deg,rgba(85,158,211,.96),rgba(85,158,211,.58))}.company-pdf-recruit img{object-position:center}.company-pdf-recruit>a{margin-top:40px;width:100%}
  .company-pdf-page>.contact-cta{padding:72px 24px}
}
@media(max-width:900px){
  .company-links-common>div{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .company-links-common{padding:68px 24px}
  .company-links-common>div{grid-template-columns:1fr}
  .company-links-common figure{height:auto;aspect-ratio:16/9;clip-path:none}
}

/* History page — vertical timeline based on PDF p.13 */
.history-pdf-hero{position:relative;display:block;height:610px;overflow:hidden;background:#fff}.history-pdf-hero>div:first-child{position:relative;z-index:3;width:100%;height:auto;padding:66px var(--cd-pad) 0}.history-pdf-hero h2{margin-top:10px;font-size:18px}.history-year-range{position:absolute;z-index:1;top:185px;left:var(--cd-pad);color:transparent;font:400 clamp(74px,10vw,150px)/1 var(--serif-en);letter-spacing:.015em;-webkit-text-stroke:1px #5684bf}.history-hero-objects{position:absolute;right:5%;bottom:34px;left:8%;display:grid;grid-template-columns:.7fr 1fr 1.25fr;align-items:end;gap:5%}.history-hero-objects img{width:100%;height:150px;object-fit:contain;filter:saturate(.35) sepia(.08) hue-rotate(172deg);opacity:.72}.history-hero-objects img:last-child{height:190px}
.company-history-page .history-intro{display:block;padding-bottom:55px}.company-history-page .history-intro h2{max-width:720px}.company-history-page .history-intro>div{max-width:680px;margin:28px 0 0}
.company-history-page .history-timeline{padding:15px var(--cd-pad) 110px;background:#fff}.company-history-page .history-timeline ol{position:relative;width:min(100%,1040px);margin:auto}.company-history-page .history-timeline ol:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:#7fa2cf}.company-history-page .history-timeline li{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:72px;min-height:270px;padding:0;border:0}.company-history-page .history-timeline li:before{content:"";position:absolute;z-index:3;top:35px;left:calc(50% - 5px);width:9px;height:9px;border:2px solid #fff;border-radius:50%;background:#1767c2;box-shadow:0 0 0 1px #1767c2}.company-history-page .history-timeline li:after{content:"";position:absolute;top:39px;left:50%;width:36px;height:1px;background:#7fa2cf}.company-history-page .history-event{grid-column:2;padding:16px 0 35px}.company-history-page .history-timeline figure{grid-column:1;grid-row:1;align-self:start;justify-self:end;width:min(76%,320px);height:185px;margin:0;overflow:hidden}.company-history-page .history-timeline figure img{object-fit:cover;filter:saturate(.42) sepia(.08) hue-rotate(172deg);opacity:.68}.company-history-page .history-timeline li:nth-child(even):after{right:50%;left:auto}.company-history-page .history-timeline li:nth-child(even) .history-event{grid-column:1;grid-row:1;text-align:right}.company-history-page .history-timeline li:nth-child(even) figure{grid-column:2;justify-self:start}.company-history-page .history-timeline time{font-size:32px}.company-history-page .history-timeline h3{margin-top:6px;font-size:17px}.company-history-page .history-timeline p{max-width:360px;margin-top:10px;font-size:13px}.company-history-page .history-timeline li:nth-child(even) p{margin-left:auto}
@media(max-width:767px){.history-pdf-hero{height:530px}.history-pdf-hero>div:first-child{padding:68px 24px 0}.history-year-range{top:205px;left:24px;font-size:50px}.history-hero-objects{right:18px;bottom:30px;left:18px;gap:8px}.history-hero-objects img,.history-hero-objects img:last-child{height:120px}.company-history-page .history-timeline{padding:5px 24px 75px}.company-history-page .history-timeline ol:before{left:12px}.company-history-page .history-timeline li{display:block;min-height:0;padding:0 0 70px 42px}.company-history-page .history-timeline li:before{top:10px;left:7px}.company-history-page .history-timeline li:after,.company-history-page .history-timeline li:nth-child(even):after{top:14px;right:auto;left:12px;width:23px}.company-history-page .history-event,.company-history-page .history-timeline li:nth-child(even) .history-event{text-align:left}.company-history-page .history-timeline figure,.company-history-page .history-timeline li:nth-child(even) figure{width:100%;height:190px;margin-top:22px}.company-history-page .history-timeline li:nth-child(even) p{margin-left:0}.company-history-page .history-timeline time{font-size:25px}}
.company-history-page .history-hero-objects img{object-fit:contain;filter:none;opacity:1}.company-history-page .history-timeline figure img{object-fit:contain;filter:none;opacity:1}

/* Larger, bolder history illustrations */
@media(min-width:768px){
  .company-history-page .history-pdf-hero{height:680px}
  .company-history-page .history-year-range{top:185px;font-size:clamp(96px,11.5vw,172px)}
  .company-history-page .history-hero-objects{right:2%;bottom:20px;left:3%;grid-template-columns:.85fr .8fr 1.45fr;gap:2%}
  .company-history-page .history-hero-objects img{height:220px}
  .company-history-page .history-hero-objects img:last-child{height:285px}
  .company-history-page .history-timeline ol{width:min(100%,1180px)}
  .company-history-page .history-timeline li{min-height:400px;gap:84px}
  .company-history-page .history-timeline figure{width:min(116%,520px);height:340px}
  .company-history-page .history-timeline time{font-size:38px}
  .company-history-page .history-timeline h3{font-size:20px}
  .company-history-page .history-timeline p{font-size:14px;line-height:1.9}
}
@media(max-width:767px){
  .company-history-page .history-hero-objects{right:4px;bottom:18px;left:4px;grid-template-columns:.9fr .75fr 1.35fr}
  .company-history-page .history-hero-objects img,.company-history-page .history-hero-objects img:last-child{height:150px}
  .company-history-page .history-timeline figure,.company-history-page .history-timeline li:nth-child(even) figure{height:280px;margin-top:14px}
}

/* Final history hero layout: title, year and three illustrations in horizontal rows. */
.company-history-page .history-pdf-hero{height:740px}
.company-history-page .history-year-range{top:205px;right:var(--cd-pad);left:var(--cd-pad);font-size:clamp(96px,10vw,168px);white-space:nowrap}
.company-history-page .history-hero-objects{right:var(--cd-pad);bottom:24px;left:var(--cd-pad);height:330px;display:grid;grid-template-columns:9% 9%;align-items:end;justify-content:space-between;gap:0}
.company-history-page .history-hero-objects img,
.company-history-page .history-hero-objects img:last-child{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom}
.company-history-page .history-hero-objects img{position:relative;z-index:2;max-height:115px}
.company-history-page .history-hero-objects img:last-child{position:absolute;z-index:1;bottom:0;left:50%;width:58%;max-height:330px;transform:translateX(-50%)}
@media(max-width:767px){
  .company-history-page .history-pdf-hero{height:580px}
  .company-history-page .history-year-range{top:205px;right:24px;left:24px;font-size:clamp(42px,13vw,58px)}
  .company-history-page .history-hero-objects{position:absolute;right:18px;bottom:22px;left:18px;height:210px;display:block;padding:0}
  .company-history-page .history-hero-objects img:not(:last-child){display:none}
  .company-history-page .history-hero-objects img:last-child{display:block;right:auto;bottom:0;left:50%;width:100%;height:100%;max-height:210px;visibility:visible;opacity:1}
}

/* Keep every timeline illustration fully visible inside its layout cell. */
.company-history-page .history-timeline figure,
.company-history-page .history-timeline li:nth-child(even) figure{overflow:hidden}
.company-history-page .history-timeline figure img{
  width:100%;
  height:100%;
  object-fit:contain;
  transform:none;
}

/* Final cross-page polish: keep the PDF rhythm while preserving the approved FV sizing. */
.site-main h1,
.site-main h2,
.site-main h3{
  text-wrap:balance;
}
.site-main p,
.site-main li,
.site-main dt,
.site-main dd{
  line-break:strict;
  overflow-wrap:break-word;
  word-break:normal;
}
.site-main img{
  max-width:100%;
}
.site-main a:focus-visible,
.site-main button:focus-visible,
.site-sidebar a:focus-visible,
.site-footer a:focus-visible{
  outline:2px solid #2f80cc;
  outline-offset:4px;
}

/* PDF p.13 is a dense vertical chronology; keep every event without excessive dead space. */
@media(min-width:768px){
  .company-history-page .history-timeline li{
    min-height:248px;
    gap:68px;
  }
  .company-history-page .history-timeline figure{
    width:min(88%,390px);
    height:195px;
  }
}
@media(max-width:767px){
  .company-history-page .history-timeline li{
    padding-bottom:52px;
  }
  .company-history-page .history-timeline figure,
  .company-history-page .history-timeline li:nth-child(even) figure{
    height:180px;
    margin-top:18px;
  }
}

/* Locations page — PDF p.12 domestic network and photo-led base information. */
.company-locations-page .domestic-network{
  padding:100px var(--cd-pad);
  background:#f7fafc;
}
.company-locations-page .domestic-network>header>p{
  margin:0 0 20px;
  color:var(--blue);
  font:700 12px var(--sans-en);
  letter-spacing:.09em;
}
.company-locations-page .domestic-network>header h2{
  margin:0;
  font:500 clamp(34px,3.6vw,52px)/1.55 var(--serif-jp);
  letter-spacing:.06em;
}
.domestic-network-layout{
  display:grid;
  grid-template-columns:minmax(330px,.62fr) minmax(0,1.38fr);
  align-items:center;
  gap:clamp(42px,6vw,90px);
  margin-top:54px;
}
.domestic-network-layout ol{
  margin:0;
  padding:0;
  list-style:none;
  border-top:1px solid var(--line);
}
.domestic-network-layout li{
  display:grid;
  grid-template-columns:48px 1fr;
  gap:18px;
  align-items:start;
  padding:22px 0;
  border-bottom:1px solid var(--line);
}
.domestic-network-layout li>b{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:50%;
  color:#fff;
  background:var(--blue);
  font:700 13px var(--sans-en);
}
.domestic-network-layout h3{
  margin:0;
  font:500 19px/1.55 var(--serif-jp);
  letter-spacing:.04em;
}
.domestic-network-layout address{
  margin-top:7px;
  color:var(--muted);
  font-style:normal;
  font-size:14px;
}
.domestic-network-layout figure{
  height:auto;
  aspect-ratio:16/9;
  margin:0;
  overflow:hidden;
  background:#fff;
}
.company-detail-page .domestic-network-layout figure img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.domestic-network-map{
  position:relative;
}
.domestic-map-marker{
  position:absolute;
  z-index:1;
  display:grid;
  place-items:center;
  width:clamp(25px,2vw,34px);
  aspect-ratio:1;
  transform:translate(-50%,-50%);
  border:2px solid #fff;
  border-radius:50%;
  color:#fff;
  background:var(--blue);
  box-shadow:0 2px 8px rgba(0,61,142,.18);
  font:700 clamp(9px,.72vw,12px)/1 var(--sans-en);
  letter-spacing:0;
}
.domestic-map-marker--01{left:28.41%;top:56.85%}
.domestic-map-marker--02{left:26.61%;top:75.88%}
.domestic-map-marker--03{left:38.88%;top:72.48%}
.domestic-map-marker--04{left:39.47%;top:55.26%}
.company-locations-page .location-list>div{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:34px;
  margin-top:50px;
}
.company-locations-page .location-list article,
.company-locations-page .location-list article:nth-child(even){
  display:block;
  min-height:0;
  background:#f5f8fb;
}
.company-locations-page .location-list article:nth-child(even) figure{
  order:0;
}
.company-locations-page .location-list figure{
  height:320px;
}
.company-locations-page .location-list article>div{
  min-height:245px;
  padding:32px 34px 38px;
}
.company-locations-page .location-list b{
  display:inline-grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:50%;
  color:#fff;
  background:var(--blue);
  font:700 13px var(--sans-en);
}
.company-locations-page .location-list h3{
  display:inline-block;
  margin:0 0 10px 14px;
  vertical-align:middle;
}
.company-locations-page .location-list article p{
  margin-top:22px;
  color:var(--muted);
}
@media(max-width:900px){
  .domestic-network-layout{grid-template-columns:1fr;gap:36px}
  .domestic-network-layout figure{grid-row:1;height:auto;aspect-ratio:16/9}
  .company-locations-page .location-list>div{grid-template-columns:1fr}
}
@media(max-width:767px){
  .company-locations-page .domestic-network{padding:68px 24px}
  .company-locations-page .domestic-network>header h2{font-size:28px}
  .domestic-network-layout{margin-top:34px}
  .domestic-network-layout li{grid-template-columns:42px 1fr;gap:12px;padding:18px 0}
  .domestic-network-layout li>b{width:34px;height:34px;font-size:12px}
  .domestic-network-layout h3{font-size:17px}
  .domestic-network-layout address{font-size:13px}
  .company-locations-page .location-list figure{height:230px}
  .company-locations-page .location-list article>div{min-height:0;padding:26px 24px 30px}
  .company-locations-page .location-list h3{font-size:21px}
}

/* Locations page — brochure-verified production equipment. */
.company-locations-page .facility-grid{
  padding:100px var(--cd-pad);
  background:#f5f8fb;
}
.company-locations-page .facility-grid>header>p:first-child{
  margin:0 0 20px;
  color:var(--blue);
  font:700 12px var(--sans-en);
  letter-spacing:.09em;
}
.company-locations-page .facility-grid>header>p:last-child{
  max-width:760px;
  margin:18px 0 0;
  color:var(--muted);
}
.company-locations-page .facility-grid>div{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  margin-top:46px;
}
.company-locations-page .facility-grid article{
  min-height:300px;
  padding:34px 38px 38px;
  border-top:2px solid var(--blue);
}
.company-locations-page .facility-grid article>b{
  color:var(--blue);
  font:500 22px var(--serif-en);
}
.company-locations-page .facility-grid h3{
  margin:20px 0 18px;
  font-size:24px;
}
.company-locations-page .facility-grid ul{
  margin:0;
  padding:0;
  list-style:none;
  color:var(--muted);
}
.company-locations-page .facility-grid li{
  position:relative;
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:7px 0 7px 18px;
  border-top:1px solid var(--line);
}
.company-locations-page .facility-grid li:before{
  content:"";
  position:absolute;
  top:1.25em;
  left:2px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--blue);
}
.company-locations-page .facility-grid li small{
  display:inline-block;
  margin-left:8px;
  color:var(--blue);
  font-size:11px;
}
.company-locations-page .facility-grid li strong{
  flex:0 0 auto;
  color:var(--text);
  font-size:14px;
  font-weight:500;
}
.company-locations-page .facility-grid-note{
  margin:20px 0 0;
  color:var(--muted);
  font-size:12px;
}
@media(max-width:767px){
  .company-locations-page .facility-grid{padding:68px 24px}
  .company-locations-page .facility-grid>div{grid-template-columns:1fr;margin-top:34px}
  .company-locations-page .facility-grid article{min-height:0;padding:28px 24px 30px}
  .company-locations-page .facility-grid h3{margin-top:14px;font-size:21px}
  .company-locations-page .facility-grid li small{display:block;margin:2px 0 0}
  .company-locations-page .facility-grid li{gap:12px}
}

/* Locations page — map-only overseas network with concise information cards. */
.company-locations-page .overseas-locations{
  display:block;
  padding:100px var(--cd-pad);
  background:#fff;
}
.company-locations-page .overseas-locations>header>p{
  margin:0 0 20px;
  color:var(--blue);
  font:700 12px var(--sans-en);
  letter-spacing:.09em;
}
.company-locations-page .overseas-locations>header h2{
  margin:0;
  font:500 clamp(34px,3.6vw,52px)/1.55 var(--serif-jp);
  letter-spacing:.06em;
}
.overseas-map{
  position:relative;
  width:min(100%,1180px);
  margin:48px auto 0;
  overflow:hidden;
  aspect-ratio:16/9;
  background:#fff;
}
.company-detail-page .overseas-map img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.overseas-map-marker{
  position:absolute;
  z-index:1;
  display:grid;
  place-items:center;
  width:clamp(28px,2.25vw,38px);
  aspect-ratio:1;
  transform:translate(-50%,-50%);
  border:2px solid #fff;
  border-radius:50%;
  color:#fff;
  background:var(--blue);
  box-shadow:0 2px 8px rgba(0,61,142,.18);
  font:700 clamp(10px,.8vw,13px)/1 var(--sans-en);
}
.overseas-map-marker--01{left:24.40%;top:44%}
.overseas-map-marker--02{left:68.06%;top:57.28%}
.overseas-location-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  width:min(100%,1180px);
  margin:0 auto;
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.overseas-location-cards article{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:22px;
  min-height:190px;
  padding:34px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.overseas-location-cards article>b{
  color:var(--blue);
  font:400 34px/1 var(--serif-en);
}
.overseas-location-cards article p{
  margin:0 0 10px;
  color:var(--blue);
  font:700 11px var(--sans-en);
  letter-spacing:.09em;
}
.overseas-location-cards h3{
  margin:0;
  font:500 clamp(16px,1.55vw,21px)/1.55 var(--serif-jp);
  letter-spacing:.025em;
}
.overseas-location-cards span{
  display:inline-block;
  margin-top:22px;
  padding:7px 15px;
  border:1px solid #9fb8d5;
  color:var(--muted);
  font-size:13px;
}
@media(max-width:767px){
  .company-locations-page .overseas-locations{padding:68px 24px}
  .company-locations-page .overseas-locations>header h2{font-size:28px}
  .overseas-map{margin-top:32px}
  .overseas-location-cards{grid-template-columns:1fr}
  .overseas-location-cards article{grid-template-columns:54px 1fr;gap:12px;min-height:0;padding:24px 20px}
  .overseas-location-cards article>b{font-size:28px}
  .overseas-location-cards h3{font-size:16px}
}

/* Technology process list: no substitute imagery when an approved photo is unavailable. */
.technology-page .process-cards--text-only > div {
  grid-template-columns: auto minmax(0, 1fr);
  align-content: center;
  min-height: 64px;
}

.technology-page .process-cards--text-only strong {
  align-self: center;
  line-height: 1.5;
}

@media(max-width:767px) {
  .technology-page .process-cards--text-only {
    gap: 0;
    padding-top: 8px;
    padding-bottom: 8px;
  }

  .technology-page .process-cards--text-only > div,
  .technology-page .process-cards--text-only > div:first-child,
  .technology-page .process-cards--text-only > div:last-child {
    grid-template-columns: 48px minmax(0, 1fr);
    grid-template-rows: auto;
    align-items: center;
    min-height: 68px;
    padding: 14px 0;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .technology-page .process-cards--text-only > div:last-child {
    border-bottom: 0;
  }

  .technology-page .process-cards--text-only b,
  .technology-page .process-cards--text-only strong {
    grid-column: auto;
    margin-top: 0;
  }
}

.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.contact-form-notice{max-width:1100px;margin:0 auto 32px;padding:18px 22px;border:1px solid #b7c7d9;background:#f4f8fc}.contact-form-notice.is-success{border-color:#7ab58b;background:#f1faf3}.contact-form-notice.is-error{border-color:#d58a8a;background:#fff5f5}
.contact-input-step[hidden],.contact-confirm-step[hidden]{display:none!important}.contact-confirm-step{max-width:1100px;margin:0 auto;padding:clamp(36px,5vw,72px);border:1px solid #aec8e7;background:#fff}.contact-confirm-step>header{text-align:center}.contact-confirm-step>header h2{margin:0;font:500 clamp(28px,3vw,42px)/1.5 var(--serif-jp)}.contact-confirm-step>header p{margin:14px 0 38px;color:var(--muted)}.contact-confirm-list{margin:0;border-top:1px solid var(--line)}.contact-confirm-list>div{display:grid;grid-template-columns:minmax(180px,30%) 1fr;border-bottom:1px solid var(--line)}.contact-confirm-list dt{padding:20px 24px;background:#f5f9fd;font-weight:700}.contact-confirm-list dd{margin:0;padding:20px 28px;white-space:pre-wrap;overflow-wrap:anywhere}.contact-confirm-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:18px;margin-top:42px}.contact-confirm-actions .button{width:100%;min-height:64px}.contact-edit-button{color:var(--navy);background:#fff}.contact-confirm-step>small{display:block;margin-top:16px;color:var(--muted);text-align:center}
@media(max-width:767px){.contact-confirm-step{padding:32px 18px}.contact-confirm-step>header p{margin-bottom:28px}.contact-confirm-list>div{grid-template-columns:1fr}.contact-confirm-list dt{padding:12px 15px}.contact-confirm-list dd{padding:14px 15px}.contact-confirm-actions{grid-template-columns:1fr;margin-top:30px}.contact-edit-button{order:2}.contact-send-button{order:1}}

/* Brand color refresh */
:root{--brand-pale:#D9EFFA;--brand-sky:#8CC8E7;--brand-blue:#559ED3;--brand-gradient:none;--navy:#559ED3;--deep:#559ED3;--blue:#559ED3;--soft:#f4faff}
.sidebar,footer,.menu-toggle,.mobile-header{background:#559ED3;background-image:none}
.button,.contact-consent .button,.contact-confirm-actions .contact-send-button{background:#559ED3;background-image:none;border-color:#559ED3;color:#fff}
.news-pagination button.is-active,.news-pagination button:hover,.news-page .page-numbers.current,.news-page a.page-numbers:hover,.pdf-map-list>button:hover,.pdf-map-list>button:focus-visible,.pdf-map-list>button.is-active{background:#559ED3;background-image:none;border-color:#559ED3;color:#fff}
.button:hover{filter:saturate(1.08) brightness(.97)}
.button-outline{background:rgba(85,158,211,.18);background-image:none;border-color:rgba(255,255,255,.88)}
.contact-edit-button{color:#2f6f9f;background:#fff;border-color:#8CC8E7}
.tag,.news-archive-list>a>span{border-color:#8CC8E7;color:#2f6f9f;background:#f7fcff}
.news-single .entry-content blockquote,.contact-confirm-list dt{border-color:#559ED3;background:#D9EFFA}
.news-year-tabs button:after{background:#559ED3}
.pdf-map-marker{background:#559ED3}.pdf-map-marker:hover,.pdf-map-marker:focus-visible,.pdf-map-marker.is-active{background:#438dbc}
.corporate-home .hero-actions .button-outline{color:#3f7398;background:#fff;background-image:none;border-color:#fff;box-shadow:0 8px 24px rgba(34,87,125,.12)}
.development-detail-page .development-detail-hero-image img{object-position:center top}
.corporate-home .hero-actions .button-outline:hover{filter:none}

/* Environmental policy */
.environment-page{--env-pad:clamp(44px,6vw,88px);overflow:hidden;background:#fff}.environment-label{margin:0;color:var(--blue);font:700 12px/1.5 var(--sans-en);letter-spacing:.12em}.environment-hero{position:relative;display:grid;grid-template-columns:45% 55%;min-height:590px;background:#f5fbfe}.environment-breadcrumb{position:absolute;z-index:3;inset:0 0 auto;display:flex;align-items:center;gap:10px;height:58px;padding:0 var(--env-pad);color:#6b7888;font-size:12px}.environment-hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:100px var(--env-pad) 70px}.environment-hero-copy>p{margin:0 0 22px;color:var(--blue);font:700 12px var(--sans-en);letter-spacing:.12em}.environment-hero h1{margin:0;font:500 clamp(44px,4.5vw,68px)/1.45 var(--serif-jp);letter-spacing:.07em}.environment-hero h2{margin:38px 0 0;font:500 clamp(22px,2.2vw,32px)/1.85 var(--serif-jp);letter-spacing:.04em}.environment-hero-image{position:relative;margin:0;overflow:hidden}.environment-hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f5fbfe 0%,rgba(245,251,254,.7) 16%,transparent 45%),linear-gradient(180deg,transparent 55%,rgba(85,158,211,.2))}.environment-hero-image img{width:100%;height:100%;min-height:590px;object-fit:cover;object-position:center}.environment-intro{max-width:1180px;margin:auto;padding:clamp(92px,9vw,140px) var(--env-pad);text-align:center}.environment-intro h2{margin:26px 0 34px;font:500 clamp(30px,3.2vw,48px)/1.75 var(--serif-jp);letter-spacing:.05em}.environment-intro>p:last-child{max-width:820px;margin:0 auto;color:var(--muted);font-size:16px;line-height:2.2}.environment-policy{padding:clamp(86px,8vw,128px) var(--env-pad);background:#eef8fd}.environment-policy>header,.environment-policy>ol,.environment-policy-note{max-width:1120px;margin-left:auto;margin-right:auto}.environment-policy>header{display:flex;align-items:end;justify-content:space-between;padding-bottom:28px;border-bottom:1px solid #b9d8e8}.environment-policy h2{margin:0;font:500 clamp(34px,3.5vw,50px)/1.5 var(--serif-jp)}.environment-policy ol{margin-top:0;margin-bottom:0;padding:0;list-style:none}.environment-policy li{display:grid;grid-template-columns:92px 1fr;gap:24px;padding:28px 0;border-bottom:1px solid #c8e0ec}.environment-policy li span{color:var(--blue);font:400 24px var(--serif-en)}.environment-policy li p{margin:0;line-height:2}.environment-policy-note{margin-top:70px;padding:clamp(34px,4vw,58px);background:#fff}.environment-policy-note h3{margin:0 0 24px;font:500 clamp(23px,2.4vw,32px)/1.7 var(--serif-jp)}.environment-policy-note>p{margin:0 0 18px;color:var(--muted);line-height:2}.environment-policy-note>div{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:34px}.environment-policy-note a{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border:1px solid #8CC8E7;color:#376f94;font-weight:700}.environment-policy-note a:hover{color:#fff;background:#559ED3}
@media(max-width:767px){.environment-page{--env-pad:24px}.environment-hero{grid-template-columns:1fr;min-height:0}.environment-hero-copy{padding:100px 24px 58px}.environment-hero h1{font-size:38px}.environment-hero h2{margin-top:26px;font-size:23px}.environment-hero-image{height:62vw;min-height:270px}.environment-hero-image:after{background:linear-gradient(180deg,#f5fbfe 0%,rgba(245,251,254,.18) 30%,rgba(85,158,211,.18))}.environment-hero-image img{min-height:0;height:100%}.environment-intro{text-align:left}.environment-intro h2{font-size:29px}.environment-intro h2 br{display:none}.environment-policy>header{display:block}.environment-policy h2{margin-top:12px;font-size:32px}.environment-policy li{grid-template-columns:56px 1fr;gap:12px;padding:22px 0}.environment-policy li span{font-size:20px}.environment-policy li p{font-size:14px}.environment-policy-note{margin-top:48px;padding:28px 20px}.environment-policy-note>div{grid-template-columns:1fr}.environment-policy-note a{font-size:13px}}
.environment-sdgs{padding:clamp(92px,9vw,140px) var(--env-pad);background:#fff}.environment-sdgs-intro{display:grid;grid-template-columns:1fr minmax(280px,.65fr);align-items:center;gap:clamp(50px,8vw,120px);max-width:1120px;margin:auto}.environment-sdgs-intro h2{margin:18px 0 26px;font:500 clamp(34px,3.5vw,50px)/1.55 var(--serif-jp)}.environment-sdgs-intro p:last-child{margin:0;color:var(--muted);line-height:2}.environment-sdgs-intro figure{margin:0}.environment-sdgs-intro img{width:100%;height:auto}.environment-sdgs-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;max-width:1120px;margin:72px auto 0;background:#cfe5f0;border:1px solid #cfe5f0}.environment-sdgs-grid article{display:flex;flex-direction:column;align-items:flex-start;gap:22px;min-width:0;padding:clamp(30px,4vw,46px);background:#fff}.environment-sdgs-number{display:flex;align-items:flex-start;gap:16px;width:100%}.environment-sdgs-number span{flex:0 0 auto;padding-top:4px;color:var(--blue);font:400 18px var(--serif-en)}.environment-sdgs-number h3{max-width:18em;margin:0;font:500 clamp(20px,1.8vw,25px)/1.65 var(--serif-jp)}.environment-sdgs-icons{display:grid;grid-template-columns:repeat(2,96px);justify-content:start;margin-left:34px}.environment-sdgs-icons img{display:block;width:96px;height:96px;object-fit:cover}.environment-sdgs-grid article>p{margin:2px 0 0 34px;color:var(--muted);font-size:14px;line-height:2}.environment-sdgs-grid article:nth-child(3n+2){background:#f6fbfe}
@media(max-width:900px){.environment-sdgs-intro{grid-template-columns:1fr}.environment-sdgs-intro figure{width:min(360px,70%)}.environment-sdgs-grid{grid-template-columns:1fr}}
@media(max-width:767px){.environment-sdgs{padding:76px 24px}.environment-sdgs-intro h2{font-size:32px}.environment-sdgs-intro figure{width:100%}.environment-sdgs-grid{margin-top:48px}.environment-sdgs-grid article{padding:28px 20px}.environment-sdgs-number h3{font-size:21px}.environment-sdgs-icons,.environment-sdgs-grid article>p{margin-left:32px}.environment-sdgs-icons{grid-template-columns:repeat(2,72px)}.environment-sdgs-icons img{width:72px;height:72px}}

.environment-carbon{padding:clamp(92px,9vw,150px) var(--env-pad);background:#f5fafd}.environment-carbon-intro{max-width:780px;margin:0 auto 86px;text-align:center}.environment-carbon-intro h2{margin:18px 0 28px;font:500 clamp(38px,4.2vw,60px)/1.45 var(--serif-jp)}.environment-carbon-intro>p:last-child{margin:0;color:var(--muted);line-height:2.1}.environment-carbon-system{display:grid;grid-template-columns:minmax(280px,.7fr) 1fr;gap:clamp(50px,7vw,100px);align-items:center;max-width:1120px;margin:auto;padding:clamp(40px,6vw,72px);background:#fff}.environment-carbon-system-copy>span{color:var(--blue);font:500 12px/1 var(--sans);letter-spacing:.18em}.environment-carbon-system-copy h3{margin:20px 0 24px;font:500 clamp(26px,3vw,38px)/1.55 var(--serif-jp)}.environment-carbon-system-copy p{margin:0;color:var(--muted);font-size:14px;line-height:2}.environment-carbon-system figure{margin:0}.environment-carbon-system img{display:block;width:100%;height:auto}.environment-carbon-goal{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(24px,5vw,70px);max-width:1120px;margin:1px auto 0;padding:38px clamp(28px,5vw,68px);color:#fff;background:var(--blue)}.environment-carbon-goal p{margin:0;font-size:13px;letter-spacing:.12em}.environment-carbon-goal strong{font:500 clamp(22px,2.3vw,32px)/1.5 var(--serif-jp)}.environment-carbon-goal strong em{font-style:normal}.environment-carbon-goal span{font:500 clamp(26px,3vw,42px) var(--serif-jp)}.environment-carbon-cases{max-width:1120px;margin:clamp(90px,10vw,150px) auto 0}.environment-carbon-cases>header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:54px}.environment-carbon-cases>header h3{margin:18px 0 0;font:500 clamp(32px,3.5vw,48px)/1.5 var(--serif-jp)}.environment-carbon-case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.environment-carbon-case-grid article{background:#fff}.environment-carbon-case-grid figure{display:flex;align-items:center;justify-content:center;aspect-ratio:16/7;margin:0;overflow:hidden;background:#fff}.environment-carbon-case-grid figure img{display:block;width:100%;height:100%;object-fit:contain}.environment-carbon-case-body{padding:30px}.environment-carbon-case-body>span{color:var(--blue);font-size:12px;letter-spacing:.15em}.environment-carbon-case-body h4{min-height:3.4em;margin:14px 0 16px;font:500 clamp(20px,1.8vw,25px)/1.7 var(--serif-jp)}.environment-carbon-case-body>p{min-height:8em;margin:0;color:var(--muted);font-size:13px;line-height:2}.environment-carbon-case-body>div{display:flex;align-items:baseline;gap:10px;margin-top:25px;padding-top:22px;border-top:1px solid #d8e6ed;color:var(--blue)}.environment-carbon-case-body strong{font:500 clamp(42px,4vw,58px)/1 var(--serif-en)}.environment-carbon-case-body small{font-size:12px}
@media(max-width:900px){.environment-carbon-system{grid-template-columns:1fr}.environment-carbon-system figure{max-width:620px}.environment-carbon-case-grid{grid-template-columns:1fr 1fr}.environment-carbon-case-grid article:last-child{grid-column:1/3}.environment-carbon-case-body>p{min-height:0}}
@media(max-width:767px){.environment-carbon{padding:76px 24px}.environment-carbon-intro{margin-bottom:52px;text-align:left}.environment-carbon-intro h2{font-size:32px}.environment-carbon-system{padding:32px 20px}.environment-carbon-system-copy h3{font-size:27px}.environment-carbon-goal{grid-template-columns:1fr auto;gap:16px;padding:28px 22px}.environment-carbon-goal p{grid-column:1/3}.environment-carbon-goal strong{font-size:21px}.environment-carbon-goal span{font-size:28px}.environment-carbon-cases{margin-top:76px}.environment-carbon-cases>header{display:block;margin-bottom:36px}.environment-carbon-cases>header h3{font-size:30px}.environment-carbon-case-grid{grid-template-columns:1fr}.environment-carbon-case-grid article:last-child{grid-column:auto}.environment-carbon-case-body{padding:26px 20px}.environment-carbon-case-body h4{min-height:0}.environment-carbon-case-body strong{font-size:46px}}

/* Company menu consolidation: six links stay on one row on desktop. */
.company-pdf-links>div,.corporate-home .company-links{grid-template-columns:repeat(6,minmax(0,1fr))}
.company-pdf-links a>span{font-size:clamp(10px,.85vw,16px);white-space:nowrap}
.corporate-home .company-links>a{padding-right:24px;padding-left:24px}
@media(max-width:1199px){.company-pdf-links>div,.corporate-home .company-links{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){.company-pdf-links>div,.corporate-home .company-links{grid-template-columns:repeat(2,minmax(0,1fr))}.company-pdf-links a>span{font-size:14px}}
@media(max-width:560px){.company-pdf-links>div,.corporate-home .company-links{grid-template-columns:1fr}.company-pdf-links a>span{white-space:normal}}

/* Product detail FV: match the white image fade used by other subpages. */
.pdf-product-hero figure{position:relative}
.pdf-product-hero figure:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.35) 13%,transparent 34%);pointer-events:none}
@media(max-width:900px){.pdf-product-hero figure:after{background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.12) 22%,transparent 48%)}}

/* Lower-page breadcrumbs belong to the first view, not a separate white row. */
.company-detail-hero,
.pdf-product-hero,
.reference-hero{position:relative}
.company-detail-breadcrumb,
.pdf-breadcrumb,
.reference-breadcrumb{
  position:absolute;
  z-index:4;
  top:0;
  right:0;
  left:0;
  display:flex;
  align-items:center;
  height:52px;
  min-height:0;
  padding:0 clamp(42px,6vw,90px);
}
.company-detail-breadcrumb{padding-right:var(--cd-pad);padding-left:var(--cd-pad)}
.pdf-breadcrumb{padding-right:clamp(42px,6vw,86px);padding-left:clamp(42px,6vw,86px)}
/* Keep the first FV label clear of the breadcrumb on denser hero variants. */
.company-history-page .history-pdf-hero>div:first-of-type{padding-top:92px}
.company-locations-page .company-detail-hero>div{padding-top:68px}
.pdf-product-jack .pdf-product-hero>div{padding-top:90px}
.company-history-page .history-future figure img{object-fit:contain;background:#fff}
@media(max-width:767px){
  .company-detail-breadcrumb,
  .pdf-breadcrumb,
  .reference-breadcrumb{height:46px;padding-right:24px;padding-left:24px}
  .company-history-page .history-pdf-hero>div:first-of-type{padding-top:80px}
  .company-locations-page .company-detail-hero>div{padding-top:60px}
}
@media(max-width:900px){
  .pdf-product-page .pdf-product-hero>div{padding-top:72px}
}

/* TOP technology: full-width title followed by copy/photo columns. */
#technology .technology-heading{
  width:100%;
  margin-bottom:clamp(42px,5vw,72px);
}
#technology .technology-heading h2{
  margin:0;
  font:400 clamp(46px,5.4vw,86px)/1 var(--serif-en);
  letter-spacing:.09em;
  white-space:nowrap;
}
#technology .technology-heading .jp-label{
  margin:24px 0 0;
  font-size:16px;
  font-weight:700;
}
#technology .split-feature{
  grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);
  align-items:start;
}
#technology .feature-copy h3{margin-top:0}
@media(max-width:1100px) and (min-width:768px){
  #technology .technology-heading h2{font-size:clamp(44px,7vw,70px)}
  #technology .split-feature{
    grid-template-columns:minmax(250px,.82fr) minmax(0,1.18fr);
    gap:clamp(32px,5vw,56px);
  }
}
@media(max-width:767px){
  #technology .technology-heading{margin-bottom:36px}
  #technology .technology-heading h2{
    font-size:clamp(32px,9.5vw,44px);
    letter-spacing:.055em;
  }
  #technology .technology-heading .jp-label{margin-top:16px;font-size:15px}
  #technology .split-feature{display:block}
}

/* Mobile drawer: keep the corporate mark visible at the top of the menu. */
@media(max-width:767px){
  .sidebar{
    padding-top:36px;
  }
  .sidebar .logo{
    display:block;
    width:156px;
    flex:0 0 auto;
  }
  .sidebar nav{
    margin-top:46px;
  }
}

/* TOP development steps: keep the number above the connecting rule without clipping it. */
.development-section .process-line span{
  position:relative;
  z-index:3;
  display:block;
  min-height:1.25em;
  padding:3px 14px 4px 0;
  line-height:1.25;
  transform:translateY(-50%);
}
.motion-ready .development-section .process-line[data-reveal="fade"].is-revealed{
  clip-path:none;
}
@media(max-width:767px){
  .development-section .process-line span{
    min-height:0;
    padding:0;
    line-height:1.4;
    transform:none;
  }
}

/* Page transition: simple right-to-left solid-color wipe. */
.first-visit-loader{
  position:fixed;
  z-index:10000;
  inset:0;
  display:grid;
  place-items:center;
  visibility:hidden;
  opacity:0;
  background:var(--brand-blue);
  pointer-events:none;
}
.first-visit-loader-content{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:18px;
  width:min(420px,82vw);
}
.first-visit-loader-mark{
  width:min(260px,58vw);
  padding:18px 0;
  overflow:hidden;
}
.first-visit-loader-mark img{
  display:block;
  width:100%;
  height:auto;
  opacity:0;
  transform:translateY(10px);
}
.first-visit-loader-content>p{
  margin:0;
  color:#fff;
  font:500 clamp(18px,1.725vw,22.5px)/1.8 var(--serif-jp);
  letter-spacing:.12em;
  text-align:center;
  text-wrap:balance;
  opacity:0;
  transform:none;
}
.first-visit-loader-content>p span{white-space:nowrap}
.first-visit-loader-copy-break{display:none}
@media(max-width:767px){
  .first-visit-loader-copy-break{display:block}
}
.first-visit-loading .first-visit-loader{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
  animation:first-visit-loader-out 700ms 2300ms ease-in-out forwards;
}
.first-visit-loading .first-visit-loader-mark img{
  animation:first-visit-logo-reveal 900ms 400ms cubic-bezier(.22,1,.36,1) both;
}
.first-visit-loading .first-visit-loader-content>p{
  animation:first-visit-copy-reveal 850ms 650ms ease-in-out both;
}
@keyframes first-visit-logo-reveal{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes first-visit-copy-reveal{
  from{opacity:0}
  to{opacity:1}
}
@keyframes first-visit-loader-out{
  to{visibility:hidden;opacity:0}
}
body:after{
  content:"";
  position:fixed;
  z-index:9999;
  inset:0;
  background:#559ed3;
  pointer-events:none;
  will-change:transform;
  transform:scaleX(0);
  transform-origin:left;
}
.page-transition-loading body:after{
  transform:scaleX(1);
  transform-origin:left;
  animation:page-wipe-fallback 0s 900ms forwards;
}
.page-transition-ready:not(.page-transition-loading) body:after{
  transform:scaleX(0);
  transform-origin:left;
  transition:transform 500ms ease-in-out;
}
.page-transition-ready.page-transition-leaving body{
  pointer-events:none;
}
.page-transition-ready.page-transition-leaving body:after{
  transform:scaleX(1);
  transform-origin:right;
  transition:transform 500ms ease-in-out;
}
@keyframes page-wipe-fallback{to{visibility:hidden}}
@media(prefers-reduced-motion:no-preference) and (prefers-reduced-motion:reduce){
  body:after,
  .page-transition-loading body:after,
  .page-transition-ready:not(.page-transition-loading) body:after,
  .page-transition-ready.page-transition-leaving body:after{
    visibility:hidden;
    animation:none;
    transition:none;
  }
  .first-visit-loading .first-visit-loader{
    visibility:visible;
    opacity:1;
    animation:none;
  }
  .first-visit-loading .first-visit-loader-mark img,
  .first-visit-loading .first-visit-loader-content>p{
    opacity:1;
    transform:none;
    animation:none;
  }
}

/* Button interaction: the inverted colour travels from left to right. */
.button.button,
.contact-consent .button,
.contact-confirm-actions .contact-send-button,
.development-detail-base .button,
.corporate-home .hero-actions .button-outline{
  --button-base-bg:#559ed3;
  --button-base-color:#fff;
  --button-hover-bg:#fff;
  --button-hover-color:#2f6f9f;
  background-color:var(--button-base-bg);
  background-image:linear-gradient(90deg,var(--button-hover-bg) 0 50%,var(--button-base-bg) 50% 100%);
  background-position:100% 0;
  background-size:200% 100%;
  color:var(--button-base-color);
  transition:background-position 420ms cubic-bezier(.22,.75,.24,1),color 180ms 90ms ease,border-color 320ms ease,transform 320ms cubic-bezier(.2,.72,.2,1),box-shadow 320ms ease;
}
.button:is(:hover,:focus-visible),
.contact-consent .button:is(:hover,:focus-visible),
.contact-confirm-actions .contact-send-button:is(:hover,:focus-visible),
.development-detail-base .button:is(:hover,:focus-visible),
.corporate-home .hero-actions .button-outline:is(:hover,:focus-visible){
  background-color:var(--button-base-bg);
  background-image:linear-gradient(90deg,var(--button-hover-bg) 0 50%,var(--button-base-bg) 50% 100%);
  background-position:0 0;
  color:var(--button-hover-color);
  filter:none;
}
.button-outline,
.button.tech-outline,
.development-detail-base .button,
.contact-edit-button,
.corporate-home .hero-actions .button-outline{
  --button-base-bg:#fff;
  --button-base-color:#2f6f9f;
  --button-hover-bg:#559ed3;
  --button-hover-color:#fff;
}
.button-outline:is(:hover,:focus-visible),
.button.tech-outline:is(:hover,:focus-visible),
.development-detail-base .button:is(:hover,:focus-visible),
.contact-edit-button:is(:hover,:focus-visible),
.corporate-home .hero-actions .button-outline:is(:hover,:focus-visible){
  border-color:#559ed3;
  color:var(--button-hover-color);
}

.news-year-tabs button,
.news-pagination button,
.pdf-map-list>button,
.pdf-lineup-tabs button,
.aluminum-vehicle-list>button,
.jack-vehicle-list>button,
.electrification-vehicle-list>button{
  --control-base-bg:#fff;
  --control-base-color:var(--text);
  --control-hover-bg:#559ed3;
  --control-hover-color:#fff;
  background-color:var(--control-base-bg);
  background-image:linear-gradient(90deg,var(--control-hover-bg) 0 50%,var(--control-base-bg) 50% 100%);
  background-position:100% 0;
  background-size:200% 100%;
  color:var(--control-base-color);
  transition:background-position 420ms cubic-bezier(.22,.75,.24,1),color 180ms 90ms ease,border-color 320ms ease,transform 250ms ease;
}
.news-year-tabs button:is(:hover,:focus-visible,.is-active),
.news-pagination button:is(:hover,:focus-visible,.is-active),
.pdf-map-list>button:is(:hover,:focus-visible,.is-active),
.pdf-lineup-tabs button:is(:hover,:focus-visible,.is-active),
.aluminum-vehicle-list>button:is(:hover,:focus-visible,.is-active),
.jack-vehicle-list>button:is(:hover,:focus-visible,.is-active),
.electrification-vehicle-list>button:is(:hover,:focus-visible,.is-active){
  background-color:var(--control-base-bg);
  background-image:linear-gradient(90deg,var(--control-hover-bg) 0 50%,var(--control-base-bg) 50% 100%);
  background-position:0 0;
  color:var(--control-hover-color);
  background-size:200% 100%;
  background-repeat:no-repeat;
  outline:none;
}
.pdf-map-list>button :is(b,i),
.pdf-lineup-tabs button b,
.aluminum-vehicle-list>button :is(b,i),
.jack-vehicle-list>button :is(b,i),
.electrification-vehicle-list>button :is(b,i){
  transition:color 180ms 90ms ease;
}

.pdf-map-marker{
  background-color:#559ed3;
  background-image:linear-gradient(90deg,#fff 0 50%,#559ed3 50% 100%);
  background-position:100% 0;
  background-size:200% 100%;
  transition:background-position 380ms cubic-bezier(.22,.75,.24,1),color 180ms 80ms ease,transform 250ms ease;
}
.pdf-map-marker:is(:hover,:focus-visible):not(.is-active){
  background-color:#559ed3;
  background-image:linear-gradient(90deg,#fff 0 50%,#559ed3 50% 100%);
  background-position:0 0;
  color:#2f6f9f;
  background-size:200% 100%;
  background-repeat:no-repeat;
}
.pdf-map-marker.is-active{
  background-color:#438dbc;
  background-image:none;
  color:#fff;
}

@media(max-width:1100px){
  .menu-toggle{
    background-color:#559ed3;
    background-image:linear-gradient(90deg,#fff 0 50%,#559ed3 50% 100%);
    background-position:100% 0;
    background-size:200% 100%;
    transition:background-position 380ms cubic-bezier(.22,.75,.24,1),color 180ms 80ms ease;
  }
  .menu-toggle>span{transition:background-color 180ms 80ms ease}
  .menu-toggle:is(:hover,:focus-visible){background-position:0 0;color:#2f6f9f;outline:2px solid #559ed3;outline-offset:2px}
  .menu-toggle:is(:hover,:focus-visible)>span{background:#2f6f9f}
}

@media(prefers-reduced-motion:no-preference) and (prefers-reduced-motion:reduce){
  .button,
  .news-year-tabs button,
  .news-pagination button,
  .pdf-map-marker,
  .pdf-map-list>button,
  .pdf-lineup-tabs button,
  .aluminum-vehicle-list>button,
  .jack-vehicle-list>button,
  .electrification-vehicle-list>button,
  .menu-toggle{
    transition:none;
  }
}

/* Navigation colour and full-screen mobile menu. */
.sidebar nav a{color:#fff;opacity:1}
.sidebar nav a .material-symbols-outlined,
.sidebar nav a.is-active .material-symbols-outlined{color:#fff;opacity:1}
@media(min-width:901px) and (hover:hover) and (pointer:fine){
  .sidebar nav a:hover{color:#fff;opacity:.58}
  .sidebar nav a:hover .material-symbols-outlined{color:#fff;opacity:.72}
}
@media(max-width:900px){
  body.menu-open{overflow:hidden}
  .sidebar{
    z-index:70;
    inset:0;
    width:100vw;
    max-width:none;
    height:100vh;
    height:100dvh;
    padding:clamp(30px,7vh,58px) clamp(28px,8vw,64px) 32px;
    visibility:hidden;
    pointer-events:none;
    transform:translate3d(-100%,0,0);
    transition:transform 520ms cubic-bezier(.76,0,.24,1),visibility 0s 520ms;
  }
  .menu-open .sidebar{
    visibility:visible;
    pointer-events:auto;
    transform:translate3d(0,0,0);
    transition:transform 520ms cubic-bezier(.76,0,.24,1),visibility 0s;
  }
  .sidebar .logo{
    display:block;
    width:min(180px,48vw);
    flex:0 0 auto;
    opacity:0;
    transform:translateY(-12px);
    transition:opacity 320ms ease,transform 420ms cubic-bezier(.22,1,.36,1);
  }
  .sidebar nav{margin-top:clamp(44px,9vh,78px)}
  .sidebar nav li{
    opacity:0;
    transform:translateX(-22px);
    transition:opacity 300ms ease,transform 440ms cubic-bezier(.22,1,.36,1);
  }
  .menu-open .sidebar .logo{opacity:1;transform:none;transition-delay:260ms}
  .menu-open .sidebar nav li{opacity:1;transform:none}
  .menu-open .sidebar nav li:nth-child(1){transition-delay:300ms}
  .menu-open .sidebar nav li:nth-child(2){transition-delay:345ms}
  .menu-open .sidebar nav li:nth-child(3){transition-delay:390ms}
  .menu-open .sidebar nav li:nth-child(4){transition-delay:435ms}
  .menu-open .sidebar nav li:nth-child(5){transition-delay:480ms}
  .menu-open .sidebar nav li:nth-child(6){transition-delay:525ms}
  .menu-open .sidebar nav li:nth-child(7){transition-delay:570ms}
  .sidebar nav a{min-height:46px;padding:8px 0;color:#fff;opacity:1}
  .side-tagline{
    opacity:0;
    transform:translateY(10px);
    transition:opacity 300ms ease,transform 400ms cubic-bezier(.22,1,.36,1);
  }
  .menu-open .side-tagline{opacity:.72;transform:none;transition-delay:600ms}
  .menu-backdrop,
  .menu-open .menu-backdrop{display:none}
  .menu-toggle{
    z-index:80;
    color:#fff;
    background-color:#559ed3;
    background-image:none;
    transition:background-color 260ms ease;
  }
  .menu-toggle>span{
    transform-origin:center;
    background:#fff;
    transition:transform 360ms cubic-bezier(.22,1,.36,1),opacity 220ms ease,background-color 220ms ease;
  }
  .menu-toggle>b{color:#fff;transition:opacity 220ms ease}
  .menu-toggle:is(:hover,:focus-visible){
    color:#fff;
    background-color:#559ed3;
    background-image:none;
    outline:1px solid rgba(255,255,255,.8);
    outline-offset:2px;
  }
  .menu-toggle:is(:hover,:focus-visible)>span{background:#fff}
  .menu-open .menu-toggle>span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-open .menu-toggle>span:nth-child(2){opacity:0;transform:scaleX(.2)}
  .menu-open .menu-toggle>span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}
@media(max-width:480px){
  .sidebar nav{margin-top:clamp(34px,7vh,56px)}
  .sidebar nav a{min-height:43px;font-size:16px}
}
@media(prefers-reduced-motion:no-preference) and (prefers-reduced-motion:reduce){
  .sidebar,
  .sidebar .logo,
  .sidebar nav li,
  .side-tagline,
  .menu-toggle>span{transition:none}
}

/* TOP section titles: keep every same-level English heading on one scale. */
.corporate-home{
  --top-section-title-size:clamp(54px,5.4vw,76px);
}
.corporate-home :is(
  .section-heading h2,
  #technology .technology-heading h2,
  .company-copy h2,
  .recruit-copy h2,
  .contact-cta h2
){
  font-size:var(--top-section-title-size);
  line-height:1;
  letter-spacing:.055em;
}
@media(max-width:900px){
  .corporate-home{--top-section-title-size:clamp(46px,6vw,54px)}
}
@media(max-width:560px){
  .corporate-home{--top-section-title-size:clamp(36px,10vw,42px)}
}

/* Technology integrated process: this block contains four verified steps. */
.technology-page .process-cards--text-only{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
@media(max-width:767px){
  .technology-page .process-cards--text-only{grid-template-columns:1fr}
}
.pdf-product-videos{padding:100px clamp(42px,6vw,86px)}
.pdf-product-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:45px}
.pdf-product-video-grid article{min-width:0}
.pdf-product-video-grid iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;border:0;background:#f7fbff}
.pdf-product-video-grid h3{margin:20px 0 8px;font:500 21px/1.7 var(--serif-jp)}
.pdf-product-video-grid p{margin:0 0 12px;color:var(--muted)}
.pdf-product-video-grid a{color:var(--blue);text-decoration:underline;text-underline-offset:.25em}
@media(max-width:900px){.pdf-product-videos{padding:70px 24px}.pdf-product-video-grid{grid-template-columns:1fr}}
@media(max-width:767px){.pdf-product-videos{padding-top:68px;padding-bottom:68px}}
.environment-carbon-case-body>.environment-carbon-result{flex-wrap:wrap}
.environment-carbon-result>span{flex-basis:100%;font-size:13px;line-height:1.8}
.environment-carbon-case-grid article{display:flex;flex-direction:column}
.environment-carbon-case-body{display:flex;flex:1;flex-direction:column}
.environment-carbon-case-body>p{flex:1}

/* Mobile global rhythm and type cap (2026-09-07).
   Keep section breathing room consistent without changing composed image/hero blocks. */
@media(max-width:767px){
  /* Standard content sections sit within the requested 60–80px range. */
  .site-main>.contact-cta,
  .corporate-home .contact-cta,
  .reference-detail>.contact-cta,
  .pdf-product-page>.contact-cta,
  .news-page>.contact-cta,
  .company-pdf-page>.contact-cta{
    padding-top:72px;
    padding-bottom:72px;
  }
  .environment-intro,
  .environment-policy{
    padding-top:72px;
    padding-bottom:72px;
  }
  .technology-page .process-section,
  .contact-page .contact-form-section{
    padding-top:68px;
  }
  .company-page .company-pdf-recruit{
    padding-top:60px;
    padding-bottom:60px;
  }

  /* Preserve the hierarchy while limiting all prominent mobile display type to 32px. */
  .corporate-home{--top-section-title-size:32px}
  .corporate-home .hero h1,
  .technology-page .tech-hero h1,
  .company-page .company-hero-copy h1,
  .company-detail-page .company-detail-hero h1,
  .development-detail-page .development-detail-hero-copy h1,
  .disaster-page .disaster-hero-copy h1,
  .products-overview .products-overview-hero-copy h1,
  .product-page .product-hero h1,
  .aluminum-page .aluminum-hero-copy h1,
  .jack-page .jack-hero-copy h1,
  .reference-detail .reference-hero h1,
  .pdf-product-page .pdf-product-hero h1,
  .contact-page .contact-hero h1,
  .news-page .news-hero h1,
  .site-main>.sub-hero h1,
  .environment-page .environment-hero h1{
    font-size:32px;
  }
  .philosophy-statement h2,
  .company-pdf-philosophy-title h2,
  .company-history-page .history-timeline time,
  .company-history-page .history-year-range,
  .environment-carbon-case-body strong{
    font-size:32px;
  }
}

/* Mobile section boundaries are measured from visible content edge to visible
   content edge. Adjacent sections contribute 32px each, leaving room for
   first/last-line spacing while keeping the real interval within 80px. */
@media(max-width:767px){
  .site-main>.section,
  .corporate-home>.company-section,
  .technology-page>.tech-block,
  .technology-page>.process-section,
  .development-detail-page>.development-detail-section,
  .development-detail-page>.development-detail-production,
  .products-overview>.product-block,
  .pdf-product-page>.pdf-product-map,
  .pdf-product-page>.pdf-product-lineup,
  .pdf-product-page>.pdf-product-manufacturing,
  .pdf-product-page>.pdf-product-videos,
  .pdf-product-page>.product-category-links,
  .company-page>.company-pdf-intro,
  .company-page>.company-pdf-philosophy,
  .company-page>.company-pdf-products,
  .company-page>.company-pdf-profile,
  .company-page>.company-verified-details,
  .company-page>.company-pdf-locations,
  .company-page>.company-pdf-history,
  .company-page>.company-pdf-links,
  .company-page>.company-pdf-recruit,
  .company-detail-page>.philosophy-statement,
  .company-detail-page>.philosophy-origin,
  .company-detail-page>.domestic-network,
  .company-detail-page>.location-list,
  .company-detail-page>.facility-grid,
  .company-detail-page>.overseas-locations,
  .company-detail-page>.history-intro,
  .company-detail-page>.history-timeline,
  .company-detail-page>.history-future,
  .company-detail-page>.company-pdf-links,
  .environment-page>.environment-intro,
  .environment-page>.environment-policy,
  .environment-page>.environment-sdgs,
  .environment-page>.environment-carbon,
  .environment-page>.company-pdf-links,
  .contact-page>.contact-form-section,
  .privacy-page>.privacy-content,
  .news-page>.news-index{
    padding-top:32px;
    padding-bottom:32px;
  }

  .site-main>section+section{
    margin-top:0;
  }

  /* The legacy `.pdf-product-lineup > div` rule adds 45px before every
     direct child. The interactive heading is the section's first content and
     must not stack that margin on top of the section boundary. */
  .pdf-interactive-lineup>.pdf-lineup-heading{
    margin-top:0;
  }

  /* This is the final line in the statement section; its desktop closing
     margin otherwise stacks with both section paddings. */
  .philosophy-statement>h3:last-child{
    margin-bottom:0;
  }

  /* TOP has an inner `.section` in COMPANY and an extra closing pad on the
     final DEVELOPMENT step. Keep their combined visible text interval at 80px. */
  .corporate-home .development-section .process-line>div:last-child{
    padding-bottom:16px;
  }
  .corporate-home .company-section>.company-copy{
    padding-top:0;
  }

  .technology-page .tech-intro .tech-points>div:last-child{
    padding-bottom:13px;
  }

  /* These inner layouts inherit block padding from older broad selectors.
     Their parent sections already provide the mobile boundary spacing. */
  .pdf-interactive-map>.pdf-map-layout{
    padding-top:0;
    padding-bottom:0;
  }
  .pdf-interactive-map>.pdf-map-heading{
    padding-top:0;
    padding-bottom:0;
  }
  .pdf-product-intro.is-text-only>div{
    padding-bottom:32px;
  }
  .pdf-product-intro.is-text-only>div>p:last-child,
  .company-pdf-profile dl{
    margin-bottom:0;
  }
  .pdf-product-lineup>p:first-child{
    margin-top:0;
  }
  .company-history-page .history-timeline li:last-child{
    padding-bottom:16px;
  }

  /* These blocks are one continuous composition; keep the joined edge flush. */
  .technology-page>.process-section,
  .technology-page>.prototype-section{
    padding-bottom:0;
  }
  .products-overview>.products-overview-grid,
  .company-history-page>.history-timeline{
    padding-top:0;
  }
}

/* TOP COMPANY mobile rows: each arrow belongs to its own link. */
@media(max-width:767px){
  .corporate-home .company-links>a{
    position:relative;
    padding:22px 58px 22px 24px;
  }
  .corporate-home .company-links>a>b{
    position:absolute;
    top:50%;
    right:24px;
    margin:0;
    transform:translateY(-50%);
  }
}

/* TOP RECRUIT mobile: keep both faces clear and fade only into the copy area. */
@media(max-width:767px){
  .corporate-home .recruit-section::after{
    background:linear-gradient(
      180deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,0) 40%,
      rgba(255,255,255,.18) 50%,
      rgba(255,255,255,.78) 58%,
      #fff 66%
    );
  }
}

/* MW WP Form confirmation and completion pages.
   These child pages use the generic page template, so their styles cannot rely
   on the `.contact-mwform` wrapper from the input page. */
.contact-flow-page{
  padding:clamp(64px,7vw,110px) clamp(32px,6vw,90px) clamp(80px,8vw,128px);
  background:linear-gradient(145deg,#f6fafd 0%,#edf6fc 100%);
}
.contact-flow-content{
  width:min(100%,1000px);
  max-width:1000px;
  margin:0 auto;
  padding:clamp(38px,5vw,72px);
  border-top:4px solid #559ed3;
  background:#fff;
  box-shadow:0 20px 55px rgba(31,78,115,.09);
}
.contact-flow-content::before{
  content:"CONTACT";
  display:block;
  margin-bottom:14px;
  color:var(--blue);
  font:700 12px/1.5 var(--sans-en);
  letter-spacing:.12em;
}
.contact-flow-content>h1{
  margin:0;
  color:var(--text);
  font:500 clamp(34px,4vw,52px)/1.45 var(--serif-jp);
  letter-spacing:.07em;
}
.contact-flow-content>h1::after{
  content:"";
  display:block;
  width:48px;
  height:2px;
  margin:22px 0 32px;
  background:#559ed3;
}
.contact-flow-content>h2:first-of-type{
  display:none;
}
.contact-flow-content>p,
.contact-flow-content>.mw_wp_form_complete,
.contact-flow-content>.mw_wp_form_complete p{
  color:var(--muted);
  font-size:16px;
  line-height:2;
}
.contact-flow-content>p{
  margin:0 0 24px;
}
.contact-flow-page .mw_wp_form{
  margin-top:38px;
}
.contact-flow-page .formbox table{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
  background:#fff;
}
.contact-flow-page .formbox tr{
  border:1px solid var(--line);
}
.contact-flow-page .formbox th{
  width:260px;
  padding:22px 24px;
  color:var(--text);
  background:#f3f8fc;
  font-weight:700;
  text-align:left;
  vertical-align:top;
}
.contact-flow-page .formbox td{
  padding:22px 28px;
  border-left:1px solid var(--line);
  color:var(--text);
  vertical-align:top;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.contact-flow-page .formbox .req{
  display:inline-block;
  margin-left:8px;
  padding:2px 7px;
  color:#fff;
  background:#559ed3;
  font-size:10px;
  line-height:1.5;
}
.contact-flow-page .formbox .rst{
  display:grid;
  gap:9px;
  margin:0;
  padding:0;
  list-style:none;
}
.contact-flow-page .formbox .rst li{
  margin:0;
}
.contact-flow-page .formbox .remail{
  margin:12px 0 6px;
  color:var(--muted);
  font-size:12px;
}
.contact-flow-page .mw_wp_form_confirm .req,
.contact-flow-page .mw_wp_form_confirm .orange,
.contact-flow-page .mw_wp_form_confirm .agree,
.contact-flow-page .mw_wp_form_confirm .remail{
  display:none;
}
.contact-flow-page .btn_confirm{
  display:grid;
  grid-template-columns:1fr 1.25fr;
  gap:16px;
  max-width:680px;
  margin:38px auto 0;
}
.contact-flow-page .btn_confirm .btn_submit{
  margin:0;
  text-align:center;
}
.contact-flow-page input[type=submit],
.contact-flow-page input[type=button],
.contact-flow-page button{
  width:100%;
  min-height:60px;
  margin:0;
  padding:15px 24px;
  border:1px solid #559ed3;
  border-radius:0;
  color:#fff;
  background:#559ed3;
  font-size:15px;
  font-weight:700;
  line-height:1.5;
  transition:background-color .25s,color .25s,transform .25s,box-shadow .25s;
}
.contact-flow-page input[type=submit]:hover,
.contact-flow-page input[type=submit]:focus-visible,
.contact-flow-page input[type=button]:hover,
.contact-flow-page input[type=button]:focus-visible,
.contact-flow-page button:hover,
.contact-flow-page button:focus-visible{
  color:#2f6f9f;
  background:#fff;
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(31,78,115,.12);
  outline:2px solid transparent;
}
.contact-flow-page input[name=submitBack],
.contact-flow-page input.btn_back,
.contact-flow-page .reedit input{
  color:#2f6f9f;
  background:#fff;
  border-color:#8cc8e7;
}
.contact-flow-page input[name=submitBack]:hover,
.contact-flow-page input[name=submitBack]:focus-visible,
.contact-flow-page input.btn_back:hover,
.contact-flow-page input.btn_back:focus-visible,
.contact-flow-page .reedit input:hover,
.contact-flow-page .reedit input:focus-visible{
  color:#fff;
  background:#559ed3;
}
.contact-flow-thanks .contact-flow-content{
  max-width:880px;
}
.contact-flow-thanks .contact-flow-content>p,
.contact-flow-thanks .mw_wp_form_complete{
  max-width:720px;
}
.contact-flow-thanks .contact-flow-content>p:last-child,
.contact-flow-thanks .mw_wp_form_complete p:last-child{
  margin-bottom:0;
}

@media(max-width:900px){
  .contact-flow-page{
    padding-right:32px;
    padding-left:32px;
  }
  .contact-flow-content{
    padding:40px 32px;
  }
  .contact-flow-page .formbox table,
  .contact-flow-page .formbox tbody,
  .contact-flow-page .formbox tr,
  .contact-flow-page .formbox th,
  .contact-flow-page .formbox td{
    display:block;
    width:100%;
  }
  .contact-flow-page .formbox tr{
    border-bottom:0;
  }
  .contact-flow-page .formbox tr:last-child{
    border-bottom:1px solid var(--line);
  }
  .contact-flow-page .formbox th{
    padding:16px 18px;
  }
  .contact-flow-page .formbox td{
    padding:18px;
    border-top:1px solid var(--line);
    border-left:0;
  }
  .contact-flow-page .btn_confirm{
    grid-template-columns:1fr;
  }
  .contact-flow-page .btn_confirm .reedit{
    order:2;
  }
}

@media(max-width:767px){
  .contact-flow-page{
    padding:100px 20px 72px;
  }
  .contact-flow-content{
    padding:32px 20px;
  }
  .contact-flow-content::before{
    margin-bottom:10px;
  }
  .contact-flow-content>h1{
    font-size:30px;
  }
  .contact-flow-content>h1::after{
    margin:18px 0 26px;
  }
  .contact-flow-content>p,
  .contact-flow-content>.mw_wp_form_complete,
  .contact-flow-content>.mw_wp_form_complete p{
    font-size:15px;
    line-height:1.9;
  }
  .contact-flow-page .mw_wp_form{
    margin-top:28px;
  }
  .contact-flow-page .formbox th,
  .contact-flow-page .formbox td{
    padding:15px;
  }
  .contact-flow-page .btn_confirm{
    margin-top:28px;
  }
}

/* 404 */
.error-page{
  position:relative;
  overflow:hidden;
  background:linear-gradient(145deg,#f6fafd 0%,#e8f3fb 100%);
}
.error-page::before{
  content:"";
  position:absolute;
  right:-11vw;
  bottom:-24vw;
  width:min(66vw,880px);
  aspect-ratio:1;
  border:1px solid rgba(85,158,211,.22);
  border-radius:50%;
  box-shadow:0 0 0 90px rgba(85,158,211,.045),0 0 0 180px rgba(85,158,211,.025);
  pointer-events:none;
}
.error-section{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(480px,1fr);
  align-items:center;
  gap:clamp(48px,7vw,110px);
  width:min(100%,1180px);
  margin:0 auto;
  padding:clamp(88px,9vw,150px) clamp(40px,6vw,88px) clamp(104px,10vw,168px);
}
.error-code{
  margin:0;
  color:rgba(85,158,211,.17);
  font:400 clamp(150px,18vw,286px)/.8 var(--serif-en);
  letter-spacing:-.09em;
  white-space:nowrap;
}
.error-label{
  margin:0 0 18px;
  color:var(--blue);
  font:700 12px/1.5 var(--sans-en);
  letter-spacing:.12em;
}
.error-copy h1{
  margin:0;
  color:var(--text);
  font:500 clamp(36px,4vw,54px)/1.55 var(--serif-jp);
  letter-spacing:.055em;
}
.error-copy h1::after{
  content:"";
  display:block;
  width:48px;
  height:2px;
  margin:26px 0 30px;
  background:#559ed3;
}
.error-description{
  margin:0;
  color:var(--muted);
  font-size:16px;
  line-height:2;
}
.error-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:36px;
}
.error-actions .button{
  min-width:210px;
}
.error-actions .error-button-secondary{
  color:#2f6f9f;
  background:#fff;
  border-color:#8cc8e7;
}
.error-actions .error-button-secondary::before{
  background:#559ed3;
}
.error-actions .error-button-secondary:hover,
.error-actions .error-button-secondary:focus-visible{
  color:#fff;
}

@media(max-width:1100px){
  .error-section{
    grid-template-columns:minmax(0,.65fr) minmax(440px,1fr);
    gap:40px;
  }
}

@media(max-width:900px){
  .error-section{
    grid-template-columns:1fr;
    gap:26px;
    padding:112px 48px 104px;
  }
  .error-code{
    font-size:clamp(120px,28vw,210px);
  }
  .error-copy{
    max-width:640px;
  }
}

@media(max-width:767px){
  .error-section{
    gap:20px;
    padding:112px 24px 80px;
  }
  .error-code{
    font-size:112px;
  }
  .error-label{
    margin-bottom:12px;
  }
  .error-copy h1{
    font-size:32px;
  }
  .error-copy h1::after{
    margin:20px 0 24px;
  }
  .error-description{
    font-size:15px;
    line-height:1.9;
  }
  .error-description br{
    display:none;
  }
  .error-actions{
    display:grid;
    gap:12px;
    margin-top:30px;
  }
  .error-actions .button{
    width:100%;
    min-width:0;
  }
}
