/* Three-language layouts and the nine-member core team. */
:root{font-family:Inter,"Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif}
:lang(ja){font-family:"Meiryo","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic","Banxian Identity","Noto Sans SC","Microsoft YaHei",sans-serif;line-break:strict;word-break:normal;overflow-wrap:break-word}
:lang(en){word-break:normal;overflow-wrap:break-word}
.header-inner{gap:22px}.brand-name small,.footer-brand-text small{font-size:10px;letter-spacing:1px}.desktop-nav{gap:24px}.desktop-nav a,.header-contact{white-space:nowrap}.header-contact{margin-left:0;padding:9px 13px}.header-contact span{margin-left:8px}
.language-switch{display:flex;gap:2px;align-items:center;flex-shrink:0;padding:3px;border:1px solid var(--line);border-radius:4px}.language-switch a{font-size:12px;line-height:1.5;padding:6px 7px;min-height:32px;display:flex;align-items:center;justify-content:center;border-radius:2px;color:var(--muted);white-space:nowrap;font-weight:600}.language-switch a:hover{color:var(--blue);background:var(--mist)}.language-switch a[aria-current="page"]{color:#fff;background:var(--navy)}
.hero-description{max-width:500px;line-height:1.95}.hero-signoff>span:last-child{max-width:360px}.hero-signature{column-gap:12px;row-gap:8px}.hero-signature p{flex:1;min-width:180px}.hero .image-caption{line-height:1.75}.image-top-label{max-width:calc(100% - 48px)}.section-side{max-width:380px;margin-bottom:0}
.business-grid{align-items:stretch}.business-card{display:flex;flex-direction:column;min-width:0}.business-art{height:auto;min-height:252px;gap:20px}.business-art-top{gap:12px;align-items:flex-start}.business-art-top>span:last-child{flex-shrink:0}.business-art-title{font-size:34px;font-weight:650;line-height:1.4;letter-spacing:-.6px}.business-art-foot{font-size:12px;margin-top:auto;letter-spacing:.4px;line-height:1.75}.reading .business-art-title{color:#473158}.spaces .business-art-title{color:#166e99}.booklet .business-art-title{color:#f4f1fc}
.business-info{display:flex;flex-direction:column;flex:1;padding:25px 24px 0}.business-info h3{font-size:20px;font-weight:650;line-height:1.5}.business-info p{font-size:16px;min-height:0;line-height:1.85}.business-link{margin-top:auto;align-items:center;flex-wrap:wrap;row-gap:4px}.business-link>span:last-child{font-size:14px;font-weight:600}.category{line-height:1.7}
.about-intro h2{font-size:clamp(36px,3.6vw,48px);line-height:1.5}.about-definition{font-size:18px}.values h3{font-size:17px;line-height:1.65}.values p{font-size:14px;line-height:1.8}
.team .section-head{margin-bottom:18px;gap:36px}.team .section-head h2{font-size:36px;line-height:1.45}.team-count{min-width:140px;flex-shrink:0}.team-count>strong{font-size:68px;letter-spacing:-3px}.team-count>strong>span{display:block;font-size:14px;letter-spacing:0;margin:7px 0 0}.team-intro{font-size:16px;line-height:1.9;color:var(--muted);max-width:770px;margin:0 0 30px}.team-photo img{aspect-ratio:1944/809;object-fit:contain}.team-photo figcaption{font-size:12px;line-height:1.7;flex-wrap:wrap;align-items:flex-start}.radar-explanation{font-size:14px;line-height:1.85;color:var(--muted);max-width:920px;margin:32px 0 24px}
.core-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;text-align:left}.core-member{--profile-color:#2563eb;--profile-fill:#2563eb21;--profile-tag:#edf3ff;display:flex;flex-direction:column;padding:24px 24px 14px;border:1px solid var(--line);border-radius:3px;min-width:0;background:#fff}.core-reading{--profile-color:#795098;--profile-fill:#79509822;--profile-tag:#f2edf7}
.core-member-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:19px}.core-number{font-size:13px;font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:1px;color:#74849a}.core-badge{font-size:12px;line-height:1.5;padding:4px 8px;color:var(--profile-color);background:var(--profile-tag)}.core-member-name{display:flex;align-items:baseline;gap:5px 12px;flex-wrap:wrap}.core-member-name h3{font-size:26px;line-height:1.4;font-weight:650;letter-spacing:.3px;color:var(--navy);margin:0}.core-member-name>span{font-size:12px;color:var(--muted);line-height:1.7}.core-role{font-size:15px;font-weight:600;line-height:1.7;color:var(--profile-color);margin:12px 0 11px}.core-bio{font-size:16px;line-height:1.85;color:var(--muted);margin:0 0 12px}.core-business{font-size:14px;font-weight:600;line-height:1.7;color:var(--profile-color);width:fit-content;margin-bottom:18px}.core-business:hover{text-decoration:underline;text-underline-offset:4px}
.member-chart{margin:auto 0 0;padding-top:16px}.member-chart figcaption{font-size:12px;line-height:1.7;display:flex;justify-content:space-between;gap:12px;color:var(--muted);border-top:1px solid #e6ecf4;padding-top:13px;margin-bottom:8px}.member-chart figcaption>span{font-variant-numeric:tabular-nums;color:#78879b}.radar{width:100%;max-width:310px;height:auto;display:block;margin-inline:auto;overflow:visible}.radar-grid{fill:none;stroke:#dce4ee;stroke-width:1}.radar-area{fill:var(--profile-fill);stroke:var(--profile-color);stroke-width:2;stroke-linejoin:round}.radar-point{fill:var(--profile-color);stroke:#fff;stroke-width:1}.radar-label{fill:#526176;font-family:inherit;font-size:12px;font-weight:500}.draft-note{font-size:12px;line-height:1.9;margin-top:24px}
.footer-company{overflow-wrap:anywhere}.footer-contact address a{font-size:15px;font-weight:600}.footer-links a{display:flex;align-items:baseline;gap:6px}.footer-links a>span:last-child{flex-shrink:0}.footer-links a>span:first-child{min-width:0;flex-shrink:1}.news-intro h2{font-size:36px;line-height:1.4}.news-item h3{font-size:18px;font-weight:650}.news-item summary p{font-size:14px}.news-body{font-size:16px}.news-body .news-disclaimer{font-size:12px}
:lang(en) .hero h1{font-size:clamp(40px,4.4vw,64px);line-height:1.18;letter-spacing:-1.8px}:lang(en) .hero .eyebrow{font-size:11px;letter-spacing:1.2px}:lang(en) .hero-description{line-height:1.85}:lang(en) .hero-signature p{font-size:13px}:lang(en) .signature-label{font-size:11px;letter-spacing:.7px}:lang(en) .business-art-title{font-size:32px;line-height:1.3;letter-spacing:-.6px}:lang(en) .about-intro h2{font-size:44px;line-height:1.3;letter-spacing:-1px}:lang(en) .core-member-name h3{font-size:24px;letter-spacing:-.4px}:lang(en) .core-role{font-size:15px}
:lang(ja) .hero h1{font-size:clamp(40px,4.1vw,61px);line-height:1.5;letter-spacing:-1.4px}:lang(ja) .business-art-title{font-size:30px;line-height:1.55;letter-spacing:-.6px}:lang(ja) .business-info h3{font-size:19px}:lang(ja) .smart-home-heading h3{font-size:32px}:lang(ja) .about-intro h2{font-size:39px;line-height:1.6}:lang(ja) .about-stamp{letter-spacing:0}:lang(ja) .core-bio{line-height:1.9}
@media(min-width:1700px){.hero .hero-copy h1{font-size:76px}:lang(en) .hero .hero-copy h1{font-size:70px}:lang(ja) .hero .hero-copy h1{font-size:66px}.core-grid{gap:28px}.core-member{padding:28px 28px 16px}}
@media(max-width:1100px){.site-header{height:86px}.header-inner{gap:18px}.desktop-nav,.header-contact{display:none}.language-switch{margin-left:auto}.menu-toggle{display:flex;flex-direction:column;gap:6px;width:42px;height:42px;align-items:center;justify-content:center;margin-left:0;border:1px solid var(--line);background:white;border-radius:4px}.menu-toggle span{height:1.5px;width:19px;background:var(--navy)}.mobile-nav{position:absolute;top:86px;left:0;right:0;background:#fff;padding:10px 32px 24px;border-bottom:1px solid var(--line);box-shadow:0 18px 22px #14243a0c;max-height:calc(100dvh - 86px);overflow:auto}.mobile-nav a{display:block;padding:10px 0;font-size:16px}.business-art{min-height:236px;padding:20px}.business-art-title{font-size:29px}.business-info{padding:22px 20px 0}.business-info h3{font-size:18px}.business-info p{font-size:16px}.business-link{gap:4px 16px}.core-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.core-member{padding:24px 24px 14px}.team .section-head h2{font-size:32px}.team-count>strong{font-size:60px}.section-side{max-width:320px}:lang(en) .business-art-title{font-size:28px}:lang(ja) .business-art-title{font-size:26px}:lang(ja) .about-intro h2{font-size:34px}:lang(en) .about-intro h2{font-size:38px}.signature-label{margin-left:32px;flex-basis:100%}.hero-signature p{flex:1}}
@media(max-width:800px){.hero{gap:32px}.hero-description{max-width:640px}.hero .hero-copy h1{font-size:clamp(44px,9.7vw,64px)}:lang(en) .hero .hero-copy h1{font-size:clamp(39px,8.5vw,64px)}:lang(ja) .hero .hero-copy h1{font-size:clamp(35px,7.5vw,54px);letter-spacing:-.8px}.hero-signature p{font-size:14px}.signature-label{margin-left:auto;flex-basis:auto}.hero .image-caption{gap:6px 18px}.image-top-label{max-width:calc(100% - 36px)}.section-head{gap:16px}.section-head h2{font-size:30px}.section-side{max-width:600px}.business-grid{gap:24px}.business-art{min-height:225px;padding:24px}.business-art-title{font-size:34px}.business-info{padding:24px 24px 0}.business-info h3{font-size:20px}.business-info p{font-size:16px}.business-link{padding-block:18px}.business-link>span:first-child{font-size:13px}.business-art-foot{font-size:12px}.about-grid{gap:28px}.about-intro h2{font-size:38px}.team .section-head h2{font-size:28px}.team-count{min-width:100px}.team-count>strong{font-size:50px}.team-count>strong>span{font-size:12px}.team-intro{margin-bottom:24px}.core-grid{gap:18px}.core-member{padding:22px 20px 12px}.radar-explanation{margin-top:24px}.news-intro h2{font-size:32px}.news-item h3{font-size:17px}.footer-main{gap:28px}.footer-brand-text{font-size:22px}.footer-brand-text small{font-size:9px}:lang(en) .business-art-title{font-size:34px}:lang(ja) .business-art-title{font-size:30px}:lang(ja) .smart-home-heading h3{font-size:28px}:lang(ja) .about-intro h2{font-size:35px}:lang(en) .about-intro h2{font-size:40px}}
@media(max-width:600px){.core-grid{grid-template-columns:minmax(0,1fr);gap:20px}.core-member{padding:24px 24px 12px}.radar{max-width:300px}.team .section-head{align-items:flex-start;gap:20px}.team .section-head h2{font-size:26px}.team-count{min-width:82px}.team-count>strong{font-size:46px}.team-count>strong>span{max-width:115px;line-height:1.5}.core-member-name h3{font-size:27px}:lang(en) .core-member-name h3{font-size:26px}.core-bio{margin-bottom:14px}.footer-main{grid-template-columns:1fr;gap:28px}.footer-links{grid-column:auto;max-width:none}.signature-label{margin-left:32px;flex-basis:100%}.team-photo figcaption{gap:5px}.team-photo figcaption>span{flex-basis:100%;text-align:left}}
@media(max-width:440px){.header-inner{gap:10px}.brand{gap:8px}.brand-mark{width:30px;height:35px}.brand-name{font-size:18px;letter-spacing:1px}.brand-name small{display:none}.language-switch{gap:0;padding:2px}.language-switch a{font-size:12px;padding:7px 5px;min-height:34px}.menu-toggle{width:36px;height:36px;flex-shrink:0}.hero .eyebrow{font-size:10px;letter-spacing:.7px;gap:8px}.little-line{width:16px;flex-shrink:0}.hero-signoff{gap:14px}.hero-signoff>span:last-child{padding-left:14px;font-size:12px}.hero-description{font-size:16px}.section-head h2{font-size:27px}.team .section-head{flex-direction:column;gap:12px}.team-count{text-align:left}.team-count>strong{font-size:42px;letter-spacing:-1px;display:flex;align-items:baseline;gap:12px}.team-count>strong>span{max-width:none;display:inline;margin:0;font-size:13px}.core-member{padding:23px 20px 12px}.footer-bottom{font-size:12px;gap:7px}.about-brand-signature{gap:16px}.about-stamp small{max-width:220px}.business-art-top{font-size:12px}.smart-home-heading h3{font-size:28px}:lang(ja) .about-intro h2{font-size:31px}:lang(en) .about-intro h2{font-size:36px}:lang(en) .hero-signature p{font-size:13px}:lang(en) .hero .eyebrow{font-size:10px;letter-spacing:.7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.business-card,.button,.news-expand{transition:none}.business-card:hover,.button:hover{transform:none}}
