:root{--ink:#193747;--body:#425863;--blue:#326e92;--line:#dce6eb;--pale:#edf4f7;--white:#fff;--max:1200px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--white);font-family:"Noto Sans CJK JP","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}p,h1,h2,h3,figure{margin:0}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #db923e;outline-offset:6px}.wrap{width:min(calc(100% - 96px),var(--max));margin-inline:auto}.preview-note{font:600 12px/1.5 Arial,sans-serif;letter-spacing:.13em;color:#dae8ee;background:#193747;padding:8px 48px;display:flex;gap:18px;align-items:center}.preview-note span{font:400 12px/1.5 "Noto Sans CJK JP",sans-serif;letter-spacing:.08em}.preview-note a{margin-left:auto;font-size:12px;text-decoration:underline;text-underline-offset:3px;letter-spacing:0}.skip{position:absolute;left:20px;top:-100px;padding:10px 20px;background:white;z-index:100}.skip:focus{top:12px}.site-header{max-width:1392px;margin:auto;min-height:96px;display:flex;align-items:center;justify-content:space-between;padding:18px 48px;gap:24px}.brand{display:block;width:156px;flex:0 0 auto}.brand img{width:100%;height:auto}.site-header nav{display:flex;align-items:center;gap:36px;font-size:14px;letter-spacing:.06em;font-weight:500}.site-header nav a:not(.header-contact){padding-block:10px}.site-header nav a:hover{color:var(--blue)}.header-contact{border:1px solid var(--ink);padding:10px 26px}.header-contact:hover{background:var(--pale)}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1fr 1.04fr;gap:36px;padding-top:34px;padding-bottom:46px;align-items:center}.eyebrow{font-family:Arial,sans-serif;font-size:12px;font-weight:600;letter-spacing:.2em;line-height:1.5;color:var(--blue)}.hero .eyebrow{display:flex;gap:12px;align-items:center;margin-bottom:30px}.hero .eyebrow span{display:block;width:30px;height:1px;background:var(--blue)}h1{font-size:clamp(36px,3.5vw,51px);font-weight:500;letter-spacing:.02em;line-height:1.6;margin-bottom:24px}h1 em,h2 em{font-style:normal;color:var(--blue)}.hero-text{font-size:20px;line-height:1.85;letter-spacing:.02em;margin-bottom:14px}.hero-sub{font-size:14px;line-height:2.05;color:var(--body)}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:32px}.button{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:13px 28px;font-size:14px;font-weight:600;letter-spacing:.04em;border:1px solid transparent;transition:background .18s,color .18s}.primary{background:var(--ink);color:#fff}.primary:hover{background:#306581}.text-link{font-size:14px;border-bottom:1px solid #7995a4;padding-bottom:5px}.hero-foot{display:flex;gap:24px;align-items:center;margin-top:42px;color:#647d89;font-size:12px}.hero-foot span:last-child{font-family:Arial,sans-serif;font-size:10px;letter-spacing:.15em;border-left:1px solid var(--line);padding-left:22px}.hero-visual{position:relative;align-self:stretch;min-height:560px;margin-left:10px;overflow:hidden}.hero-visual>img{width:100%;height:100%;object-fit:cover;object-position:48% center;position:absolute;inset:0}.image-caption{position:absolute;bottom:0;left:0;right:0;padding:50px 24px 22px;background:linear-gradient(transparent,rgba(9,27,38,.64));color:#fff;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:end}.image-caption span{font-size:14px;letter-spacing:.08em}.image-caption small{font-size:10px;white-space:nowrap}.vertical-label{position:absolute;right:14px;top:22px;font:10px/1.4 Arial,sans-serif;letter-spacing:.22em;writing-mode:vertical-rl;color:var(--ink);text-shadow:0 0 6px #fff}.service-index{border-block:1px solid var(--line);display:grid;grid-template-columns:.8fr 1.4fr 1.2fr;align-items:center;gap:24px;padding-block:23px}.index-label{font:11px/1.5 Arial,sans-serif;letter-spacing:.18em;color:#698491}.service-index a{font-size:14px;display:flex;align-items:center;gap:20px}.service-index a span{font:12px/1.5 Arial,sans-serif;color:#7b929e}.service-index a:hover{color:var(--blue)}.section{padding-block:100px}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:48px}h2{font-size:34px;line-height:1.65;font-weight:500;letter-spacing:.035em;margin-top:20px}.section-intro{color:var(--body);font-size:15px;line-height:2;max-width:400px;padding-bottom:5px}.service-card{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);margin-bottom:32px;overflow:hidden}.service-body{padding:46px 46px 36px}.service-kicker{font:11px/1.5 Arial,sans-serif;letter-spacing:.13em;color:var(--blue);display:flex;gap:18px;align-items:center;margin-bottom:22px}.service-kicker span{font-size:15px}h3{font-size:29px;line-height:1.7;font-weight:500;letter-spacing:.03em}.service-name{font-size:14px;color:var(--blue);margin-top:16px;margin-bottom:20px;font-weight:600}.service-body>p:not(.service-kicker):not(.service-name){font-size:15px;color:var(--body);line-height:2}.system-visual{background:var(--pale);padding:38px 48px;display:flex;flex-direction:column;justify-content:center}.small-label{font-size:14px;margin-bottom:28px}.flow-diagram{position:relative;display:grid;gap:14px}.flow-diagram>div{border:1px solid #c9d9e1;background:rgba(255,255,255,.82);padding:16px 23px;position:relative}.flow-diagram>div+div:before{content:"";position:absolute;width:1px;height:14px;left:40px;top:-15px;background:#9ab1be}.flow-diagram span{font:10px/1.5 Arial,sans-serif;letter-spacing:.13em;color:#678290;display:block;margin-bottom:5px}.flow-diagram strong{font-size:20px;font-weight:500}.flow-diagram p{font-size:12px;color:#637c89;display:inline-block;margin-left:16px}.diagram-caption{font-size:12px;color:#607f90;margin-top:22px;letter-spacing:.08em}.video-visual{min-height:500px;position:relative;background:var(--pale)}.video-visual img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:42% center}.video-visual figcaption{position:absolute;bottom:14px;left:18px;font-size:10px;background:#193747b3;color:white;padding:3px 9px}details{margin-top:26px;border-top:1px solid var(--line)}summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:17px 0 4px;font-size:13px;cursor:pointer;color:var(--ink)}summary::-webkit-details-marker{display:none}summary span{font-size:20px;font-weight:300}details[open] summary span{transform:rotate(45deg)}.details-body{padding-top:15px;color:var(--body);font-size:14px}.details-body ul{padding-left:1.4em;margin-bottom:4px}.philosophy{background:#f0f5f7}.philosophy-inner{padding-block:82px;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.philosophy h2{font-size:36px}.philosophy-copy{padding-left:28px}.philosophy-copy p{font-size:15px;line-height:2.2;margin-bottom:22px}.philosophy-copy>span{font:10px/1.5 Arial,sans-serif;letter-spacing:.2em;color:#76909c}.process{padding-bottom:70px}.process-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.process-list li{border-top:1px solid #a3bbc8;padding-top:24px}.step{font:11px/1.5 Arial,sans-serif;letter-spacing:.13em;color:var(--blue)}.process-list h3{font-size:20px;margin-block:15px}.process-list p{font-size:14px;color:var(--body);line-height:1.9}.company{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.5fr;gap:70px;padding-top:65px;padding-bottom:100px}.company h2{margin-top:16px}.company-note{font-size:17px;color:#637f8e;margin-top:32px}.company-data{margin:0}.company-data>div{display:grid;grid-template-columns:110px 1fr;padding:20px 0;border-bottom:1px solid var(--line);gap:20px;font-size:14px}.company-data>div:first-child{padding-top:0}.company-data dt{color:#607985}.company-data dd{margin:0}.contact{background:var(--ink);color:#fff}.contact-inner{padding-block:70px;display:flex;justify-content:space-between;gap:50px;align-items:center}.contact .eyebrow{color:#b6d5e4}.contact h2{font-size:42px;line-height:1.55;margin-block:18px}.contact p:not(.eyebrow){font-size:14px;color:#c4d6df;line-height:1.9}.white{background:#fff;color:var(--ink);padding-inline:40px}.white:hover{background:#d9eaf3}.contact-action{display:flex;flex-direction:column;gap:14px;align-items:center}.contact-action p{font-size:11px!important}footer{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-block:35px}footer .brand{width:130px}footer>div{text-align:right}footer p{font:11px/1.7 Arial,sans-serif;color:#687e89}.disclaimer{font:10px/1.9 "Noto Sans CJK JP",sans-serif;margin-top:10px;max-width:500px;color:#8496a0}
@media(min-width:1500px){.site-header{max-width:1296px;padding-inline:0}.hero{gap:55px}.hero-visual{min-height:610px}}
@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.preview-note{padding-inline:28px}.site-header{padding-inline:28px}.site-header nav{gap:20px}.brand{width:137px}.hero{gap:20px;padding-top:20px}.hero-visual{min-height:515px;margin-left:0}h1{font-size:36px}.hero-text{font-size:18px}.hero-sub{font-size:13px}.hero-actions{gap:20px}.button{padding-inline:20px}.service-index{grid-template-columns:.7fr 1.4fr 1.1fr;gap:18px}.service-index a{font-size:12px;gap:12px}.section{padding-block:76px}h2{font-size:30px}.service-body{padding:34px 30px}.system-visual{padding:30px}.flow-diagram p{display:block;margin:2px 0 0}.section-intro{font-size:14px}h3{font-size:25px}.philosophy h2{font-size:30px}.philosophy-inner{gap:28px}.philosophy-copy{padding-left:0}.company{gap:35px;grid-template-columns:.8fr 1.5fr}.contact h2{font-size:36px}.contact-action p{max-width:240px;text-align:center}}
@media(max-width:720px){html{scroll-padding-top:20px}.wrap{width:calc(100% - 40px)}.preview-note{padding:7px 20px;font-size:10px;gap:10px}.preview-note span{display:none}.preview-note a{font-size:10px}.site-header{padding:16px 20px;min-height:82px;position:relative}.brand{width:132px}.menu-toggle{display:flex;gap:10px;align-items:center;padding:7px 0 7px 10px;background:transparent;border:0;color:var(--ink);font-size:12px}.menu-lines{width:19px;height:10px;display:block;border-block:1px solid var(--ink)}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:20px 24px;box-shadow:0 16px 20px #19374710;z-index:10}.site-header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:4px}.site-header nav a{text-align:center;padding:13px!important}.hero{grid-template-columns:1fr;padding-top:27px;padding-bottom:27px;gap:32px}.hero .eyebrow{font-size:10px;letter-spacing:.16em;margin-bottom:22px}.hero .eyebrow span{width:24px}.hero-copy{padding-inline:4px}h1{font-size:clamp(31px,8.4vw,44px);line-height:1.6;margin-bottom:21px;letter-spacing:.01em}.hero-text{font-size:17px;line-height:1.85;margin-bottom:13px}.desktop-br{display:none}.hero-sub{font-size:13px;line-height:1.95}.hero-actions{margin-top:25px;gap:24px}.button{font-size:13px;min-height:50px;padding:12px 21px}.text-link{font-size:13px}.hero-foot{margin-top:28px;font-size:11px;gap:18px}.hero-foot span:last-child{font-size:9px;padding-left:18px}.hero-visual{min-height:340px;margin:0;aspect-ratio:1.07}.hero-visual>img{object-position:50% center}.image-caption{padding:40px 18px 17px;gap:10px}.image-caption span{font-size:12px}.image-caption small{font-size:9px}.vertical-label{right:12px;top:16px;font-size:8px}.service-index{grid-template-columns:1fr;gap:13px;padding-block:22px}.index-label{font-size:10px;margin-bottom:2px}.service-index a{font-size:13px;gap:20px}.section{padding-block:65px}.section-heading{display:block;margin-bottom:32px}h2{font-size:27px;line-height:1.65;letter-spacing:.02em;margin-top:14px}.eyebrow{font-size:10px}.section-intro{font-size:14px;line-height:1.95;margin-top:24px}.service-card{grid-template-columns:1fr;margin-bottom:25px}.service-body{padding:30px 25px}.service-kicker{font-size:9px;gap:15px;margin-bottom:18px}.service-kicker span{font-size:13px}h3{font-size:26px}.service-name{font-size:13px;margin-top:13px;margin-bottom:16px}.service-body>p:not(.service-kicker):not(.service-name){font-size:14px;line-height:2}.system-visual{padding:27px 25px 25px}.small-label{font-size:13px;margin-bottom:21px}.flow-diagram{gap:12px}.flow-diagram>div{padding:13px 20px}.flow-diagram>div+div:before{height:12px;top:-13px}.flow-diagram span{font-size:9px}.flow-diagram strong{font-size:18px}.flow-diagram p{font-size:11px;display:inline-block;margin-left:12px}.diagram-caption{font-size:11px;margin-top:20px}.video-card .service-body{grid-row:1}.video-visual{min-height:300px;aspect-ratio:1.18}.video-visual img{object-position:center}summary{font-size:12px;min-height:47px}.details-body{font-size:13px}.philosophy-inner{display:block;padding-block:58px}.philosophy h2{font-size:29px}.philosophy-copy{margin-top:32px}.philosophy-copy p{font-size:13px;line-height:2.2}.philosophy-copy>span{font-size:9px}.process-list{grid-template-columns:1fr;gap:28px}.process-list li{padding-top:20px}.process-list h3{font-size:20px;margin-block:10px}.process-list p{font-size:14px}.process .section-intro{margin-bottom:36px}.company{display:block;padding-top:54px}.company-note{font-size:16px;margin-top:24px}.company-data{margin-top:35px}.company-data>div{grid-template-columns:80px 1fr;gap:12px;font-size:13px;padding-block:17px}.contact-inner{display:block;padding-block:50px}.contact h2{font-size:34px}.contact p:not(.eyebrow){font-size:13px}.contact-action{margin-top:30px;align-items:start}.white{padding-inline:27px;min-height:53px}.contact-action p{max-width:unset;text-align:left;font-size:10px!important}footer{display:block;padding-block:32px}footer .brand{width:122px;margin-bottom:24px}footer>div{text-align:left}.disclaimer{font-size:9px;max-width:350px}footer p{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Readable Japanese body copy across both layouts. */
.hero-sub,.section-intro,.service-body>p:not(.service-kicker):not(.service-name),.philosophy-copy p,.process-list p,.company-data>div,.contact p:not(.eyebrow){font-size:16px}.hero-foot,.service-kicker,.step{font-size:12px}.service-name,.service-index a,.text-link,summary{font-size:14px}.contact-action p{font-size:12px!important}.image-caption small,.video-visual figcaption,.disclaimer{font-size:12px}.hero-foot span:last-child{font-size:10px}.flow-diagram p,.diagram-caption{font-size:14px}.flow-diagram span{font-size:12px}.small-label{font-size:16px}.company-data>div{grid-template-columns:100px 1fr}.hero-visual{object-position:center}
@media(max-width:720px){.hero-sub,.section-intro,.service-body>p:not(.service-kicker):not(.service-name),.philosophy-copy p,.process-list p,.company-data>div,.contact p:not(.eyebrow){font-size:16px}.hero-actions{gap:20px}.hero-foot{gap:14px}.hero-foot span:last-child{padding-left:14px}.company-data>div{grid-template-columns:72px 1fr}.flow-diagram p{display:block;margin-left:0;font-size:14px}.image-caption{display:block}.image-caption small{display:block;margin-top:6px;font-size:12px}.hero-visual{min-height:360px}.button{font-size:14px}.details-body{font-size:14px}.preview-note{font-size:12px}.preview-note a{font-size:12px}.disclaimer{font-size:12px}.contact-action p{font-size:12px!important}}
/* Contact form. Native HTML validation and the existing WordPress handler. */
.contact-page-heading{background:var(--pale);padding-block:62px}.contact-page-heading h1{font-size:40px;line-height:1.55;margin:20px 0}.contact-page-heading>div>p:last-child{font-size:16px;color:var(--body);line-height:2}.form-layout{display:grid;grid-template-columns:.85fr 1.3fr;gap:80px;padding-block:75px}.form-aside h2{font-size:30px}.form-aside>p:not(.eyebrow){font-size:16px;color:var(--body);margin-top:20px;line-height:2}.form-services{border-top:1px solid var(--line);margin-top:34px;padding-top:24px;font-size:14px}.form-services>p{color:#607c8b;font-size:13px}.form-services ul{padding-left:1.1em;margin:14px 0 30px}.form-services li{margin-bottom:9px}.form-preview-message{font-size:14px;line-height:1.9;background:var(--pale);padding:17px 20px;border-left:3px solid #82a8bd;margin-bottom:32px;color:var(--body)}.form-field{margin-bottom:26px}.form-field label{display:flex;gap:14px;align-items:center;font-size:16px;font-weight:500;margin-bottom:10px}.form-field label span{font-size:12px;line-height:1.5;color:var(--blue);background:#edf4f7;padding:2px 8px}.form-field input,.form-field textarea{font:inherit;font-size:16px;line-height:1.8;color:var(--ink);background:#fff;border:1px solid #aebfc9;padding:13px 16px;width:100%;border-radius:0;appearance:none}.form-field textarea{resize:vertical;min-height:190px}.form-field input::placeholder,.form-field textarea::placeholder{color:#7b8e98}.form-field input:focus,.form-field textarea:focus{outline:2px solid var(--blue);outline-offset:2px}.form-field input[aria-invalid=true],.form-field textarea[aria-invalid=true]{border-color:#9b352c}.field-error{color:#9b352c;font-size:14px;margin-top:7px}.form-submit{display:flex;flex-direction:column;align-items:start;gap:12px;margin-top:36px}.form-submit .button{cursor:pointer;padding-inline:36px}.form-submit>p{font-size:13px;color:#647b88}.preview-result{border:1px solid #8ba7b6;background:var(--pale);padding:22px;margin-top:26px}.preview-result h3{font-size:19px}.preview-result p{font-size:15px;margin-block:12px;line-height:1.9}.preview-result a{font-size:14px;text-decoration:underline;text-underline-offset:4px}.back-home{padding-bottom:55px;border-bottom:1px solid var(--line)}[hidden]{display:none!important}
@media(max-width:1000px){.form-layout{gap:45px;grid-template-columns:.9fr 1.2fr}.form-aside h2{font-size:27px}.form-aside>p:not(.eyebrow){font-size:15px}.form-aside>p br{display:none}}
@media(max-width:720px){.contact-page-heading{padding-block:36px}.contact-page-heading h1{font-size:31px;line-height:1.65}.contact-page-heading>div>p:last-child{font-size:16px}.contact-page-heading>div>p:last-child br{display:none}.form-layout{display:flex;flex-direction:column;gap:36px;padding-block:45px}.form-aside h2{font-size:27px}.form-aside h2 br{display:none}.form-aside>p:not(.eyebrow){font-size:16px;margin-top:18px}.form-services{margin-top:25px;padding-top:20px}.form-services ul{margin-bottom:22px}.form-preview-message{font-size:14px;padding:15px;margin-bottom:26px}.form-field{margin-bottom:24px}.form-field label{font-size:16px}.form-field input,.form-field textarea{font-size:16px;padding:12px 14px}.form-submit{margin-top:29px}.form-submit .button{width:100%;font-size:16px}.form-submit>p{font-size:13px}.preview-result{padding:18px}.preview-result h3{font-size:18px}.preview-result p{font-size:15px}.back-home{padding-bottom:38px}}

/* These assets load only on the two new Cloud9 templates. */
body.cloud9-2026{visibility:visible!important;display:block;margin:0;padding:0;background:#fff;color:var(--ink);font-size:16px;line-height:1.9}
.cloud9-2026 #main{display:block;float:none;width:100%;max-width:none;margin:0;padding:0;border:0;background:transparent}
.cloud9-2026 h1,.cloud9-2026 h2,.cloud9-2026 h3{background:transparent;border:0;padding:0;color:var(--ink)}
.cloud9-2026 .contact h2{color:#fff}
.cloud9-2026 .contact-status{margin:0 0 28px;padding:18px 22px;border:1px solid #82a8bd;background:#edf4f7;color:#193747;font-size:16px}
.cloud9-2026 .contact-status.error{border-color:#9b352c;color:#9b352c;background:#fff7f5}
.cloud9-2026 .contact .contact-status{max-width:1200px;margin:0 auto;padding:20px}
.cloud9-2026 .company-detail-link{margin-top:22px}
.cloud9-2026 .honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
/* Prevent the image's aspect-ratio/min-height from widening a narrow grid track. */
@media(max-width:720px){.hero-visual{width:100%;min-width:0;aspect-ratio:auto}}
