/* EXTOOL home: white, readable typography, three independent entry points. */
:root{--navy:#0F2044;--brand-blue:#1E56AD;--brand-blue-deep:#174787;--text-primary:#0F2044;--text-body:#374151;--gray-dark:#4b5563;--gray-line:#E5E8ED;--home-blue:#1E56AD}
html{scroll-padding-top:88px}body{color:#374151;background:#fff;font-family:"Meiryo UI","Noto Sans JP",sans-serif}body *{box-sizing:border-box}h1,h2,h3{color:#0F2044}p{line-height:1.9}a,button,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #1E56AD;outline-offset:5px}
.skip-link{position:fixed;top:8px;left:12px;z-index:10001;background:#fff;padding:14px;transform:translateY(-150%);color:#0F2044}.skip-link:focus{transform:none}
.site-nav{background:#fff;border-bottom:1px solid #E5E8ED;padding:0 max(28px,calc((100vw - 1280px)/2));box-shadow:none}.sn-logo{color:#0F2044;font-weight:700}.sn-links{gap:22px}.sn-links a{color:#374151;font-size:14px;white-space:nowrap}.sn-links a:hover{color:#1E56AD}.sn-cta{background:#1E56AD;font-size:14px;border-radius:4px}.sn-cta:hover{background:#174787}.sn-hamburger span{background:#0F2044}.sn-hamburger{min-width:44px;min-height:44px}.sn-menu{background:#fff;border-bottom:1px solid #E5E8ED;max-height:calc(100dvh - 64px);overflow:auto}.sn-menu a{color:#0F2044;padding:8px 0;min-height:44px}
#hero.home-hero{min-height:0;display:grid;grid-template-columns:1.18fr 1fr;gap:72px;padding:142px max(28px,calc((100vw - 1184px)/2)) 76px;background:#FAFBFD;overflow:visible;align-items:center}.home-kicker{font-size:14px;font-weight:700;letter-spacing:.08em;color:#374151;margin:0 0 22px}.home-hero h1{font-size:clamp(40px,4.3vw,62px);line-height:1.35;font-weight:700;letter-spacing:.01em;margin:0 0 24px}.home-intro{font-size:17px;line-height:1.9;max-width:580px;margin-bottom:28px}.home-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.home-primary,.home-secondary{display:inline-flex;justify-content:center;align-items:center;gap:16px;min-height:50px;padding:14px 20px;text-decoration:none;font-size:15px;font-weight:700;border:1px solid #1E56AD;border-radius:4px;line-height:1.6}.home-primary{background:#1E56AD;color:#fff}.home-primary:hover{background:#174787}.home-secondary{background:#fff;color:#0F2044;border-color:#0F2044}.home-secondary:hover{background:#EBF2FF}.home-text-link{display:inline-block;color:#0F2044;font-size:14px;line-height:1.7;text-underline-offset:5px;text-decoration-thickness:1px;padding:10px 0}.hero-copy>.home-text-link{margin-top:12px}.hero-learning{background:#fff;border:1px solid #E5E8ED;border-left:4px solid #1E56AD;border-radius:0 6px 6px 0;padding:28px}.learning-top{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #E5E8ED;padding-bottom:20px;margin-bottom:24px;font-size:14px;font-weight:700;color:#0F2044}.learning-top span:last-child{font-size:12px;color:#4b5563}.learning-node{display:flex;align-items:center;gap:18px;padding:18px 16px;background:#F4F6FA;border-radius:4px}.learning-number{font-size:12px;display:flex;align-items:center;justify-content:center;flex:0 0 30px;height:30px;border-radius:50%;background:#1E56AD;color:#fff;font-weight:700}.learning-node strong{font-size:19px;color:#0F2044}.learning-node p{font-size:12px;margin-top:6px}.learning-connector{font-size:22px;color:#1E56AD;margin:5px 0 5px 29px}.learning-note{font-size:12px;color:#4b5563;margin-top:20px}
.home-section{padding:80px max(28px,calc((100vw - 1184px)/2))}.home-section-head{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:end;margin-bottom:36px}.home-section h2,.home-trust h2{font-size:clamp(25px,2.7vw,36px);font-weight:700;line-height:1.55;margin:0}.home-section-head>p{font-size:16px;max-width:460px}.business-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:24px}.business-grid article{padding:28px 26px;border:1px solid #E5E8ED;border-radius:0 6px 6px 0;display:flex;flex-direction:column}.business-training{background:#EBF2FF;border-left:4px solid #1E56AD!important}.business-other{background:#fff}.business-no{font-size:13px;font-weight:700;margin-bottom:24px}.business-grid h3{font-size:25px;line-height:1.55;margin-bottom:18px}.business-grid article>p:not(.business-no){font-size:15px;line-height:1.9;margin-bottom:20px}.business-grid ul{padding-left:20px;font-size:13px;line-height:1.9;margin-bottom:22px}.business-grid .home-secondary{font-size:13px;margin-top:auto;padding:13px 10px}.business-grid .home-primary{font-size:14px;margin-top:auto;padding:13px 10px}.business-grid .home-text-link{font-size:12px}.business-all{text-align:right;margin-top:24px;font-size:14px}.business-all a{color:#0F2044;text-underline-offset:5px}
.home-trust{padding:44px max(28px,calc((100vw - 1184px)/2));display:grid;grid-template-columns:140px 1fr 130px;gap:36px;align-items:center;background:#F4F6FA;border-block:1px solid #E5E8ED}.home-trust img{width:140px;height:160px;object-fit:cover;object-position:center 24%;border-radius:4px}.home-trust .home-kicker{margin-bottom:12px;font-size:12px}.home-trust h2{font-size:24px}.home-trust div>p:not(.home-kicker){font-size:14px;margin-top:12px}.trust-sign{font-size:12px;line-height:2}.trust-sign strong{font-size:20px}
#insights{padding:80px max(28px,calc((100vw - 1184px)/2))!important;background:#fff!important}.insights-grid{gap:24px!important}#insights .section-label{color:#374151}#insights a{box-shadow:none!important;border-radius:6px}#insights a:hover{box-shadow:none!important;border-color:#1E56AD!important}#insights img{aspect-ratio:1200/630;object-fit:contain;background:#F4F6FA}#insights h3{font-size:19px!important;line-height:1.6!important}#insights p{color:#374151!important}
.home-support{background:#FAFBFD;border-block:1px solid #E5E8ED}.home-support h2{margin-bottom:32px}.support-rows{margin-bottom:26px}.support-rows>div{display:grid;grid-template-columns:38px 250px 1fr;gap:24px;padding:24px 0;border-bottom:1px solid #E5E8ED;align-items:start}.support-rows span{background:#1E56AD;color:#fff;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;font-size:12px}.support-rows h3{font-size:19px;line-height:1.6}.support-rows p{font-size:15px;margin:0}.home-philosophy{margin:40px auto;max-width:1184px;padding:0 24px}.home-philosophy summary{padding:18px 0;cursor:pointer;font-weight:700;color:#0F2044}.home-philosophy #about{padding:36px 0;background:#fff}.about-philosophy,.about-perspective,.about-card{background:#F4F6FA!important;color:#374151!important}.about-philosophy *,.about-perspective *,.about-card *{color:#374151!important}.about-philosophy{padding:36px!important}.about-cards{gap:20px}.about-headline{font-weight:700}.section-heading{font-weight:700}.section-label{font-family:inherit;color:#374151;letter-spacing:.08em}.reveal{opacity:1;transform:none;transition:none}
#leadership{background:#fff;padding:80px max(28px,calc((100vw - 1184px)/2))}#leadership p,.career-role{color:#374151;font-size:15px;line-height:1.9}.leadership-name{font-weight:700}.leadership-message{background:#F4F6FA!important;color:#374151}.leadership-photo-wrap img{object-fit:cover}.leadership-title,.career-org{color:#0F2044}#company{background:#FAFBFD}#company,#contact{padding:80px max(28px,calc((100vw - 1184px)/2))}.contact-heading{font-weight:700}#contact{background:#fff;color:#0F2044}#contact p,#contact label{color:#374151}#contact input,#contact textarea,#contact select{background:#fff;color:#0F2044;border:1px solid #9CA3AF}#contact .contact-submit{background:#1E56AD;color:#fff}.ai-consult{right:12px;bottom:12px}.ai-consult-toggle{font-size:13px!important;min-height:44px}.ai-consult-panel{max-height:calc(100dvh - 160px);overflow:auto}
@media(max-width:1100px){#hero.home-hero{gap:32px}.sn-links{gap:14px}.business-grid{gap:16px}.business-grid article{padding:24px 18px}.business-grid h3{font-size:22px}}
@media(max-width:900px){#hero.home-hero{grid-template-columns:1fr;padding:112px 24px 52px;gap:30px}.home-hero h1{font-size:44px}.hero-learning{max-width:620px;width:100%}.home-section{padding:56px 24px}.home-section-head{grid-template-columns:1fr;gap:18px}.business-grid{grid-template-columns:1fr}.business-grid article{padding:28px}.business-grid h3 br{display:none}.business-grid .home-primary,.business-grid .home-secondary{align-self:flex-start}.business-grid .home-text-link{font-size:14px}.business-grid .home-secondary{font-size:14px}.home-trust{padding:36px 24px;grid-template-columns:100px 1fr;gap:24px}.home-trust img{width:100px;height:125px}.home-trust h2{font-size:22px}.trust-sign{grid-column:2}.support-rows>div{grid-template-columns:32px 1fr;gap:12px}.support-rows p{grid-column:2}.home-section h2{font-size:28px}#leadership,#company,#contact{padding:56px 24px}#insights{padding:56px 24px!important}.insights-grid{grid-template-columns:1fr!important}.home-philosophy{margin:24px auto}.about-philosophy{padding:24px!important}}
@media(max-width:480px){.home-hero h1{font-size:38px}.home-intro{font-size:15px}.home-actions{align-items:stretch;flex-direction:column}.home-actions a{width:100%}.hero-learning{padding:20px 16px}.learning-node{padding:16px 12px;gap:12px}.learning-node strong{font-size:17px}.learning-top{font-size:12px}.learning-top span:last-child{font-size:11px}.home-trust{grid-template-columns:72px 1fr;gap:18px}.home-trust img{width:72px;height:96px;align-self:start}.home-trust h2{font-size:20px}.home-trust div>p:not(.home-kicker){grid-column:1/-1}.business-grid article{padding:24px}.home-kicker{font-size:12px}.ai-consult{bottom:10px;right:10px}.ai-consult-panel{width:calc(100vw - 20px)!important}.home-support .home-text-link{width:auto}.contact-form{padding-bottom:64px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}.reveal,.hero-headline,.hero-sub,.hero-en,.hero-bottom{opacity:1!important;transform:none!important}}

body,body *{font-family:"Meiryo UI","Meiryo","Yu Gothic UI","Noto Sans JP",sans-serif}

#about.home-section{background:#FAFBFD}#about-detail{padding:36px 0;background:#fff}.home-trust .home-text-link{font-weight:700}@media(max-width:600px){.ai-consult{position:static;margin:24px;display:flex;justify-content:flex-end}.ai-consult-panel{position:fixed;right:10px;bottom:72px}.ai-consult-toggle{box-shadow:none!important}}

@media(max-width:600px){.ai-consult{position:static!important;margin:24px!important;display:flex;justify-content:flex-end}.ai-consult__panel{position:fixed!important;right:10px!important;bottom:72px!important;max-height:calc(100dvh - 150px);overflow:auto;width:calc(100vw - 20px)!important}.ai-consult__toggle{box-shadow:none!important}}

/* Existing AI helper stays available in normal document flow to avoid obscuring content. */
.ai-consult{position:static!important;margin:24px!important;display:flex;justify-content:flex-end}.ai-consult__panel{position:fixed!important;right:20px;bottom:76px;max-height:calc(100dvh - 160px);overflow:auto}.ai-consult__toggle{box-shadow:none!important}

.hero-other-services{display:flex;flex-wrap:wrap;gap:8px 20px;margin:16px 0 0;font-size:13px;line-height:1.7}.hero-other-services>span{flex-basis:100%;color:#4b5563;font-size:12px}.hero-other-services a{color:#0F2044;text-underline-offset:4px;font-weight:700;padding:5px 0}.hero-person{display:flex;gap:14px;align-items:center;margin-top:18px;padding-top:18px;border-top:1px solid #E5E8ED}.hero-person img{width:64px;height:76px;object-fit:cover;object-position:center 24%;border-radius:4px}.hero-person p{font-size:12px;line-height:1.65;margin:0 0 4px}.hero-person strong{font-size:15px;margin-left:8px}.hero-person a{color:#0F2044;font-size:12px;text-underline-offset:4px}.hero-copy>.home-text-link{font-size:12px;margin-top:12px}.home-hero .hero-copy{max-width:580px}
@media(max-width:480px){#hero.home-hero{padding-top:98px}.home-hero h1{font-size:36px;margin-bottom:20px}.home-intro{margin-bottom:20px}.home-hero .home-secondary{background:none;border:0;min-height:38px;padding:5px 0;justify-content:flex-start;font-size:14px}.home-hero .home-actions{gap:8px}.hero-other-services{margin-top:10px;gap:3px 18px;font-size:13px}.hero-person{margin-top:14px;padding-top:14px}.hero-person img{width:56px;height:68px}.hero-person p{font-size:11px}.hero-copy>.home-text-link{font-size:11px;margin-top:8px}.hero-person strong{font-size:14px}}

/* Representative photo is intentionally shown only in #leadership. */
.home-trust{grid-template-columns:1fr 130px}.home-trust .trust-sign{grid-column:auto}
@media(max-width:900px){.home-trust{grid-template-columns:1fr}.home-trust .trust-sign{grid-column:auto}}
