:root{--orange:#ff4b12;--orange-deep:#c63200;--ink:#171917;--paper:#f5f5f1;--muted:#42483f;--line:#d9dbd4;--gutter:clamp(24px,4.5vw,88px);--ease:cubic-bezier(.2,.7,.15,1);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,"Noto Sans CJK JP",sans-serif;color:var(--ink);background:#fff;color-scheme:light;font-synthesis:none}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;-webkit-font-smoothing:antialiased;overflow-x:clip}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{border:0;background:none}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--orange-deep);outline-offset:5px}img,svg,canvas{display:block}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}::selection{background:var(--orange);color:#171917}section[id]{scroll-margin-top:90px}main:focus{outline:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}.skip-link{position:fixed;z-index:1000;top:-80px;left:16px;padding:15px 22px;background:var(--ink);color:white}.skip-link:focus{top:12px}.section-wrap{padding-left:var(--gutter);padding-right:var(--gutter)}.mobile-break{display:none}.section-meta{display:flex;gap:12px;align-items:center;font-size:13px;font-weight:600;letter-spacing:.025em}.section-dot{height:8px;width:8px;flex:none;background:var(--orange);border-radius:50%}.en-caption{font:400 12px/1.4 Arial,sans-serif;color:var(--muted);margin-left:14px}.site-header{height:88px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:38px;position:sticky;top:0;z-index:30;background:rgba(255,255,255,.96);border-bottom:1px solid transparent;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.site-header.is-scrolled{border-color:#eaeae3}.brand{display:flex;align-items:center;min-height:48px;flex:none}.brand img{width:204px;height:auto;mix-blend-mode:multiply}.desktop-nav{display:flex;align-items:center;gap:36px;margin-left:auto}.desktop-nav a{font-size:12px;font-weight:600;padding:18px 0;position:relative}.desktop-nav a::after{content:"";position:absolute;height:2px;bottom:8px;left:0;right:0;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}.desktop-nav a:hover::after,.desktop-nav a[aria-current="location"]::after{transform:scaleX(1)}.header-actions{display:flex;align-items:center;gap:20px}.header-contact{display:flex;align-items:center;justify-content:space-between;gap:35px;background:var(--ink);color:white;border-radius:4px;padding:15px 18px;font-size:12px;font-weight:500;transition:background .25s}.header-contact:hover{background:var(--orange-deep)}.small-arrow{font:20px/1 Arial,sans-serif;color:#ff7f50}.menu-toggle{width:45px;height:45px;display:none;padding:10px}.menu-toggle span{display:block;height:1.5px;background:var(--ink);margin:6px 0}.reading-progress{height:2px;background:var(--orange);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0);transform-origin:left;pointer-events:none}
/* Open composition: type at left, the supplied brand symbol at right. */
.hero{height:calc(100svh - 88px);min-height:790px;max-height:1040px;position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(150deg,#fff 54%,#f7f7f2 100%)}.hero-top{position:absolute;top:28px;left:var(--gutter);right:var(--gutter);z-index:5;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.04em}.hero-edition{font:12px Arial,sans-serif;letter-spacing:0;color:var(--muted)}.hero-copy{position:absolute;top:112px;left:var(--gutter);z-index:4}.hero-copy h1{font-size:clamp(38px,4.25vw,76px);font-weight:700;line-height:1.48;letter-spacing:-.048em}.hero-copy p{font-size:13px;line-height:2.1;margin-top:24px;letter-spacing:.025em;color:#454a43}.round-link{display:inline-flex;gap:28px;align-items:center;margin-top:30px;font-size:12px;font-weight:600}.round-arrow{border:1px solid #aeb1a8;border-radius:50%;width:45px;height:45px;display:grid;place-items:center;transition:background .25s,border-color .25s,transform .3s var(--ease)}.round-arrow svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4}.round-link:hover .round-arrow{background:var(--orange);border-color:var(--orange);transform:rotate(-35deg)}.hero-art{position:absolute;left:43%;top:26px;width:64%;height:88%;z-index:2;pointer-events:none}.hero-art canvas{width:100%;height:100%;position:absolute;inset:0;opacity:0;transition:opacity 1s var(--ease)}.hero-art.is-ready canvas{opacity:1}.art-aura{position:absolute;left:24%;right:9%;top:26%;bottom:10%;background:radial-gradient(ellipse,#ff581015 0%,transparent 65%);filter:blur(25px)}.mark-fallback{position:absolute;width:100%;height:100%;inset:0;transition:opacity .5s}.hero-art.is-ready .mark-fallback{opacity:0}.art-coordinate{position:absolute;right:18%;bottom:9%;color:#676b63;font:11px/1.6 Arial,sans-serif}.hero-display{position:absolute;left:calc(var(--gutter) - 7px);bottom:113px;width:77%;max-width:1400px;z-index:3;color:var(--ink);pointer-events:none}.hero-display svg{width:100%;height:auto}.hero-bottom{display:flex;position:absolute;bottom:26px;left:var(--gutter);right:var(--gutter);gap:25px;justify-content:space-between;align-items:center;z-index:6;font-size:11px;padding-top:21px;border-top:1px solid #d4d7cc}.scroll-link{display:flex;gap:14px;align-items:center}.scroll-line{width:1px;height:24px;background:var(--ink);position:relative}.scroll-line::after{content:"";position:absolute;width:6px;height:6px;bottom:0;left:-2.5px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);transform:rotate(45deg)}.hero-services{font:11px/1.5 Arial,sans-serif;color:var(--muted);margin-left:auto}.motion-toggle{display:flex;gap:7px;align-items:center;min-height:36px;padding:0 0 0 18px;font-size:10px;color:var(--muted)}.motion-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5}.play-icon{display:none}.is-paused .play-icon{display:block}.is-paused .pause-icon{display:none}
/* Purpose is editorial, with real content rather than decorative cards. */
.about{padding-top:110px;padding-bottom:86px;background:#fff}.about-content{display:grid;grid-template-columns:1.25fr 1fr;gap:80px;margin-top:48px;align-items:start}.about h2{font-size:clamp(30px,3.6vw,58px);line-height:1.55;letter-spacing:-.035em;font-weight:700}.about-prose{padding-top:8px;max-width:480px;font-size:14px;line-height:2.3;color:#464c44}.about-prose p+p{margin-top:21px}.concept-line{display:flex;align-items:center;gap:28px;margin-top:72px;font-size:clamp(26px,3.5vw,54px);letter-spacing:-.05em;font-weight:700;color:var(--orange-deep)}.concept-line i{height:1px;background:#dbded6;flex:1;position:relative}.concept-line i::after{content:"";position:absolute;right:0;top:-3px;width:6px;height:6px;border-top:1px solid #91968b;border-right:1px solid #91968b;transform:rotate(45deg)}.concept-line b{font:60px/.6 Arial,sans-serif;font-weight:400;margin-left:10px}
/* Business selector: three distinct working visual treatments; no cloned card grid. */
.business{background:var(--paper);padding-top:98px;padding-bottom:100px}.business-head{display:grid;grid-template-columns:1fr 1.35fr;align-items:end;column-gap:50px}.business-head .section-meta{grid-column:1/-1;margin-bottom:40px}.business-head h2{font-size:clamp(34px,3.6vw,58px);line-height:1.5;letter-spacing:-.04em}.business-head>p{font-size:13px;line-height:2.3;color:var(--muted);justify-self:end;align-self:end;margin-bottom:10px}.business-grid{display:grid;grid-template-columns:.9fr 1.5fr;gap:85px;margin-top:58px;align-items:start}.service-selector{position:sticky;top:140px}.service-tab{display:block;position:relative;width:100%;text-align:left;border-top:1px solid #cdd0c7;padding:27px 45px 28px 0;transition:color .25s,padding-left .3s var(--ease);min-height:129px}.service-tab:last-of-type{border-bottom:1px solid #cdd0c7}.tab-title{display:block;font:500 clamp(24px,2.8vw,47px)/1.05 Arial,sans-serif;letter-spacing:-1.9px}.tab-ja{display:block;font-size:12px;margin-top:13px;color:#5c6358;letter-spacing:.005em}.tab-symbol{position:absolute;right:2px;top:33px;font:30px/1 Arial,sans-serif;transition:transform .35s var(--ease)}.service-tab:hover,.service-tab.is-active{color:var(--orange-deep)}.service-tab.is-active{padding-left:20px}.service-tab.is-active::before{content:"";width:5px;height:5px;position:absolute;left:0;top:42px;border-radius:50%;background:var(--orange)}.service-tab:not(.is-active) .tab-symbol{transform:rotate(45deg);color:#6a7064}.business-note{font-size:10px;line-height:1.8;margin-top:19px;color:var(--muted)}.service-panel{outline-offset:8px;min-width:0}.service-art{height:410px;position:relative;overflow:hidden;border-radius:5px;isolation:isolate}.art-caption{position:absolute;bottom:25px;left:29px;right:29px;display:flex;justify-content:space-between;align-items:center;font-size:10px;z-index:5;letter-spacing:.03em}.art-caption>span:last-child{font:27px/1 Arial,sans-serif}.marketing-art{background:#e9e9de}.marketing-floor{position:absolute;inset:0;background:radial-gradient(ellipse at 55% 58%,#c2c2b4 0,transparent 52%)}.media-sheets{position:absolute;left:50%;top:48%;width:400px;height:300px;transform:translate(-50%,-50%);perspective:850px}.media-sheet{position:absolute;border-radius:3px;box-shadow:14px 26px 25px #20231027;overflow:hidden;backface-visibility:hidden}.sheet-back{width:195px;height:260px;left:20px;top:2px;background:var(--ink);color:#fff;transform:rotateY(18deg) rotateZ(-16deg);padding:23px;font:700 35px/1.0 Arial,sans-serif;letter-spacing:-2px}.sheet-back::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,#ffffff18,transparent 60%)}.sheet-front{width:211px;height:281px;left:170px;top:26px;background:var(--orange);color:#1d190f;transform:rotateY(-15deg) rotateZ(11deg);padding:25px;font-size:28px;font-weight:700;transition:transform .9s var(--ease)}.sheet-front small{position:absolute;bottom:19px;left:21px;right:20px;font:10px/1.4 Arial,sans-serif}.sheet-bars{display:flex;align-items:flex-end;gap:6px;position:absolute;bottom:26px;left:25px;right:25px;height:77px}.sheet-bars i{width:22%;height:100%;background:var(--orange);transform:skewY(-17deg)}.sheet-bars i:nth-child(1){height:20%}.sheet-bars i:nth-child(2){height:40%}.sheet-bars i:nth-child(3){height:60%}.sheet-bars i:nth-child(4){height:80%}.sheet-orbit{position:absolute;width:135px;height:135px;left:38px;top:80px;transform:rotate(-32deg)}.sheet-orbit i{position:absolute;inset:0;border:1px solid #502500;border-radius:50%;transform:scaleY(.44)}.sheet-orbit i:nth-child(2){transform:rotate(60deg) scaleY(.44)}.sheet-orbit i:nth-child(3){transform:rotate(120deg) scaleY(.44)}.service-art:hover .sheet-front{transform:translate(8px,-5px) rotateY(-9deg) rotateZ(14deg)}.service-description{padding-top:29px}.service-description h3{font-size:27px;line-height:1.6;letter-spacing:-.025em}.service-description>p{font-size:13px;line-height:2.2;max-width:560px;margin-top:18px;color:#535b4e}.service-tags{display:flex;flex-wrap:wrap;gap:9px;list-style:none;padding:0;margin:21px 0 0}.service-tags li{font-size:10px;border:1px solid #b3b9a9;border-radius:2px;padding:7px 10px;line-height:1.6}.text-link{display:flex;gap:35px;align-items:center;padding:8px 0 6px;margin-top:24px;border-bottom:1px solid #9b9f93;font-size:12px;font-weight:600;transition:color .2s}.text-link span{font:24px/1 Arial,sans-serif}.text-link:hover{color:var(--orange-deep)}.technology-art{background:#e9e9de}.tech-grid{position:absolute;width:140%;height:140%;top:10%;left:-20%;background-image:linear-gradient(#acafa229 1px,transparent 1px),linear-gradient(90deg,#acafa229 1px,transparent 1px);background-size:36px 36px;transform:perspective(800px) rotateX(63deg) rotateZ(-30deg)}.tech-stack{width:260px;height:240px;position:absolute;top:42px;left:50%;transform:translateX(-50%) rotate(-6deg);perspective:1000px}.tech-layer{width:258px;height:180px;position:absolute;border-radius:6px;transform:rotateX(51deg) rotateZ(-27deg);box-shadow:12px 18px 0 #00000012,22px 30px 28px #00000016;border:1px solid #ffffff5c;display:flex;align-items:flex-end;justify-content:space-between;padding:23px;font:12px/1.3 Arial,sans-serif}.layer-bottom{top:133px;background:#232822;color:#fff}.layer-mid{top:72px;background:#bdc2b3;color:#1b2017}.layer-top{top:7px;background:linear-gradient(120deg,#ff702c,#ff4b12);color:#251406;align-items:flex-start;font:700 34px/1.05 Arial,sans-serif;letter-spacing:-1.2px}.layer-top i{align-self:flex-end;font:50px/1 Arial,sans-serif}.partnership-art{background:#232723;color:white}.network-art{position:absolute;width:100%;height:100%;inset:-15px 0 0}.network-pulse{filter:drop-shadow(0 0 10px #ff8a4e)}
/* A genuine sequence, not ornamental section numbering. */
.approach{display:grid;grid-template-columns:1fr 1.15fr;gap:100px;padding-top:116px;padding-bottom:115px}.approach h2{font-size:clamp(34px,3.5vw,54px);letter-spacing:-.04em;line-height:1.5;margin-top:38px}.approach-intro>p{font-size:14px;line-height:2.2;color:var(--muted);margin-top:25px}.approach-stamp{margin-top:47px;font:500 44px/.98 Arial,sans-serif;letter-spacing:-2px;display:flex;flex-direction:column;color:var(--orange-deep)}.process-list{padding-top:28px}.process-step{display:grid;grid-template-columns:50px 1fr;gap:20px;padding:35px 0;border-top:1px solid var(--line)}.process-step:last-child{border-bottom:1px solid var(--line)}.process-index{font:400 18px/1.6 Arial,sans-serif;color:var(--orange-deep);font-variant-numeric:tabular-nums}.process-en{font:12px/1.8 Arial,sans-serif;color:var(--muted)}.process-step h3{font-size:23px;letter-spacing:-.025em;margin-top:12px}.process-step h3+p{font-size:13px;line-height:2.2;margin-top:16px;color:var(--muted)}.brand-statement{position:relative;overflow:hidden;background:var(--orange);min-height:485px;display:flex;align-items:center;justify-content:space-between;gap:60px;padding:60px var(--gutter);isolation:isolate}.statement-en{font:600 clamp(55px,7.4vw,130px)/.96 Arial,sans-serif;letter-spacing:-.065em;z-index:2}.statement-ja{font-size:18px;line-height:1.9;font-weight:600;margin:0 5% 0 0;z-index:2;letter-spacing:-.02em;align-self:flex-end;margin-bottom:25px}.statement-routes{position:absolute;right:-100px;top:0;width:70%;height:100%;opacity:.28}.statement-routes i{display:block;position:absolute;right:0;bottom:-80px;width:28%;height:680px;background:#ffb080;transform-origin:bottom;transform:rotate(31deg)}.statement-routes i:nth-child(2){right:28%;transform:rotate(44deg)}.statement-routes i:nth-child(3){right:55%;transform:rotate(58deg)}.company{display:grid;grid-template-columns:1fr 1.15fr;gap:100px;padding-top:108px;padding-bottom:108px}.company h2{font:600 52px/1 Arial,sans-serif;letter-spacing:-2.5px;margin-top:45px}.company-title>p{font-size:19px;line-height:1.8;letter-spacing:-.02em;margin-top:25px}.company-data{padding-top:10px}.company-data dl{margin:0}.company-data dl>div{display:grid;grid-template-columns:125px 1fr;border-top:1px solid var(--line);padding:25px 0;font-size:13px;line-height:1.9;gap:24px}.company-data dl>div:last-child{border-bottom:1px solid var(--line)}.company-data dt{color:var(--muted);font-size:12px}.company-data dd{margin:0}.company-draft{font-size:10px;line-height:1.9;color:var(--muted);margin-top:23px;max-width:410px}
/* The final invitation keeps the brand orange, without inventing an email address. */
.contact-section{background:var(--ink);color:#fff;padding-top:74px;padding-bottom:75px}.contact-section .en-caption{color:#a9b0a2}.contact-main{display:flex;justify-content:space-between;align-items:center;gap:40px;margin-top:45px}.contact-main h2{font-size:clamp(40px,5.7vw,90px);line-height:1.4;letter-spacing:-.045em}.contact-circle{height:186px;width:186px;flex:none;border-radius:50%;background:var(--orange);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;transition:transform .4s var(--ease),background .3s;margin-right:6%}.contact-circle:hover{transform:rotate(-9deg);background:#ff733e}.contact-circle svg{width:80px;height:80px;stroke:currentColor;fill:none;stroke-width:2.8}.contact-circle span{font-size:13px;font-weight:600}.contact-caption{font-size:12px;color:#c0c6bb;line-height:2.1;margin-top:28px}.site-footer{background:#fff;padding-top:40px;padding-bottom:25px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:33px}.footer-brand img{width:240px;height:auto}.to-top{display:flex;align-items:center;gap:30px;min-height:44px;font-size:11px}.to-top span{font:26px Arial,sans-serif}.footer-bottom{display:flex;gap:25px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:23px;font-size:10px;color:var(--muted)}.footer-bottom button{padding:5px 0;font-size:10px}.footer-bottom button:hover{color:var(--orange-deep)}.draft-label{font:10px/1.8 Arial,"Noto Sans CJK JP",sans-serif}
/* Dialogs have native focus trapping and are usable without a mouse. */
body.modal-open{overflow:hidden}dialog{border:0;padding:0;color:var(--ink);background:#fff;overscroll-behavior:contain}dialog::backdrop{background:#14191280;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}.dialog-close{font:300 35px/1 Arial,sans-serif;width:48px;height:48px;display:grid;place-items:center;border:1px solid #bec2b7;border-radius:50%;flex:none;transition:background .2s}.dialog-close:hover{background:var(--paper)}.contact-dialog{margin:0 0 0 auto;max-height:none;max-width:none;height:100dvh;width:min(720px,100%);animation:dialog-in .4s var(--ease)}@keyframes dialog-in{from{transform:translateX(45px);opacity:0}to{transform:translateX(0);opacity:1}}.contact-dialog-top{display:flex;align-items:center;justify-content:space-between;padding:18px 40px;position:sticky;top:0;background:#ffffffed;backdrop-filter:blur(12px);z-index:2;border-bottom:1px solid #e4e6de}.contact-dialog-top>span{font:600 22px Arial,sans-serif;letter-spacing:-1px}.contact-dialog-body{padding:36px 48px 55px}.dialog-kicker{font-size:12px;color:var(--muted);margin-bottom:17px}.contact-dialog h2{font-size:36px;line-height:1.5;letter-spacing:-.03em}.connection-note{padding:14px 17px;font-size:11px;line-height:1.9;background:var(--paper);border-left:2px solid var(--orange);margin:25px 0 28px}.field{margin-bottom:20px;min-width:0}.field label{display:block;font-size:12px;font-weight:600;margin-bottom:9px}.field label>span{font-size:10px;color:var(--muted);font-weight:400;margin-left:8px}.field input,.field textarea,.field select{width:100%;border:1px solid #b7bdb0;border-radius:3px;padding:13px 14px;background:white;color:var(--ink);font-size:14px;line-height:1.65;min-height:49px}.field input::placeholder,.field textarea::placeholder{color:#767d71;font-size:12px}.field textarea{resize:vertical;max-height:360px;min-height:126px}.field-row{display:grid;grid-template-columns:1fr 1.35fr;gap:18px}.field-error{display:block;color:#b12500;font-size:11px;line-height:1.7;margin-top:5px}.field-error:empty{display:none}.field-help{font-size:10px;color:var(--muted);display:block;margin-top:5px}.field [aria-invalid=true]{border-color:#b12500;background:#fff7f2}.consent{display:flex;align-items:flex-start;gap:10px;font-size:11px;line-height:1.9;margin-top:24px}.consent input{margin:3px 0 0;width:17px;height:17px;accent-color:var(--orange-deep);flex:none}.form-primary{margin-top:26px;width:100%;min-height:57px;padding:15px 22px;background:var(--ink);color:white;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px;border-radius:3px;transition:background .2s}.form-primary:hover:not(:disabled){background:var(--orange-deep)}.form-primary span{font:22px Arial,sans-serif}.form-primary:disabled{color:#697061;background:#e7e9e2}.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(100%)}#form-feedback,#copy-feedback{font-size:12px;line-height:1.9;margin-top:14px}.contact-dialog h3{font-size:20px;line-height:1.7}.contact-dialog dl{margin:25px 0}.contact-dialog dl>div{border-top:1px solid var(--line);padding:15px 0}.contact-dialog dt{font-size:11px;color:var(--muted);margin-bottom:8px}.contact-dialog dd{font-size:13px;line-height:2;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.confirm-note{font-size:12px;line-height:1.9;color:var(--orange-deep)}.confirm-actions{display:flex;justify-content:space-between;gap:20px;margin-top:20px}.confirm-actions button{font-size:12px;border-bottom:1px solid #a5aa9c;padding:9px 0}.privacy-dialog{width:min(600px,calc(100% - 30px));max-height:90dvh;padding:42px;margin:auto;border-radius:5px}.privacy-dialog .dialog-close{margin-left:auto;margin-bottom:16px}.privacy-dialog h2{font-size:24px;line-height:1.6;margin-bottom:24px}.privacy-dialog p{font-size:12px;line-height:2.1;margin-top:15px}.menu-dialog{margin:0;max-width:none;max-height:none;width:100%;height:100dvh;padding:22px 25px;background:var(--paper)}.menu-top{display:flex;align-items:center;justify-content:space-between;gap:30px}.menu-top img{width:170px;height:auto;mix-blend-mode:multiply}.menu-dialog nav{margin-top:45px}.menu-dialog nav a{display:flex;justify-content:space-between;align-items:center;font-size:22px;letter-spacing:-.03em;border-bottom:1px solid #cfd3c6;padding:24px 0;gap:15px}.menu-dialog nav a span{font:12px Arial,sans-serif;color:var(--muted)}.menu-contact{display:flex;align-items:center;justify-content:space-between;background:var(--orange);width:100%;font-size:16px;padding:23px;margin-top:35px;border-radius:4px}.menu-contact span{font:30px Arial,sans-serif}.menu-dialog>p{font-size:11px;color:var(--muted);margin-top:28px;line-height:1.9}
@media(min-width:1700px){.hero-copy{top:14%}.hero-copy p{font-size:15px}.hero-display{bottom:126px;width:75%}.hero-art{left:41%;top:16px;height:95%;width:64%}.service-art{height:500px}.media-sheets{transform:translate(-50%,-50%) scale(1.15)}.tech-stack{top:90px;transform:translateX(-50%) rotate(-6deg) scale(1.15)}}
@media(max-width:1100px){.desktop-nav{gap:23px}.header-contact{gap:20px}.brand img{width:180px}.hero{min-height:760px}.hero-copy{top:100px}.hero-copy h1{font-size:47px}.hero-art{left:40%;width:73%;top:66px;height:80%}.hero-display{bottom:129px;width:79%}.hero-services{font-size:10px}.about-content,.business-grid,.approach,.company{gap:50px}.business-grid{grid-template-columns:.86fr 1.3fr}.service-art{height:350px}.media-sheets{transform:translate(-50%,-50%) scale(.85)}.tech-stack{top:28px;transform:translateX(-50%) rotate(-6deg) scale(.85)}.business-head>p{max-width:290px}.contact-circle{margin-right:0}.section-meta{font-size:12px}.en-caption{font-size:11px;margin-left:7px}.service-tab{min-height:115px}.tab-title{font-size:33px}.tab-ja{font-size:10px}.tab-symbol{font-size:25px}}
@media(max-width:820px){.desktop-nav{display:none}.menu-toggle{display:block}.header-contact{padding:13px 15px;gap:24px}.site-header{height:78px}.hero{height:calc(100svh - 78px);min-height:710px}.hero-copy h1{font-size:42px}.hero-copy p{font-size:12px}.hero-art{left:36%;width:79%;height:75%;top:128px}.hero-display{width:83%;bottom:120px}.hero-top{font-size:10px}.hero-edition{font-size:10px}.hero-services{display:none}.about{padding-top:80px;padding-bottom:70px}.about-content{gap:35px;grid-template-columns:1fr 1fr}.about-prose{font-size:12px}.about h2{font-size:31px}.business{padding-top:78px;padding-bottom:80px}.business-grid{gap:35px;grid-template-columns:.9fr 1.15fr}.service-art{height:310px}.media-sheets{transform:translate(-50%,-50%) scale(.71)}.tech-stack{top:3px;transform:translateX(-50%) rotate(-6deg) scale(.72)}.art-caption{left:18px;right:18px;bottom:18px;font-size:9px}.service-description h3{font-size:23px}.service-description>p{font-size:12px}.tab-title{font-size:29px;letter-spacing:-1.4px}.tab-ja{font-size:10px;line-height:1.8}.tab-symbol{right:0;font-size:23px}.service-tab{padding-right:20px}.service-tab.is-active{padding-left:14px}.service-tab.is-active::before{top:38px}.approach{gap:40px;padding-top:80px;padding-bottom:80px}.process-step{grid-template-columns:30px 1fr;gap:14px;padding:28px 0}.process-step h3{font-size:20px}.process-step h3+p{font-size:12px}.company{gap:40px;padding-top:80px;padding-bottom:80px}.company-data dl>div{grid-template-columns:78px 1fr;gap:16px;font-size:12px}.company h2{font-size:40px}.brand-statement{min-height:400px;gap:30px}.statement-ja{font-size:14px;margin-right:0}.contact-circle{width:144px;height:144px}.contact-circle svg{width:65px;height:65px}.footer-bottom{gap:15px}.draft-label{font-size:9px}}
@media(max-width:600px){:root{--gutter:23px}html{scroll-padding-top:78px}.site-header{height:72px;gap:10px;padding-right:14px}.brand img{width:163px}.header-actions{gap:8px}.header-contact{font-size:10px;padding:11px 12px;gap:16px}.small-arrow{font-size:16px}.menu-toggle{width:38px;height:44px;padding:7px}.hero{height:calc(100svh - 72px);min-height:738px;max-height:870px}.hero-top{top:19px;font-size:9px;letter-spacing:.015em}.hero-edition{display:none}.hero-copy{top:72px;right:var(--gutter)}.hero-copy h1{font-size:clamp(31px,9.15vw,48px);line-height:1.47;letter-spacing:-.055em}.hero-copy p{font-size:11px;line-height:2;margin-top:20px;max-width:225px}.round-link{font-size:10px;gap:18px;margin-top:24px;position:relative;z-index:4}.round-arrow{width:37px;height:37px;background:#ffffffa6}.round-arrow svg{width:17px;height:17px}.hero-art{left:7%;top:241px;width:112%;height:440px;z-index:2}.art-coordinate{display:none}.hero-display{left:calc(var(--gutter) - 3px);bottom:111px;width:calc(100% - 33px);z-index:3}.hero-bottom{bottom:22px;padding-top:15px;gap:10px;font-size:9px}.motion-toggle{font-size:9px;padding-left:0}.motion-toggle svg{width:14px;height:14px}.scroll-link{gap:11px}.scroll-line{height:20px}.section-meta{font-size:11px;gap:10px}.section-dot{width:6px;height:6px}.en-caption{font-size:10px;margin-left:9px}.about{padding-top:67px;padding-bottom:56px}.about-content{display:block;margin-top:32px}.about h2{font-size:31px;line-height:1.6;letter-spacing:-.045em}.mobile-break{display:block}.desktop-break{display:none}.about-prose{font-size:12px;line-height:2.25;margin-top:28px;max-width:100%;padding-top:0}.about-prose p+p{margin-top:19px}.concept-line{font-size:25px;gap:13px;margin-top:42px;letter-spacing:-.07em}.concept-line b{font-size:35px;margin-left:0}.concept-line i{min-width:8px}.business{padding-top:64px;padding-bottom:60px}.business-head{display:block}.business-head .section-meta{margin-bottom:31px}.business-head h2{font-size:31px;line-height:1.55;letter-spacing:-.04em}.business-head>p{max-width:100%;margin:23px 0 0;font-size:12px;line-height:2.1}.business-grid{display:block;margin-top:29px}.service-selector{position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.service-tab{min-height:76px;padding:14px 3px 14px 0;border-top:1px solid #c9cec0;border-bottom:1px solid #c9cec0}.service-tab:last-of-type{border-bottom:1px solid #c9cec0}.service-tab.is-active{padding-left:0;border-bottom:2px solid var(--orange-deep)}.service-tab.is-active::before{display:none}.tab-title{font-size:17px;letter-spacing:-.65px;line-height:1.3}.tab-ja{font-size:8px;margin-top:7px;letter-spacing:-.04em;line-height:1.65;max-width:100%}.tab-symbol{display:none}.business-note{grid-column:1/-1;margin:0 0 15px;font-size:9px;line-height:1.7}.service-art{height:334px;border-radius:4px}.media-sheets{transform:translate(-50%,-50%) scale(.83)}.tech-stack{top:11px;transform:translateX(-50%) rotate(-6deg) scale(.84)}.art-caption{font-size:9px;bottom:17px;left:21px;right:21px}.service-description{padding-top:26px}.service-description h3{font-size:25px;line-height:1.65}.service-description>p{font-size:12px;line-height:2.15;margin-top:17px}.service-tags{margin-top:20px;gap:7px}.service-tags li{font-size:9px;padding:6px 8px}.text-link{font-size:11px;margin-top:21px;gap:35px}.approach{display:block;padding-top:64px;padding-bottom:57px}.approach h2{font-size:31px;margin-top:30px;line-height:1.55}.approach-intro>p{font-size:12px;margin-top:22px}.approach-stamp{display:none}.process-list{padding-top:0;margin-top:38px}.process-step{gap:19px;grid-template-columns:28px 1fr;padding:26px 0}.process-index{font-size:15px}.process-en{font-size:10px}.process-step h3{font-size:22px;margin-top:10px}.process-step h3+p{font-size:12px;line-height:2.05;margin-top:13px}.brand-statement{min-height:401px;display:block;padding-top:59px;padding-bottom:40px}.statement-en{font-size:clamp(48px,13.5vw,72px);line-height:1.02;letter-spacing:-.055em;position:relative}.statement-ja{font-size:13px;line-height:1.8;position:relative;margin:32px 0 0 41%}.statement-routes{width:96%;right:-20px}.statement-routes i{width:23%;height:550px}.company{display:block;padding-top:65px;padding-bottom:58px}.company h2{font-size:42px;margin-top:34px}.company-title>p{font-size:16px;line-height:1.8;margin-top:20px}.company-data{padding-top:0;margin-top:32px}.company-data dl>div{padding:19px 0;grid-template-columns:95px 1fr;font-size:12px;gap:19px}.company-data dt{font-size:11px}.company-draft{font-size:9px;line-height:1.9;margin-top:20px}.contact-section{padding-top:48px;padding-bottom:46px}.contact-main{gap:20px;margin-top:31px}.contact-main h2{font-size:31px;line-height:1.6;letter-spacing:-.055em}.contact-circle{width:86px;height:86px;gap:0}.contact-circle svg{width:42px;height:42px;stroke-width:3}.contact-circle span{font-size:9px}.contact-caption{font-size:10px;line-height:2;margin-top:22px;max-width:280px}.site-footer{padding-top:28px;padding-bottom:24px}.footer-top{padding-bottom:24px;gap:20px}.footer-brand img{width:173px}.to-top{font-size:9px;gap:15px}.to-top span{font-size:21px}.footer-bottom{font-size:9px;display:grid;grid-template-columns:1fr auto;gap:14px;padding-top:20px}.draft-label{grid-column:1/-1;grid-row:2;font-size:9px}.footer-bottom button{font-size:9px;justify-self:end}.contact-dialog-top{padding:13px 22px}.contact-dialog-top>span{font-size:20px}.dialog-close{width:42px;height:42px;font-size:30px}.contact-dialog-body{padding:28px 23px 40px}.contact-dialog h2{font-size:32px}.dialog-kicker{font-size:11px;margin-bottom:12px}.connection-note{font-size:10px;line-height:1.9;margin:21px 0 24px;padding:12px}.field-row{display:block}.field{margin-bottom:18px}.field input,.field select,.field textarea{font-size:16px}.field input::placeholder,.field textarea::placeholder{font-size:12px}.form-primary{font-size:12px}.privacy-dialog{padding:27px;max-height:88dvh}.privacy-dialog h2{font-size:22px}.privacy-dialog p{font-size:11px}.contact-dialog h3{font-size:18px}.contact-dialog dd{font-size:12px}.confirm-actions button{font-size:11px}}
@media(max-width:360px){:root{--gutter:19px}.brand img{width:139px}.header-contact{font-size:9px;gap:12px;padding:10px}.hero-copy h1{font-size:32px}.hero-art{left:3%;width:122%;top:242px;height:418px}.hero{min-height:722px}.hero-copy p{font-size:10px}.about h2,.business-head h2,.approach h2{font-size:28px}.tab-title{font-size:14px;letter-spacing:-.5px}.tab-ja{font-size:7px}.service-art{height:301px}.media-sheets{transform:translate(-50%,-50%) scale(.72)}.tech-stack{transform:translateX(-50%) rotate(-6deg) scale(.74)}.contact-main h2{font-size:27px}.contact-circle{width:72px;height:72px}.contact-circle svg{width:34px;height:34px}.footer-brand img{width:148px}.to-top{font-size:8px;gap:12px}.section-meta{gap:8px}.en-caption{margin-left:7px}.concept-line{font-size:23px;gap:10px}.company-data dl>div{grid-template-columns:78px 1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.hero-art canvas{transition:none}.service-art:hover .sheet-front{transform:rotateY(-15deg) rotateZ(11deg)}}
@media print{.site-header{position:static}.hero-art canvas,.hero-display,.motion-toggle,.contact-circle,.header-actions,dialog{display:none}.mark-fallback{opacity:1!important}.hero{min-height:600px}.service-panel[hidden]{display:block!important}.service-selector,.business-note{display:none}.business-grid{display:block}.service-panel{break-inside:avoid;margin-top:40px}.service-art{max-width:450px;height:320px}.site-footer .privacy-trigger{display:none}}

/* Review 3: reading size is not sacrificed to the display typography. */
.hero-copy p{font-size:14px}.about-prose{font-size:15px}.business-head>p{font-size:14px}.service-description>p{font-size:14px}.approach-intro>p{font-size:14px}.process-step h3+p{font-size:14px}.company-data dl>div{font-size:14px}.contact-caption{font-size:13px}.service-tags li{font-size:11px}
@media(max-width:820px) and (min-width:601px){.hero-copy p{font-size:13px}.about-prose,.service-description>p,.process-step h3+p{font-size:13px}.business-head>p{font-size:13px}}
@media(max-width:600px){.hero-copy p{font-size:12px;max-width:260px}.about-prose{font-size:14px;line-height:2.15}.business-head>p{font-size:13px}.service-description>p{font-size:14px;line-height:2.05}.approach-intro>p{font-size:14px}.process-step h3+p{font-size:14px;line-height:2.05}.company-data dl>div{font-size:13px}.contact-caption{font-size:11px}.tab-ja{font-size:9px}.service-tab{min-height:89px}.service-tags li{font-size:10px}}
@media(max-width:360px){.hero-copy p{font-size:11px}.tab-ja{font-size:8px}.about-prose,.service-description>p,.process-step h3+p{font-size:13px}}

/* Supplied-mark revision. The brand mark is reused intact, not rebuilt as rays. */
.hero-edition{display:none}
.hero-art{top:80px;left:auto;right:11%;width:29%;height:auto;aspect-ratio:423 / 380;transform:none}
.hero-art canvas,.mark-fallback{transition:none}
.mark-fallback{object-fit:contain}
.hero-art.is-ready .mark-fallback{opacity:0;visibility:hidden}
.hero-display{left:var(--gutter);width:calc(100% - var(--gutter)*2);max-width:none}
@media(min-width:1700px){.hero-art{top:96px;right:12%;width:28%}}
@media(min-width:821px) and (max-width:1100px){.hero-art{top:112px;right:6%;width:33%}}
@media(min-width:601px) and (max-width:820px){.hero-art{top:244px;right:7%;width:35%}}
@media(max-width:600px){.hero-art{top:320px;left:50%;right:auto;width:min(66%,270px);height:auto;transform:translateX(-50%)}}
@media(max-width:360px){.hero-art{top:318px;width:65%}.brand img{width:130px}.header-contact{white-space:nowrap;padding:10px 9px;gap:8px}}
@media print{.hero-art.is-ready .mark-fallback{opacity:1!important;visibility:visible!important}}
/* Wider phones need extra separation below the taller headline and its CTA. */
@media(min-width:431px) and (max-width:600px){.hero{min-height:830px}.hero-art{top:355px;width:min(60%,260px)}}
/* Fit above the complete wordmark even on a wide, short desktop viewport. */
@media(min-width:1101px){.hero-art{height:min(25.9vw,422px,calc(100% - 240px - (100vw - var(--gutter)*2)*.174447));width:auto}}

/* Business scope update: six owner-supplied areas; original brand artwork unchanged. */
.service-tab{min-height:96px;padding:18px 34px 20px 0}
.tab-title{font-size:clamp(25px,2.35vw,36px);letter-spacing:-1.2px;line-height:1.12}
.tab-ja{font-size:12px;line-height:1.65;margin-top:9px;overflow-wrap:anywhere}
.tab-symbol{top:26px}
.service-tab.is-active::before{top:30px}
.company-services{padding:0;margin:0;list-style:none}
.company-services li+li{margin-top:8px}
.consulting-art{background:#eeeae4}
.consulting-map{position:absolute;width:280px;height:280px;left:50%;top:45%;transform:translate(-50%,-50%)}
.map-axis{position:absolute;inset:139px -20px auto;height:1px;background:#c0b8ad;transform:rotate(-24deg)}
.map-axis.axis-cross{transform:rotate(66deg)}
.map-ring{position:absolute;inset:30px;border:1px solid #c5bcb2;border-radius:50%}
.map-label{position:absolute;font-size:15px;color:#55554e;z-index:1;background:#eeeae4;padding:6px 10px}
.map-purpose{top:4px;left:108px}.map-audience{top:176px;left:-1px}.map-action{top:176px;right:-1px}
.map-core{position:absolute;inset:88px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#1b201c;color:#fff;transform:rotate(-12deg);box-shadow:7px 14px 27px #474b4220}
.map-core span{font-size:11px}.map-core b{font-size:36px;line-height:1.1;color:#ff5d28;font-weight:400}
.school-art{background:#e7e9e1}
.school-book{position:absolute;width:330px;height:240px;left:50%;top:44%;transform:translate(-50%,-50%) rotate(-9deg);perspective:800px}
.book-leaf{position:absolute;inset:0 0 0 46%;background:#fafbf8;transform:rotateY(-16deg);transform-origin:left;box-shadow:10px 14px 27px #161c1b1c;padding:29px 22px;color:#565e50}
.book-leaf span{font:24px/1.1 Arial,sans-serif;letter-spacing:-1px}.book-leaf i{display:block;width:100%;height:1px;background:#c4cabb;margin-top:17px}.book-leaf i:first-of-type{margin-top:33px}.book-leaf i:last-child{width:65%}
.book-cover{position:absolute;left:0;top:-5px;bottom:-5px;width:54%;padding:27px 24px;background:#1b201c;color:#f8f9f5;border-right:1px solid #929787;box-shadow:-8px 10px 22px #171b1920}
.book-cover>span{font-size:26px;font-weight:600;line-height:1.6;letter-spacing:-.03em}.book-cover small{position:absolute;bottom:24px;font:13px Arial,sans-serif;color:#ff7b43}
.digital-art{background:#eeeef0}
.digital-window{position:absolute;left:50%;top:45%;width:74%;max-width:410px;height:260px;transform:translate(-50%,-50%) rotate(-5deg);background:#fff;border:1px solid #bdbeb7;box-shadow:15px 20px 35px #22252712}
.window-bar{height:33px;border-bottom:1px solid #e2e4dd;display:flex;align-items:center;gap:6px;padding:0 15px}.window-bar i{width:5px;height:5px;border-radius:50%;background:#bec2b8}
.digital-type{font:500 clamp(37px,3.9vw,58px)/1.02 Arial,sans-serif;letter-spacing:-2px;padding:27px 27px 0;color:#1b201c}.digital-type span{color:#ff501a}
.digital-line{height:3px;background:#ff501a;position:absolute;left:28px;right:55%;bottom:27px}
@media(min-width:821px) and (max-width:1100px){.business-grid{column-gap:48px}.tab-title{font-size:28px}}
@media(min-width:601px) and (max-width:820px){.service-tab{padding:16px 23px 17px 0;min-height:93px}.tab-title{font-size:25px;letter-spacing:-1px}.tab-ja{font-size:11px}.service-tab.is-active::before{top:28px}.school-book{transform:translate(-50%,-50%) rotate(-9deg) scale(.75)}.consulting-map{transform:translate(-50%,-50%) scale(.78)}.digital-window{height:215px;width:81%}.digital-type{font-size:34px;padding:24px 19px 0}.digital-line{bottom:23px;left:20px}}
@media(max-width:600px){
 .service-selector{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
 .service-tab,.service-tab.is-active{display:flex;flex-direction:column;justify-content:center;gap:7px;min-height:95px;padding:13px 3px 14px 0;border-top:1px solid #c9cec0;border-bottom:0;transition:color .2s}
 .service-tab:last-of-type{border-bottom:0}
 .service-tab.is-active{box-shadow:inset 0 -2px var(--orange-deep)}
 .tab-title{order:2;font-size:12px;font-weight:400;line-height:1.4;letter-spacing:0;color:#686f61}
 .tab-ja{order:1;font-size:13px;font-weight:600;line-height:1.6;margin:0;color:inherit;letter-spacing:0}
 .business-note{margin:13px 0 20px;font-size:10px}
 .service-description h3{overflow-wrap:anywhere}
 .school-book{transform:translate(-50%,-50%) rotate(-9deg) scale(.82)}
 .consulting-map{transform:translate(-50%,-50%) scale(.88)}
 .digital-window{height:231px;width:79%}.digital-type{font-size:39px;padding:25px 24px 0}
 .company-data dl>div{grid-template-columns:88px minmax(0,1fr);gap:15px}
 .company-data dd{overflow-wrap:anywhere}
 .company-services li{line-height:1.85}
}
@media(max-width:360px){.tab-ja{font-size:12px}.tab-title{font-size:11px}.service-selector{gap:0 13px}.school-book{transform:translate(-50%,-50%) rotate(-9deg) scale(.71)}.digital-type{font-size:35px;padding:27px 17px 0}.digital-window{width:82%;height:214px}.digital-line{left:19px;bottom:23px}.company-data dl>div{grid-template-columns:70px minmax(0,1fr);gap:12px}}

/* Review 2: keep Japanese service names intact; short windows must not trap tabs. */
@media(max-width:600px){.tab-ja{word-break:keep-all;overflow-wrap:normal}}
@media(min-width:601px) and (max-height:850px){.service-selector{position:static}}

/* Product-sales addition: reuse the established palette and service layout. */
.retail-art{background:#e9e9de}
.retail-object{display:block;width:100%;height:100%}
@media(max-width:600px){.service-tab[data-service="retail"]{grid-column:1/-1;min-height:80px}.business-head>p{width:100%;justify-self:stretch;text-align:left}}


/* Corporate sales introduction: high contrast and explicit service information. */
:root{--body-text:#30372e;--dark-surface:#171917;--on-dark:#ffffff;--on-dark-secondary:#f1f3ee}
body{background:#fff;color:var(--ink)}
.hero-copy p{font-size:16px;color:#30372e;line-height:1.95}
.round-link{font-size:14px}
.desktop-nav a,.header-contact{font-size:13px}
.section-meta{font-size:14px}.en-caption{font-size:13px}
.about-prose{font-size:17px;line-height:2;max-width:560px;color:var(--body-text)}
.about-prose p+p{margin-top:24px}
.business-head{grid-template-columns:1fr 1.35fr}
.business-head>p{font-size:16px;line-height:1.95;color:var(--body-text);max-width:620px;justify-self:start}
.service-tab,.service-tab.is-active{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-height:100px;gap:0}
.tab-ja{order:0;margin:0;font-size:19px;line-height:1.55;font-weight:600;color:currentColor;letter-spacing:0}
.tab-title{order:1;margin-top:8px;font:400 14px/1.4 Arial,sans-serif;letter-spacing:0;color:var(--muted)}
.service-tab.is-active .tab-title{color:var(--orange-deep)}
.business-note{font-size:12px;color:var(--muted)}
.service-description>p{font-size:16px;line-height:2;max-width:680px;color:var(--body-text)}
.service-description h3{font-size:28px;line-height:1.6;overflow-wrap:anywhere}
.service-tags li{font-size:13px;color:var(--body-text)}
.text-link{font-size:14px;min-height:44px}
.art-caption{font-size:12px;color:var(--ink)}
.partnership-art{--muted:var(--on-dark-secondary);background:#232723;color:var(--on-dark)}
.partnership-art .art-caption{color:var(--on-dark)}
.partnership-art svg text{fill:var(--on-dark)}
.book-cover,.sheet-back,.layer-bottom{color:var(--on-dark)}
.approach-intro>p,.process-step h3+p{font-size:16px;line-height:2;color:var(--body-text)}
.process-en{font-size:13px;color:var(--muted)}
.process-step h3{line-height:1.65}
.company-data dl>div{font-size:16px;grid-template-columns:120px minmax(0,1fr)}
.company-data dt{font-size:14px;color:var(--muted)}
.company-title>p{font-size:18px}
.company-data dd{overflow-wrap:anywhere}
.contact-section{--muted:var(--on-dark-secondary);background:var(--dark-surface);color:var(--on-dark)}
.contact-section .section-meta,.contact-section .en-caption,.contact-caption{color:var(--on-dark)}
.contact-caption{font-size:17px;line-height:2;max-width:1050px}
.contact-main h2{font-size:clamp(42px,5.4vw,78px);letter-spacing:-.025em}
.contact-circle{color:var(--ink)}
.contact-circle span{font-size:14px}
.contact-section button:focus-visible{outline-color:#ffffff}
.footer-bottom,.footer-bottom button,.draft-label{font-size:12px;color:var(--muted)}
.connection-note,.consent,.confirm-note{font-size:13px;line-height:1.9}
.field label{font-size:14px}.field label>span{font-size:12px}.field-hint{font-size:12px}
.field input,.field select,.field textarea{color:#171917;background-color:#fff}
.field input::placeholder,.field textarea::placeholder{color:#535b4e;opacity:1}
.privacy-dialog p{font-size:14px;line-height:2}
@media(min-width:601px) and (max-width:1100px){
 .about-content{grid-template-columns:1fr 1fr;gap:36px}.about-prose{font-size:16px}
 .tab-ja{font-size:17px}.tab-title{font-size:13px}.business-head>p{font-size:15px}
 .service-description h3{font-size:26px}
 .company-data dl>div{grid-template-columns:90px minmax(0,1fr);gap:20px;font-size:15px}
}
@media(max-width:820px){
 .about-content{display:block}.about-prose{margin-top:28px;max-width:none;padding-top:0}
 .about h2{font-size:clamp(28px,4.1vw,36px)}.header-contact{font-size:12px}
}
@media(max-width:600px){
 .hero{min-height:760px}.hero-copy p{font-size:16px;max-width:none;line-height:1.9;margin-top:18px}
 .round-link{font-size:13px;margin-top:22px;gap:19px}.round-arrow{width:44px;height:44px}
 .hero-art{top:350px}.hero-top{font-size:11px}.hero-bottom,.motion-toggle{font-size:11px}
 .section-meta{font-size:13px}.en-caption{font-size:12px;margin-left:7px}
 .about-prose{font-size:16px;line-height:2}.business-head>p{font-size:16px;line-height:1.95}
 .service-tab,.service-tab.is-active{min-height:104px;padding:16px 0;align-items:flex-start}
 .tab-ja{font-size:14px;line-height:1.65;word-break:keep-all;overflow-wrap:normal}
 .tab-title{font-size:12px;margin-top:7px;line-height:1.4}.business-note{font-size:12px}
 .service-description h3{font-size:25px}
 .service-description>p,.approach-intro>p,.process-step h3+p{font-size:16px;line-height:2}
 .service-tags li{font-size:12px}.art-caption{font-size:12px;left:18px;right:18px}.process-en{font-size:12px}
 .company-data dl>div{font-size:15px;grid-template-columns:80px minmax(0,1fr);gap:16px}
 .company-data dt{font-size:13px}.company-data .company-services li{line-height:1.9}
 .contact-main{gap:14px;align-items:center}.contact-main h2{font-size:clamp(23px,6.1vw,34px);letter-spacing:-.04em}
 .contact-circle{width:92px;height:92px}.contact-circle span{font-size:11px}
 .contact-caption{font-size:16px;line-height:2;max-width:none}
 .footer-bottom,.footer-bottom button,.draft-label{font-size:12px}.to-top{font-size:11px}
 .contact-dialog h2{font-size:30px}.connection-note{font-size:13px}.privacy-dialog p{font-size:14px}
 .confirm-actions button{font-size:13px}
}
@media(max-width:360px){
 .hero{min-height:765px}.brand img{width:124px}
 .header-contact{font-size:11px;padding:11px 8px;gap:6px}.header-actions{gap:4px}
 .hero-top{font-size:10px;letter-spacing:0}.hero-art{top:350px}
 .tab-ja{font-size:13px}.tab-title{font-size:12px}
 .company-data dl>div{grid-template-columns:64px minmax(0,1fr);gap:13px}
 .contact-main{display:block}.contact-main h2{font-size:31px}.contact-circle{margin-top:25px}
 .footer-top{gap:12px}.footer-brand img{width:140px}.to-top{font-size:10px;gap:9px}
}
@media(min-width:431px) and (max-width:600px){.hero{min-height:870px}.hero-art{top:393px}}
/* Keep short final lines together where supported; no manual clipping. */
.about-prose p,.business-head>p,.service-description>p,.process-step h3+p,.contact-caption{text-wrap:pretty}

/* Owner-supplied contact address. Preserve the existing high-contrast design. */
.email-inline{text-decoration:underline;text-underline-offset:.22em;overflow-wrap:anywhere}
.contact-email-block{margin-top:30px;border-top:1px solid #767c73;padding-top:24px}
.contact-email{font-family:Arial,sans-serif;font-size:clamp(23px,3.5vw,46px);font-weight:500;line-height:1.4;letter-spacing:-.015em;overflow-wrap:anywhere;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em;color:#fff}
.contact-email:hover{text-decoration-thickness:2px}
.contact-email-block p{margin-top:12px;font-size:16px;line-height:1.8;color:#fff}
.footer-email{font-size:14px;line-height:1.7}
#send-contact{justify-content:center;text-align:center;font-size:16px;line-height:1.7}
@media(max-width:600px){.contact-email-block{margin-top:24px;padding-top:22px}.contact-email-block p{font-size:16px}.footer-bottom{flex-wrap:wrap}.footer-email{font-size:14px}}

/* Responsive layout: content owns its space rather than sharing absolute offsets. */
.hero{height:auto;min-height:0;max-height:none;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:36px 48px;padding:28px var(--gutter) 26px}
.hero-top{position:static;grid-column:1/-1;min-width:0}
.hero-copy{position:static;min-width:0;align-self:center;padding:24px 0 0}
.hero-copy h1{font-size:clamp(34px,4.2vw,76px);line-height:1.45;overflow-wrap:anywhere}
.hero-copy p{max-width:none}
.hero-art{position:relative;inset:auto;width:min(100%,423px);height:auto;aspect-ratio:423/380;transform:none;justify-self:center;align-self:center;margin:0}
.hero-art .mark-fallback{display:block;position:static;width:100%;height:auto;opacity:1;visibility:visible}
.hero-display{position:static;grid-column:1/-1;width:100%;max-width:none;margin:12px 0 0}
.hero-display svg{display:block;width:100%;height:auto}
.hero-bottom{position:static;grid-column:1/-1;flex-wrap:wrap;gap:18px;margin:0;padding-top:20px}
.hero-services{margin-left:auto}
.site-header .brand{min-width:0;flex-shrink:1}
.site-header .brand img{max-width:100%;height:auto}
.header-actions{flex-shrink:0}
.header-contact{white-space:nowrap}
.service-content,.service-panel,.about-content>*{min-width:0}
.service-selector{position:static}
.service-tab{height:auto;padding-right:34px}
.tab-ja{overflow-wrap:anywhere;word-break:normal}
.service-art{height:auto}
.service-art-visual{position:relative;width:100%;height:clamp(280px,30vw,390px);overflow:hidden;isolation:isolate}
.service-art-visual>.network-art,.service-art-visual>.retail-object{display:block;width:100%;height:100%}
.service-art .art-caption{position:static;display:flex;align-items:center;gap:18px;padding:18px 22px;margin:0;min-height:66px;background:inherit}
.art-caption>span:first-child{min-width:0;overflow-wrap:anywhere}
.art-caption>span:last-child{flex-shrink:0;margin-left:auto}
.marketing-art .media-sheets{top:48%;transform:translate(-50%,-50%) scale(.82)}
.school-art .school-book{top:48%;transform:translate(-50%,-50%) rotate(-9deg) scale(.82)}
.technology-art .tech-stack{top:18px;transform:translateX(-50%) rotate(-6deg) scale(.85);transform-origin:top center}
.digital-art .digital-window{top:50%;width:80%;height:240px}
.digital-type{font-size:clamp(32px,3.9vw,58px);overflow-wrap:normal}
.consulting-art .consulting-map{top:50%;transform:translate(-50%,-50%) scale(.9)}
.contact-main h2{min-width:0;overflow-wrap:anywhere}
.contact-circle{flex-shrink:0}
.footer-top,.footer-bottom{gap:24px;flex-wrap:wrap}
.footer-bottom>*{min-width:0}
.contact-dialog h2,.privacy-dialog h2{overflow-wrap:anywhere}
.confirm-actions{flex-wrap:wrap;gap:12px 24px}
@media(max-width:900px){
 .hero{grid-template-columns:minmax(0,1fr);gap:32px;padding-top:24px}
 .hero-copy{padding:0}
 .hero-copy h1{font-size:clamp(31px,5.5vw,48px)}
 .hero-art{width:min(65%,300px);margin:4px auto}
 .hero-display{margin:0}
 .hero-top,.hero-display,.hero-bottom{grid-column:1}
 .business-grid{grid-template-columns:minmax(0,1fr);gap:28px}
 .service-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
 .service-tab.is-active{box-shadow:inset 0 -2px var(--orange-deep)}
 .service-tab.is-active::before{display:none}
 .service-tab.is-active{padding-left:0}
 .service-tab[data-service="retail"],.business-note{grid-column:1/-1}
 .service-tab{border-top:1px solid #c9cec0;border-bottom:0}
 .service-content{width:100%}
 .service-art-visual{height:360px}
}
@media(max-width:600px){
 .site-header{gap:8px;padding-left:14px;padding-right:10px}
 .site-header .brand img{width:150px}
 .header-actions{gap:4px}
 .header-contact{font-size:11px;padding:12px 10px;gap:8px}
 .menu-toggle{width:34px;flex-shrink:0}
 .hero{gap:28px;padding-top:22px;padding-bottom:22px}
 .hero-top{font-size:10px;line-height:1.8}
 .hero-copy h1{font-size:clamp(29px,8.3vw,45px);letter-spacing:-.045em}
 .hero-copy p{margin-top:20px}
 .hero-art{width:min(72%,280px)}
 .hero-bottom{font-size:11px}
 .service-art-visual{height:300px}
 .marketing-art .media-sheets{transform:translate(-50%,-50%) scale(.68)}
 .school-art .school-book{transform:translate(-50%,-50%) rotate(-9deg) scale(.72)}
 .technology-art .tech-stack{transform:translateX(-50%) rotate(-6deg) scale(.72)}
 .consulting-art .consulting-map{transform:translate(-50%,-50%) scale(.82)}
 .digital-art .digital-window{height:230px}
 .digital-type{font-size:36px;padding:24px 20px 0;letter-spacing:-1px}
 .service-art .art-caption{padding:16px 18px;min-height:64px;font-size:12px;line-height:1.8}
 .service-tab .tab-ja{overflow-wrap:anywhere;word-break:normal}
 .business-head{display:block}
 .contact-main{flex-wrap:wrap}
 .footer-bottom{display:flex;align-items:flex-start}
 .footer-bottom .draft-label{width:100%}
 .footer-bottom button{margin-left:0}
}
@media(max-width:360px){
 .site-header .brand img{width:124px}
 .header-contact{font-size:10px;padding:11px 8px;gap:6px}
 .hero-art{width:72%}
 .marketing-art .media-sheets{transform:translate(-50%,-50%) scale(.58)}
 .school-art .school-book{transform:translate(-50%,-50%) rotate(-9deg) scale(.65)}
 .technology-art .tech-stack{transform:translateX(-50%) rotate(-6deg) scale(.63)}
 .digital-type{font-size:31px;padding:26px 16px 0}
 .consulting-art .consulting-map{transform:translate(-50%,-50%) scale(.72)}
}
