:root{--sp-navy:#082e4a;--sp-ink:#0d2b40;--sp-muted:#536b78;--sp-line:#b9c9d0;--sp-paper:#f3f6f5;--sp-soft:#e9f1f3;--sp-signal:#00c4df}
body.page-template-service-pillar{overflow-x:hidden}
body.page-template-service-pillar #page,body.page-template-service-pillar #content{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;overflow-x:hidden}
.sp-page{width:100%;max-width:none;overflow:hidden;background:var(--sp-paper);color:var(--sp-ink);font-family:"Noto Sans JP",sans-serif}
.sp-page *{box-sizing:border-box}.sp-container{width:min(1220px,calc(100% - 80px));margin-inline:auto}.sp-label{display:flex;align-items:center;gap:16px;margin:0 0 25px;color:#007d9d;font:800 11px/1.4 Inter,sans-serif;letter-spacing:.22em}.sp-label::before{content:"";width:38px;height:1px;background:currentColor}.sp-page h2{max-width:940px;margin:0;color:var(--sp-navy);font-size:clamp(34px,4.1vw,58px);font-weight:800;letter-spacing:-.055em;line-height:1.42;text-wrap:balance}.sp-section__lead{max-width:860px;margin:24px 0 0;color:var(--sp-muted);font-size:16px;line-height:2}
.sp-page--security{--sp-signal:#92e500;--sp-accent:#66a900}.sp-page--infrastructure{--sp-signal:#00a8ff;--sp-accent:#0076bd}.sp-page--external{--sp-signal:#00c4df;--sp-accent:#0088a8}
.sp-hero{position:relative;isolation:isolate;min-height:760px;padding:112px 0 104px;overflow:hidden;background:var(--sp-navy);color:#fff}.sp-hero::before{content:"";position:absolute;z-index:-2;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:linear-gradient(90deg,#000,transparent 88%);mask-image:linear-gradient(90deg,#000,transparent 88%)}.sp-hero__grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(400px,.82fr);gap:94px;align-items:center}.sp-hero .sp-label{color:var(--sp-signal)}.sp-hero h1{max-width:830px;margin:0;color:#fff;font-size:clamp(48px,5.2vw,76px);font-weight:800;letter-spacing:-.065em;line-height:1.23;text-wrap:balance}.sp-hero h1 span{display:block;margin-top:.12em}.sp-hero h1 span::after{content:"";display:inline-block;width:.18em;height:.18em;margin-left:.13em;background:var(--sp-signal);vertical-align:.12em}.sp-hero__lead{max-width:710px;margin:36px 0 0;color:#bed1db;font-size:17px;line-height:2.05}.sp-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:39px}.sp-btn{display:inline-flex;min-height:62px;align-items:center;justify-content:center;gap:18px;padding:15px 28px;border:1px solid transparent;text-decoration:none!important;font-size:15px;font-weight:800;line-height:1.45;transition:background .22s ease,color .22s ease,border-color .22s ease}.sp-btn--primary{background:var(--sp-signal);color:#062b42!important}.sp-btn--primary:hover{background:#fff}.sp-btn--ghost{border-color:rgba(255,255,255,.36);color:#fff!important}.sp-btn--ghost:hover{border-color:#fff;background:rgba(255,255,255,.07)}.sp-note{margin:13px 0 0;color:#849daa;font-size:13px}.sp-hero__system{border-top:1px solid rgba(255,255,255,.5)}.sp-hero__system>p{margin:0;padding:18px 0;color:var(--sp-signal);font:800 10px Inter,sans-serif;letter-spacing:.2em}.sp-hero__system ol{margin:0;padding:0;border-top:1px solid rgba(255,255,255,.14);list-style:none}.sp-hero__system li{display:grid;grid-template-columns:44px 96px 1fr;min-height:85px;align-items:center;gap:13px;border-bottom:1px solid rgba(255,255,255,.14)}.sp-hero__system li span{color:var(--sp-signal);font:800 11px Inter,sans-serif}.sp-hero__system li strong{font-size:17px}.sp-hero__system li small{color:#9eb6c3;font-size:12px;line-height:1.6}.sp-hero__index{position:absolute;z-index:-1;right:-.03em;bottom:-.24em;color:transparent;font:900 clamp(190px,27vw,410px)/1 Inter,sans-serif;letter-spacing:-.09em;-webkit-text-stroke:1px rgba(255,255,255,.07);pointer-events:none}
.sp-section{padding:128px 0}.sp-problems{background:var(--sp-paper)}.sp-heading-grid{display:grid;grid-template-columns:240px minmax(0,1fr);column-gap:72px}.sp-heading-grid>.sp-label{grid-column:1}.sp-heading-grid>h2{grid-column:2}.sp-problem-grid{display:grid;grid-column:1/-1;grid-template-columns:repeat(2,1fr);margin-top:80px;border-top:1px solid #9eb1ba}.sp-problem-grid article{position:relative;min-height:245px;padding:40px 44px 42px 92px;border-right:1px solid #c0cdd3;border-bottom:1px solid #c0cdd3}.sp-problem-grid article:nth-child(2n){border-right:0}.sp-problem-grid article>span{position:absolute;top:46px;left:18px;color:var(--sp-accent);font:800 11px Inter,sans-serif}.sp-problem-grid h3{margin:0 0 18px;color:var(--sp-navy);font-size:clamp(21px,2vw,27px);letter-spacing:-.03em;line-height:1.55}.sp-problem-grid p{margin:0;color:var(--sp-muted);font-size:15px;line-height:1.9}
.sp-scope{background:#fff}.sp-scope-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:68px;border-block:1px solid var(--sp-navy)}.sp-scope-grid article{min-height:470px;padding:38px 36px;border-right:1px solid #ccd7dc}.sp-scope-grid article:last-child{border-right:0}.sp-scope-grid article>span{display:block;margin-bottom:51px;color:var(--sp-accent);font:800 11px Inter,sans-serif;letter-spacing:.12em}.sp-scope-grid h3{margin:0 0 30px;color:var(--sp-navy);font-size:30px;letter-spacing:-.04em}.sp-scope-grid ul{margin:0;padding:0;list-style:none}.sp-scope-grid li{position:relative;margin:17px 0;padding-left:18px;color:#425c69;font-size:15px;line-height:1.8}.sp-scope-grid li::before{content:"";position:absolute;top:.72em;left:0;width:5px;height:5px;background:var(--sp-signal)}
.sp-model{position:relative;background:#071f31;color:#fff}.sp-model__grid{display:grid;grid-template-columns:minmax(0,.76fr) minmax(540px,1.24fr);gap:96px;align-items:center}.sp-model h2{color:#fff}.sp-model__grid>div>p:not(.sp-label){color:#c2d4dd;font-size:16px;line-height:2}.sp-model__map{display:grid;grid-template-columns:1fr 1.36fr 1fr;align-items:center;border:1px solid rgba(255,255,255,.2)}.sp-model__map>div{display:grid;gap:9px;padding:26px 22px}.sp-model__map small{margin-bottom:5px;color:#8cc7d6;font-size:11px;font-weight:800}.sp-model__map span{padding:9px;border:1px solid rgba(255,255,255,.18);font-size:12px;text-align:center}.sp-model__center{padding:42px 18px!important;background:var(--sp-signal);color:var(--sp-navy);text-align:center}.sp-model__center small,.sp-model__center span{color:#17475a}.sp-model__center strong{font-size:20px;line-height:1.55}.sp-model__center span{border:0}
.sp-boundaries{background:var(--sp-soft)}.sp-boundary-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:68px;border-top:1px solid var(--sp-navy)}.sp-boundary-grid article{min-height:345px;padding:36px 32px;border-right:1px solid #b8c8cf}.sp-boundary-grid article:last-child{border-right:0}.sp-boundary-grid article>span{color:var(--sp-accent);font:800 11px Inter,sans-serif}.sp-boundary-grid h3{margin:40px 0 24px;color:var(--sp-navy);font-size:24px}.sp-boundary-grid ul{margin:0;padding:0;list-style:none}.sp-boundary-grid li{padding:12px 0;border-bottom:1px solid #c5d1d6;color:#405966;font-size:14px;line-height:1.65}.sp-boundary-grid .is-limit{background:rgba(8,46,74,.045)}
.sp-resources{background:var(--sp-paper)}.sp-resource-list{margin-top:70px;border-top:1px solid var(--sp-navy)}.sp-resource-list>a{display:grid;grid-template-columns:180px minmax(270px,.76fr) minmax(310px,1fr) 70px;min-height:150px;align-items:center;gap:34px;padding:28px 0;border-bottom:1px solid #b8c8cf;color:var(--sp-ink)!important;text-decoration:none!important;transition:padding .22s ease}.sp-resource-list>a:hover{padding-left:17px}.sp-resource__meta b,.sp-resource__meta small{display:block}.sp-resource__meta b{color:#007795;font:800 11px Inter,sans-serif;letter-spacing:.11em}.sp-resource__meta small{margin-top:8px;color:#788e99;font-size:12px}.sp-resource-list h3{margin:0;color:var(--sp-navy);font-size:21px;line-height:1.55}.sp-resource-list p{margin:0;color:var(--sp-muted);font-size:14px;line-height:1.85}.sp-resource-list i{color:var(--sp-accent);font-size:24px;font-style:normal;text-align:right}
.sp-related{background:#fff}.sp-related__links{display:grid;grid-template-columns:repeat(3,1fr);margin-top:62px;border-top:1px solid var(--sp-navy)}.sp-related__links a{display:grid;grid-template-columns:42px 1fr 30px;align-items:center;gap:18px;min-height:120px;padding:25px 26px;border-right:1px solid #c1ced4;border-bottom:1px solid #c1ced4;color:var(--sp-navy)!important;text-decoration:none!important}.sp-related__links a:last-child{border-right:0}.sp-related__links span{color:var(--sp-accent);font:800 11px Inter,sans-serif}.sp-related__links strong{font-size:18px}.sp-related__links i{font-size:20px;font-style:normal}.sp-related__links a:hover{background:var(--sp-soft)}
.sp-faq{background:#fff}.sp-faq__list{max-width:940px;margin:66px 0 0 auto;border-top:1px solid var(--sp-navy)}.sp-faq details{border-bottom:1px solid #c1cdd3}.sp-faq summary{position:relative;padding:31px 64px 31px 0;color:var(--sp-navy);font-size:18px;font-weight:800;line-height:1.7;cursor:pointer;list-style:none}.sp-faq summary::-webkit-details-marker{display:none}.sp-faq summary::after{content:"+";position:absolute;top:28px;right:12px;color:var(--sp-accent);font-size:27px;font-weight:400}.sp-faq details[open] summary::after{content:"−"}.sp-faq details p{margin:0;padding:0 64px 34px 0;color:var(--sp-muted);line-height:1.95}
.sp-final{position:relative;isolation:isolate;padding:112px 0;overflow:hidden;background:var(--sp-signal);color:var(--sp-navy)}.sp-final::after{content:"NEXT";position:absolute;z-index:-1;right:-.03em;bottom:-.28em;color:rgba(8,46,74,.07);font:900 clamp(150px,24vw,350px)/1 Inter,sans-serif;letter-spacing:-.08em}.sp-final__grid{display:grid;grid-template-columns:1.12fr .88fr;gap:66px;align-items:center}.sp-final h2{color:var(--sp-navy)}.sp-final p:not(.sp-label){color:#17485a;line-height:1.9}.sp-final__actions{display:grid;gap:13px}.sp-btn--dark{background:var(--sp-navy);color:#fff!important}.sp-phone{display:flex;flex-direction:column;align-items:center;padding:14px;color:var(--sp-navy)!important;text-decoration:none!important}.sp-phone small{font-size:12px}.sp-phone strong{font:800 28px Inter,sans-serif;letter-spacing:.03em}
.sp-article-cta{margin:54px 0;padding:40px 42px;border-top:4px solid var(--sp-signal);background:var(--sp-navy);color:#fff}.sp-article-cta__eyebrow{margin:0 0 17px!important;color:var(--sp-signal)!important;font:800 11px Inter,sans-serif!important;letter-spacing:.18em}.sp-article-cta h3{margin:0 0 15px!important;padding:0!important;border:0!important;background:none!important;color:#fff!important;font-size:clamp(25px,3vw,36px)!important;line-height:1.55!important}.sp-article-cta>p:not(.sp-article-cta__eyebrow){margin:0!important;color:#d0e0e8!important;line-height:1.9!important}.sp-article-cta__scope{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:24px 0 0;padding:0;list-style:none}.sp-article-cta__scope li{padding:13px;border:1px solid rgba(255,255,255,.2);color:#e8f1f4;font-size:13px;line-height:1.6}.sp-article-cta__actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:25px}.sp-article-cta__actions a{display:inline-flex;min-height:54px;align-items:center;justify-content:center;gap:14px;padding:13px 22px;border:1px solid rgba(255,255,255,.35);color:#fff!important;text-decoration:none!important;font-weight:800}.sp-article-cta__actions a:first-child{border-color:var(--sp-signal);background:var(--sp-signal);color:var(--sp-navy)!important}.sp-inline-cta{margin:42px 0;padding:27px 29px;border-left:4px solid var(--sp-signal);background:#eaf4f6}.sp-inline-cta small{display:block;margin-bottom:9px;color:#007b99;font:800 10px Inter,sans-serif;letter-spacing:.15em}.sp-inline-cta strong{display:block;color:var(--sp-navy);font-size:20px;line-height:1.6}.sp-inline-cta p{margin:9px 0 16px!important;color:#496673!important}.sp-inline-cta a{color:#006cae!important;font-weight:800;text-decoration:none!important}
@media(max-width:1050px){.sp-container{width:min(100% - 48px,1220px)}.sp-hero{min-height:0}.sp-hero__grid,.sp-model__grid{grid-template-columns:1fr;gap:62px}.sp-hero__system{max-width:760px}.sp-heading-grid{grid-template-columns:1fr}.sp-heading-grid>.sp-label,.sp-heading-grid>h2{grid-column:1}.sp-resource-list>a{grid-template-columns:130px 1fr 1.15fr 44px}.sp-scope-grid article{min-height:auto}.sp-final__grid{grid-template-columns:1fr}}
@media(max-width:720px){.sp-container{width:min(100% - 32px,1220px)}.sp-hero{padding:72px 0 68px}.sp-hero h1{font-size:clamp(33px,9.4vw,38px);line-height:1.36}.sp-hero__lead{margin-top:28px;font-size:15px}.sp-actions{display:grid}.sp-btn{width:100%;min-height:56px;text-align:center}.sp-hero__system li{grid-template-columns:32px 78px 1fr;min-height:76px}.sp-section{padding:82px 0}.sp-page h2{font-size:31px;line-height:1.5}.sp-problem-grid{grid-template-columns:1fr;margin-top:48px}.sp-problem-grid article,.sp-problem-grid article:nth-child(2n){min-height:auto;padding:30px 8px 34px 56px;border-right:0}.sp-problem-grid article>span{top:35px;left:2px}.sp-scope-grid{grid-template-columns:1fr}.sp-scope-grid article{padding:32px 4px;border-right:0;border-bottom:1px solid #ccd7dc}.sp-scope-grid article:last-child{border-bottom:0}.sp-scope-grid article>span{margin-bottom:28px}.sp-model__map{grid-template-columns:1fr;padding:14px}.sp-model__center{order:-1}.sp-boundary-grid{grid-template-columns:1fr}.sp-boundary-grid article{min-height:0;padding:30px 4px;border-right:0;border-bottom:1px solid #b8c8cf}.sp-resource-list>a{grid-template-columns:1fr 42px;gap:12px;min-height:0;padding:28px 0}.sp-resource-list>a:hover{padding-left:0}.sp-resource__meta,.sp-resource-list h3,.sp-resource-list p{grid-column:1}.sp-resource-list i{grid-column:2;grid-row:1/4;align-self:center}.sp-related__links{grid-template-columns:1fr}.sp-related__links a,.sp-related__links a:nth-child(2n){min-height:95px;padding:22px 5px;border-right:0}.sp-faq__list{margin-top:46px}.sp-faq summary{padding:26px 45px 26px 0;font-size:16px}.sp-faq details p{padding:0 0 28px}.sp-final{padding:84px 0}.sp-article-cta{margin:42px 0;padding:30px 20px}.sp-article-cta__scope{grid-template-columns:1fr}.sp-article-cta__actions{display:grid}.sp-article-cta__actions a{width:100%}.sp-inline-cta{padding:23px 18px}.sp-inline-cta strong{font-size:18px}}

/* Editorial line breaks: fixed by meaning on desktop, with extra mobile breaks. */
.sp-page h1,.sp-page h2{text-wrap:auto}.sp-br--mobile{display:none}.sp-hero h1::after{content:"";display:inline-block;width:.18em;height:.18em;margin-left:.13em;background:var(--sp-signal);vertical-align:.12em}
@media(min-width:1051px){.sp-model__grid{grid-template-columns:minmax(0,.9fr) minmax(540px,1.1fr);gap:72px}.sp-model h2{font-size:clamp(36px,3.65vw,46px);line-height:1.48}.sp-final h2{font-size:clamp(38px,3.9vw,50px);line-height:1.5}}
@media(max-width:720px){.sp-br--mobile{display:inline}}
@media(prefers-reduced-motion:no-preference){.sp-problem-grid article,.sp-scope-grid article,.sp-boundary-grid article,.sp-related__links a{transition:background .24s ease,color .24s ease}}
