/* Final local refinements. Motion layers and original logo assets are preserved. */
:root{--jp-font:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;--body-size:clamp(18px,1.4vw,20px)}
body,input,select,textarea,button{font-family:var(--jp-font)}
.nav nav{font-size:16px;letter-spacing:.04em;gap:28px}.nav nav a{padding:10px 0}
#about .about-description p{font-size:var(--body-size);line-height:2.1;margin-bottom:24px}
#about .concept-title{font-family:var(--jp-font);font-size:43px;line-height:1.5;letter-spacing:.02em}#about .concept-title i{font-family:inherit;font-style:normal}#about .concept-nav{font-size:12px}#about .concept-nav b{font-size:19px}
#about .concept-image span{font-size:13px;line-height:1.7}#about .concept-footer{font-size:10px}
#about .mini-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0 8px;font-size:10px;color:#5b6866}#about .mini-kpis b{display:block;color:#153d3b;font-size:21px;margin-top:5px}
#about .mini-chart{display:flex;align-items:end;gap:12px;height:56px;border-bottom:1px solid #bed5d1;padding:0 10px}#about .mini-chart i{flex:1;background:#61b5a7;height:30%}#about .mini-chart i:nth-child(2n){height:55%}#about .mini-chart i:nth-child(3n){height:72%}#about .mini-chart i:last-child{height:93%;background:#185a54}
#about .mini-projects{display:flex;gap:15px;font-size:10px;padding:12px 0}#about .mini-projects b{font-weight:500}#about .system-main small{font-size:8px}
#about .plane-sns{width:220px}#about .intro-posts{display:flex;gap:7px;padding:8px;align-items:center;background:#e7efec}#about .intro-posts img{width:calc(50% - 4px);height:auto;transform:rotate(-5deg);box-shadow:0 5px 12px #0002}#about .intro-posts img+img{transform:rotate(7deg);margin-top:28px}
#service .service-eyebrow{display:block;font-size:22px;letter-spacing:.12em;margin-bottom:24px;position:relative;z-index:2}
#service .connected-heading p{font-size:var(--body-size);width:100%;max-width:1000px;line-height:2}
#service .lim-card-slot :is(.orbital-intro h3,.system-heading h3,.web-kicker h3,.sns-copy h3){font-family:Arial,sans-serif;font-size:clamp(32px,4.3vw,62px);font-weight:400;line-height:1.05;letter-spacing:-.04em;position:static;margin:0 0 30px;word-spacing:normal}
#service .lim-card-slot :is(.orbital-intro p,.orbital-offerings p,.system-heading p,.scene-copy p,.sns-copy p){font-size:var(--body-size);line-height:2;white-space:normal;text-wrap:pretty;overflow-wrap:break-word}
#service #service-ai .ai-copy-line{white-space:normal;display:block}
#service #service-system .system-heading>div{padding-top:38px}
#service .lim-card-slot .orbital-offerings{margin-top:32px}#service .lim-card-slot .orbital-offerings h5{font-size:24px}
#service .lim-card-slot .scene-copy h4 .copy-phrase{display:block;white-space:normal}
#service .lim-card-slot .scene-copy h4{font-size:clamp(25px,2.3vw,36px);line-height:1.6;text-wrap:initial}
#service .lim-card-slot .demo-note{font-size:14px;line-height:1.8}
#company h2,#flow h2,#contact .contact-copy h2{font-family:var(--jp-font);font-weight:500;letter-spacing:.02em;font-size:clamp(36px,4.3vw,64px)}
#company .company-eyebrow,#contact .contact-eyebrow{font-size:16px;letter-spacing:.16em}
#company .company-details dt{font-size:18px;color:#5e6468}#company .company-details dd,#company .company-details a{font-family:var(--jp-font);font-size:20px;line-height:1.9;overflow-wrap:anywhere}
#company .company-details>div{grid-template-columns:128px minmax(0,1fr)}#company .company-details>div:first-child dd{font-family:var(--jp-font);font-size:30px}
#flow h3{font-size:clamp(20px,1.65vw,24px)}#flow .flow-step p{font-size:18px;line-height:2}#flow .flow-number small{font-size:14px}
#contact .contact-copy>p{font-size:var(--body-size);max-width:28em;line-height:2}#contact .contact-copy .contact-note,#contact .privacy-status{font-size:16px;line-height:1.9}
#contact .contact-mail{font-size:clamp(20px,2vw,28px);gap:20px}#contact .contact-field label{font-size:18px}#contact .contact-field small,#contact .contact-consent small{font-size:14px}#contact .contact-input :is(input,select,textarea){font-size:18px}#contact .contact-consent,#contact .contact-submit{font-size:16px}.footer-top nav,.footer-bottom button{font-size:14px}
@media(min-width:1101px){#service .lim-card-slot>.orbital-ai{grid-template-columns:minmax(0,1.15fr) minmax(0,1.5fr)}#service .lim-card-slot .orbital-intro{grid-row:1}#service .lim-card-slot .orbital-offerings{grid-column:1/-1}#service .lim-card-slot>.system-scene{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);padding-top:60px;padding-bottom:50px}#service .lim-card-slot .system-heading h3{font-size:clamp(32px,4.3vw,62px)}#service .lim-card-slot .orbital-intro p{max-width:34em}}
@media(min-width:701px) and (max-width:1100px){#service .lim-card-slot .orbital-intro p{max-width:42em}#service .lim-card-slot .system-heading{gap:30px}#service .lim-card-slot .system-heading h3{max-width:50%}}
@media(max-width:700px){:root{--body-size:17px}.nav nav{font-size:12px;gap:12px}.nav{inset:18px 5vw auto}.nav img{width:45px}#service .service-eyebrow{font-size:18px}#service .connected-heading p{font-size:17px}.desktop-break{display:none}#service .lim-card-slot :is(.orbital-intro h3,.system-heading h3,.web-kicker h3,.sns-copy h3){font-size:clamp(26px,7.7vw,43px);margin-bottom:24px}#service #service-system .system-heading>div{padding-top:24px}#service .lim-card-slot .orbital-offerings h5{font-size:22px}#service .lim-card-slot .orbital-offerings p{font-size:17px}#company .company-details>div{grid-template-columns:1fr;gap:8px}#company .company-details dt{font-size:16px}#company .company-details dd,#company .company-details a{font-size:18px}#flow .flow-step p{font-size:18px}#flow h3{font-size:22px}#contact .contact-copy h2{white-space:normal;font-size:36px}#contact .contact-copy>p{font-size:17px}#contact .contact-input :is(input,select,textarea){font-size:17px}#contact .contact-mail{font-size:20px;gap:12px}.footer-top nav{font-size:14px}.footer-bottom button{font-size:13px}}
@media(max-width:360px){.nav nav{gap:8px;font-size:11px;letter-spacing:0}.nav img{width:36px}#contact .contact-mail{font-size:18px}#contact .contact-consent small{display:block;margin-left:0}}
.nav nav a{font-size:inherit}
@media(min-width:701px){#company .company-details>div{grid-template-columns:150px minmax(0,1fr)}}
.nav nav a{font-size:16px!important}
@media(max-width:700px){.nav nav a{font-size:12px!important}}
@media(max-width:360px){.nav nav a{font-size:11px!important}#about .plane-web{left:20px}#about .plane-system{left:60px}#about .plane-ai{left:40px}#about .plane-sns{left:220px}}

/* Six approved refinements — 2026-10-16. */
#about .about-intro{max-width:1280px;margin-inline:auto;box-sizing:border-box;align-items:center;padding-top:90px;padding-bottom:90px;grid-template-columns:1fr 1fr;gap:5vw}
#about .about-description{padding-top:0}
#about .about-description p:last-child{margin-bottom:0}
#about .plane-web{background:#f2f0e9}
#about .concept-web{color:#242722;background:#f2f0e9}
#about .concept-nav b{font-size:24px;letter-spacing:-.06em}
#about .concept-nav span{font-size:8px;letter-spacing:.07em}
#about .concept-title{font-size:49px;font-family:inherit;line-height:1.04;letter-spacing:-.055em;margin-top:57px}
#about .concept-title i{font-family:Georgia,serif;font-style:italic}
#about .concept-image{width:232px;height:248px;top:57px;right:26px;background:radial-gradient(ellipse at 50% 88%,#64664b66,transparent 50%),linear-gradient(140deg,#d9ddc5,#a5ad8d)}
#about .concept-image>div{inset:20px 29px 34px;transform:rotate(-24deg);border-radius:48% 48% 44% 44%;background:radial-gradient(ellipse at 30% 22%,#f9f4da 0,#d6d2ad 23%,#a19d73 49%,#535c3e 77%,#333e2c 100%);box-shadow:20px 24px 24px #313d3455,inset -12px -10px 23px #3c4e2944}
#about .concept-image>div:after{content:"";position:absolute;inset:28px 45px;border-radius:50%;background:linear-gradient(125deg,#545f3d,#d2d4b5);box-shadow:inset 9px 7px 13px #2d3a2977,2px 3px 3px #f4efce77}
#about .concept-image>span{bottom:12px;right:12px;background:transparent;color:#2b3525;font-size:8px;line-height:1.6;padding:0}
#about .concept-footer{border-color:#b1b6a2;font-size:8px}
#service .lim-card-slot .orbital-intro h3{transform:translate(-12px,-14px)}
#service .lim-card-slot .system-heading h4{font-size:clamp(27px,2.6vw,40px);font-weight:400;line-height:1.5;letter-spacing:-.035em;margin:0 0 18px}
#service .lim-card-slot .system-heading h4 .system-phrase{display:block}
@media(max-width:700px){
 #about .about-intro{padding:60px 7vw;max-width:680px}
 #about .about-description{padding-top:30px}
 #service .lim-card-slot .orbital-intro h3{transform:translate(-5px,-8px)}
}
@media(min-width:701px) and (max-width:1100px){#service .lim-card-slot .system-heading h4{font-size:clamp(32px,3.8vw,56px);line-height:1.6}}
@media(max-width:700px){#service .lim-card-slot .system-heading h4{font-size:29px;line-height:1.6}}

/* Architecture editorial: screen contents only; the 3D plane is unchanged. */
#about .concept-web{height:360px;box-sizing:border-box;padding:20px 24px;background:#f3f0e9;color:#282a29;overflow:hidden}
#about .arch-nav{height:43px;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #b8b9b5}
#about .arch-nav b{font:17px/1.1 Georgia,serif;letter-spacing:.08em;font-weight:400}
#about .arch-nav b span{display:block;font:9px/1.8 var(--jp-font);letter-spacing:.15em}
#about .arch-nav>span{text-align:right;font:9px/1.5 Arial,sans-serif;letter-spacing:.09em}
#about .arch-nav small{font:7px/2 var(--jp-font);letter-spacing:0}
#about .arch-editorial{display:grid;grid-template-columns:205px 1fr;gap:12px;margin-top:18px;height:225px}
#about .arch-heading{padding-top:6px}
#about .arch-heading>span{font:10px/1.5 var(--jp-font);letter-spacing:.18em}
#about .arch-heading>div{font:49px/.99 Georgia,'Times New Roman',serif;letter-spacing:-.055em;margin-top:13px}
#about .arch-heading i{font-weight:400}
#about .arch-heading p{font:10px/1.8 var(--jp-font);letter-spacing:.12em;margin:16px 0 0}
#about .arch-editorial figure{margin:0;position:relative;min-width:0}
#about .arch-editorial img{display:block;width:100%;height:200px;object-fit:cover;object-position:52% 50%;filter:saturate(.55)}
#about .arch-editorial figcaption{display:flex;justify-content:space-between;font:8px/1.6 var(--jp-font);padding-top:7px}
#about .arch-editorial figcaption span{color:#666b68;font-size:7px}
#about .arch-footer{display:flex;justify-content:space-between;border-top:1px solid #b8b9b5;margin-top:13px;padding-top:9px;font:8px/1.3 var(--jp-font);color:#515653}

/* WEB heading alignment only — 2026-10-16. */
#service #service-web .scene-copy h4{font-size:clamp(27px,2.6vw,40px);font-weight:400;line-height:1.4;letter-spacing:-.035em;text-wrap:initial;align-self:start;margin-top:0}
#service #service-web .scene-copy h4 .copy-phrase{display:block;white-space:nowrap}
@media(min-width:1101px){
 #service #service-web .scene-copy>div{grid-template-columns:minmax(0,1.1fr) minmax(0,1.15fr);align-items:start}
 #service #service-web .scene-copy h4{transform:translateY(-.12em)}
}
@media(min-width:701px) and (max-width:1100px){#service #service-web .scene-copy h4{font-size:clamp(32px,3.8vw,56px)}}
@media(max-width:700px){#service #service-web .scene-copy h4{font-size:29px;line-height:1.4}}
@media(max-width:360px){#service #service-web .scene-copy h4{letter-spacing:-.14em;margin-right:-16px}}

/* WEB copy balance — local layout only, 2026-10-16. */
#service #service-web .scene-copy p{text-wrap:wrap;word-break:normal}
@media(min-width:1101px){
 #service #service-web .scene-copy>div{grid-template-columns:minmax(0,34fr) minmax(0,64fr);column-gap:2%}
 #service #service-web .scene-copy h4{transform:translate(24px,18px)}
}
@media(min-width:701px) and (max-width:1100px){
 #service #service-web .scene-copy>div{grid-template-columns:minmax(0,1fr);row-gap:24px}
 #service #service-web .scene-copy h4{grid-row:auto;justify-self:start;margin-left:24px;margin-top:18px}
}
@media(min-width:701px){#service #service-web .web-copy-line{display:block}}
@media(max-width:700px){#service #service-web .web-copy-line{display:inline}}

/* WEB right text block only; keep the approved heading and mobile layout. */
@media(min-width:1101px){
 #service #service-web .scene-copy>div>p,
 #service #service-web .scene-copy>div>.service-capabilities{margin-left:36px;min-width:0}
}

/* Narrow service headings: retain readable type and the copy column's inset. */
@media(max-width:350px){
 #service #service-system .system-heading h4,
 #service #service-web .scene-copy h4{font-size:27px;line-height:1.6;letter-spacing:-.035em;margin-right:0;overflow-wrap:break-word;word-break:normal}
 #service #service-system .system-heading h4 .system-phrase,
 #service #service-web .scene-copy h4 .copy-phrase{display:block;white-space:normal}
 /* The existing full-width spacer between SYSTEM phrases must not form a blank line. */
 #service #service-system .system-heading h4{font-size:0;line-height:0}
 #service #service-system .system-heading h4 .system-phrase{font-size:27px;line-height:1.6;letter-spacing:-.035em}
 #service #service-web .scene-copy h4 .copy-phrase{word-break:auto-phrase}
}

/* Clear detail-page entry below the system description. */
#service #service-system .system-detail-link{display:inline-flex;align-items:center;gap:14px;min-height:44px;margin-top:10px;color:#263b36;font-size:15px;font-weight:500;line-height:1.5;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
#service #service-system .system-detail-link:hover{color:#111}
#service #service-system .system-detail-link:focus-visible{outline:2px solid #263b36;outline-offset:5px;border-radius:2px}

/* About paragraphs: responsive semantic wrapping on mobile only. */
@media(max-width:700px){
 #about .about-description p{word-break:normal;text-wrap:balance}
 #about .about-description .about-copy-unit{white-space:nowrap}
}
