@charset "UTF-8";
:root{--ink:#182f3b;--green:#25705c;--mint:#d3e6d9;--paper:#f7f8f4;--line:#dce2db;--muted:#52636a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body.mirai{margin:0;color:var(--ink);background:#fff;font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a,button{touch-action:manipulation}a:focus-visible,summary:focus-visible,input:focus-visible,button:focus-visible{outline:3px solid #ce9829;outline-offset:5px}a:hover{color:var(--green)}.skip{position:fixed;left:15px;top:-100px;background:white;padding:12px;z-index:99}.skip:focus{top:10px}.header{padding:21px 5%;display:flex;align-items:center;justify-content:space-between;background:#fff;position:relative;z-index:10;border-bottom:1px solid #eef0eb;gap:25px}.brand{display:flex;align-items:center;gap:13px;font-size:25px;font-weight:800;letter-spacing:.015em;line-height:1.4;white-space:nowrap}.brand small{display:block;font-size:10px;font-weight:500;letter-spacing:.15em;margin-top:5px}.brand-symbol{font-size:38px;font-family:Georgia,serif;line-height:1;color:var(--green)}.brand-symbol span{font-size:23px}.desktop-nav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:700}.button{background:var(--green);color:#fff;display:inline-flex;align-items:center;justify-content:space-between;gap:38px;min-height:58px;padding:15px 25px;font-size:14px;font-weight:700;border:1px solid transparent;border-radius:3px;transition:background .2s,transform .2s;cursor:pointer}.button:hover{background:#184f42;color:white;transform:translateY(-2px)}.button span{font-size:20px}.button.small{min-height:47px;padding:10px 20px;gap:22px}.mobile-nav{display:none}.hero{background:var(--paper);position:relative;padding:88px 7% 0;display:grid;grid-template-columns:1.15fr 1fr;gap:35px;overflow:hidden}.eyebrow{font-size:11px;letter-spacing:.19em;font-weight:700;color:var(--green);margin:0 0 24px}.hero h1{font-size:clamp(38px,4.1vw,65px);line-height:1.55;letter-spacing:.035em;font-weight:750;margin:0 0 25px}.hero h1 span{color:var(--green)}.hero-description{color:var(--muted);font-size:17px;line-height:2;margin:0 0 32px}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.text-link{font-size:13px;font-weight:700;border-bottom:1px solid #a5b8ad;padding-bottom:6px;display:inline-block}.credential{font-size:11px;color:var(--muted);margin:32px 0 0}.hero-art{position:relative;min-height:410px;align-self:center;background:linear-gradient(140deg,#e6ede3,#e0ecdf 55%,#f0f3eb);border-radius:50% 50% 4px 4px;overflow:hidden}.art-label{position:absolute;left:12%;top:12%;font-size:33px;font-family:Georgia,serif;line-height:1.25;letter-spacing:.03em;z-index:3}.art-label em{font-size:28px;font-weight:400;color:var(--green)}.step{position:absolute;bottom:0;width:23%;background:linear-gradient(100deg,#326953,#6f9873);box-shadow:20px 0 0 #315943;transform:skewY(-9deg)}.step-one{height:65px;left:13%}.step-two{height:122px;left:34%}.step-three{height:185px;left:55%}.step-four{height:255px;left:76%;background:linear-gradient(100deg,#759c74,#b2c6a2)}.orbit{position:absolute;width:420px;height:420px;border:1px solid #9ab29c;border-radius:50%;transform:rotate(-25deg) scaleX(.6);left:10%;top:-8%;opacity:.5}.orbit-two{transform:rotate(28deg) scaleX(.7);top:8%;left:25%}.art-note{position:absolute;bottom:18px;left:22px;color:white;font-size:11px;z-index:4;letter-spacing:.12em}.art-note span{margin-left:160px;font-size:32px}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid #d4ddd1;padding:21px 0;margin-top:42px;font-size:10px;letter-spacing:.1em;color:var(--muted)}.section{padding:85px 7%;max-width:1440px;margin:auto}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:70px;margin-bottom:42px}h2{font-size:32px;line-height:1.65;letter-spacing:.03em;margin:0;font-weight:700}.section-heading>p,.section-heading>div>p:not(.eyebrow){font-size:14px;color:var(--muted);margin:0;max-width:510px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-card{background:var(--paper);padding:32px;display:block;border:1px solid transparent;position:relative;transition:border .2s,transform .2s}.service-card:hover{border-color:var(--green);transform:translateY(-4px)}.card-top{display:flex;justify-content:space-between;align-items:center;color:var(--green);font-size:12px}.service-icon{font-size:36px;line-height:1.4}.card-caption{font-size:11px;color:var(--green);margin:24px 0 6px}.service-card h3{font-size:20px;margin:0 0 17px}.service-card>p:not(.card-caption){font-size:13px;color:var(--muted);margin:0 0 34px}.card-arrow{display:block;text-align:right;color:var(--green);font-size:26px}.cio{background:#edf2ed;max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:65px}.cio>div>p:not(.eyebrow){font-size:14px;color:var(--muted);margin:24px 0 30px}.cio-diagram{display:flex;justify-content:center;align-content:center;align-items:center;flex-wrap:wrap;gap:8px}.cio-diagram>span:not(.diagram-plus){width:155px;height:155px;border-radius:50%;border:1px solid #8ca797;display:flex;align-items:center;justify-content:center;font-size:20px;background:#ffffff65}.diagram-plus{font-size:25px;color:var(--green)}.cio-diagram p{width:100%;text-align:center}.news-row{display:grid;grid-template-columns:100px 100px 1fr 24px;align-items:center;gap:20px;padding:25px 0;border-top:1px solid var(--line)}.news-row:last-child{border-bottom:1px solid var(--line)}.news-row time{font-size:12px;color:var(--muted)}.tag{font-size:10px;border:1px solid var(--line);text-align:center;padding:2px 8px;border-radius:2px}.news-row h3{font-size:14px;font-weight:500;margin:0}.news-row>span:last-child{color:var(--green);font-size:22px}.about{border-top:1px solid var(--line)}.about .section-heading{align-items:flex-start;margin-bottom:0}.about .section-heading>div{max-width:530px}.signature{margin:22px 0!important;font-size:13px!important}.contact-band{text-align:center;padding:70px 6%;background:var(--ink);color:white}.contact-band .eyebrow{color:#b5d2c0}.contact-band h2{font-size:30px}.contact-band p:not(.eyebrow){font-size:14px;color:#d5dfe0;margin:17px 0 28px}.button.light{background:#fff;color:var(--ink);min-width:250px}.button.light:hover{background:#dfecdf}.footer{padding:48px 7% 20px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:25px}.footer p{font-size:11px;color:var(--muted)}.footer nav{display:flex;gap:27px;font-size:12px;align-items:center}.footer-bottom{width:100%;border-top:1px solid var(--line);padding-top:18px;display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.page-heading{background:var(--paper);max-width:none;padding-top:55px;padding-bottom:50px}.breadcrumb{font-size:12px;color:var(--muted);margin-bottom:20px}.page-heading h1{font-size:clamp(27px,3vw,42px);line-height:1.6;margin:0;overflow-wrap:anywhere}.page-body{max-width:1060px;padding-top:55px}.entry-content{overflow-wrap:anywhere}.entry-content a{color:var(--green);text-decoration:underline;text-underline-offset:3px}.entry-content p{margin:0 0 1.7em}.entry-content h2,.entry-content h3{margin:1.7em 0 .7em}.entry-content h2{font-size:25px;padding-bottom:12px;border-bottom:1px solid var(--line)}.entry-content h3{font-size:21px}.entry-content img{max-width:100%;height:auto}.entry-content figure{max-width:100%;margin:25px 0}.entry-content table{border-collapse:collapse;display:block;max-width:100%;overflow:auto}.entry-content td,.entry-content th{padding:12px;border:1px solid var(--line)}.entry-content input:not([type=checkbox]):not([type=radio]),.entry-content textarea,.entry-content select{max-width:100%;font:inherit;border:1px solid #aab8b0;border-radius:3px;padding:10px;background:#fff;color:var(--ink)}.entry-content textarea{width:100%}.entry-content input[type=submit]{background:var(--green)!important;color:#fff!important;padding:12px 35px!important;cursor:pointer}.entry-content ul,.entry-content ol{padding-left:1.5em}.post-date,.archive-item time{font-size:12px;color:var(--muted)}.archive-item{border-bottom:1px solid var(--line);padding:28px 0}.archive-item h2{font-size:22px}.archive-item p{font-size:14px;color:var(--muted)}.search-form label{display:block;font-size:13px;margin-bottom:8px}.search-form>div{display:flex;gap:12px}.search-form input{flex:1;min-width:0;border:1px solid #aab8b0;font:inherit;padding:12px}.pagination{margin-top:30px}.page-numbers{padding:8px}.wp-block-spacer{max-height:60px}
@media(min-width:1600px){.hero{padding-left:max(7%,calc((100vw - 1240px)/2));padding-right:max(7%,calc((100vw - 1240px)/2))}}@media(max-width:1100px){.desktop-nav{gap:16px;font-size:12px}.hero{padding-top:55px}.hero h1{font-size:43px}.hero-actions{gap:17px}.hero-art{min-height:370px}.service-card{padding:24px}.service-card h3{font-size:18px}.section-heading{gap:35px}.cio{gap:25px}.cio-diagram>span:not(.diagram-plus){width:125px;height:125px;font-size:17px}}@media(max-width:800px){.header{padding:18px 6%}.brand{font-size:22px}.desktop-nav{display:none}.mobile-nav{display:block;font-size:13px}.mobile-nav summary{cursor:pointer;list-style:none;border:1px solid var(--line);padding:6px 12px;border-radius:3px}.mobile-nav nav{position:absolute;right:0;top:100%;width:100%;padding:15px 6%;background:#fff;box-shadow:0 15px 20px #182f3b12;display:grid;grid-template-columns:1fr 1fr;gap:15px}.hero{grid-template-columns:1fr;padding:45px 6% 0;gap:30px}.hero h1{font-size:clamp(34px,6.7vw,52px)}.hero-art{min-height:320px;max-width:500px;width:100%;justify-self:center}.art-label{font-size:30px}.hero-bottom{margin-top:0;gap:20px;flex-wrap:wrap;font-size:9px}.hero-bottom span:last-child{display:none}.hero-description{font-size:15px}.credential{font-size:10px}.section{padding:56px 6%}.section-heading{display:block;margin-bottom:30px}.section-heading>p,.section-heading>div>p:not(.eyebrow){margin-top:20px}.section-heading>.text-link{margin-top:20px}h2{font-size:27px}.service-grid{grid-template-columns:1fr;gap:16px}.service-card{padding:25px}.card-caption{margin-top:5px}.service-card>p:not(.card-caption){margin-bottom:10px}.service-card h3{font-size:21px}.cio{grid-template-columns:1fr;gap:35px}.cio-diagram{padding:15px 0}.cio-diagram>span:not(.diagram-plus){width:140px;height:140px}.news-row{grid-template-columns:90px 100px 1fr;gap:8px;padding:20px 0}.news-row h3{grid-column:1/3;grid-row:2}.news-row>span:last-child{grid-column:3;grid-row:1/3;text-align:right}.about .section-heading>div{margin-top:25px}.contact-band{padding:55px 6%}.contact-band h2{font-size:23px}.footer{padding:35px 6% 20px}.footer nav{flex-wrap:wrap;gap:18px}.entry-content{font-size:15px}.page-heading{padding:35px 6%}.eyebrow{font-size:10px;margin-bottom:18px}.page-body{padding-top:35px}.search-form .button{gap:5px;padding:10px 17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

body.mirai h1,body.mirai h2,body.mirai h3,body.mirai h4{background:transparent!important;color:var(--ink);border-left:0;box-shadow:none}body.mirai h1::before,body.mirai h1::after,body.mirai h2::before,body.mirai h2::after,body.mirai h3::before,body.mirai h3::after{content:none!important}body.mirai .contact-band h2{color:white}

/* Selected collaborative planning illustration */
body.mirai .hero-art-selected{min-height:0;background:transparent;border-radius:0;overflow:visible;max-width:560px;width:100%;justify-self:center}
body.mirai .hero-illustration{display:block;width:100%;height:auto;max-width:100%;border:0}
@media(max-width:800px){body.mirai .hero-art-selected{max-width:500px}}

.desktop-nav{gap:clamp(12px,1.8vw,28px)}.desktop-nav>a{white-space:nowrap}@media(min-width:801px) and (max-width:1040px){.desktop-nav{display:none}.mobile-nav{display:block;font-size:13px}.mobile-nav summary{cursor:pointer;list-style:none;border:1px solid var(--line);padding:6px 12px;border-radius:3px}.mobile-nav nav{position:absolute;right:0;top:100%;width:100%;padding:15px 6%;background:#fff;box-shadow:0 15px 20px #182f3b12;display:grid;grid-template-columns:1fr 1fr;gap:15px}}

/* Keep the full-width CIO band aligned with the surrounding content. */
body.mirai .cio{padding-inline:max(7%,calc((100% - 1174px)/2));grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:72px;align-items:center}
body.mirai .cio-diagram{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;align-content:center;justify-items:center;gap:0 14px;width:100%;max-width:420px;justify-self:end;padding:0}
body.mirai .cio-diagram>span:not(.diagram-plus){width:155px;height:155px;max-width:100%;aspect-ratio:1;border-radius:50%;font-size:20px}
body.mirai .cio-diagram>span:first-child{justify-self:end}
body.mirai .cio-diagram>span:nth-child(3){justify-self:start}
body.mirai .cio .cio-diagram>p{grid-column:1/-1;width:100%;margin:24px 0 20px;text-align:center}
body.mirai .cio-diagram>.text-link{grid-column:1/-1;justify-self:center}
@media(max-width:1100px){body.mirai .cio{gap:35px}body.mirai .cio-diagram{gap:0 10px}body.mirai .cio-diagram>span:not(.diagram-plus){width:125px;height:125px;font-size:17px}}
@media(max-width:800px){body.mirai .cio{padding-inline:6%;grid-template-columns:minmax(0,1fr);gap:40px}body.mirai .cio-diagram{justify-self:center;max-width:360px}body.mirai .cio-diagram>span:not(.diagram-plus){width:140px;height:140px;font-size:18px}}
@media(max-width:360px){body.mirai .cio-diagram>span:not(.diagram-plus){width:120px;height:120px;font-size:16px}}

/* Rich CIO relationship diagram. */
body.mirai .cio-diagram-rich{grid-template-columns:minmax(0,1fr);max-width:500px;gap:0;padding:22px 18px 24px;background:#ffffffd9;border:1px solid #dae5d9;border-radius:18px;box-shadow:0 12px 32px #1d4c3310}
body.mirai .cio .cio-diagram-rich>.cio-visual-label{grid-column:1;margin:0 0 8px;width:100%;font-size:12px;font-weight:700;letter-spacing:.08em;color:#527364;text-align:center}
body.mirai .cio-visual{display:block;width:100%;height:auto;overflow:visible}
body.mirai .cio-diagram-rich>.text-link{grid-column:1;margin-top:16px}
@media(max-width:800px){body.mirai .cio-diagram-rich{max-width:460px;padding:18px 10px 22px}body.mirai .cio .cio-diagram-rich>.cio-visual-label{font-size:11px}}

/* Balance hero spacing after removing the supplementary strip. */
body.mirai .hero{padding-bottom:64px}@media(max-width:800px){body.mirai .hero{padding-bottom:40px}}

/* Readable body copy and a consistent heading hierarchy. */
body.mirai{font-size:18px;line-height:1.85}
body.mirai .section-heading>p,body.mirai .section-heading>div>p:not(.eyebrow),body.mirai .cio>div>p:not(.eyebrow),body.mirai .contact-band p:not(.eyebrow){font-size:21px;line-height:1.9}
body.mirai .section-heading{align-items:start;gap:48px}
body.mirai .section-heading>div,body.mirai .section-heading>h2{min-width:0}
body.mirai .section-heading>p,body.mirai .about .section-heading>div{flex:0 1 540px;max-width:540px}
body.mirai .hero-description{font-size:22px;line-height:1.9}
body.mirai h2{font-size:38px;line-height:1.55}
body.mirai .service-card{padding:30px;display:flex;flex-direction:column}
body.mirai .service-card h3{font-size:24px;line-height:1.65;margin-bottom:18px}
body.mirai .service-card>p:not(.card-caption){font-size:19.5px;line-height:1.85;margin-bottom:26px}
body.mirai .card-caption{font-size:15px;line-height:1.7;margin-top:22px}
body.mirai .card-top{font-size:15px}
body.mirai .card-arrow{margin-top:auto}
body.mirai .button{font-size:17px;line-height:1.7;min-height:60px;padding:17px 26px}
body.mirai .button.small{font-size:15px;min-height:48px;padding:12px 19px;gap:18px}
body.mirai .text-link{font-size:17px;line-height:1.7}
body.mirai .eyebrow{font-size:13px;line-height:1.7}
body.mirai .credential{font-size:14px;line-height:1.8}
body.mirai .desktop-nav{font-size:16px;gap:clamp(16px,1.4vw,28px)}
body.mirai .brand small{font-size:12px}
body.mirai .news-row{grid-template-columns:110px 130px minmax(0,1fr) 26px;gap:22px;padding:28px 0}
body.mirai .news-row h3{font-size:20px;line-height:1.75}
body.mirai .news-row time{font-size:16px}
body.mirai .tag{font-size:14px;line-height:1.7}
body.mirai .signature{font-size:17px!important;line-height:1.8}
body.mirai .contact-band h2{font-size:36px}
body.mirai .footer p{font-size:16px;line-height:1.9}
body.mirai .footer nav{font-size:16px;gap:24px;flex-wrap:wrap}
body.mirai .footer-bottom{font-size:13px}
body.mirai .breadcrumb{font-size:15px}
body.mirai .entry-content{font-size:19px;line-height:1.95}
body.mirai .entry-content h2{font-size:30px}
body.mirai .entry-content h3{font-size:25px}
body.mirai .post-date,body.mirai .archive-item time{font-size:15px}
body.mirai .archive-item h2{font-size:27px}
body.mirai .archive-item p{font-size:19px;line-height:1.9}
body.mirai .search-form label{font-size:17px}
body.mirai .cio .cio-diagram-rich>.cio-visual-label{font-size:15px;line-height:1.7}
@media(min-width:801px) and (max-width:1250px){body.mirai .desktop-nav{display:none}body.mirai .mobile-nav{display:block;font-size:16px}.mobile-nav summary{cursor:pointer;list-style:none;border:1px solid var(--line);padding:8px 14px;border-radius:3px}.mobile-nav nav{position:absolute;right:0;top:100%;width:100%;padding:20px 6%;background:#fff;box-shadow:0 15px 20px #182f3b12;display:grid;grid-template-columns:1fr 1fr;gap:18px}}
@media(min-width:801px) and (max-width:1100px){body.mirai .section-heading{display:block}body.mirai .section-heading>p{margin-top:24px}body.mirai .section-heading>.text-link{margin-top:24px}body.mirai .service-grid{gap:18px}body.mirai .service-card{padding:24px}body.mirai .service-card h3{font-size:22px}body.mirai .cio{grid-template-columns:minmax(0,1fr);gap:40px}body.mirai .cio-diagram-rich{justify-self:center}}
@media(max-width:800px){body.mirai h2{font-size:30px;line-height:1.6}body.mirai .hero h1{font-size:clamp(32px,7.5vw,48px);line-height:1.6}body.mirai .hero-description{font-size:20px;line-height:1.9}body.mirai .section-heading>p,body.mirai .section-heading>div>p:not(.eyebrow),body.mirai .cio>div>p:not(.eyebrow),body.mirai .contact-band p:not(.eyebrow){font-size:21px}body.mirai .section-heading{margin-bottom:32px}body.mirai .service-card{padding:27px}body.mirai .service-card h3{font-size:24px}body.mirai .service-card>p:not(.card-caption){font-size:19.5px}body.mirai .hero-actions{gap:22px}body.mirai .credential{font-size:13px}body.mirai .mobile-nav{font-size:16px}body.mirai .mobile-nav nav{grid-template-columns:minmax(0,1fr);gap:0;padding-block:12px}body.mirai .mobile-nav nav>a{padding:10px 0;border-bottom:1px solid var(--line)}body.mirai .mobile-nav nav>a:last-child{border:0}body.mirai .eyebrow{font-size:12px}body.mirai .news-row{grid-template-columns:105px minmax(0,150px) 24px;gap:12px}body.mirai .news-row h3{font-size:19px}body.mirai .news-row time{font-size:15px}body.mirai .tag{font-size:13px}body.mirai .contact-band h2{font-size:28px}body.mirai .footer p{font-size:15px}body.mirai .footer nav{font-size:15px}body.mirai .entry-content{font-size:18px}body.mirai .entry-content h2{font-size:27px}body.mirai .entry-content h3{font-size:23px}body.mirai .cio .cio-diagram-rich>.cio-visual-label{font-size:14px}body.mirai .section p br{display:none}}

@media(max-width:800px){body.mirai .header{gap:12px}body.mirai .mobile-nav{flex-shrink:0}body.mirai .mobile-nav summary{white-space:nowrap;font-size:14px;padding:8px 10px}body.mirai .brand small{font-size:10.5px}}

.article-back{margin-top:56px;padding-top:32px;border-top:1px solid var(--line);text-align:center}.article-back-button{justify-content:center;gap:16px;max-width:100%;text-align:center;white-space:normal}@media(max-width:800px){.article-back{margin-top:40px;padding-top:26px}body.mirai .article-back-button{font-size:16px;padding:16px 18px;gap:12px}}

body.mirai .card-top{justify-content:flex-start}body.mirai .service-icon-illustrated{display:flex;align-items:center;justify-content:center;width:76px;height:76px;background:#e7eee3;border:1px solid #d6e1d2;border-radius:18px;color:var(--green)}body.mirai .service-icon-illustrated svg{display:block;width:45px;height:45px}body.mirai .service-card:hover .service-icon-illustrated{background:#dce9d9}@media(max-width:800px){body.mirai .service-icon-illustrated{width:68px;height:68px;border-radius:16px}body.mirai .service-icon-illustrated svg{width:41px;height:41px}}

body.mirai .maintenance-button{display:inline-flex;align-items:center;align-self:center;justify-content:center;gap:12px;border:1px solid #b9c9bf;border-radius:4px;padding:12px 18px;font-size:15px;font-weight:600;color:var(--green);background:#f7f8f4;line-height:1.7}body.mirai .maintenance-button:hover{background:#e7eee3;border-color:var(--green)}body.mirai .maintenance-button svg{flex-shrink:0}@media(max-width:800px){body.mirai .maintenance-button{font-size:14px}}

body.mirai .footer-bottom{align-items:flex-end;gap:20px}body.mirai .footer-bottom-left{display:flex;flex-direction:column;align-items:flex-start;gap:10px}body.mirai .maintenance-button{align-self:flex-start;min-height:24px;padding:0;border:0;border-radius:0;background:transparent;color:#6b7871;font-size:12px;font-weight:400;line-height:1.6;gap:6px;box-shadow:none}body.mirai .maintenance-button:hover{background:transparent;color:var(--green);text-decoration:underline;text-underline-offset:3px}body.mirai .maintenance-button svg{width:13px;height:13px}body.mirai .maintenance-button>span{font-size:11px}@media(max-width:800px){body.mirai .maintenance-button{font-size:12px}}
