@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800;900&display=swap');
:root{--ink:#132033;--red:#e63864;--muted:#626d7c;--line:#dce0e5;--soft:#f4f6f8;--page:7.2vw}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0;color:var(--ink);background:#fff;font-family:Arial,'Noto Sans JP',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:6px}::selection{background:#f9dce4}h1,h2,h3,p,figure{margin:0}p{font-size:16px;line-height:2.1;letter-spacing:.035em}h2{font-size:clamp(30px,3vw,46px);font-weight:700;line-height:1.65;letter-spacing:.035em}.red{color:var(--red)}.skip{position:fixed;left:20px;top:-90px;padding:15px;background:var(--ink);color:#fff;z-index:100}.skip:focus{top:10px}.header{height:104px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(255,255,255,.97);position:sticky;top:0;z-index:30}.brand{display:flex;align-items:center;flex-direction:column;gap:6px;width:184px;flex-shrink:0}.brand img{width:184px;height:auto}.brand>span{font-size:12px;font-weight:700;letter-spacing:.45em;padding-left:34px}.header nav{display:flex;gap:30px}.header nav a{font-size:12px;font-weight:700;letter-spacing:.09em;padding:16px 0;position:relative}.header nav a:after{content:'';position:absolute;bottom:5px;left:0;width:0;height:2px;background:var(--red);transition:width .2s}.header nav a:hover:after,.header nav a.active:after{width:100%}.menu-toggle{display:none}.hero{padding:40px var(--page) 0;overflow:hidden}.hero-meta,.hero-bottom{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.13em;font-weight:700}.hero-meta>span:first-child:before{content:'';display:inline-block;width:7px;height:7px;background:var(--red);margin-right:12px}.hero-meta>span:last-child{color:var(--muted);font-weight:400}.hero-main{display:flex;justify-content:space-between;align-items:flex-end;padding:63px 0 60px}.hero h1{font-size:clamp(52px,6.4vw,96px);line-height:1.43;font-weight:800;letter-spacing:.025em}.hero-en{font-size:clamp(18px,1.7vw,26px);font-weight:500;line-height:1.5;letter-spacing:.01em;margin-top:25px}.hero-note{margin-bottom:9px;padding-left:30px}.small-line{display:block;background:var(--red);width:36px;height:2px;margin-bottom:24px}.hero-note p{font-size:15px;font-weight:500;margin-bottom:27px}.text-link{display:inline-block;border-bottom:1px solid var(--ink);padding-bottom:7px;font-size:14px;transition:color .2s}.text-link:hover{color:var(--red);border-color:var(--red)}.hero-bottom{border-top:1px solid var(--line);padding:25px 0}.hero-bottom>a{display:flex;gap:15px;align-items:center;font-size:11px;color:var(--muted)}.scroll-line{width:38px;height:1px;background:var(--red)}.city{height:300px;position:relative;overflow:hidden;background:var(--ink)}.city img{width:100%;height:100%;object-fit:cover;filter:saturate(.6);display:block}.city:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(9,20,35,.65))}.city figcaption{position:absolute;bottom:26px;left:var(--page);right:var(--page);display:flex;justify-content:space-between;color:#fff;font-size:12px;letter-spacing:.13em;z-index:1}.section{padding:105px var(--page)}.section-label{display:flex;justify-content:space-between;margin-bottom:55px;font-size:12px;font-weight:700;letter-spacing:.12em}.section-label>span:first-child:before{content:'';width:20px;height:2px;vertical-align:middle;background:var(--red);display:inline-block;margin-right:15px}.section-label>span:last-child{color:var(--muted);font-weight:400;letter-spacing:.08em}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.equation{font-size:clamp(37px,4.1vw,62px);font-weight:700;line-height:1.15;letter-spacing:-.045em;margin-bottom:32px}.equation>span:not(.red){color:var(--red);font-weight:400}.about p+p{margin-top:20px;color:var(--muted)}
@media(min-width:1600px){:root{--page:max(7.2vw,calc((100vw - 1400px)/2))}}@media(max-width:1000px){.header nav{gap:17px}.hero-note{display:none}.hero-main{padding:55px 0}.hero h1{font-size:8vw}.section{padding:75px var(--page)}}@media(max-width:760px){:root{--page:6vw}html{scroll-padding-top:80px}.header{height:80px;padding:0 var(--page)}.brand{width:150px}.brand img{width:150px}.brand>span{font-size:10px;letter-spacing:.4em;padding-left:28px}.menu-toggle{display:grid;grid-template-columns:1fr 20px;gap:5px 10px;align-items:center;border:0;background:none;padding:12px 0 12px 16px}.menu-toggle>span{grid-row:1/3;font-size:11px;letter-spacing:.1em}.menu-toggle i{width:20px;height:1px;background:var(--ink)}.header nav{position:absolute;top:80px;left:0;right:0;padding:24px var(--page);background:#fff;box-shadow:0 16px 20px #13203310;display:none;flex-direction:column;gap:4px}.header nav.open{display:flex}.header nav a{font-size:14px}.hero{padding-top:27px}.hero-meta{font-size:11px}.hero-meta>span:last-child{display:none}.hero-main{padding:42px 0}.hero h1{font-size:clamp(37px,8.8vw,65px);line-height:1.6;letter-spacing:0}.hero-en{font-size:18px;margin-top:23px}.hero-bottom{font-size:10px;letter-spacing:.06em;padding:21px 0}.hero-bottom>a{font-size:9px;gap:7px}.scroll-line{width:16px}.city{height:195px}.city img{object-position:57% center}.city figcaption{font-size:9px;letter-spacing:.07em;bottom:20px}.section{padding:65px var(--page)}.section-label{font-size:11px;margin-bottom:35px}.section-label>span:last-child{font-size:11px}.about-grid{grid-template-columns:1fr;gap:36px}h2{font-size:30px}.equation{font-size:42px}.equation br{display:none}.equation span{margin:0 5px}.desktop{display:none}p{font-size:16px;line-height:2}.about-grid h2 br:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.section-intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;margin-bottom:50px}.section-intro>p{color:var(--muted)}.business{background:var(--soft)}.business-list{border-top:1px solid #bfc7d0}.business-list details{border-bottom:1px solid #cdd3db}.business-list summary{display:flex;gap:32px;align-items:center;cursor:pointer;padding:28px 0;list-style:none}.business-list summary::-webkit-details-marker{display:none}.row-number{font-size:13px;color:var(--red);font-weight:700;width:32px}.business-list summary>div{flex:1}.business-list h3{font-size:clamp(22px,2.3vw,34px);font-weight:500;letter-spacing:-.035em;line-height:1.2}.business-list summary>div>span{font-size:13px;display:block;margin-top:10px;color:var(--muted)}.plus{position:relative;width:35px;height:35px;border:1px solid #bdc5ce;border-radius:50%;flex-shrink:0}.plus:before,.plus:after{content:'';position:absolute;background:var(--ink);width:11px;height:1px;top:16px;left:11px}.plus:after{transform:rotate(90deg);transition:transform .2s}.business-list details[open] .plus{background:var(--ink);border-color:var(--ink)}.business-list details[open] .plus:before,.business-list details[open] .plus:after{background:#fff}.business-list details[open] .plus:after{transform:rotate(0)}.business-detail{padding:0 65px 32px;display:grid;grid-template-columns:1.6fr 1fr;gap:60px}.business-detail p{color:var(--muted);font-size:15px}.tags{display:flex;flex-wrap:wrap;align-content:flex-start;gap:10px;padding-top:8px}.tags span{font-size:10px;padding:6px 8px;border:1px solid #cdd3db;letter-spacing:.07em;color:var(--muted)}.growth-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:80px}.growth-steps article{position:relative;border-top:1px solid var(--red);padding:38px 25px 0 0}.growth-steps article+article{padding-left:30px}.step-node{position:absolute;top:-18px;left:0;background:#fff;padding:9px 14px 9px 0;color:var(--red);font-size:13px}.growth-steps article+article .step-node{left:30px;padding-left:12px}.growth-steps h3{font-size:clamp(27px,3.3vw,48px);font-weight:500;letter-spacing:-.045em;margin:0 0 25px}.growth-steps h3>span{color:var(--red)}.growth-steps h4{font-size:18px;font-weight:500;margin:0 0 16px}.growth-steps p{font-size:14px;color:var(--muted);line-height:1.9}.step-note{display:block;font-size:10px;color:var(--muted);letter-spacing:.1em;margin-top:30px}.group{border-top:1px solid var(--line)}.english-heading{font-size:clamp(30px,3.8vw,54px);font-weight:500;line-height:1.2;letter-spacing:-.04em}.group-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.group-grid article{padding:30px 24px 28px 0;display:flex;align-items:flex-start;flex-direction:column;min-width:0}.group-grid article+article{padding-left:24px;border-left:1px solid var(--line)}.region{font-size:clamp(19px,2vw,28px);font-weight:500;letter-spacing:-.035em}.group-jp{font-size:12px;color:var(--muted);margin-top:7px}.group-grid h3{margin-top:45px;font-size:16px;line-height:1.45;min-height:47px;letter-spacing:-.02em}.group-grid article>p{font-size:13px;color:var(--muted);margin-top:5px}.group-description{font-size:14px;line-height:1.9;margin:20px 0 28px}.group-grid .text-link{margin-top:auto;font-size:12px}.group-foot{margin-top:auto;font-size:9px;line-height:1.6;letter-spacing:.05em;color:var(--muted)}.next-business .region{color:var(--red)}.external{font-size:15px;margin-left:8px}.philosophy{background:var(--ink);color:white}.philosophy .section-label>span:last-child{color:#adb8c6}.belief{display:grid;grid-template-columns:1fr 3fr;gap:35px;padding:30px 0 62px}.belief+.belief{border-top:1px solid #354152;padding-top:60px;padding-bottom:0}.belief>span{font-size:16px;letter-spacing:.1em;padding-top:14px;color:#f16988}.belief h2{font-size:clamp(29px,3.5vw,52px);line-height:1.6}.belief p{color:#b9c3ce;margin-top:22px;font-size:15px}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);column-gap:50px;margin-top:60px}.values-grid article{padding:24px 0 35px;border-top:1px solid var(--line)}.values-grid article>span{font-size:11px;color:var(--red)}.values-grid h3{font-size:25px;letter-spacing:-.035em;font-weight:500;margin:21px 0 10px}.values-grid p{font-size:14px;color:var(--muted)}.message{background:var(--soft)}.message-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:8vw}.message-kicker{font-size:clamp(44px,4.5vw,70px);line-height:1.05;font-weight:500;letter-spacing:-.055em;display:block}.message-line{display:block;width:60px;height:2px;background:var(--red);margin:38px 0 25px}.message-caption{font-size:13px;color:var(--muted)}.message h2{font-size:30px;margin-bottom:24px}.message p{font-size:15px;color:var(--muted);margin-bottom:18px}.signature{margin-top:32px;display:flex;flex-direction:column;gap:10px}.signature>span:first-child{font-size:11px;letter-spacing:.04em;color:var(--muted)}.signature strong{font-size:26px;font-weight:500;letter-spacing:-.025em}.signature>span:last-child{font-size:13px;letter-spacing:.15em}.news-layout{display:grid;grid-template-columns:1fr 1.35fr;gap:6vw}.news h2{font-size:35px;font-weight:500;letter-spacing:-.04em}.news-intro{font-size:13px;margin-bottom:22px}.news-item{display:block;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0}.news-item>div{display:flex;gap:20px;align-items:center;font-size:12px;color:var(--muted)}.news-tag{font-size:10px;border:1px solid var(--line);padding:5px 8px}.news-item h3{font-size:17px;line-height:1.8;font-weight:500;margin:17px 0;transition:color .2s}.news-item:hover h3{color:var(--red)}.news-source{font-size:12px;color:var(--muted)}.news-note{font-size:12px;color:var(--muted);margin-top:16px}.footer{background:#101c2d;color:#fff;padding:65px var(--page) 24px;border-top:3px solid var(--red)}.footer-top{display:flex;justify-content:space-between;gap:50px}.footer-wordmark{font-size:42px;letter-spacing:-.04em;line-height:1;font-weight:700;display:inline-flex;flex-direction:column;gap:10px}.footer-wordmark>span{font-size:12px;letter-spacing:.5em;font-weight:400}.footer-top p{font-size:14px;color:#b4bfcc;margin-top:30px;line-height:1.7}.footer-top nav{display:grid;grid-template-columns:repeat(2,1fr);gap:22px 55px;align-content:start;font-size:12px;letter-spacing:.06em}.footer a:hover{color:#f16988}.footer-sites{display:flex;justify-content:space-between;gap:20px;padding:40px 0 28px;border-bottom:1px solid #344052;font-size:11px;letter-spacing:.06em;color:#bbc5d2}.footer-bottom{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.05em;color:#b4bfcc;padding:25px 0 20px}.photo-credit{font-size:10px;color:#8392a6;line-height:1.8}.photo-credit a{text-decoration:underline;text-underline-offset:2px}
@media(min-width:761px) and (max-width:1100px){.group-grid{grid-template-columns:repeat(2,1fr)}.group-grid article:nth-child(3){padding-left:0;border-left:0;border-top:1px solid var(--line)}.group-grid article:nth-child(4){border-top:1px solid var(--line)}.group-grid h3{margin-top:25px}.growth-steps article+article{padding-left:18px}.values-grid{gap:25px}.business-detail{gap:30px}.message-grid{gap:5vw}}
@media(max-width:760px){.section-intro{grid-template-columns:1fr;gap:22px;margin-bottom:34px}.section-intro>p{font-size:15px}.business-list summary{gap:12px;padding:24px 0}.row-number{font-size:11px;width:23px;flex-shrink:0}.business-list h3{font-size:23px;line-height:1.3;overflow-wrap:anywhere;letter-spacing:-.03em}.business-list summary>div>span{font-size:12px;line-height:1.7;margin-top:6px}.plus{width:29px;height:29px}.plus:before,.plus:after{top:13px;left:8px}.business-detail{padding:0 0 25px 35px;grid-template-columns:1fr;gap:12px}.business-detail p{font-size:14px}.growth-steps{grid-template-columns:1fr;margin-top:45px;padding-left:18px}.growth-steps article,.growth-steps article+article{border-top:0;border-left:1px solid var(--red);padding:0 0 48px 34px}.growth-steps article:last-child{padding-bottom:0}.step-node,.growth-steps article+article .step-node{left:-16px;top:0;padding:8px;background:#fff}.growth-steps h3{font-size:40px;margin-bottom:16px}.growth-steps h4{font-size:17px;margin-bottom:12px}.growth-steps p{font-size:15px}.step-note{margin-top:19px}.english-heading{font-size:36px}.group-grid{grid-template-columns:1fr 1fr}.group-grid article{padding:25px 16px 25px 0}.group-grid article+article{padding-left:16px;padding-right:0}.group-grid article:nth-child(3){border-left:0;padding-left:0;padding-right:16px;border-top:1px solid var(--line)}.group-grid article:nth-child(4){border-top:1px solid var(--line)}.region{font-size:22px}.group-grid h3{font-size:14px;overflow-wrap:anywhere;margin-top:30px;min-height:42px}.group-grid article>p{font-size:11px}.group-description{font-size:12px;margin:15px 0 23px}.group-grid .text-link{font-size:11px}.group-foot{font-size:9px}.belief{grid-template-columns:1fr;gap:18px;padding:0 0 40px}.belief+.belief{padding-top:38px}.belief>span{font-size:13px}.belief h2{font-size:27px}.belief p{font-size:14px}.values-grid{grid-template-columns:1fr 1fr;column-gap:24px;margin-top:35px}.values-grid h3{font-size:22px;line-height:1.2;min-height:52px;margin:16px 0 9px}.values-grid p{font-size:13px;line-height:1.7}.values-grid article{padding:22px 0 27px}.message-grid{grid-template-columns:1fr;gap:35px}.message-kicker{font-size:43px;line-height:1.12}.message-kicker br{display:none}.message-kicker br:after{content:' '}.message-line{margin:23px 0 16px}.message h2{font-size:28px}.message p{font-size:15px}.news-layout{grid-template-columns:1fr;gap:26px}.news h2{font-size:32px}.news-item h3{font-size:16px}.footer{padding-top:45px}.footer-top{flex-direction:column;gap:40px}.footer-top nav{font-size:12px;gap:22px}.footer-sites{flex-direction:column;font-size:10px;gap:20px;padding-top:35px}.footer-sites>a{font-size:12px}.photo-credit{font-size:10px}}
/* Readable labels and resilient narrow layouts. */
.hero-meta,.hero-bottom,.hero-bottom>a,.header nav a,.section-label,.section-label>span:last-child,.city figcaption,.tags span,.step-note,.group-foot,.group-jp,.news-intro,.news-tag,.news-source,.news-note,.footer-sites,.footer-bottom,.photo-credit,.row-number,.step-node,.signature>span:first-child,.menu-toggle>span{font-size:12px}
.business-detail p,.message p,.belief p,.section-intro>p{font-size:16px}.group-description,.group-grid article>p,.group-grid .text-link,.values-grid p{font-size:14px}.growth-steps p{font-size:16px}.growth-steps article,.section-intro>*,.message-grid>*,.news-layout>*{min-width:0}.growth-steps h3{overflow-wrap:anywhere}.group-foot{line-height:1.7}.header nav a{font-size:12px}
@media(max-width:760px){.hero-bottom{gap:15px}.hero-bottom>a{max-width:130px;line-height:1.5}.hero-bottom>span{max-width:145px;line-height:1.5}.city figcaption{gap:25px;line-height:1.6}.city figcaption>span:last-child{text-align:right}.group-grid{grid-template-columns:1fr}.group-grid article,.group-grid article+article,.group-grid article:nth-child(3){border-left:0;border-top:1px solid var(--line);padding:28px 0}.group-grid article:first-child{border-top:0}.group-grid h3{min-height:0;margin-top:22px;font-size:18px}.group-grid h3 br{display:none}.group-grid h3 br:after{content:' '}.group-description{margin:16px 0 22px}.group-foot{font-size:12px}.growth-steps h3{font-size:clamp(30px,9vw,40px)}.equation{font-size:clamp(32px,10vw,42px)}.values-grid h3{overflow-wrap:anywhere}.section-label{gap:18px;line-height:1.7}.section-label>span:last-child{text-align:right}.message-kicker{font-size:clamp(34px,10vw,43px)}}
/* Shared language navigation and translated typography. */
.language-switch{display:flex;align-items:center;gap:12px;margin-left:24px;flex-shrink:0}.language-switch a{font-size:13px;line-height:2;font-weight:500;color:var(--muted);white-space:nowrap}.language-switch a[aria-current=page]{color:var(--red);text-decoration:underline;text-underline-offset:6px}.header #navigation{margin-left:auto;gap:22px}.hero-main>div:first-child{min-width:0}html[lang=en] .hero h1{font-size:clamp(44px,5.5vw,82px);line-height:1.2;letter-spacing:-.045em}html[lang=en] .hero-note{max-width:220px}html[lang=en] h2{line-height:1.25;letter-spacing:-.025em}html[lang=en] p{letter-spacing:0;line-height:1.85}html[lang=en] .section-intro>p br,html[lang=en] .growth-steps p br,html[lang=en] .belief p br{display:none}html[lang=en] .section-intro>p,html[lang=en] .growth-steps p,html[lang=en] .belief p{white-space:normal}html[lang=zh-Hans] body{font-family:Arial,'Microsoft YaHei','PingFang SC','Noto Sans CJK SC',sans-serif}.hero-en{word-spacing:normal}
@media(max-width:1150px){.header #navigation{position:absolute;top:104px;left:0;right:0;padding:24px var(--page);background:white;box-shadow:0 16px 20px #13203310;display:none;flex-direction:column;gap:4px;margin:0}.header #navigation.open{display:flex}.header #navigation a{font-size:14px}.language-switch{margin-left:auto;margin-right:24px}.menu-toggle{display:grid;grid-template-columns:1fr 20px;gap:5px 10px;align-items:center;border:0;background:none;padding:12px 0 12px 16px}.menu-toggle>span{grid-row:1/3;font-size:11px;letter-spacing:.1em}.menu-toggle i{width:20px;height:1px;background:var(--ink)}}
@media(max-width:760px){.header #navigation{top:80px}.language-switch{gap:9px;margin-right:14px;margin-left:auto}.language-switch a{font-size:12px}.brand,.brand img{width:125px}.brand>span{font-size:9px;padding-left:20px}.menu-toggle{padding-left:0;grid-template-columns:20px}.menu-toggle>span{display:none}html[lang=en] .hero h1{font-size:clamp(35px,8.4vw,62px);line-height:1.22}html[lang=en] .hero-main{padding:40px 0}html[lang=en] h2{font-size:30px}html[lang=en] .belief h2{font-size:27px}.hero-note{display:none}}
@media(max-width:360px){.brand,.brand img{width:108px}.language-switch{gap:7px;margin-right:10px}.header{padding-inline:5vw}}

/* Three existing group companies. */
@media(min-width:1101px){.group-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:761px) and (max-width:1100px){.group-grid article:last-child{grid-column:1 / -1}}

.group-contact{border-top:1px solid var(--line)}.contact-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:6vw;align-items:center}.contact-layout h2{margin-bottom:20px}.contact-layout p{color:var(--muted)}.contact-details{min-width:0;display:flex;flex-direction:column;align-items:flex-start}.contact-email{font-size:clamp(22px,2.5vw,36px);letter-spacing:-.025em;border-bottom:2px solid var(--red);padding-bottom:8px;margin-bottom:28px;overflow-wrap:anywhere}.contact-email:hover{color:var(--red)}.contact-details p{font-size:14px}.contact-details strong{font-size:16px;line-height:1.6;margin-top:8px}.contact-details>span{font-size:12px;letter-spacing:.1em;color:var(--muted);margin-top:8px}.site-operator{font-size:13px;line-height:1.8;color:#b4bfcc;margin-top:25px;overflow-wrap:anywhere}@media(max-width:760px){.contact-layout{grid-template-columns:1fr;gap:32px}.contact-email{font-size:clamp(23px,6vw,32px)}}
