:root { --ink:#174f7c; --body:#334f68; --blue:#0075c9; --pale:#edf7fe; --line:#dce9f4; --white:#fff; --max:1200px; --hero-content-padding-top:48px; --hero-eyebrow-margin-bottom:16px; --hero-lead-margin-top:18px; --hero-lead-margin-bottom:-24px; font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Yu Gothic",Meiryo,sans-serif; color:var(--body); line-height:1.7; }
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;min-width:320px;background:var(--white);font-size:14px} img{display:block;max-width:100%;height:auto} a{color:inherit}.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}
.skip-link{position:absolute;left:12px;top:-60px;z-index:20;padding:10px 14px;color:var(--white);background:var(--ink)}.skip-link:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{position:relative;z-index:10;border-bottom:1px solid var(--line);background:var(--white)}.site-header__inner{display:flex;align-items:center;min-height:84px;gap:28px}.brand img{width:60px;height:53px;object-fit:contain}.site-nav{margin-left:auto}.site-nav ul{display:flex;align-items:center;gap:5px;margin:0;padding:0;list-style:none}.site-nav a{display:block;padding:10px 13px;color:var(--blue);text-decoration:none;white-space:nowrap;font-size:13px}.site-nav a:hover,.site-nav a:focus-visible{background:var(--pale)}.menu-toggle{display:none;border:0;background:transparent;padding:12px;cursor:pointer}.menu-toggle__line{display:block;width:27px;height:2px;margin:5px;background:var(--ink)}
.hero{position:relative;min-height:258px;overflow:hidden;gap:0;background:var(--pale)}.hero__image{position:absolute;inset:0 0 0 calc(31.25% - 2px);border:0;outline:0}.hero__image::after{content:"";position:absolute;top:0;bottom:0;left:0;width:40px;background:linear-gradient(90deg,var(--pale) 0%,rgba(237,247,254,.78) 42%,rgba(237,247,254,0) 100%);pointer-events:none}.hero__image img{width:100%;height:100%;object-fit:cover;object-position:center}.hero__content{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:flex-start;min-height:258px;padding:var(--hero-content-padding-top) 0 28px;border:0;outline:0}.hero__eyebrow{margin:0 0 var(--hero-eyebrow-margin-bottom);color:#c75b12;font-size:clamp(13px,1.3vw,15.6px);font-weight:700;line-height:1.1;letter-spacing:.08em;white-space:nowrap}h1,h2,h3{margin:0;color:var(--ink);line-height:1.35}h1{max-width:720px;font-size:clamp(20.3px,calc(3.4vw - 5.4px),43.3px);font-weight:700;letter-spacing:.02em}#hero-title{margin:6px 0 3px;font-family:"UD Digi Kyokasho NK","UD デジタル 教科書体 NK","BIZ UDPGothic","Yu Gothic",Meiryo,sans-serif}.hero__description{margin:var(--hero-lead-margin-top) 0 var(--hero-lead-margin-bottom);color:#222;font-size:14px}
.section{padding:36px 0 78px}.support__grid{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:start}.support__copy>h2,.support__diagram-inner>h2{margin-bottom:24px;font-size:22px}.support__diagram-inner>h2{color:#174f7c;font-size:19.3px;text-align:center}.support__copy>h2::after{content:"";display:block;width:100%;height:4px;margin-top:16px;background:#cfcfcf}.support__item{margin-bottom:31px}.support__item h3{color:#d97a35;font-size:15px}.support__item p{margin:11px 0 0;color:#222;font-size:14px}.support__diagram{padding-top:1px}.support__diagram-inner{width:82%;margin-inline:auto}.diagram-box{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:54px;padding:3px 15px;color:#174f7c;background:#eaf4fc;border:1px solid #c5ddf0;border-radius:8px;text-align:center}.diagram-box:not(.diagram-box--result){color:#174f7c;background:#eaf4fc;border:1px solid #c5ddf0}.diagram-box strong{font-size:14px;font-weight:700;line-height:1.35}.diagram-box span{margin-top:2px;font-size:12px;line-height:1.2}.diagram-box--wide,.diagram-box--result{width:68%;margin-inline:auto}.diagram-box--wide{color:#fff;background:#0075c9;border-color:#0075c9}.diagram-box--wide span{color:#fff}.diagram-boxes{display:grid;grid-template-columns:repeat(3,1fr);width:100%;gap:18px;margin:0 auto}.diagram-box--result{color:#174f7c;background:#eaf4fc;border-color:#c5ddf0}.diagram-box--result span{color:#174f7c}.diagram-branches{position:relative;width:100%;height:34px;margin-inline:auto;color:#69adea}.diagram-branches::after{content:"";position:absolute;top:16px;right:16.6667%;left:16.6667%;height:2px;background:currentColor}.diagram-branches span{position:absolute;left:50%;width:2px;background:currentColor;transform:translateX(-50%)}.diagram-branches span:first-child{left:16.6667%}.diagram-branches span:last-child{left:83.3333%}.diagram-branches--split::before{content:"";position:absolute;top:0;left:50%;width:2px;height:17px;background:currentColor;transform:translateX(-50%)}.diagram-branches--split span{top:16px;height:12px}.diagram-branches--split span::after,.diagram-branches--merge span:nth-child(2)::after{content:"";position:absolute;top:100%;left:50%;width:0;height:0;border-top:7px solid currentColor;border-right:5px solid transparent;border-left:5px solid transparent;transform:translateX(-50%)}.diagram-branches--merge span{top:0;height:17px}.diagram-branches--merge span:nth-child(2){height:28px}
.news{padding:12px 0 42px;background:#f9fcff}.news__grid{display:grid;grid-template-columns:30% 70%;align-items:start}.news__heading{position:relative;padding:8px 0 0}.news__rule{position:absolute;top:0;bottom:0;right:26px;width:1px;background:#9acaec}.news__heading p{margin:0 0 6px;color:#007acc;font-size:12.5px;font-weight:800;letter-spacing:.05em}.news__heading h2{color:#195080;font-size:15.5px}.news__list{padding-top:5px}.news__row{display:grid;grid-template-columns:130px 105px 1fr;align-items:center;min-height:55px;border-bottom:1px solid var(--line);color:#2d4e6b;font-size:14px}.news__row time{color:#000}.news__category{justify-self:start;padding:2px 11px;color:#fff;background:var(--ink);border:1px solid var(--ink);border-radius:3px;font-size:9.5px;font-weight:700}.news__title{min-width:0;color:#000;text-decoration:none}.news__row a.news__title:hover,.news__row a.news__title:focus-visible{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.site-footer{padding:16px 0;color:#dce9f4;background:var(--ink);font-size:9.5px}.site-footer__inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.site-footer p{margin:0;color:var(--white)}.site-footer nav{display:flex;gap:18px}.site-footer a{color:inherit;text-decoration:none}.site-footer a:hover,.site-footer a:focus-visible{color:var(--white);text-decoration:underline}.site-footer small{color:#c5d8e5}
@media(max-width:1050px){.site-header__inner{gap:12px}.site-nav ul{gap:0}.site-nav a{padding-inline:8px;font-size:12px}}
@media(max-width:767px){:root{--hero-eyebrow-margin-bottom:14px}.container{width:min(calc(100% - 32px),var(--max))}.site-header__inner{min-height:70px}.brand img{width:52px;height:46px}.menu-toggle{display:block;margin-left:auto}.site-nav{display:none;position:absolute;top:70px;right:0;left:0;padding:7px 16px 14px;background:var(--white);border-bottom:1px solid var(--line)}.site-nav.is-open{display:block}.site-nav ul{display:grid;gap:2px}.site-nav a{padding:12px 13px;font-size:14px}.hero{min-height:0}.hero__image{position:relative;inset:auto;order:2;height:220px}.hero__image::after{display:none}.hero__image img{height:220px;object-position:68% center}.hero__content{min-height:0;padding:var(--hero-content-padding-top) 0 29px}.hero__eyebrow{margin-bottom:var(--hero-eyebrow-margin-bottom);font-size:10px}h1{font-size:20.3px}#hero-title{margin-top:3px}.hero__description{font-size:14px}.section{padding:28px 0 60px}.support__grid{grid-template-columns:1fr;gap:48px}.support__copy>h2,.support__diagram-inner>h2{font-size:19px}.support__diagram-inner>h2{font-size:16.3px}.support__item h3{font-size:15px}.support__diagram-inner{width:100%}.diagram-box--wide,.diagram-box--result{width:68%}.diagram-boxes{width:100%;gap:10px;margin:0 auto}.diagram-box{min-height:41px;padding:3px 7px}.diagram-box strong{font-size:12px}.diagram-box span{font-size:10.5px}.diagram-branches{height:30px}.diagram-branches::after{top:14px}.diagram-branches--split::before{height:15px}.diagram-branches--split span{top:14px;height:10px}.diagram-branches--merge span{height:15px}.diagram-branches--merge span:nth-child(2){height:24px}.news{padding-top:0}.news__grid{grid-template-columns:1fr;gap:28px}.news__rule{display:none}.news__heading p{margin-bottom:4px}.news__row{grid-template-columns:1fr;gap:2px;align-items:start;padding:13px 0}.news__category{width:fit-content}.site-footer__inner{align-items:flex-start;flex-direction:column;gap:8px}.site-footer nav{gap:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.support__diagram-inner>h2{color:#174f7c}
.support__diagram-inner>h2{margin-bottom:18px}
.diagram-box:not(.diagram-box--result){border-color:#c5ddf0}
.diagram-box--wide:not(.diagram-box--result){color:#fff;background:#0075c9;border-color:#0075c9}
@media(min-width:768px){.diagram-boxes{width:100%;grid-template-columns:repeat(3,1fr);column-gap:18px}.diagram-boxes>.diagram-box{width:auto;margin:0;transform:none}}
.support__diagram{padding-top:77px}
.diagram-boxes{margin-top:0;margin-bottom:0}
@media(max-width:767px){.diagram-boxes{width:100%;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 auto}}
.diagram-box--result{color:#174f7c;background:#eaf4fc;border-color:#c5ddf0;border-radius:8px}
.diagram-box--result span{color:#174f7c}
.site-nav a{color:#222}
.site-nav a:hover,.site-nav a:focus-visible{color:#111}
.site-nav__item--has-submenu{position:relative}
.site-nav>ul>li>a.is-current{color:#174f7c;box-shadow:inset 0 -2px #9acaec}
.site-nav .site-nav__submenu{position:absolute;top:100%;left:0;z-index:50;display:none;min-width:220px;margin:0;padding:0;align-items:stretch;flex-direction:column;gap:0;background:#fff;border:1px solid #dce9f4;box-shadow:0 8px 18px rgba(23,79,124,.12);list-style:none}
.site-nav__item--has-submenu:hover>.site-nav__submenu,.site-nav__item--has-submenu:focus-within>.site-nav__submenu,.site-nav__item--has-submenu.is-submenu-open>.site-nav__submenu{display:flex}
.site-nav .site-nav__submenu li{width:100%}
.site-nav .site-nav__submenu li+li{border-top:1px solid #dce9f4}
.site-nav .site-nav__submenu a{display:block;padding:10px 13px;color:#222;font-size:13px;font-weight:400;line-height:1.5;white-space:nowrap}
.site-nav .site-nav__submenu a:hover,.site-nav .site-nav__submenu a:focus-visible,.site-nav .site-nav__submenu a[aria-current="page"]{color:#174f7c;background:#edf7fe}
.site-nav .site-nav__submenu-label{display:block;padding:10px 13px;color:#7b8c9a;font-size:13px;font-weight:400;line-height:1.5;white-space:nowrap;cursor:not-allowed}
.site-nav__contact a{color:#fff;background:#0075c9;border-radius:8px}
.site-nav__contact a:hover,.site-nav__contact a:focus-visible{color:#fff;background:#005f9f}
.site-nav>ul>li.site-nav__contact>a.is-current{color:#fff;box-shadow:inset 0 -2px rgba(255,255,255,.75)}
@media(max-width:767px){
  .site-nav{max-height:calc(100vh - 70px);overflow-y:auto}
  .site-nav__item--has-submenu:hover>.site-nav__submenu,.site-nav__item--has-submenu:focus-within>.site-nav__submenu{display:none}
  .site-nav__item--has-submenu.is-submenu-open>.site-nav__submenu{display:grid}
  .site-nav .site-nav__submenu{position:static;width:100%;min-width:0;margin:0;padding:0;border:0;border-top:1px solid #dce9f4;background:#fff;box-shadow:none}
  .site-nav .site-nav__submenu a{padding:11px 26px;font-size:14px}
  .site-nav .site-nav__submenu-label{padding:11px 26px;font-size:14px}
  .site-nav__contact a{text-align:center}
}
@media(min-width:768px){.support__grid{grid-template-columns:calc(50% - 29px + 2em) calc(50% - 29px - 2em)}}
.support__copy>h2::after{display:none}
/* Two-column page diagrams: move each complete block up by about two body-text lines. */
@media(min-width:768px){
  body main .support__diagram{transform:translateY(-48px)}
  body main .strength-flow,
  body main .philosophy-diagram{transform:translateY(-48px)}
  body main .system-development-flow,
  body main .data-platform-flow,
  body main .automation-flow,
  body main .engineering-flow,
  body main .ai-algorithm-flow,
  body main .industries-diagram,
  body main .financial-domain-diagram,
  body main .credit-loan-flow,
  body main .financial-ai-diagram,
  body main .experience-cases-diagram,
  body main .people-development-side{transform:translateY(-24px)}
  body main .cloud-flow{transform:translateY(36px)}
  body main .open-positions-side{transform:translateY(-12px)}
  body main .business-diagram{transform:translate(calc(-29px - 2em),-24px)}
}

/* Adjust selected desktop diagrams without affecting mobile placement. */
@media(min-width:768px){
  body main .home-security-flow{transform:translateY(-24px)}
  body main .application-flow,
  body main .contact-flow{transform:translateY(12px)}
}

/* Keep desktop heroes unchanged and make lower-page mobile heroes more compact. */
@media(max-width:767px){
  :root{--hero-content-padding-top:12px;--hero-eyebrow-margin-bottom:10px;--hero-lead-margin-top:12px;--hero-lead-margin-bottom:-10px}
  body main>section[class$="-hero"]>[class$="-hero__image"]{position:relative;inset:auto;height:180px}
  body main>section[class$="-hero"]>[class$="-hero__image"]::after{display:none}
  body main>section[class$="-hero"]>[class$="-hero__image"] img{width:100%;height:180px;object-fit:cover;object-position:68% center}
  body main>section[class$="-hero"]>[class$="-hero__content"]{display:flex;min-height:0;padding:var(--hero-content-padding-top) 0 20px;flex-direction:column}
  body main>.hero,
  body main>section[class$="-hero"]{display:flex;flex-direction:column}
  body main>.hero>.hero__image,
  body main>section[class$="-hero"]>[class$="-hero__image"]{order:0}
  body main>.hero>.hero__content,
  body main>section[class$="-hero"]>[class$="-hero__content"]{order:1}
  body main>section[class$="-hero"] [class$="-hero__eyebrow"]{margin-top:0;margin-bottom:var(--hero-eyebrow-margin-bottom)}
  body main>section[class$="-hero"] [class$="-hero__lead"]{margin-top:var(--hero-lead-margin-top);margin-bottom:var(--hero-lead-margin-bottom);line-height:1.6}
  body main>[class$="-breadcrumb"]{padding-top:14px}
  body main .support__diagram,
  body main .strength-flow,
  body main .philosophy-diagram,
  body main .business-diagram,
  body main .system-development-flow,
  body main .data-platform-flow,
  body main .cloud-flow,
  body main .automation-flow,
  body main .engineering-flow,
  body main .ai-algorithm-flow,
  body main .industries-diagram,
  body main .financial-domain-diagram,
  body main .credit-loan-flow,
  body main .financial-ai-diagram,
  body main .experience-cases-diagram,
  body main .people-development-side,
  body main .open-positions-side{transform:none}
  body main .support__diagram,
  body main .strength-flow,
  body main .philosophy-diagram{transform:translateY(-24px)}

  /* Match mobile content-to-diagram spacing to the cloud page's 48px gap. */
  body main .business-diagram,
  body main .system-development-flow,
  body main .data-platform-flow,
  body main .automation-flow,
  body main .engineering-flow,
  body main .ai-algorithm-flow,
  body main .home-security-flow,
  body main .industries-diagram,
  body main .financial-domain-diagram,
  body main .credit-loan-flow,
  body main .financial-ai-diagram,
  body main .experience-cases-diagram,
  body main .people-development-side{margin-top:0}

  body main .support__grid,
  body main .strength-layout{gap:40px}

  body main .support__diagram{padding-top:0}

  body main .strength-flow{margin-top:0}

  body main .philosophy-diagram{margin-top:-48px}
}
