/*
Theme Name: Hengguan Corporate
Theme URI: https://wordpress.org/
Author: Hengguan
Description: A Chinese, Japanese and English corporate website with native WordPress pages, news, and editable company settings.
Version: 1.1.3
Requires at least: 6.5
Tested up to: 7.1.3
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hengguan
*/

:root{--navy:#142b3f;--navy-deep:#0e2334;--ivory:#f5f3ed;--paper:#fff;--gold:#ad9565;--ink:#1b2b35;--muted:#67747b;--line:#dce0df;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK JP","Songti SC",serif;--sans:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Yu Gothic","Microsoft YaHei",sans-serif;--header:100px;--width:1280px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:32px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;font-weight:400;line-height:1.9;-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
body.admin-bar{--admin-offset:32px}
::selection{background:#d6c7a6;color:var(--navy)}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{cursor:pointer}
img{display:block;max-width:100%;height:auto}
button,a{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
button:disabled{cursor:default}
h1,h2,h3,h4,p{margin-top:0}
h1,h2,h3,h4{font-weight:500}
p{margin-bottom:1.4em}
[hidden]{display:none!important}
.container{width:min(var(--width),calc(100% - 120px));margin-inline:auto}
.section-pad{padding-block:112px}
.icon{width:24px;height:24px;flex:none;object-fit:contain}
.icon-light{filter:brightness(0) invert(1)}
.skip-link{position:absolute;left:18px;top:10px;padding:10px 20px;background:var(--navy);color:#fff;z-index:1000;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
.eyebrow{font-size:11px;font-weight:500;letter-spacing:.16em;line-height:1.5;margin-bottom:14px;text-transform:uppercase}
.site-header{height:var(--header);position:relative;background:#fff;z-index:50;border-bottom:1px solid rgba(20,43,63,.08)}
.header-inner{height:100%;padding-inline:40px;display:flex;align-items:center;gap:42px;max-width:1680px;margin:auto}
.brand{display:flex;align-items:center;gap:15px;flex-shrink:0}
.brand-mark{width:50px;height:50px;border:1px solid var(--navy);display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:38px;line-height:1;padding-bottom:4px;letter-spacing:-6px;padding-right:7px}
.brand-mark span{color:var(--gold)}
.brand-symbol{display:block;width:50px;height:50px;object-fit:contain;flex:none}
.brand-type{display:flex;flex-direction:column;line-height:1.25;gap:6px}
.brand-type strong{font-size:22px;font-weight:600;letter-spacing:.09em}
.brand-type>span{font-size:10px;letter-spacing:.14em}
.desktop-nav{margin-left:auto;display:flex;gap:34px;align-items:center}
.desktop-nav a{position:relative;font-size:13px;white-space:nowrap;padding-block:12px}
.desktop-nav a::after{position:absolute;left:0;bottom:5px;width:100%;height:1px;background:var(--gold);content:"";transform:scaleX(0);transform-origin:left;transition:transform .2s}
.desktop-nav a:hover::after,.desktop-nav a[aria-current="page"]::after{transform:scaleX(1)}
.header-actions{display:flex;align-items:center;gap:26px}
.language-switch{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.04em;white-space:nowrap;flex-shrink:0}
.language-switch span{color:#c8cece}
.language-switch a{color:#7e8588;padding:8px 0}
.language-switch a[aria-current="true"]{color:var(--navy);font-weight:600}
.header-contact{display:flex;gap:25px;align-items:center;background:var(--navy);color:#fff;font-size:12px;padding:13px 19px;white-space:nowrap;transition:background .2s}
.header-contact .icon{filter:brightness(0) invert(1);width:19px;height:19px}
.header-contact:hover{background:#25445d}
.menu-toggle{display:none;border:0;background:transparent;padding:11px;color:var(--navy);width:46px;height:46px;align-items:center;justify-content:center}
.menu-close{display:none}
.menu-toggle[aria-expanded="true"] .menu-open{display:none}
.menu-toggle[aria-expanded="true"] .menu-close{display:block}
.mobile-menu{position:absolute;top:100%;left:0;width:100%;padding:20px 32px 36px;background:var(--ivory);border-top:1px solid var(--line);box-shadow:0 12px 18px rgba(20,43,63,.08);max-height:calc(100dvh - var(--header) - var(--admin-offset,0px));overflow:auto}
.mobile-menu>a{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line);font-size:16px}
.mobile-menu>p{margin:24px 0 0;font-size:10px;letter-spacing:.12em;color:var(--muted)}
.hero{position:relative;min-height:730px;height:calc(100svh - var(--header));max-height:980px;background:var(--navy);overflow:hidden;color:white;isolation:isolate;display:flex;align-items:center}
.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.hero-image{object-fit:cover;object-position:center 53%}
.hero-shade{background:linear-gradient(90deg,rgba(8,27,42,.78) 0%,rgba(8,27,42,.63) 30%,rgba(8,27,42,.24) 67%,rgba(8,27,42,.1) 100%)}
.hero-content{padding-block:58px 100px}
.hero-eyebrow{font-size:10px;letter-spacing:.18em;margin-bottom:24px;color:#e9e5dc}
.hero-eyebrow span{margin-inline:18px;opacity:.6}
.hero-kicker{font-size:13px;letter-spacing:.1em;margin-bottom:15px}
.hero h1{font-family:var(--serif);font-size:clamp(58px,6.1vw,90px);line-height:1.45;letter-spacing:.04em;margin:0 0 25px;font-weight:500;text-shadow:0 1px 20px rgba(0,0,0,.03)}
.hero-description{max-width:500px;font-size:13px;line-height:2.25;letter-spacing:.025em;margin-bottom:32px;color:rgba(255,255,255,.86)}
.button{display:inline-flex;min-width:245px;justify-content:space-between;align-items:center;gap:30px;padding:18px 26px;font-size:13px;line-height:1.6;border:1px solid transparent;transition:background .2s,color .2s,border-color .2s}
.button .icon{width:21px;height:21px;transition:transform .2s}
.button:hover .icon,.text-link:hover .icon{transform:translate(2px,-2px)}
.button-white{background:#fff;color:var(--navy)}
.button-white:hover{background:var(--ivory)}
.button-navy{background:var(--navy);color:white}
.button-navy:hover{background:#25445d}
.button-outline{border-color:rgba(255,255,255,.45);color:#fff}
.button-outline:hover{background:rgba(255,255,255,.08);border-color:#fff}
.hero-side{position:absolute;right:27px;top:50%;writing-mode:vertical-rl;letter-spacing:.22em;font-size:10px;transform:translateY(-50%);opacity:.78}
.hero-scroll{position:absolute;left:60px;bottom:37px;display:flex;gap:24px;align-items:center;font-size:9px;letter-spacing:.18em}
.hero-scroll .icon{transform:rotate(90deg);width:18px;height:18px}
.hero-caption{position:absolute;right:60px;bottom:35px;font-size:9px;letter-spacing:.14em;margin:0;opacity:.75}
.intro{background:#fff}
.intro-grid{display:grid;grid-template-columns:200px 1fr 1fr;gap:50px;align-items:start}
.section-label{color:var(--navy);position:relative;display:block}
.section-number{display:block;font-size:10px;color:var(--gold);line-height:1;margin-bottom:18px;font-variant-numeric:tabular-nums;letter-spacing:.06em}
.section-label .eyebrow{margin-bottom:6px}
.label-ja{font-size:11px;line-height:1.7;letter-spacing:.06em;color:var(--muted)}
.intro h2{font-family:var(--serif);font-size:38px;line-height:1.8;letter-spacing:.04em;margin:0}
.intro-copy{padding-top:24px}
.intro-copy>p{font-size:14px;line-height:2.3;letter-spacing:.025em;margin-bottom:30px}
.text-link{display:inline-flex;align-items:center;gap:30px;font-size:12px;line-height:1.8;padding:9px 0;border-bottom:1px solid var(--navy);width:max-content;max-width:100%;transition:color .2s}
.text-link .icon{width:20px;height:20px;transition:transform .2s}
.text-link:hover{color:#887247}
.business{background:var(--ivory)}
.section-top{display:grid;grid-template-columns:200px 1fr;gap:50px;margin-bottom:44px}
.section-title{font-family:var(--serif);font-size:34px;letter-spacing:.02em;line-height:1.8;margin:0 0 8px}
.section-intro{font-size:13px;letter-spacing:.03em;color:var(--muted);margin:0}
.business-feature{display:grid;grid-template-columns:1.15fr .85fr;background:var(--navy);color:#fff;margin-bottom:30px;min-height:360px}
.business-feature>img{width:100%;height:100%;min-height:360px;object-fit:cover}
.business-feature-copy{padding:48px 55px;display:flex;flex-direction:column;justify-content:center}
.business-feature-copy>.eyebrow{font-size:9px;color:#c9bd9f;letter-spacing:.16em;margin-bottom:26px}
.business-feature-copy>p{font-family:var(--serif);font-size:37px;line-height:1.9;letter-spacing:.05em;margin:0}
.service-list{border-top:1px solid #cdd3d2}
.service-row{display:grid;grid-template-columns:34px 44px 295px 1fr 40px;gap:26px;align-items:center;padding:35px 0;border-bottom:1px solid #cdd3d2;transition:color .2s}
.service-number{color:#829098;font-size:11px;font-variant-numeric:tabular-nums;letter-spacing:.07em;align-self:start;margin-top:4px}
.service-icon>.icon{width:31px;height:31px;opacity:.86}
.service-heading h3{font-size:23px;line-height:1.6;letter-spacing:.01em;margin:0 0 6px}
.service-heading>span{font-size:9px;letter-spacing:.07em;color:var(--muted);line-height:1.5;display:block}
.service-row>p{margin:0;font-size:12px;line-height:2.2;color:var(--muted)}
.service-arrow{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid #c8cecc;border-radius:50%;transition:background .2s,border-color .2s}
.service-arrow .icon{width:19px;height:19px}
.service-row:hover .service-arrow{background:#e7e1d4;border-color:var(--gold)}
.service-row:hover .service-heading h3{color:#826d43}
.section-bottom{display:flex;justify-content:flex-end;margin-top:34px}
.company-band{display:grid;grid-template-columns:1fr 1fr;min-height:570px;background:var(--navy);color:#fff}
.company-band-image>img{height:100%;width:100%;object-fit:cover;min-height:570px}
.company-band-copy{padding:70px 70px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.section-label.light{color:#fff}
.section-label.light .label-ja{color:#b8c4cc}
.section-label.light .section-number{color:#c4af7f}
.company-band h2{font-family:var(--serif);font-size:34px;line-height:1.9;letter-spacing:.025em;margin:33px 0 21px;max-width:450px}
.company-band-copy>p{font-size:12px;color:#c5d0d7;line-height:2.1;margin-bottom:32px}
.news-grid{display:grid;grid-template-columns:260px 1fr;gap:80px}
.news-title{font-family:var(--serif);font-size:38px;margin:24px 0 30px;letter-spacing:.03em}
.news-list{border-top:1px solid var(--line)}
.news-row{display:grid;grid-template-columns:90px 80px 1fr 20px;align-items:center;gap:25px;border-bottom:1px solid var(--line);padding:31px 0;transition:color .2s}
.news-row time{color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums;letter-spacing:.04em;white-space:nowrap}
.news-category{font-size:10px;letter-spacing:.03em;padding:3px 10px;border:1px solid var(--line);display:inline-flex;line-height:1.6;align-items:center;justify-content:center;white-space:nowrap;color:#65747e;width:max-content;max-width:100%}
.news-row h3,.news-row h2{font-size:14px;line-height:1.8;margin:0;letter-spacing:.025em}
.news-row .icon{width:19px;height:19px}
.news-row:hover{color:#8a7345}
.empty-news{font-size:13px;color:var(--muted);padding:45px 0;border-bottom:1px solid var(--line);margin:0}
.contact-band{padding-block:88px;background:#eeeae0;border-top:1px solid #e7e2d7}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.contact-band .eyebrow{color:#877044;font-size:10px;letter-spacing:.13em}
.contact-band h2{font-family:var(--serif);font-size:53px;line-height:1.65;letter-spacing:.06em;margin:23px 0 0}
.contact-band-right>p{font-size:14px;max-width:475px;line-height:2.1;margin-bottom:24px}
.contact-band-phone{display:flex;align-items:center;gap:12px;margin-top:19px;font-size:21px;font-weight:400;letter-spacing:.04em;width:max-content;max-width:100%}
.contact-band-phone .icon{width:18px;height:18px}
.site-footer{background:var(--navy-deep);color:white;padding-top:78px}
.footer-top{display:grid;grid-template-columns:1.25fr .65fr 1fr;gap:65px;padding-bottom:70px}
.footer-wordmark{display:inline-flex;align-items:center;gap:13px;font-size:39px;letter-spacing:.045em;line-height:1.2;font-weight:500;margin-bottom:18px}
.footer-wordmark-text>span{color:#bba77b}
.footer-wordmark .brand-symbol-footer{width:43px;height:43px;filter:brightness(0) invert(1);opacity:.94}
.footer-company{font-size:12px;letter-spacing:.08em;color:#f0f1ef;margin-bottom:7px}
.footer-tagline{font-family:var(--serif);font-size:12px;letter-spacing:.08em;color:#b1bdc6;margin:0}
.footer-links{display:flex;flex-direction:column;gap:13px;padding-top:4px}
.footer-links>a{font-size:12px;display:flex;align-items:center;justify-content:space-between;gap:25px;max-width:170px}
.footer-links .icon{width:14px;height:14px;opacity:.7}
.footer-contact{font-size:11px;line-height:1.9;color:#b9c4cc;padding-top:3px}
.footer-contact>p{margin-bottom:20px;max-width:320px}
.footer-contact>a{display:flex;align-items:center;gap:11px;margin-bottom:11px;font-size:12px;overflow-wrap:anywhere}
.footer-contact>a .icon{width:15px;height:15px;opacity:.7}
.footer-email{font-size:10px!important}
.footer-bottom{display:flex;align-items:center;gap:32px;border-top:1px solid rgba(255,255,255,.14);padding-block:24px;color:#8d9da9;font-size:9px;letter-spacing:.03em;line-height:1.8;flex-wrap:wrap}
.footer-bottom>p{margin:0}
.footer-bottom>a{font-size:10px}
.footer-bottom .back-top{margin-left:auto;display:flex;align-items:center;gap:13px}
.back-top .icon{width:15px;height:15px;opacity:.7}
.footer-image-note{font-size:9px;color:#788c9b;margin:0!important}
.page-heading{background:var(--ivory);padding:35px 0 74px;border-bottom:1px solid #e8e7e1}
.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:13px;font-size:9px;line-height:1.7;letter-spacing:.06em;margin-bottom:58px;color:var(--muted)}
.breadcrumb>a{color:var(--navy)}
.breadcrumb>span[aria-hidden]{color:#aab2b2}
.page-heading .eyebrow{color:#8a754d;font-size:10px;margin-bottom:15px}
.page-heading h1{font-family:var(--serif);font-size:clamp(36px,4vw,56px);line-height:1.6;letter-spacing:.035em;margin:0}
.page-article{padding-block:75px 100px}
.entry-content{font-size:15px;line-height:2.15;overflow-wrap:break-word}
.entry-content>p:first-child{font-size:17px;line-height:2.3;max-width:920px;margin-bottom:45px}
.entry-content>h2{margin-top:50px;font-family:var(--serif);font-size:30px;line-height:1.7;margin-bottom:20px}
.entry-content>h3{margin-top:34px;font-size:20px;line-height:1.7;margin-bottom:14px}
.entry-content p{max-width:980px}
.entry-content ul,.entry-content ol{padding-left:1.5em;max-width:950px;margin-block:20px 30px}
.entry-content li{margin-bottom:8px}
.entry-content a:not(.text-link):not(.contact-email):not(.contact-phone){text-decoration:underline;text-underline-offset:4px}
.entry-content img{height:auto}
.entry-content figure{margin:32px 0}
.entry-content figcaption{font-size:12px;color:var(--muted)}
.entry-content blockquote{margin:30px 0;padding:8px 24px;border-left:2px solid var(--gold);background:var(--ivory)}
.entry-content blockquote p:last-child{margin-bottom:0}
.entry-content table{width:100%;border-collapse:collapse}
.entry-content th,.entry-content td{padding:15px 20px;border:1px solid var(--line);text-align:left}
.entry-content .alignwide,.entry-content .alignfull{max-width:100%;width:100%}
.entry-content hr{border:0;border-top:1px solid var(--line);margin:45px 0}
.edit-link{display:inline-block;font-size:11px;margin-top:30px;color:var(--muted);text-decoration:underline}
.service-details{margin-top:55px}
.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;padding-block:50px;border-top:1px solid var(--line);scroll-margin-top:32px}
.service-detail:last-child{border-bottom:1px solid var(--line)}
.service-detail:nth-child(even) .service-detail-image{order:2}
.service-detail-image>img{width:100%;aspect-ratio:3/2;object-fit:cover}
.service-detail-copy .eyebrow{font-size:9px;color:#82714e;letter-spacing:.12em;margin:0 0 20px}
.detail-icon{margin-bottom:18px}
.detail-icon .icon{width:33px;height:33px}
.service-detail-copy h2{font-family:var(--serif);font-size:28px;line-height:1.65;letter-spacing:.015em;margin:0 0 17px}
.service-detail-copy>p{font-size:14px;line-height:2.2;color:var(--muted);margin-bottom:25px}
.company-facts{margin-top:65px}
.company-facts>h2{display:flex;gap:32px;align-items:center;font-family:var(--serif);font-size:28px;margin-bottom:25px}
.company-facts>h2>.eyebrow{font-family:var(--sans);font-size:9px;letter-spacing:.12em;margin:0;color:#917e56}
.facts-table{border-top:1px solid var(--navy);margin:0;font-size:14px}
.facts-table>div{display:grid;grid-template-columns:210px 1fr;gap:40px;padding:21px 22px;border-bottom:1px solid var(--line);line-height:2}
.facts-table dt{color:var(--muted);font-weight:400;font-size:13px}
.facts-table dd{margin:0;overflow-wrap:anywhere}
.company-location{display:grid;grid-template-columns:1.15fr .85fr;margin-top:70px;background:var(--ivory)}
.company-location>img{width:100%;height:100%;object-fit:cover;min-height:310px}
.company-location>div{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:36px 40px}
.company-location h2{font-family:var(--serif);font-size:26px;margin:8px 0 18px;line-height:1.8}
.company-location p{font-size:13px;line-height:2;margin-bottom:20px}
.company-location .eyebrow{color:#8a754d;font-size:9px;margin-bottom:6px}
.company-location .text-link{gap:20px;font-size:11px}
.contact-methods{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:48px}
.contact-method{background:var(--ivory);padding:38px 35px;display:flex;flex-direction:column;align-items:flex-start}
.contact-method-heading{display:flex;gap:14px;align-items:center;margin-bottom:22px}
.contact-method-heading>.icon{width:22px;height:22px}
.contact-method-heading>.eyebrow{font-size:10px;color:#8a754d;margin:0}
.contact-method h2{font-family:var(--serif);font-size:24px;line-height:1.8;letter-spacing:.01em;margin-bottom:15px}
.contact-method>p{font-size:13px;color:var(--muted);line-height:2;max-width:410px}
.contact-email,.contact-phone{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--navy);padding:14px 0 10px;margin-top:auto;width:100%;line-height:1.7;font-size:18px;overflow-wrap:anywhere}
.contact-phone{font-size:28px;letter-spacing:.04em}
.contact-email .icon,.contact-phone .icon{width:20px;height:20px}
.contact-method small{font-size:10px;color:var(--muted);margin-top:13px;line-height:1.8}
.contact-privacy{display:flex;align-items:flex-start;gap:14px;margin:30px 0 0;padding:20px 0;border-bottom:1px solid var(--line)}
.contact-privacy>.icon{width:17px;height:17px;margin-top:6px}
.contact-privacy>p{font-size:12px;line-height:2;margin:0}
.news-archive{padding-block:65px 90px;min-height:320px}
.archive-list .news-row{padding:35px 20px;grid-template-columns:100px 90px 1fr 22px;gap:32px}
.archive-list .news-row h2{font-size:17px}
.navigation.pagination{margin-top:45px}
.nav-links{display:flex;justify-content:center;gap:12px;align-items:center;font-size:12px}
.page-numbers{min-width:38px;min-height:38px;display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border:1px solid var(--line)}
.page-numbers.current{background:var(--navy);border-color:var(--navy);color:white}
.page-numbers.dots{border:0}
.empty-state{padding:45px 0 65px}
.empty-state>h2{font-family:var(--serif);font-size:30px;line-height:1.6}
.empty-state>p:last-child{font-size:14px;color:var(--muted)}
.post-heading h1{max-width:960px;font-size:clamp(28px,3.2vw,43px)}
.post-date{display:flex;gap:20px;align-items:center;margin-bottom:18px}
.post-date>time{font-size:12px;letter-spacing:.04em;color:var(--muted)}
.single-article{max-width:920px;padding-block:65px 80px}
.post-featured-image{margin-bottom:45px}
.post-featured-image>img{width:100%;height:auto}
.post-back{border-top:1px solid var(--line);margin-top:55px;padding-top:26px}
.error-page{padding-block:85px 110px}
.error-number{font-size:clamp(110px,18vw,180px);line-height:1.2;letter-spacing:-.05em;margin:0 0 18px;font-weight:400}
.error-number>span{color:var(--gold)}
.error-page h1{font-family:var(--serif);font-size:28px;line-height:1.8;margin-bottom:15px}
.error-page>p:not(.error-number):not(.eyebrow){font-size:14px;color:var(--muted);margin-bottom:30px}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}
.screen-reader-text:focus{background-color:#fff;clip:auto!important;clip-path:none;color:var(--navy);display:block;font-size:14px;height:auto;left:5px;line-height:normal;padding:15px 23px;text-decoration:none;top:5px;width:auto;z-index:100000}

/* Latin copy has different proportions from Japanese and Chinese text. */
.hg-language-en .brand-type>span{max-width:180px;font-size:8px;letter-spacing:.035em;line-height:1.35}
.hg-language-en .hero h1{font-size:clamp(54px,5.4vw,78px);line-height:1.25;letter-spacing:-.025em;max-width:940px;margin-bottom:28px}
.hg-language-en .hero-kicker{font-size:12px;letter-spacing:.035em;max-width:620px}
.hg-language-en .hero-description{font-size:14px;line-height:1.9;max-width:560px}
.hg-language-en .intro h2{font-size:37px;line-height:1.5;letter-spacing:-.015em}
.hg-language-en .intro-copy>p{line-height:1.95}
.hg-language-en .section-title{line-height:1.5;letter-spacing:-.015em}
.hg-language-en .service-heading h3{font-size:21px;line-height:1.5;letter-spacing:-.01em}
.hg-language-en .service-row>p{font-size:13px;line-height:1.85}
.hg-language-en .business-feature-copy>p{font-size:34px;line-height:1.65;letter-spacing:-.01em}
.hg-language-en .company-band h2{line-height:1.5;letter-spacing:-.01em}
.hg-language-en .contact-band h2{line-height:1.3;letter-spacing:-.015em}
.hg-language-en .entry-content{line-height:1.9}
.hg-language-en .service-detail-copy h2{font-size:27px;line-height:1.5}
.hg-language-en .service-detail-copy>p{line-height:1.95}
.hg-language-en .contact-method h2{font-size:24px;line-height:1.5}
.hg-language-en .facts-table dt{line-height:1.7}

@media(min-width:1600px){.hero-scroll{left:calc((100% - var(--width))/2)}.hero-caption{right:calc((100% - var(--width))/2)}}
@media(max-width:1280px){.header-inner{gap:26px;padding-inline:30px}.desktop-nav{gap:24px}.header-actions{gap:20px}.brand-type strong{font-size:20px}.header-contact{gap:15px;padding:13px 15px}.container{width:calc(100% - 96px)}.intro-grid{grid-template-columns:160px 1fr 1fr;gap:40px}.intro h2{font-size:33px}.section-top{grid-template-columns:160px 1fr;gap:40px}.service-row{grid-template-columns:28px 36px 265px 1fr 36px;gap:20px}.service-heading h3{font-size:21px}.company-band-copy{padding:60px 48px}.company-band h2{font-size:31px}.news-grid{gap:60px;grid-template-columns:230px 1fr}.news-row{gap:18px;grid-template-columns:82px 74px 1fr 20px}.footer-top{gap:45px}.footer-wordmark{font-size:33px}.contact-email{font-size:16px}}
@media(max-width:1080px){:root{--header:86px}.desktop-nav,.header-contact{display:none}.header-inner{padding-inline:32px;justify-content:space-between}.header-actions{gap:18px}.menu-toggle{display:flex}.hero{min-height:690px}.hero h1{font-size:70px}.intro-grid{grid-template-columns:150px 1fr;gap:30px}.intro-copy{grid-column:2;padding-top:0;max-width:600px}.intro h2{font-size:37px}.intro-copy>p{margin-bottom:20px}.section-pad{padding-block:88px}.business-feature-copy{padding:36px}.business-feature-copy>p{font-size:31px}.service-row{grid-template-columns:28px 38px 1fr 36px;gap:20px;padding-block:28px}.service-row>p{grid-column:3;grid-row:2;max-width:660px;margin-top:-8px}.service-number{grid-row:1/span 2}.service-icon{grid-row:1/span 2;align-self:start;margin-top:3px}.service-arrow{grid-column:4;grid-row:1/span 2;align-self:center}.company-band{min-height:490px}.company-band-image>img{min-height:490px}.company-band-copy{padding:45px 36px}.company-band h2{font-size:27px}.news-grid{grid-template-columns:190px 1fr;gap:40px}.news-row{grid-template-columns:82px 1fr 20px;gap:12px 20px}.news-category{grid-row:1;grid-column:2}.news-row h3,.news-row h2{grid-column:1/span 2;grid-row:2}.news-row>.icon{grid-column:3;grid-row:1/span 2}.news-row{padding:25px 0}.news-title{font-size:32px}.footer-top{grid-template-columns:1fr 1fr;gap:42px}.footer-contact{grid-column:1/span 2;display:flex;flex-wrap:wrap;column-gap:30px}.footer-contact>p{margin-bottom:0;max-width:300px}.footer-contact>a{margin:0}.footer-links{justify-self:end;width:180px}.contact-grid{gap:55px}.contact-band h2{font-size:45px}.service-detail{gap:40px}.service-detail-copy h2{font-size:24px}.company-location{grid-template-columns:1fr 1fr}.company-location>div{padding:30px}.contact-method{padding:30px 25px}.contact-method h2{font-size:21px}.contact-email{font-size:14px}.contact-phone{font-size:24px}.archive-list .news-row{grid-template-columns:90px 80px 1fr 20px}.archive-list .news-row h2{grid-column:3;grid-row:1}.archive-list .news-row>.icon{grid-column:4;grid-row:1}.archive-list .news-category{grid-column:2}}
@media(max-width:782px){body.admin-bar{--admin-offset:46px}.container{width:calc(100% - 48px)}.hero-scroll{left:24px}.hero-caption{right:24px}.hero-side{right:13px}.hero{min-height:650px;height:calc(90svh - var(--header));max-height:900px}.hero-content{padding-block:45px 95px}.hero-eyebrow{font-size:8px;letter-spacing:.12em;margin-bottom:25px}.hero-eyebrow span{margin-inline:9px}.hero-kicker{font-size:11px;max-width:90%;margin-bottom:20px}.hero h1{font-size:clamp(45px,8.5vw,65px);line-height:1.6;letter-spacing:.01em;margin-bottom:25px}.hero-description{font-size:12px;line-height:2.2;max-width:430px;margin-bottom:30px;padding-right:20px}.hero-shade{background:linear-gradient(90deg,rgba(8,27,42,.76),rgba(8,27,42,.3))}.hero-image{object-position:62% center}.hero .button{min-width:230px;padding:17px 23px;font-size:12px}.section-pad{padding-block:64px}.intro-grid{grid-template-columns:1fr;gap:27px}.intro-copy{grid-column:auto;padding-top:0}.section-label .section-number{display:inline-block;margin:0 12px 0 0;vertical-align:middle}.section-label .eyebrow{display:inline-block;vertical-align:middle;margin:0}.section-label .label-ja{display:block;margin-left:29px;margin-top:7px}.intro h2{font-size:32px;line-height:1.8}.intro-copy>p{font-size:13px;line-height:2.2;max-width:620px}.section-top{grid-template-columns:1fr;gap:27px;margin-bottom:30px}.section-title{font-size:27px;line-height:1.8;margin-bottom:10px}.section-intro{font-size:12px}.business-feature{min-height:auto;grid-template-columns:1.1fr .9fr;margin-bottom:26px}.business-feature>img{min-height:260px}.business-feature-copy{padding:27px 23px}.business-feature-copy>.eyebrow{font-size:8px;letter-spacing:.06em;line-height:1.7;margin-bottom:17px}.business-feature-copy>p{font-size:24px;letter-spacing:.025em;line-height:1.8}.service-row{grid-template-columns:22px 28px 1fr 32px;gap:13px;padding-block:25px}.service-icon>.icon{width:25px;height:25px}.service-heading h3{font-size:19px;line-height:1.6;margin-bottom:5px}.service-heading>span{font-size:8px;letter-spacing:.025em}.service-number{font-size:9px}.service-row>p{font-size:11px;line-height:2.1;margin-top:-4px}.service-arrow{height:32px;width:32px}.service-arrow .icon{width:16px;height:16px}.section-bottom{margin-top:25px}.text-link{font-size:11px;gap:25px}.company-band{grid-template-columns:1fr}.company-band-image>img{min-height:0;aspect-ratio:16/9;height:auto;object-fit:cover;max-height:410px}.company-band-copy{padding:44px 36px 50px}.company-band h2{font-size:29px;max-width:100%;margin:29px 0 19px}.company-band-copy>p{font-size:12px}.company-band .button{min-width:230px;font-size:12px}.news-grid{grid-template-columns:1fr;gap:30px;position:relative;padding-bottom:58px}.news-title{font-size:32px;margin:22px 0 0}.news-grid>div:first-child>.text-link{position:absolute;bottom:0;right:0}.news-row{padding-block:24px;gap:11px 20px}.news-row h3{font-size:13px}.news-category{font-size:9px}.contact-band{padding-block:60px}.contact-grid{gap:30px;grid-template-columns:1fr}.contact-band h2{font-size:39px;margin-top:23px;line-height:1.75}.contact-band-right>p{font-size:13px;margin-bottom:24px}.contact-band-phone{font-size:20px}.site-footer{padding-top:55px}.footer-top{gap:32px;padding-bottom:42px}.footer-wordmark{font-size:30px;letter-spacing:.015em}.footer-tagline{font-size:10px}.footer-company{font-size:10px}.footer-links{width:150px;gap:11px}.footer-links>a{font-size:11px}.footer-contact{display:block;grid-column:1/span 2;font-size:11px;line-height:2}.footer-contact>p{max-width:100%;margin-bottom:17px}.footer-contact>a{margin-bottom:9px;font-size:12px}.footer-bottom{gap:15px 25px;padding-block:22px;font-size:8px}.footer-bottom>p{width:100%}.footer-bottom>a{font-size:9px}.footer-bottom .back-top{margin-left:auto}.footer-image-note{width:100%;font-size:8px}.page-heading{padding:26px 0 45px}.breadcrumb{margin-bottom:38px;font-size:8px;gap:10px}.page-heading h1{font-size:36px;line-height:1.65}.page-heading .eyebrow{font-size:9px}.page-article{padding-block:46px 65px}.entry-content{font-size:14px;line-height:2.1}.entry-content>p:first-child{font-size:15px;line-height:2.2;margin-bottom:35px}.entry-content>h2{font-size:25px;margin-top:35px}.entry-content>h3{font-size:18px}.service-details{margin-top:40px}.service-detail{grid-template-columns:1fr;gap:26px;padding-block:32px}.service-detail:nth-child(even) .service-detail-image{order:0}.service-detail-image>img{aspect-ratio:16/10;max-height:380px}.service-detail-copy{padding-bottom:6px}.service-detail-copy h2{font-size:25px}.service-detail-copy>p{font-size:13px;margin-bottom:21px}.service-detail-copy .eyebrow{font-size:8px;margin-bottom:17px}.detail-icon{margin-bottom:14px}.detail-icon .icon{width:29px;height:29px}.company-facts{margin-top:43px}.company-facts>h2{font-size:25px;gap:22px}.company-facts>h2>.eyebrow{font-size:8px}.facts-table>div{grid-template-columns:125px 1fr;gap:22px;padding:18px 10px;font-size:13px;line-height:2}.facts-table dt{font-size:12px}.company-location{grid-template-columns:1fr;margin-top:40px}.company-location>img{min-height:0;aspect-ratio:16/9;height:auto;max-height:360px}.company-location>div{padding:30px 26px 35px}.company-location h2{font-size:25px}.contact-methods{grid-template-columns:1fr;gap:22px;margin-top:32px}.contact-method{padding:30px 26px}.contact-method h2{font-size:23px}.contact-email{font-size:18px}.contact-phone{font-size:29px}.contact-privacy{margin-top:20px;gap:10px}.contact-privacy>p{font-size:11px}.news-archive{padding-block:42px 65px}.archive-list .news-row{padding:24px 0;grid-template-columns:85px 1fr 20px;gap:12px 18px}.archive-list .news-row h2{grid-row:2;grid-column:1/span 2;font-size:14px}.archive-list .news-row>.icon{grid-column:3;grid-row:1/span 2}.archive-list .news-category{grid-column:2}.single-article{padding-block:45px 65px}.post-heading h1{font-size:29px}.post-date{gap:16px}.error-page{padding-block:65px 80px}.error-page h1{font-size:24px}.error-number{font-size:130px}.entry-content th,.entry-content td{padding:12px 14px}}
@media(max-width:480px){:root{--header:78px}.header-inner{padding-inline:20px}.brand{gap:11px}.brand-mark{width:42px;height:42px;font-size:32px;letter-spacing:-5px;padding-right:6px}.brand-type{gap:5px}.brand-type strong{font-size:17px;letter-spacing:.065em}.brand-type>span{font-size:8px;letter-spacing:.08em}.header-actions{gap:9px}.language-switch{font-size:9px;gap:7px}.menu-toggle{width:34px;height:40px;padding:6px}.menu-toggle .icon{width:23px;height:23px}.container{width:calc(100% - 40px)}.hero{min-height:665px;height:calc(100svh - var(--header));max-height:800px}.hero h1{font-size:43px;letter-spacing:0;line-height:1.75}.hero-content{padding-block:45px 90px}.hero-kicker{font-size:10px;letter-spacing:.035em}.hero-eyebrow{font-size:7px}.hero-description{font-size:11px;max-width:335px;line-height:2.2;padding-right:14px}.hero-side{font-size:8px;right:8px}.hero-scroll{bottom:28px;left:20px;font-size:7px;gap:15px}.hero-caption{bottom:27px;right:20px;font-size:7px}.hero .button{font-size:11px;min-width:215px;padding:16px 22px}.intro h2{font-size:29px}.section-title{font-size:25px}.business-feature{grid-template-columns:1fr}.business-feature>img{min-height:0;height:auto;aspect-ratio:16/9}.business-feature-copy{padding:24px 26px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:20px}.business-feature-copy>.eyebrow{width:110px;font-size:7px;line-height:1.8;letter-spacing:.08em;margin:0}.business-feature-copy>p{font-size:23px}.service-row{grid-template-columns:18px 1fr 30px;gap:11px 15px}.service-icon{display:none}.service-number{grid-column:1}.service-heading{grid-column:2}.service-row>p{grid-column:2;font-size:11px;line-height:2.1}.service-heading h3{font-size:18px;letter-spacing:0}.service-arrow{grid-column:3;height:30px;width:30px}.company-band-copy{padding:38px 25px 44px}.company-band h2{font-size:26px}.company-band-copy>p{font-size:11px;line-height:2.2}.contact-band h2{font-size:36px}.footer-top{grid-template-columns:1fr;gap:28px}.footer-wordmark{font-size:36px;letter-spacing:.04em}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:12px 40px;width:100%;justify-self:stretch}.footer-links>a{max-width:100%}.footer-contact{grid-column:auto}.footer-top{padding-bottom:32px}.footer-bottom{gap:13px 18px}.page-heading h1{font-size:32px}.facts-table>div{grid-template-columns:100px 1fr;gap:14px;padding:16px 0;font-size:12px}.facts-table dt{font-size:11px}.contact-email{font-size:15px;gap:12px}.contact-method h2{font-size:21px}.contact-method>p{font-size:12px}.contact-phone{font-size:27px}.contact-method small{font-size:9px}.page-heading.post-heading h1{font-size:26px}.nav-links{gap:8px;font-size:11px}.page-numbers{min-width:32px;min-height:34px;padding:6px 9px}}
@media(max-width:1080px){.hg-language-en .intro h2{font-size:35px}.hg-language-en .company-band h2{font-size:28px}.hg-language-en .business-feature-copy>p{font-size:29px}.hg-language-en .service-heading h3{font-size:21px}}
@media(max-width:782px){.hg-language-en .hero h1{font-size:clamp(43px,8vw,63px);max-width:680px;line-height:1.3}.hg-language-en .hero-kicker{font-size:11px;max-width:440px}.hg-language-en .hero-description{font-size:13px;line-height:1.9;max-width:430px}.hg-language-en .intro h2{font-size:32px}.hg-language-en .business-feature-copy>p{font-size:24px}.hg-language-en .service-heading h3{font-size:19px}.hg-language-en .service-row>p{font-size:12px;line-height:1.9}.hg-language-en .company-band h2{font-size:30px}.hg-language-en .contact-band h2{font-size:42px}.hg-language-en .service-detail-copy h2{font-size:26px}.hg-language-en .contact-method h2{font-size:23px}}
@media(max-width:480px){.header-inner{padding-inline:16px;gap:12px}.brand{gap:8px;min-width:0}.brand-mark{width:36px;height:36px;font-size:29px;flex-shrink:0}.brand-type{min-width:0;max-width:112px}.brand-type>span{line-height:1.4}.header-actions{gap:8px;flex-shrink:0}.language-switch{gap:6px;letter-spacing:0}.hg-language-en .brand-type>span{display:none}.hg-language-en .hero h1{font-size:clamp(35px,9.6vw,44px);line-height:1.4;letter-spacing:-.03em;margin-bottom:23px;max-width:100%}.hg-language-en .hero-kicker{font-size:10px;max-width:300px;line-height:1.8}.hg-language-en .hero-description{font-size:12px;line-height:1.9;max-width:335px}.hg-language-en .intro h2{font-size:30px}.hg-language-en .section-title{font-size:25px}.hg-language-en .business-feature-copy>p{font-size:21px;line-height:1.5}.hg-language-en .service-heading h3{font-size:18px}.hg-language-en .service-row>p{font-size:11px}.hg-language-en .company-band h2{font-size:27px}.hg-language-en .contact-band h2{font-size:38px}.hg-language-en .contact-method h2{font-size:23px}.hg-language-en .facts-table>div{grid-template-columns:105px 1fr;gap:14px}.hg-language-en .facts-table dt{font-size:10px}}
@media(max-width:360px){.header-inner{padding-inline:14px;gap:8px}.brand-type strong{font-size:16px;letter-spacing:.05em}.brand-type{max-width:100px}.brand-mark{width:34px;height:34px;font-size:27px}.header-actions{gap:5px}.language-switch{font-size:9px;gap:5px}.menu-toggle{width:31px;padding:4px}.hg-language-en .hero h1{font-size:32px}.hg-language-en .hero-description{font-size:11px}.hg-language-en .business-feature-copy{gap:14px;padding-inline:20px}.hg-language-en .business-feature-copy>p{font-size:19px}}
@media(max-width:480px){.brand-symbol{width:36px;height:36px}.footer-wordmark{gap:10px}.footer-wordmark .brand-symbol-footer{width:37px;height:37px}}
@media(max-width:360px){.brand-symbol{width:34px;height:34px}.footer-wordmark{font-size:32px}.footer-wordmark .brand-symbol-footer{width:34px;height:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media print{.site-header,.site-footer,.contact-band,.edit-link{display:none}.container{width:100%}.page-heading,.page-article,.single-article{padding-block:20px}.hero{height:auto;min-height:0;color:#000;padding:30px 0}.hero-image,.hero-shade,.hero-side,.hero-scroll,.hero-caption{display:none}.hero-description{color:#000}.hero-content{padding:0}.hero h1{font-size:45px}.section-pad{padding-block:30px}.business,.company-band{background:#fff;color:#000}.company-band-image{display:none}.company-band{display:block}.company-band-copy{padding:30px 0}.button{border-color:#333;color:#000;background:transparent}.icon-light{filter:none}a{color:#000}}
