/* フォントは外から読み込まない（Google Fonts をやめた・CSP は font-src 'self'）。端末にある BIZ UDPGothic を最優先、無ければヒラギノ・メイリオ・Noto。 */

:root{--ink:#101b28;--paper:#f6f5f0;--cream:#ebe9e2;--line:#d9d9d3;--orange:#f29a23;--muted:#606b72;--font:'BIZ UDPGothic','Hiragino Sans','Hiragino Kaku Gothic ProN',Meiryo,'Noto Sans JP',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.skip{position:absolute;left:16px;top:-100px;background:#fff;color:var(--ink);padding:12px;z-index:100}.skip:focus{top:12px}.site-header{height:96px;display:flex;align-items:center;gap:38px;padding:0 clamp(24px,5vw,80px);background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:5}.brand{display:inline-flex;align-items:center;gap:12px;white-space:nowrap}.brand-mark{width:43px;height:43px;background:var(--orange);border-radius:12px;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:10px;transform:rotate(-5deg);box-shadow:0 3px 0 rgba(16,27,40,.12)}.brand-mark span{height:4px;background:#fff;border-radius:4px}.brand-mark span:first-child{width:100%}.brand-mark span:nth-child(2){width:74%}.brand-mark span:last-child{width:56%}.brand-name{font-weight:800;font-size:22px;letter-spacing:.08em;line-height:1.15}.brand-en{display:block;font-size:11px;font-weight:700;letter-spacing:.3em;margin-top:4px}.site-nav{margin-left:auto;display:flex;gap:34px;align-items:center}.site-nav a{font-size:12px;font-weight:700;letter-spacing:.04em;transition:color .2s}.site-nav a:hover,.text-link:hover,.profile-links a:hover{color:#bb6610}.header-link{border:1px solid var(--ink);padding:13px 17px;font-size:12px;font-weight:700;white-space:nowrap;transition:.2s}.header-link:hover{background:var(--ink);color:white}.header-link span{margin-left:15px;font-size:16px}
.hero{min-height:650px;background:var(--ink);color:white;position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,47%);overflow:hidden}.hero-copy{padding:clamp(80px,9vw,143px) 20px 125px clamp(24px,9vw,142px);position:relative;z-index:2}.eyebrow,.section-index,.hero-bottom,.small-kicker,.portal-category,.status,.future-no,.future-status,.future-heading span,.statement-overline,.statement-sub,.portal-visual-bottom{font-size:12px;font-weight:700;letter-spacing:.2em}.eyebrow{display:flex;gap:15px;align-items:center;color:#c9d1d6;white-space:nowrap}.eyebrow-line{width:26px;height:1px;background:var(--orange)}h1,h2,h3,h4,p{margin-top:0}.hero h1{font-size:clamp(48px,5.7vw,89px);line-height:1.28;letter-spacing:-.055em;margin:39px 0 29px;font-weight:700;white-space:nowrap}.hero h1 em{font-style:normal;color:var(--orange)}.hero-lead{color:#c1cbd1;line-height:2.2;font-size:14px;letter-spacing:.04em}.hero-actions{display:flex;align-items:center;gap:32px;margin-top:47px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:44px;min-width:215px;padding:18px 20px;font-size:12px;font-weight:700;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.button-primary{background:var(--orange);color:var(--ink)}.button span{font-size:17px}.text-link{font-size:12px;font-weight:700;white-space:nowrap}.text-link span{margin-left:10px}.hero-art{position:relative;overflow:hidden;min-height:650px;background:radial-gradient(circle at 50% 50%,#233749 0,#172636 48%,#101b28 70%)}.art-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(90deg,transparent,black 25%)}.art-ring{position:absolute;border:1px solid rgba(255,255,255,.17);border-radius:50%;left:50%;top:49%;transform:translate(-50%,-50%)}.art-ring-one{width:430px;height:430px}.art-ring-two{width:680px;height:680px;border-color:rgba(255,255,255,.08)}.art-core{position:absolute;width:248px;height:248px;border-radius:50%;background:var(--orange);left:50%;top:49%;transform:translate(-50%,-50%);box-shadow:0 0 100px rgba(242,154,35,.24);display:grid;place-items:center}.art-door{width:96px;height:111px;border:8px solid var(--ink);border-radius:11px;display:flex;flex-direction:column;justify-content:center;gap:12px;padding:14px}.art-door span{display:block;height:8px;background:var(--ink);border-radius:6px}.art-door span:nth-child(2){width:72%}.art-door span:nth-child(3){width:45%}.art-node{position:absolute;border:1px solid rgba(255,255,255,.3);border-radius:100px;padding:11px 17px;font-size:12px;letter-spacing:.16em;background:#192a3a}.node-a{top:19%;left:12%}.node-b{right:7%;top:29%}.node-c{bottom:20%;left:16%}.art-caption{position:absolute;bottom:53px;right:45px;font-size:11px;letter-spacing:.26em;color:#9eabb3}.hero-bottom{position:absolute;bottom:35px;left:clamp(24px,9vw,142px);right:clamp(24px,5vw,80px);display:flex;justify-content:space-between;color:#8b9ba5;z-index:2}.hero-bottom span:last-child{word-spacing:5px}
.section{padding:96px clamp(24px,9vw,142px)}.section-top{display:flex;align-items:center;gap:27px;margin-bottom:72px}.section-index{white-space:nowrap;color:#77828a}.section-rule{height:1px;background:var(--line);width:100%}.intro{background:#f6f5f0}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%}.intro h2{font-size:clamp(40px,4.3vw,66px);line-height:1.43;letter-spacing:-.065em;margin:0}.intro h2 span{color:#d58a2a}.intro-detail{padding-top:7px}.intro-detail>p:first-child{font-size:19px;line-height:2.15;letter-spacing:.04em;font-weight:500;margin-bottom:36px}.intro-note{border-left:2px solid var(--orange);padding-left:20px;color:var(--muted);line-height:1.95;font-size:13px}
.work{background:#eaece9}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:55px}.small-kicker{color:#bd751e;margin-bottom:20px}.section-heading h2,.profile h2{font-size:clamp(37px,4vw,60px);line-height:1.45;letter-spacing:-.055em;margin:0}.section-heading>p{font-size:13px;color:var(--muted);margin:0 0 12px}.work-list{border-top:1px solid #bfc5c3}.work-row{border-bottom:1px solid #bfc5c3;display:grid;grid-template-columns:70px 1fr 130px 30px;align-items:center;gap:20px;padding:32px 4px}.work-num{font-size:12px;color:#8a9899}.work-row h3{font-size:24px;margin:0 0 7px}.work-row p{font-size:12px;color:#677476;margin:0;line-height:1.8}.work-tag{justify-self:start;border:1px solid #bdc7c7;padding:8px 11px;border-radius:100px;font-size:12px;color:#566367}.work-arrow{font-size:24px;font-weight:300;color:#8e9b9d}
.portals{background:#f6f5f0}.featured-portal{display:grid;grid-template-columns:50% 50%;background:#fff;min-height:390px;border:1px solid var(--line);transition:transform .25s,box-shadow .25s}.featured-portal:hover{transform:translateY(-5px);box-shadow:0 24px 50px rgba(16,27,40,.1)}.portal-visual{background:#dfe7df;position:relative;min-height:390px;overflow:hidden}.portal-visual:before,.portal-visual:after{content:"";position:absolute;border:1px solid rgba(30,74,58,.19);border-radius:50%;width:380px;height:380px;left:50%;top:50%;transform:translate(-50%,-50%)}.portal-visual:after{width:280px;height:280px}.portal-glyph{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);width:150px;height:150px;border-radius:50%;background:#194f3b;color:#e9efe8;display:grid;place-items:center;font-size:90px;font-weight:400;font-family:Arial,sans-serif;z-index:1;line-height:1}.portal-visual-word{position:absolute;top:30px;left:30px;color:#38584b;font-size:12px;letter-spacing:.25em;font-weight:700}.portal-visual-bottom{position:absolute;bottom:25px;left:30px;color:#607a6e}.portal-info{padding:clamp(30px,4vw,60px);display:flex;flex-direction:column;align-items:start}.status{color:#1d7254;display:flex;align-items:center;gap:8px;margin-bottom:29px}.status span{height:7px;width:7px;background:#37a376;border-radius:50%}.portal-category{color:#a66520;margin-bottom:14px}.portal-info h3{font-size:clamp(27px,2.8vw,42px);line-height:1.45;letter-spacing:-.045em;margin:0 0 20px}.portal-info p{font-size:13px;color:#617079;line-height:2;margin-bottom:25px}.portal-url{margin-top:auto;font-size:12px;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:10px;width:100%;display:flex;justify-content:space-between}.portal-url span{font-size:18px}.future-heading{display:flex;align-items:center;justify-content:space-between;margin:75px 0 18px}.future-heading h3{font-size:20px;margin:0}.future-heading span{color:#8e9697}.future-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.future-card{background:#eeefeb;border:1px solid #e0e2dd;padding:24px;min-height:210px;display:flex;flex-direction:column}.future-no{color:#a0a8a7}.future-card h4{font-size:19px;margin:auto 0 3px;letter-spacing:-.03em}.future-card p{font-size:11px;letter-spacing:.13em;color:#929c9c;margin:0}.future-status{color:#899394;letter-spacing:.08em;margin-top:17px}.future-note{font-size:12px;color:#7a8587;margin:14px 0 0}
.statement{background:var(--orange);color:var(--ink);min-height:390px;padding:75px clamp(24px,9vw,142px);position:relative;overflow:hidden}.statement:after{content:"";position:absolute;width:500px;height:500px;border:1px solid rgba(16,27,40,.2);border-radius:50%;right:-130px;top:-70px;box-shadow:0 0 0 90px rgba(16,27,40,.05),0 0 0 180px rgba(16,27,40,.03)}.statement-overline{position:relative;z-index:1}.statement p{font-size:clamp(44px,5vw,75px);font-weight:800;letter-spacing:-.065em;line-height:1.35;margin:35px 0;position:relative;z-index:1}.statement p span{color:white}.statement-sub{position:relative;z-index:1}.profile{background:#f6f5f0}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:13%}.profile-intro{font-size:14px;line-height:2;color:#66737b;max-width:430px;margin:28px 0 0}.profile-links{border-top:1px solid var(--line)}.profile-links a{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:21px 0;font-size:13px;font-weight:700}.profile-links a span{font-size:17px}.profile-links>p{font-size:12px;color:#7b8589;margin:16px 0 0}.footer{background:var(--ink);color:white;padding:62px clamp(24px,9vw,142px) 25px}.footer-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #3d4953;padding-bottom:70px}.footer-top>p{font-size:14px;color:#aebbc3;margin:0}.footer-bottom{display:flex;gap:25px;align-items:center;padding-top:25px;color:#97a6ae;font-size:12px;letter-spacing:.1em}.footer-bottom a{margin-left:auto}
@media(max-width:1050px){.site-nav{gap:16px}.hero{grid-template-columns:1fr 43%}.hero-copy{padding-left:7vw}.hero-bottom{left:7vw}.hero h1{font-size:6vw}.future-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.site-header{height:75px;padding:0 22px;gap:0}.brand-mark{width:35px;height:35px;border-radius:10px;padding:8px;gap:3px}.brand-mark span{height:3px}.brand-name{font-size:18px}.brand-en{font-size:7px}.site-nav{display:none}.header-link{margin-left:auto;padding:10px;font-size:12px}.header-link span{margin-left:5px}.hero{display:block;min-height:0}.hero-copy{padding:77px 24px 72px}.hero h1{font-size:clamp(46px,10vw,72px);margin:34px 0 25px;white-space:normal}.hero-lead{font-size:13px}.hero-actions{margin-top:34px;gap:20px}.button{min-width:0;gap:25px}.hero-art{height:320px;min-height:320px}.art-ring-one{width:275px;height:275px}.art-ring-two{width:430px;height:430px}.art-core{width:155px;height:155px}.art-door{transform:scale(.63)}.art-node{font-size:8px;padding:8px 10px}.art-caption{bottom:20px;right:20px}.hero-bottom{display:none}.section{padding:72px 24px}.section-top{margin-bottom:48px}.intro-grid,.profile-grid{grid-template-columns:1fr;gap:34px}.intro h2{font-size:42px}.intro-detail>p:first-child{font-size:16px}.section-heading{display:block}.section-heading>p{margin-top:20px}.work-row{grid-template-columns:35px 1fr 22px;gap:12px;padding:25px 0}.work-row h3{font-size:19px}.work-row p{font-size:12px}.work-tag{grid-column:2;margin-top:-5px}.work-arrow{grid-column:3;grid-row:1;align-self:start}.featured-portal{grid-template-columns:1fr}.portal-visual{min-height:275px}.portal-info{padding:32px}.portal-info h3{font-size:29px}.future-heading{margin-top:50px}.future-card{min-height:170px;padding:18px}.future-card h4{font-size:16px}.statement{min-height:330px;padding:65px 24px}.statement p{font-size:45px}.profile-grid{gap:40px}.footer{padding:50px 24px 25px}.footer-top{display:block;padding-bottom:45px}.footer-top>p{margin:28px 0 0}.footer-bottom{flex-wrap:wrap}.footer-bottom a{margin-left:0}}
@media(max-width:430px){.eyebrow{font-size:8px}.hero h1{font-size:43px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-copy{padding-bottom:63px}.future-grid{gap:8px}.future-card{padding:15px}.future-card h4{font-size:15px}.statement p{font-size:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.brand-mark{display:grid;place-items:center;padding:5px}.brand-mark img{display:block;width:100%;height:100%;object-fit:contain}.art-elephant{width:136px;height:136px;filter:brightness(0) saturate(100%) invert(9%) sepia(21%) saturate(1088%) hue-rotate(169deg) brightness(90%) contrast(91%)}
@media(max-width:760px){.brand-mark{padding:4px}.art-elephant{width:95px;height:95px}}
.website{display:grid;grid-template-columns:45% 55%;background:#132536;color:#fff;overflow:hidden}.website-copy{padding:100px 6vw 100px clamp(24px,9vw,142px)}.website-label{font-size:12px;font-weight:700;letter-spacing:.2em;color:#e9a34e}.website h2{font-size:clamp(35px,3.6vw,57px);line-height:1.5;letter-spacing:-.055em;margin:27px 0}.website h2 em{font-style:normal;color:var(--orange)}.website-copy>p{color:#bfccd2;font-size:13px;line-height:2.15;max-width:480px}.website-points{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0}.website-points span{border:1px solid #5a6874;border-radius:100px;padding:9px 12px;font-size:12px}.website-copy .website-status{font-size:12px;color:#e3a456;margin:0}.website-preview{position:relative;background:radial-gradient(circle at 70% 44%,#31566d,#1b364b 53%,#172b3d 100%);min-height:570px;display:grid;place-items:center;overflow:hidden}.website-preview:before{content:"";position:absolute;width:570px;height:570px;border:1px solid #ffffff20;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.preview-window{width:min(73%,470px);height:310px;background:#faf8f2;box-shadow:0 30px 60px #07101d70;transform:translate(-28px,-5px);position:relative;z-index:1}.preview-bar{height:25px;background:#e7e4df;display:flex;align-items:center;gap:4px;padding:0 10px}.preview-bar span{height:5px;width:5px;background:#afb7b6;border-radius:50%}.preview-bar i{font-style:normal;font-size:7px;color:#9aa3a3;margin:auto;letter-spacing:.1em}.preview-body{position:relative;height:calc(100% - 25px);overflow:hidden}.preview-nav{height:38px;padding:12px 18px;display:flex;justify-content:space-between;align-items:center;color:#314745;font-size:8px}.preview-nav span{font-size:5px;letter-spacing:.12em}.preview-content{padding:34px 0 0 30px;width:54%}.preview-kicker{height:5px;width:48px;background:#e7a258;margin-bottom:17px}.preview-title{height:14px;width:170px;max-width:100%;background:#263e46;margin-bottom:8px}.preview-title.short{width:120px}.preview-line{height:4px;width:165px;max-width:100%;background:#a9b2ae;margin-top:19px}.preview-line.short{width:128px;margin-top:8px}.preview-button{width:72px;height:19px;background:#e49a48;margin-top:25px}.preview-figure{position:absolute;width:39%;height:75%;right:0;bottom:0;background:#afc6b3}.preview-figure div{position:absolute;left:50%;top:50%;width:125px;height:125px;border-radius:50%;background:#809a84;transform:translate(-50%,-50%)}.preview-phone{position:absolute;width:117px;height:236px;background:#f7f5ed;right:11%;bottom:11%;z-index:2;border:6px solid #1a2934;border-radius:18px;box-shadow:0 14px 25px #0b152b75;padding:32px 11px 10px}.phone-notch{position:absolute;top:6px;left:50%;transform:translateX(-50%);height:5px;width:30px;border-radius:5px;background:#253844}.phone-text{height:7px;width:70px;background:#314b4a;margin-bottom:5px}.phone-text.small{width:47px}.phone-image{height:76px;background:#afc6b3;margin:17px -11px 14px}.phone-lines{height:4px;width:65px;background:#b5bdba;margin-bottom:7px}.phone-lines.short{width:48px}.preview-caption{position:absolute;bottom:30px;right:40px;font-size:11px;letter-spacing:.14em;color:#b4c3ca}
@media(max-width:760px){.website{grid-template-columns:1fr}.website-copy{padding:73px 24px 55px}.website h2{font-size:38px}.website-preview{min-height:380px}.preview-window{width:70%;height:230px;transform:translate(-16px,-10px)}.preview-phone{right:7%;bottom:15%;transform:scale(.8);transform-origin:bottom right}.preview-content{padding-top:20px}.preview-figure div{width:90px;height:90px}.preview-caption{bottom:20px;right:20px}}
@media(max-width:430px){.portal-info h3{font-size:25px}}
.brand-mark{transform:none;box-shadow:none}.hero-art{background:radial-gradient(circle at 50% 49%,#fffdfa 0,#f6f1e8 53%,#e7ebe6 100%)}.art-grid{background-image:linear-gradient(rgba(7,50,47,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(7,50,47,.04) 1px,transparent 1px)}.art-ring{border-color:rgba(7,50,47,.15)}.art-ring-two{border-color:rgba(7,50,47,.08)}.art-core{width:min(80%,470px);height:345px;background:transparent;box-shadow:none}.art-elephant{width:100%;height:100%;filter:none}.art-node{background:#f8f5ec;border-color:#b8c7c0;color:#17443e}.art-caption{color:#687e78}.hero-bottom>span:last-child{color:#687e78}
@media(max-width:760px){.art-core{width:310px;height:245px}.art-elephant{width:100%;height:100%}}

/* Refined typography, bolder service panels, and portal lettering. */
.site-header{gap:20px}.brand-name{font-size:24px}.brand-en{font-size:12px;letter-spacing:.24em}.site-nav{gap:26px}.site-nav a{font-size:15px}.header-link{font-size:14px}.hero-lead{font-size:17px;line-height:2}.button,.text-link{font-size:14px}.hero-art{background:#f6f2ea}.art-core{width:min(82%,490px);height:370px}.hero-bottom{font-size:12px}.intro h2 .tech-web{display:inline-block;background:#102337;color:#b3f2dd;font-family:ui-monospace,monospace;font-size:.79em;font-weight:700;letter-spacing:-.09em;line-height:1.05;padding:.08em .19em .11em;vertical-align:.035em;clip-path:polygon(0 0,calc(100% - .15em) 0,100% .15em,100% 100%,.15em 100%,0 calc(100% - .15em))}.intro h2 .tech-web:after{content:'▮';color:var(--orange);font-size:.28em;margin-left:.16em;vertical-align:.2em}.intro-note{font-size:15px}.section-heading>p{font-size:15px;line-height:1.8}
.work{background:#101d2a;color:#fff}.work .section-index{color:#9eb0ba}.work .section-rule{background:#445766}.work .section-heading>p{color:#b6c7ce}.work .small-kicker{color:#f2a247}.work-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;border:0}.work-row{position:relative;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;min-width:0;min-height:380px;padding:30px;border:0;overflow:hidden;isolation:isolate;background:#e8ede8;color:#102734}.work-row:before{content:"";position:absolute;top:0;left:0;width:100%;height:5px;background:#e99831}.work-row:nth-child(2){background:#243f52;color:#fff}.work-row:nth-child(2):before{background:#6cc9bb}.work-row:nth-child(3){background:#f39a29;color:#132334}.work-row:nth-child(3):before{background:#132334}.work-num{position:absolute;top:13px;right:20px;font-size:clamp(100px,11vw,158px);font-weight:800;line-height:.8;letter-spacing:-.15em;color:rgba(16,39,52,.14);pointer-events:none}.work-row:nth-child(2) .work-num{color:rgba(255,255,255,.15)}.work-row:nth-child(3) .work-num{color:rgba(16,39,52,.2)}.work-row>div,.work-tag{position:relative;z-index:1}.work-row h3{font-size:clamp(21px,2vw,27px);line-height:1.38;margin:0 0 12px}.work-row p{font-size:15px;line-height:1.8;color:#3e5860;margin:0}.work-row:nth-child(2) p{color:#d5e1e5}.work-row:nth-child(3) p{color:#273e46}.work-tag{font-size:12px;letter-spacing:.03em;border:1px solid currentColor;color:inherit;margin-top:24px;padding:7px 11px}.work-arrow{display:none}
.website{background:#f4f1e9;color:#102332}.website-copy>p{font-size:16px;line-height:2;color:#52636b}.website-points span{font-size:13px;border-color:#a6b2b3}.website-copy .website-status{font-size:13px;color:#a56014}.website-label{color:#a45e13}.portal-visual{background:#cad9cd}.portal-visual:before,.portal-visual:after{display:none}.portal-glyph{left:50%;top:40%;transform:translate(-50%,-50%);width:auto;height:auto;border-radius:0;background:none;color:#174b38;font-family:'Helvetica Neue',Arial,'BIZ UDPGothic','Hiragino Sans',Meiryo,sans-serif;font-size:clamp(225px,29vw,390px);font-weight:700;line-height:.8;letter-spacing:-.15em}.portal-edge-word,.future-edge-word{position:absolute;left:-1px;bottom:-8px;width:calc(100% + 2px);height:auto;font-family:'Helvetica Neue',Arial,'BIZ UDPGothic','Hiragino Sans',Meiryo,sans-serif;font-size:61px;font-weight:700;letter-spacing:-.07em;pointer-events:none}.portal-edge-word{fill:#f6f7f0}.portal-visual-word,.portal-visual-bottom{display:none}.portal-info p{font-size:15px;line-height:1.9}.portal-url{font-size:14px}.future-grid{gap:12px}.future-card{position:relative;min-height:300px;padding:22px;overflow:hidden;isolation:isolate;background:#e7ebe7}.future-card:nth-child(2){background:#dce6e2}.future-card:nth-child(3){background:#e8e6df}.future-card:nth-child(4){background:#dee4ea}.future-letter{position:absolute;top:-45px;left:-13px;font-family:'Helvetica Neue',Arial,'BIZ UDPGothic','Hiragino Sans',Meiryo,sans-serif;font-size:clamp(185px,18vw,260px);font-weight:700;line-height:1;letter-spacing:-.12em;color:rgba(13,45,42,.14);pointer-events:none}.future-card h4{position:relative;z-index:1;font-size:21px;margin:auto 0 5px}.future-status{position:relative;z-index:1;font-size:13px;margin:0 0 70px;color:#47625f}.future-edge-word{fill:#17443e}.future-card:nth-child(4) .future-edge-word{fill:#1e394d}.future-note{font-size:13px;line-height:1.7}.profile-intro{font-size:16px}.profile-links a{font-size:15px}.profile-links>p{font-size:13px}.footer-top>p{font-size:16px}.footer-bottom{font-size:12px}
@media(max-width:1050px){.site-nav{gap:13px}.work-row{padding:22px}.work-row h3{font-size:20px}.work-num{right:13px}.future-card{padding:17px}.future-card h4{font-size:18px}}
@media(max-width:760px){.site-header{gap:0}.brand-name{font-size:21px}.brand-en{font-size:11px}.header-link{font-size:13px;padding:11px}.hero-lead{font-size:16px}.hero-art{height:310px;min-height:310px}.art-core{width:310px;height:245px}.intro-detail>p:first-child{font-size:17px;line-height:2}.intro-note{font-size:15px}.work-list{grid-template-columns:1fr;gap:10px}.work-row{min-height:280px;padding:25px}.work-num{font-size:140px;top:0;right:23px}.work-row h3{font-size:23px}.work-row p{font-size:15px}.section-heading>p{font-size:15px}.website-copy>p{font-size:16px}.portal-glyph{font-size:275px}.portal-info p{font-size:15px}.future-card{min-height:250px;padding:16px}.future-letter{font-size:165px;top:-28px}.future-card h4{font-size:17px}.future-status{font-size:12px;margin-bottom:53px}.future-note{font-size:13px}.profile-intro{font-size:16px}.profile-links a{font-size:15px}.footer-bottom{font-size:12px}}
@media(max-width:430px){.header-link{font-size:12px;padding:10px}.brand-name{font-size:20px}.hero-lead{font-size:16px}.intro h2{font-size:39px}.future-letter{font-size:145px}.future-card h4{font-size:16px}.portal-info h3{font-size:25px}}
.portal-edge-word,.future-edge-word{bottom:0}

/* October revision: use the original elephant artwork and a single visual system. */
.hero-art{background:#fcf9f3}
.art-core.art-original{width:min(82%,490px);height:auto;aspect-ratio:330/237;top:50%;border-radius:0;background-image:url('./elephant.svg');background-repeat:no-repeat;background-size:contain;background-position:center;box-shadow:none}
.intro h2 .tech-web{background:#192936;color:#fff;clip-path:none;letter-spacing:-.06em;padding:.08em .2em .1em}
.intro h2 .tech-web:after{display:none}
.intro h2 .vision-final{color:#172b38}
.work-row,.work-row:nth-child(2),.work-row:nth-child(3){min-height:390px;background:#213747;color:#f8faf9;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%)}
.work-row:before,.work-row:nth-child(2):before,.work-row:nth-child(3):before{height:4px;background:#7e9caa}
.work-row p,.work-row:nth-child(2) p,.work-row:nth-child(3) p{color:#d5e1e5}
.work-num,.work-row:nth-child(2) .work-num,.work-row:nth-child(3) .work-num{font-family:'Helvetica Neue',Arial,sans-serif;font-weight:800;font-size:clamp(112px,12vw,178px);letter-spacing:-.12em;color:transparent;-webkit-text-stroke:2px rgba(184,207,218,.36);font-variant-numeric:lining-nums}
.work-tag{border-color:#78919c;color:#e5eef0}
.main-portals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.domain-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-width:0;overflow:hidden;text-decoration:none;border:1px solid rgba(20,54,54,.2);clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%)}
.domain-primary{min-height:440px;padding:30px;background:#183c3a;color:#fff}
.domain-primary:nth-child(2){background:#183c3a}
.domain-primary[href]:hover{background:#22514c}
.domain-status{position:absolute;top:30px;right:30px;padding:7px 10px;border:1px solid currentColor;font-size:13px;font-weight:700;letter-spacing:.04em;line-height:1.2;z-index:2}
.domain-letter{display:block;margin:-27px 0 0 -10px;font-family:'Helvetica Neue',Arial,sans-serif;font-size:clamp(175px,18vw,255px);font-weight:800;letter-spacing:-.13em;line-height:.98;color:rgba(255,255,255,.95);pointer-events:none}
.domain-english{display:block;margin:-5px 0 0 3px;font-family:'Helvetica Neue',Arial,sans-serif;font-size:19px;font-weight:700;letter-spacing:.04em;line-height:1.3}
.domain-bottom{display:flex;flex-direction:column;gap:10px;width:100%;margin-top:auto;padding-top:65px}
.domain-bottom strong{font-size:clamp(22px,2.5vw,30px);line-height:1.45;letter-spacing:.02em}
.domain-bottom>span{font-size:15px;line-height:1.65;color:rgba(255,255,255,.81)}
.domain-bottom .domain-url{font-family:'Helvetica Neue',Arial,'BIZ UDPGothic','Hiragino Sans',Meiryo,sans-serif;font-size:13px;letter-spacing:.03em;color:#a8d3c2}
.future-heading{display:flex;justify-content:space-between;align-items:baseline;gap:15px;margin:50px 0 17px;padding-bottom:10px;border-bottom:1px solid #bcc9c6}
.future-heading h3{margin:0;font-size:24px;line-height:1.5;color:#163734}
.future-heading>span{font-family:'Helvetica Neue',Arial,'BIZ UDPGothic','Hiragino Sans',Meiryo,sans-serif;font-size:12px;font-weight:700;letter-spacing:.12em;color:#53716c}
.future-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.domain-secondary{min-height:310px;padding:22px;background:#e0e9e5;color:#193b38}
.domain-secondary:nth-child(2){background:#dce7e4}
.domain-secondary:nth-child(3){background:#e7e9e4}
.domain-secondary .domain-status{top:22px;right:22px;color:#315b53}
.domain-secondary .domain-letter{margin:-12px 0 0 -8px;font-size:clamp(130px,14vw,180px);color:#184139}
.domain-secondary .domain-english{margin:-7px 0 0 2px;font-size:15px;white-space:nowrap}
.domain-secondary .domain-bottom{padding-top:55px}
.domain-secondary .domain-bottom strong{font-size:21px}
@media(max-width:950px){.domain-english{font-size:16px}.domain-secondary .domain-english{font-size:12px}.domain-secondary .domain-bottom strong{font-size:18px}}
@media(max-width:760px){.art-core.art-original{width:min(88%,360px);height:auto}.main-portals{grid-template-columns:1fr}.domain-primary{min-height:400px}.domain-letter{font-size:200px}.future-grid{grid-template-columns:1fr}.domain-secondary{min-height:265px}.domain-secondary .domain-letter{font-size:160px}.domain-secondary .domain-english{font-size:15px}.domain-secondary .domain-bottom{padding-top:45px}.work-row,.work-row:nth-child(2),.work-row:nth-child(3){min-height:285px}.work-num,.work-row:nth-child(2) .work-num,.work-row:nth-child(3) .work-num{font-size:145px}}
@media(max-width:430px){.domain-primary{padding:23px;min-height:360px}.domain-primary .domain-status{top:23px;right:23px}.domain-primary .domain-letter{font-size:175px}.domain-primary .domain-english{font-size:16px}.domain-bottom strong{font-size:23px}.domain-bottom>span{font-size:14px}.domain-secondary .domain-bottom strong{font-size:20px}.header-link{font-size:12px;padding:9px}.hero-art{height:290px;min-height:290px}}

/* Lighter service cards with aligned copy and hand-drawn angular numerals. */
.work-row,.work-row:nth-child(2),.work-row:nth-child(3){justify-content:flex-start;min-height:390px;padding:170px 30px 30px;background:#dce8e4;color:#173b39}
.work-row:before,.work-row:nth-child(2):before,.work-row:nth-child(3):before{background:#85aaa3}
.work-row p,.work-row:nth-child(2) p,.work-row:nth-child(3) p{color:#315753}
.work-row h3{color:#173b39}
.work-tag{border-color:#91aaa4;color:#244b47;margin-top:auto}
.work-num,.work-row:nth-child(2) .work-num,.work-row:nth-child(3) .work-num{top:22px;right:20px;width:clamp(170px,18vw,230px);height:auto;font-size:0;color:#6f958d;-webkit-text-stroke:0}
.work-num svg{display:block;width:100%;height:auto;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:square;stroke-linejoin:miter}
.work-row>div{width:100%}
/* Concentric lines sit behind the original elephant; the labels remain decorative. */
.hero-art{background:#fdf9f3}
.art-ring{top:50%;border-width:1px;border-color:rgba(34,74,68,.23);z-index:0}
.art-ring-one{width:550px;height:550px}
.art-ring-two{width:760px;height:760px;border-color:rgba(34,74,68,.13)}
.art-core.art-original{z-index:1;mask-image:linear-gradient(90deg,transparent,black 8%,black 92%,transparent)}
.art-overline,.art-caption{position:absolute;z-index:2;font-family:'Helvetica Neue',Arial,'BIZ UDPGothic','Hiragino Sans',Meiryo,sans-serif;font-size:12px;font-weight:700;letter-spacing:.18em;color:#365e58;white-space:nowrap}
.art-overline{top:43px;right:42px}
.art-caption{bottom:74px;left:39px;right:auto}
/* Let the larger Web word reach the left edge of the viewport. */
.intro h2 .vision-final{display:block;margin-left:max(-142px,-9vw);white-space:nowrap}
.intro h2 .vision-final .tech-web{font-size:1.18em;letter-spacing:-.08em;padding:.035em .15em .07em 0;vertical-align:-.015em}
@media(max-width:1050px){.work-row,.work-row:nth-child(2),.work-row:nth-child(3){padding:160px 22px 26px}.work-num,.work-row:nth-child(2) .work-num,.work-row:nth-child(3) .work-num{right:14px}}
@media(max-width:760px){.work-row,.work-row:nth-child(2),.work-row:nth-child(3){min-height:300px;padding:133px 25px 25px}.work-num,.work-row:nth-child(2) .work-num,.work-row:nth-child(3) .work-num{top:13px;right:18px;width:180px}.intro h2 .vision-final{margin-left:-24px}.art-ring-one{width:310px;height:310px}.art-ring-two{width:470px;height:470px}.art-overline{top:17px;right:17px;font-size:11px}.art-caption{bottom:17px;left:18px;font-size:11px}}
@media(max-width:430px){.intro h2 .vision-final .tech-web{font-size:1.12em}.work-row,.work-row:nth-child(2),.work-row:nth-child(3){min-height:310px;padding-top:128px}}

/* Flat presentation panels and the earlier rounded overlapping numerals. */
.work-row,.work-row:nth-child(2),.work-row:nth-child(3){min-height:480px;padding-top:185px;clip-path:none;border:1px solid #c8d4d1;box-shadow:none;background:#e3e8e6}
.work-row:before,.work-row:nth-child(2):before,.work-row:nth-child(3):before{display:none}
.work-num,.work-row:nth-child(2) .work-num,.work-row:nth-child(3) .work-num{top:12px;right:34px;width:auto;height:auto;font-family:'Helvetica Neue',Arial,sans-serif;font-size:clamp(128px,12vw,170px);font-weight:800;line-height:1;letter-spacing:-.22em;color:rgba(82,98,99,.31);white-space:nowrap}
.work-row h3{font-size:clamp(30px,2.9vw,38px);line-height:1.25;letter-spacing:-.045em;margin-bottom:16px}
.domain-card{clip-path:none;box-shadow:none}
.domain-primary .domain-letter{margin:-54px 0 0 -36px}
.domain-secondary .domain-letter{margin:-40px 0 0 -28px}
.preview-window,.preview-phone{box-shadow:none}
@media(max-width:1050px){.work-row,.work-row:nth-child(2),.work-row:nth-child(3){padding-top:180px}.work-num,.work-row:nth-child(2) .work-num,.work-row:nth-child(3) .work-num{right:22px}}
@media(max-width:760px){.work-row,.work-row:nth-child(2),.work-row:nth-child(3){min-height:390px;padding-top:145px}.work-num,.work-row:nth-child(2) .work-num,.work-row:nth-child(3) .work-num{top:6px;right:27px;font-size:155px}.work-row h3{font-size:32px}.domain-primary .domain-letter{margin:-46px 0 0 -29px}.domain-secondary .domain-letter{margin:-35px 0 0 -25px}}
@media(max-width:430px){.work-row,.work-row:nth-child(2),.work-row:nth-child(3){min-height:405px;padding-top:145px}.work-row h3{font-size:30px}.work-num,.work-row:nth-child(2) .work-num,.work-row:nth-child(3) .work-num{font-size:148px}}

/* VISION: one shared grid row gives the Web panel and three lines equal height. */
.intro-grid{grid-template-columns:1fr 1fr;column-gap:9%;row-gap:42px}
.intro h2.vision-headline{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,43%) minmax(0,57%);height:305px;font-size:inherit;line-height:1;letter-spacing:normal}
.vision-web{display:flex;align-items:center;margin-left:calc(-1 * clamp(24px,9vw,142px));background:#192936;color:#fff;overflow:hidden}
.intro h2.vision-headline .vision-web,.intro h2.vision-headline .vision-web>span{color:#fff}
.vision-web>span{display:block;font-family:'Helvetica Neue',Arial,'BIZ UDPGothic','Hiragino Sans',Meiryo,sans-serif;font-size:clamp(210px,28vw,400px);font-weight:700;line-height:1;letter-spacing:-.11em;white-space:nowrap;transform:scale(.66,.8);transform-origin:left center}
.vision-lines{display:flex;flex-direction:column;justify-content:space-between;padding:6px 0 10px 35px;color:#172b38}
.intro h2.vision-headline .vision-lines>span{display:block;color:#172b38;font-size:clamp(40px,4.5vw,66px);font-weight:700;line-height:1.15;letter-spacing:-.065em;white-space:nowrap}
.intro-detail{grid-column:2;padding-top:0}
.work-row h3{min-height:2.5em}
@media(max-width:1050px){.intro h2.vision-headline{height:270px}.vision-lines{padding-left:24px}.vision-lines>span{font-size:clamp(35px,4.4vw,50px)}}
@media(max-width:760px){.intro-grid{grid-template-columns:1fr;row-gap:30px}.intro h2.vision-headline{grid-column:1;grid-template-columns:minmax(0,40%) minmax(0,60%);height:185px}.vision-web{margin-left:-24px}.vision-web>span{font-size:clamp(180px,48vw,240px);transform:scale(.4,.83)}.vision-lines{padding:4px 0 7px 10px}.intro h2.vision-headline .vision-lines>span{font-size:clamp(23px,6.2vw,34px)}.intro-detail{grid-column:1}.work-row h3{min-height:0}}

/* Restore the angled top-right corner while keeping the cards flat. */
.work-row,.work-row:nth-child(2),.work-row:nth-child(3),.domain-card{clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,0 100%);box-shadow:none}
/* The initials meet the outer top and left edges of every portal card. */
.domain-primary .domain-letter{margin:-66px 0 0 -46px}
.domain-secondary .domain-letter{margin:-51px 0 0 -38px}
/* A light right-hand Web panel separates VISION from the dark hero. */
.intro h2.vision-headline{grid-template-columns:minmax(0,57%) minmax(0,43%)}
.vision-lines{grid-column:1;grid-row:1;padding:6px 24px 10px 0}
.vision-web{grid-column:2;grid-row:1;justify-content:flex-end;margin-left:0;margin-right:calc(-1 * clamp(24px,9vw,142px));padding-right:14px;background:#d7dcda}
.intro h2.vision-headline .vision-web,.intro h2.vision-headline .vision-web>span{color:#172b38}
.vision-web>span{flex:0 0 auto;transform:scale(.66,.75);transform-origin:right center}
@media(max-width:760px){.intro h2.vision-headline{grid-template-columns:minmax(0,60%) minmax(0,40%)}.vision-lines{padding:4px 9px 7px 0}.vision-web{margin-right:-24px;padding-right:7px}.vision-web>span{transform:scale(.4,.83)}.domain-primary .domain-letter{margin:-57px 0 0 -39px}.domain-secondary .domain-letter{margin:-46px 0 0 -35px}}
.mobile-break{display:none}
@media(max-width:760px){.mobile-break{display:block}}
.intro .section-index{color:#bd751e}

/* The remaining VISION paragraph takes the orange rule. */
.intro-detail>.intro-note{margin:0;padding-left:24px;border-left:3px solid var(--orange);color:#36434a;font-size:19px;line-height:2}
.work .section-index{color:#f2a247}

/* Full letterforms become a backdrop; the English label stays at the top. */
.domain-card{isolation:isolate}
.domain-primary{min-height:550px}
.domain-letter,.domain-primary .domain-letter,.domain-secondary .domain-letter{position:absolute;top:-.12em;left:-.02em;margin:0;font-family:'Helvetica Neue',Arial,'BIZ UDPGothic','Hiragino Sans',Meiryo,sans-serif;font-size:clamp(360px,36vw,510px);font-weight:700;line-height:1;letter-spacing:-.07em;white-space:nowrap;z-index:0}
.domain-primary .domain-letter{color:rgba(255,255,255,.22)}
.domain-secondary{min-height:360px}
.domain-secondary .domain-letter{font-size:clamp(260px,23vw,360px);color:rgba(24,65,57,.18)}
.domain-english{position:relative;z-index:1;margin:0;font-family:'Helvetica Neue',Arial,'BIZ UDPGothic','Hiragino Sans',Meiryo,sans-serif;font-size:19px;font-weight:700;letter-spacing:.1em}
.domain-secondary .domain-english{margin:0;font-size:15px}
.domain-bottom{position:relative;z-index:1;padding-top:120px}
.domain-secondary .domain-bottom{padding-top:95px}
@media(max-width:760px){.intro-detail>.intro-note{font-size:17px;line-height:2}.domain-primary{min-height:470px}.domain-primary .domain-letter{font-size:360px}.domain-secondary .domain-letter{font-size:320px}.domain-secondary{min-height:350px}.domain-bottom{padding-top:100px}.domain-secondary .domain-bottom{padding-top:85px}}

/* Section labels and the warmer, more legible website accent. */
.portals .section-index,.profile .section-index{color:#a45e13}
.website h2 em{color:#bb6a16}

/* VISION: the message and SNS share a row until the viewport needs a stack. */
.intro h2.vision-headline{grid-template-columns:minmax(0,57%) minmax(0,43%)}
.vision-lines{grid-column:1;grid-row:1}
.vision-web-word{display:inline-block;padding:.015em .12em .07em .015em;margin-right:.035em;background:#172b38;color:#fff;font-family:'Helvetica Neue',Arial,'BIZ UDPGothic','Hiragino Sans',Meiryo,sans-serif;font-size:1.1em;line-height:1;letter-spacing:-.09em}
.vision-sns{grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:flex-end;position:relative;overflow:hidden;margin-right:calc(-1 * clamp(24px,9vw,142px));padding-right:26px;background:#d7dcda}
.intro h2.vision-headline .vision-sns,.intro h2.vision-headline .vision-sns>span{color:#172b38}
.vision-sns>span{font-family:'Helvetica Neue',Arial,'BIZ UDPGothic','Hiragino Sans',Meiryo,sans-serif;font-size:clamp(180px,22vw,330px);font-weight:700;line-height:1;letter-spacing:-.1em;white-space:nowrap}
.vision-sns small{position:absolute;right:34px;bottom:21px;color:#40504f;font-family:'Helvetica Neue',Arial,'BIZ UDPGothic','Hiragino Sans',Meiryo,sans-serif;font-size:12px;font-weight:700;letter-spacing:.15em}
@media(max-width:760px){
  .intro h2.vision-headline{grid-template-columns:minmax(0,1fr);height:auto;row-gap:22px}
  .vision-lines{grid-column:1;grid-row:1;min-height:185px;padding:0}
  .vision-sns{grid-column:1;grid-row:2;height:175px;margin-right:-24px;padding-right:15px}
  .vision-sns>span{font-size:clamp(165px,45vw,230px)}
  .vision-sns small{right:16px;bottom:12px}
}

/* Keep the brand visible during scroll, with its two names on one line. */
.site-header{position:sticky;top:0;z-index:50}
.brand{gap:12px}
.brand-name,.brand-en{display:inline-block;margin:0;line-height:1.1;white-space:nowrap}
.site-header .brand-name,.site-header .brand-en{font-size:clamp(22px,1.8vw,27px);font-weight:800;letter-spacing:.025em}
.site-header .brand-en{font-family:'Helvetica Neue',Arial,'BIZ UDPGothic','Hiragino Sans',Meiryo,sans-serif;letter-spacing:.005em}
.footer-brand .brand-name,.footer-brand .brand-en{font-size:22px;letter-spacing:.02em}
.footer-brand .brand-en{font-family:'Helvetica Neue',Arial,'BIZ UDPGothic','Hiragino Sans',Meiryo,sans-serif}
section[id]{scroll-margin-top:96px}

/* A filled badge makes the live portal distinct from planned portals. */
.domain-primary[href] .domain-status{background:#f29a23;border-color:#f29a23;color:#142b2a}

/* Paired WEB and SNS lettering in the VISION panel. */
.vision-sns{justify-content:center;padding:0 28px}
.intro h2.vision-headline .vision-sns>.vision-combo{display:flex;align-items:baseline;justify-content:center;gap:.09em;color:#172b38;font-family:'Helvetica Neue',Arial,'BIZ UDPGothic','Hiragino Sans',Meiryo,sans-serif;font-size:clamp(70px,8vw,125px);font-weight:700;line-height:1;letter-spacing:-.09em}
.intro h2.vision-headline .vision-combo>span{color:#172b38}
.vision-combo b{color:#a45e13;font-size:.65em;font-weight:700;letter-spacing:0}
.vision-sns small{right:28px;bottom:20px}
@media(max-width:1000px){.site-nav{display:none}.site-header .header-link{margin-left:auto}}
@media(max-width:950px){
  .intro-grid{grid-template-columns:1fr;row-gap:30px}
  .intro h2.vision-headline{grid-column:1;grid-template-columns:1fr;height:auto;row-gap:22px}
  .vision-lines{grid-column:1;grid-row:1;min-height:240px;padding:0}
  .vision-sns{grid-column:1;grid-row:2;height:220px;margin-right:calc(-1 * clamp(24px,9vw,142px))}
  .intro h2.vision-headline .vision-sns>.vision-combo{font-size:clamp(85px,13vw,125px)}
  .intro-detail{grid-column:1}
}
@media(max-width:760px){
  section[id]{scroll-margin-top:75px}
  .site-header .brand-name,.site-header .brand-en{font-size:22px}
  .vision-lines{min-height:185px}
  .vision-sns{height:175px;margin-right:-24px}
  .intro h2.vision-headline .vision-sns>.vision-combo{font-size:clamp(61px,13vw,95px)}
  .vision-sns small{right:16px;bottom:12px;font-size:11px}
}
@media(max-width:500px){
  .site-header{height:auto;min-height:104px;flex-wrap:wrap;align-content:center;gap:7px;padding:11px 22px}
  .site-header .brand{width:100%;gap:9px}
  .site-header .brand-name,.site-header .brand-en{font-size:20px}
  .site-header .header-link{font-size:12px;padding:7px 9px}
  section[id]{scroll-margin-top:104px}
}

/* The domain reads as supporting navigation beside the Japanese wordmark. */
.site-header .brand{gap:0}
.site-header .brand-en{margin-left:clamp(38px,3.4vw,54px);font-size:15px;font-weight:700;letter-spacing:.04em}
.site-header .header-link{border:2px solid var(--orange)}
.site-header .header-link:hover{background:var(--orange);color:var(--ink)}

/* A larger, typographically aligned connector gives WEB and SNS one unit. */
.vision-sns{padding-left:18px;padding-right:18px}
.intro h2.vision-headline .vision-sns>.vision-combo{align-items:center;gap:0;font-size:clamp(78px,8.6vw,138px)}
.vision-combo b{color:#086e78;font-size:.78em;line-height:1;margin:0 .02em;transform:translateY(-.035em)}
@media(max-width:950px){.intro h2.vision-headline .vision-sns>.vision-combo{font-size:clamp(80px,12vw,130px)}}
@media(max-width:760px){.site-header .brand-en{margin-left:28px;font-size:15px}.intro h2.vision-headline .vision-sns>.vision-combo{font-size:clamp(54px,16.5vw,100px)}}
@media(max-width:500px){.site-header .brand-en{margin-left:22px;font-size:15px}}

/* Align the VISION copy rule with the WEB × SNS panel. */
.intro-detail{margin-left:2vw}
.vision-combo b{color:var(--orange);margin-left:.12em;margin-right:.015em}
@media(max-width:950px){.intro-detail{margin-left:0}}

/* Two-line brand and a compact, keyboard-accessible mobile navigation. */
.site-header .brand{display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px}
.site-header .brand-name{font-size:26px;line-height:1}
.site-header .brand-en{margin:0;font-size:12px;font-weight:700;letter-spacing:.12em;line-height:1.1}
.menu-toggle,.mobile-portal-link{display:none}
@media(max-width:1000px){
  .site-header{height:76px;min-height:76px;flex-wrap:nowrap;align-content:normal;justify-content:space-between;padding:0 24px;gap:16px}
  .site-header .brand{width:auto;flex:0 1 auto;gap:4px}
  .site-header .brand-name{font-size:23px}
  .site-header .brand-en{font-size:12px;margin:0}
  .site-header .header-link{display:none}
  .menu-toggle{display:flex;flex:0 0 46px;width:46px;height:46px;align-items:center;justify-content:center;flex-direction:column;gap:6px;margin-left:auto;padding:0;border:2px solid var(--orange);background:transparent;color:var(--ink);cursor:pointer}
  .menu-toggle span{display:block;width:22px;height:2px;background:currentColor;transition:transform .2s,opacity .2s}
  .menu-open .menu-toggle span:first-child{transform:translateY(8px) rotate(45deg)}
  .menu-open .menu-toggle span:nth-child(2){opacity:0}
  .menu-open .menu-toggle span:last-child{transform:translateY(-8px) rotate(-45deg)}
  .site-header .site-nav{display:none;position:absolute;top:100%;left:0;right:0;z-index:1;margin:0;padding:8px 24px 22px;background:var(--paper);border-bottom:2px solid var(--orange);max-height:calc(100dvh - 76px);overflow-y:auto;flex-direction:column;align-items:stretch;gap:0}
  .site-header.menu-open .site-nav{display:flex}
  .site-nav a{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:12px 2px;border-bottom:1px solid var(--line);font-size:16px}
  .site-nav .mobile-portal-link{display:flex;border:2px solid var(--orange);margin-top:16px;padding:14px;font-size:15px}
  .mobile-portal-link span{font-size:20px}
  section[id]{scroll-margin-top:76px}
}
@media(max-width:500px){
  .site-header{padding:0 20px;gap:12px}
  .site-header .brand{width:auto}
  .site-header .brand-name{font-size:22px}
  .site-header .brand-en{font-size:12px;margin:0}
  .site-header .site-nav{padding-left:20px;padding-right:20px}
  section[id]{scroll-margin-top:76px}
}
/* 2026-10-16 デザイン見直し（1 事業の一文・3 公開中のカードの「サイトを開く」・9 和文見出しの字間・10 スマホのカードの高さ）。 */
.hero-business{margin:0 0 18px;font-size:19px;line-height:1.9;font-weight:700;letter-spacing:.02em;color:#e4e9ec}
.hero h1,#work-title,#website-title,#portals-title,#profile-title,.work-row h3,.statement p,.vision-headline .vision-lines>span{letter-spacing:.01em}
.domain-bottom>.domain-open{display:flex;justify-content:space-between;gap:12px;width:100%;margin-top:6px;padding-top:16px;border-top:1px solid rgba(255,255,255,.35);font-size:17px;font-weight:700;color:#fff}
@media(max-width:760px){
.hero-business{font-size:17px}
.hero-business br{display:none}
.work-row,.work-row:nth-child(2),.work-row:nth-child(3){min-height:0;padding-top:100px}
.work-num,.work-row:nth-child(2) .work-num,.work-row:nth-child(3) .work-num{font-size:88px}
.work-row h3{font-size:26px}
.domain-primary{min-height:0}
.domain-primary .domain-letter{font-size:220px}
.domain-bottom{padding-top:110px}
.domain-secondary{min-height:0}
.domain-secondary .domain-letter{font-size:190px}
.domain-secondary .domain-bottom{padding-top:80px}
.domain-bottom>.domain-open{font-size:15px}
}
/* 2026-10-16 障害福祉サービスを「構想中」にして公開準備中の段へ移した。4枚を同じ大きさに並べる。 */
.future-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1050px){.future-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.future-grid{grid-template-columns:1fr}}
.domain-secondary .domain-english{white-space:normal;padding-right:84px}
.main-portals{grid-template-columns:1fr}
.main-portals .domain-primary{min-height:550px}
@media(max-width:760px){.main-portals .domain-primary{min-height:0}}
