@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;600;700&display=swap');
:root{color-scheme:light;--ink:#004150;--paper:#edf2f2;--muted:#4d6970;--line:#b9cbce;--edge:max(72px,calc((100vw - 1320px)*.75));--inner:calc(100% - var(--edge) * 2);--gutter:clamp(24px,4vw,60px);font-family:'Montserrat','Noto Sans JP',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:5px}button{font:inherit}::selection{color:var(--paper);background:var(--ink)}p{font-size:14px;line-height:2;margin:0}#particles{position:fixed;inset:0;width:100%;height:100dvh;pointer-events:none;z-index:0}.header,.page-content,.footer{position:relative;z-index:1}.header{height:104px;margin-inline:var(--edge);display:flex;align-items:center;justify-content:space-between}.wordmark{font-size:1.875rem;font-weight:700;letter-spacing:-.07em;white-space:nowrap}.inc{font-size:.9375rem;letter-spacing:-.035em}.page-content,.footer{margin-left:var(--edge);width:calc(var(--inner) * .7);padding-right:clamp(24px,3vw,44px)}.page-content>.wrap{width:100%;margin:0}.hero-composition{min-height:350px;display:flex;align-items:center;padding:48px 0 60px}.hero-copy{width:100%;container-type:inline-size}.hero h1{font-size:min(calc(2.75rem + 4pt),7cqi);line-height:1.65;font-weight:700;letter-spacing:.01em;white-space:nowrap;margin:0 0 25px}.hero-note{font-size:18px;font-weight:600;color:var(--muted);letter-spacing:.015em}.hero-copy,.philosophy p,.description{text-shadow:0 0 5px var(--paper)}.eyebrow,.category{display:block;font-size:.75rem;font-weight:500;letter-spacing:.1em;color:var(--muted)}.philosophy{border-top:1px solid var(--line);padding:32px 0 62px}.philosophy p{line-height:2;letter-spacing:.01em}.business{border-top:1px solid var(--line);padding:48px 0 55px}.section-heading{margin-bottom:34px}.section-heading h2{font-size:1.625rem;line-height:1.5;font-weight:500;letter-spacing:.02em;margin:12px 0 24px}.section-heading>p{color:var(--muted);line-height:2}.business-row{display:grid;grid-template-columns:28px 1fr;padding:30px 0 32px;border-bottom:1px solid var(--line);gap:0 15px}.business-row:first-child{border-top:1px solid var(--line)}.number{font-size:.75rem;line-height:1.8;font-weight:500;color:var(--muted)}.category{margin-bottom:9px;line-height:1.8;letter-spacing:.07em}.business-title h3{font-size:1.25rem;font-weight:500;line-height:1.8;letter-spacing:.01em;margin:0}.title-line{display:inline}.description{grid-column:2;margin:14px 0 0;line-height:2}.hr-description p{font-weight:600}.hr-description p+p{margin-top:10px}.offering{border-top:1px solid var(--line);padding:43px 0 55px}.offering .section-heading{margin-bottom:27px}.offering-content{border:0;padding-left:0}.offering-content h3{font-size:1.5rem;line-height:1.7;font-weight:500;letter-spacing:-.02em;margin:0}.offering-content p{color:var(--muted);margin-top:12px}.news-rail{position:fixed;z-index:2;right:var(--edge);top:174px;width:calc(var(--inner) * .3);max-height:calc(100dvh - 214px);overflow:auto;border-left:1px solid var(--line);padding:0 0 30px 32px;background:rgb(237 242 242 / 88%)}.news-rail h2{font-size:1.25rem;line-height:1.6;font-weight:500;letter-spacing:.03em;margin:13px 0 29px}.news-empty{border-top:1px solid var(--line);padding-top:25px}.news-empty p{color:var(--muted)}.footer{padding-top:30px;padding-bottom:36px;display:flex;align-items:center;flex-wrap:wrap;gap:22px}.footer .wordmark{font-size:1.5rem;flex-basis:100%}.copyright{font-size:.75rem}.back-top{font-size:.6875rem;letter-spacing:.05em;display:flex;align-items:center;gap:9px;margin-left:auto}.back-top span{font-size:1rem}.menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:48px;height:48px;padding:0;border:0;background:transparent;color:var(--ink);cursor:pointer}.menu-toggle span{display:block;width:25px;height:1.5px;background:currentColor}#site-menu{position:fixed;inset:0 0 0 auto;width:min(440px,100%);height:100dvh;max-height:100dvh;max-width:100%;margin:0;padding:38px;border:0;background:var(--paper);color:var(--ink)}#site-menu::backdrop{background:rgb(0 35 43 / 35%)}.menu-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.menu-head h2{font-size:.875rem;font-weight:500;letter-spacing:.12em;margin:0}.menu-close{display:flex;align-items:center;gap:14px;border:0;color:inherit;background:transparent;font-size:.875rem;cursor:pointer;padding:8px 0}.menu-close span{font-size:1.7rem;line-height:1}#site-menu nav{display:flex;flex-direction:column;margin-top:54px}#site-menu nav a{font-size:16px;padding:18px 0;border-bottom:1px solid var(--line)}.menu-brand{display:block;font-size:1rem;margin-top:55px}
@media(max-width:1100px){.news-rail{padding-left:24px}:root{--edge:48px;--gutter:28px}.desktop{display:none}.hero-composition{min-height:320px}.business-title h3{font-size:1.1875rem}.title-line{display:block}}
@media(max-width:820px){:root{--edge:36px}.page-content,.footer{width:var(--inner);padding-right:0}.header{height:86px}.hero-composition{min-height:280px;padding:35px 0 45px}.news-rail{position:relative;top:auto;right:auto;width:var(--inner);max-height:none;margin:0 var(--edge) 40px;padding:28px 0 34px;border-left:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent}.news-rail h2{margin-bottom:22px}.news-empty{padding-top:0;border:0}.philosophy{padding:26px 0 43px}.business{padding:38px 0 42px}.section-heading{margin-bottom:30px}.offering{padding:35px 0 44px}.footer{padding-top:0}.offering-content h3{font-size:1.375rem}}
@media(max-width:480px){:root{--edge:30px}.wordmark{font-size:1.625rem}.inc{font-size:.875rem}.hero-composition{min-height:250px}.hero h1{letter-spacing:0}.business-row{grid-template-columns:22px 1fr;gap:0 10px;padding:26px 0}.business-title h3{font-size:1.125rem}.offering-content{padding-left:0}#site-menu{padding:26px}.copyright{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.message-title{font-size:.875rem;font-weight:500;line-height:2;letter-spacing:.06em;margin:0 0 18px}.company{margin-top:42px}.company-details{margin:0;border-top:1px solid var(--line)}.company-details>div{padding:15px 0;border-bottom:1px solid var(--line)}.company-details dt{font-size:.75rem;color:var(--muted);line-height:2;margin:0 0 3px}.company-details dd{font-size:14px;line-height:2;margin:0;overflow-wrap:anywhere}.news-rail{scrollbar-width:thin;overscroll-behavior:contain}.philosophy{padding-bottom:48px}.company h2{margin-bottom:24px}@media(max-width:820px){.news-rail{overscroll-behavior:auto}.company{margin-top:34px}}

.hero-intro{width:60%;line-height:2;font-size:14px;margin-top:30px}.hero-composition{min-height:0;padding:64px 0 62px}.business-row:last-child{border-bottom:0}.business{padding-bottom:28px}#site-menu{background:var(--paper);color:var(--ink);padding:46px 40px;font-family:Montserrat,sans-serif;box-shadow:-18px 0 60px rgb(0 35 43 / 6%)}#site-menu::backdrop{background:rgb(0 35 43 / 14%);backdrop-filter:blur(5px)}.menu-head h2,.menu-close,.menu-brand{font-size:16px}.menu-head h2{letter-spacing:.12em;font-weight:500}.menu-close{gap:12px}.menu-close span{font-size:24px}.menu-brand{margin-top:48px;color:var(--muted)}#site-menu nav{margin-top:60px}#site-menu nav a{font-size:16px;letter-spacing:.045em;font-weight:400;transition:padding-left .28s ease,color .28s ease}#site-menu nav a:hover{padding-left:8px;color:var(--muted);text-decoration:none}@media(max-width:820px){.hero-intro{width:100%}.hero-composition{padding:36px 0 44px}}@media(max-width:480px){#site-menu{padding:30px}}@media(prefers-reduced-motion:reduce){#site-menu nav a{transition:none}#site-menu nav a:hover{padding-left:0}}
/* Persistent masthead and footer navigation. */
:root{--header-height:170px}
html{scroll-padding-top:calc(var(--header-height) + 24px)}
.header{position:sticky;top:0;z-index:5;background:transparent;isolation:isolate}
.header::before{content:none}
.footer{background:transparent}
.footer-nav{flex-basis:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px;padding:8px 0 18px;border-bottom:1px solid var(--line)}
.footer-nav a{font-size:16px;line-height:2;padding:8px 0;letter-spacing:.025em}
@media(max-width:820px){:root{--header-height:148px}}
@media(max-width:480px){:root{--header-height:133px}.footer-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}}
/* Newspaper edition: an editorial grid, ink rules, and a living paper surface. */
:root{--line:#a7bbbd;--gutter:32px}
body{background:linear-gradient(110deg,rgba(255,255,255,.2),transparent 65%)}
#particles{opacity:.7}
.header{height:170px;display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:128px 36px;border-bottom:5px double var(--ink)}
.header>.wordmark{font-size:64px;line-height:1;letter-spacing:-.075em;text-align:center}
.header .inc{font-size:24px}
.masthead-note{font-size:9px;font-weight:600;letter-spacing:.08em;line-height:2}
.masthead-note span{display:block;color:var(--ink);font-size:9px;font-weight:inherit;letter-spacing:.12em}
.tokyo-clock{display:block;margin-top:7px;font-size:11px;font-weight:500;letter-spacing:.06em;font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:480px){.header .masthead-note{display:block;position:absolute;left:0;top:70px;max-width:none;font-size:0;line-height:1}.header .masthead-note>span{display:none}.header .tokyo-clock{margin:0;font-size:10px;line-height:1.5}.header>a.wordmark{transform:translateY(-8px)}}
.header .menu-toggle{justify-self:end;border:0}
.edition-line{grid-column:1/-1;align-self:stretch;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--ink);font-size:9px;letter-spacing:.1em;font-weight:500}
.page-content{padding-right:32px;border-right:1px solid var(--line);margin-top:28px}
.hero-composition{padding:38px 0 72px}
.hero-translation{width:60%;margin-top:30px;color:var(--muted);font-family:Montserrat,sans-serif}
.hero-translation h2{font-size:16px;font-weight:600;line-height:2;margin:0 0 12px;color:var(--ink)}
.hero-translation p{font-size:14px;line-height:2;text-align:left}
@media(max-width:820px){.hero-translation{width:100%}}
.hero h1{font-size:min(calc(2.75rem + 4pt),7cqi);letter-spacing:-.025em;line-height:1.55;margin-bottom:24px}
.hero-intro{margin-top:0;text-align:justify}
.business{border-top:3px double var(--ink);padding:22px 0 0}
.eyebrow{color:var(--ink);font-size:11px;font-weight:600;letter-spacing:.13em}
.section-heading h2{font-size:23px;font-weight:600;margin:6px 0 18px;letter-spacing:.025em}
.business>.section-heading>p{column-count:2;column-gap:28px;text-align:justify}
.section-heading{margin-bottom:24px}
.business-list{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:28px}
.business-row{position:relative;display:block;border-top:1px solid var(--line);border-bottom:0;padding:22px 0 24px}
.business-row:nth-child(even)::before{content:"";position:absolute;left:-14px;top:22px;bottom:24px;border-left:1px solid var(--line)}
.number{display:block;font-size:11px;letter-spacing:.1em;margin-bottom:20px;color:var(--ink)}
.category{font-size:10px;font-weight:500;letter-spacing:.07em;margin-bottom:8px}
.business-title h3{font-size:19px;font-weight:600;line-height:1.7;letter-spacing:-.025em}
.title-line{display:block}
.description{margin-top:14px;text-align:justify;font-size:14px}
.desktop{display:none}
.hr-description p+p{margin-top:4px}
.offerings-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:28px;border-top:3px double var(--ink);margin-top:4px}
.offering{border:0;padding:22px 0 38px}
.offering .section-heading{margin-bottom:26px}
.offering-content h3{font-size:21px;font-weight:600;line-height:1.7;letter-spacing:-.03em;overflow-wrap:anywhere}
.offering-content p{margin-top:10px}
.news-rail{top:198px;max-height:calc(100dvh - 226px);padding:0 0 18px 28px;border:0;background:transparent}
.news-rail>section{border-top:3px double var(--ink);padding-top:16px}
.news-rail h2{font-size:21px;font-weight:600;margin:6px 0 18px}
.news-empty{padding-top:18px;border-top:1px solid var(--line);padding-bottom:18px}
.company{margin-top:24px}
.company-details>div{padding:11px 0}
.company-details dt{font-size:10px;letter-spacing:.06em;font-weight:500}
.company-details dd{font-size:14px}
.footer{border-top:3px double var(--ink);margin-top:0;padding-top:20px;padding-bottom:28px;gap:16px}
.footer .wordmark{font-size:23px;flex-basis:auto}
.footer .inc{font-size:12px}
.copyright{font-size:9px;margin-left:auto}
.back-top{font-size:9px;margin-left:0}
@media(min-width:1600px){.business-title h3{font-size:21px}}
@media(max-width:1100px){.masthead-note{max-width:160px}.header>.wordmark{font-size:56px}.header .inc{font-size:21px}.page-content{padding-right:24px}.news-rail{padding-left:22px}.business-title h3{font-size:17px}.business-list,.offerings-grid{column-gap:24px}.business-row:nth-child(even)::before{left:-12px}.offering-content h3{font-size:19px}.edition-line{font-size:8px}}
@media(max-width:820px){.header{height:148px;grid-template-rows:107px 35px}.header>.wordmark{font-size:50px}.header .inc{font-size:19px}.masthead-note{font-size:8px;max-width:130px}.masthead-note span{font-size:8px}.page-content{border:0;padding-right:0;margin-top:24px}.hero-composition{padding:20px 0 64px}.hero-intro{width:100%}.news-rail{position:relative;top:auto;max-height:none;padding:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:28px;background:transparent;border:0;margin-top:0}.company{margin-top:0}.news-empty{border-top:1px solid var(--line);padding-top:18px}.footer{padding-top:20px}.business-title h3{font-size:19px}.business>.section-heading>p{column-gap:28px}.edition-line span:last-child{display:none}}
@media(max-width:480px){.header{height:133px;grid-template-columns:1fr auto;grid-template-rows:92px 35px}.header>.wordmark{text-align:left;justify-self:start;font-size:45px}.header .inc{font-size:17px}.masthead-note{display:none}.header .menu-toggle{width:40px;height:40px}.edition-line{font-size:7px;letter-spacing:.06em}.hero h1{letter-spacing:-.035em}.business>.section-heading>p{column-count:1}.business-list,.offerings-grid,.news-rail{grid-template-columns:1fr}.business-row:nth-child(even)::before{display:none}.business-row{padding:20px 0 24px}.business-row .number{float:right;margin:0 0 12px 12px}.business-title h3{font-size:20px}.title-line{display:inline}.description{margin-top:12px}.offering{padding-bottom:27px}.offering+.offering{border-top:1px solid var(--line)}.offering .section-heading{margin-bottom:18px}.offering-content h3{font-size:22px}.news-rail{row-gap:26px}.footer .wordmark{flex-basis:100%}.copyright{flex-basis:auto;margin-left:0}.back-top{margin-left:auto}}
:root{--header-height:138px}
.header{height:138px;grid-template-rows:96px 36px}
.wordmark{font-family:Times,'Times New Roman',serif;font-weight:700}
.header-actions{display:flex;align-items:center;justify-self:end;gap:16px}
.language-switch{display:flex;align-items:center;gap:8px;font-size:12px;white-space:nowrap}
.language-switch a{padding:8px 0;font-weight:400}
.language-switch a[aria-current="page"]{font-weight:700}
.language-switch>span{opacity:.45}
html[lang="en"] .hero h1{white-space:normal;font-size:clamp(26px,5cqi,40px);line-height:1.45;letter-spacing:-.025em}
html[lang="en"] .hero-intro,html[lang="en"] .description,html[lang="en"] .business>.section-heading>p{text-align:left}
html[lang="en"] .business-title h3{overflow-wrap:break-word}
@media(max-width:480px){.header-actions{gap:7px}.language-switch{font-size:11px;gap:6px}}
.header>.wordmark,.footer .wordmark{letter-spacing:.02em}
.header>.wordmark{font-size:44.8px}
.footer .wordmark{font-size:16.1px}
.news-rail{top:166px;max-height:calc(100dvh - 194px)}
a,#site-menu nav a{transition:opacity .45s ease;text-decoration:none}
a:hover,#site-menu nav a:hover{opacity:.5;text-decoration:none;color:inherit}
#site-menu nav a:hover{padding-left:0}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:1100px){.header>.wordmark{font-size:39.2px}}
@media(max-width:820px){:root{--header-height:128px}.header{height:128px;grid-template-rows:87px 35px}.header>.wordmark{font-size:35px}.news-rail{top:auto;max-height:none}}
@media(max-width:480px){:root{--header-height:123px}.header{height:123px;grid-template-rows:82px 35px}.header>.wordmark{font-size:31.5px}.header .masthead-note{top:64px}}
@media(prefers-reduced-motion:reduce){a,#site-menu nav a{transition:none}}
