:root{--paper:#f5f2ea;--paper-alt:#ede8db;--ink:#1c2333;--soft:#4a5160;--navy:#1e3a5f;--deep:#122539;--copper:#b97a42;--copper-soft:#d9ae84;--line:#cfc7b4;--white:#fffdf7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:78px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans JP',sans-serif;line-height:1.85;-webkit-font-smoothing:antialiased}a{color:inherit}.wrap{width:min(100% - 48px,1040px);margin-inline:auto}.blueprint{background-image:linear-gradient(rgba(30,58,95,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(30,58,95,.05) 1px,transparent 1px);background-size:34px 34px}.site-header{position:sticky;top:0;z-index:50;background:rgba(245,242,234,.93);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.nav-inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{text-decoration:none;display:flex;align-items:baseline;gap:12px;font-family:'Shippori Mincho',serif;color:var(--deep);font-weight:700}.brand span{letter-spacing:.08em}.brand small{font-family:'Noto Sans JP',sans-serif;font-size:10px;font-weight:500;color:var(--soft)}nav{display:flex;gap:25px}nav a{text-decoration:none;font-size:12px;color:var(--soft);padding:8px 0;border-bottom:1px solid transparent}nav a:hover,nav a:focus-visible{color:var(--navy);border-color:var(--copper)}.menu-button{display:none}.hero{min-height:680px;display:flex;align-items:center;position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.hero-year{position:absolute;right:-55px;top:38px;font:600 clamp(120px,21vw,250px)/1 'JetBrains Mono',monospace;color:var(--navy);opacity:.045}.hero-grid{position:relative;display:grid;grid-template-columns:1.3fr .7fr;gap:90px;align-items:end;padding-block:100px}.eyebrow,.section-head>span,.card-index,.service-grid b,.ai-grid b,.role{font:500 11px/1.4 'JetBrains Mono',monospace;letter-spacing:.08em;color:var(--copper)}.eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 25px}.eyebrow:before{content:"";width:28px;border-top:1px solid}.hero h1{font:700 clamp(38px,5.2vw,62px)/1.35 'Shippori Mincho',serif;color:var(--deep);margin:0 0 28px;letter-spacing:.01em}.hero h1 em{font-style:normal;color:var(--navy)}.lead{font-size:16px;color:var(--soft);max-width:590px;margin:0 0 38px}.actions{display:flex;align-items:center;gap:28px}.button{background:var(--deep);color:var(--white);padding:13px 22px;text-decoration:none;font-size:13px}.text-link{text-decoration:none;font-size:13px;color:var(--navy)}.text-link span{color:var(--copper);margin-left:6px}.hero-card{background:rgba(237,232,219,.84);border:1px solid var(--line);padding:30px}.hero-card h2{font:600 27px 'Shippori Mincho',serif;color:var(--deep);margin:10px 0}.hero-card p{font-size:13px;color:var(--soft)}.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:22px}.tags span{font:10px 'JetBrains Mono',monospace;border:1px solid var(--line);padding:4px 7px;color:var(--navy);background:var(--paper)}.section{padding:94px 0;border-bottom:1px solid var(--line)}.section-head{margin-bottom:46px}.section-head>span{display:block;margin-bottom:13px}.section-head h2{font:700 clamp(27px,3.2vw,36px)/1.4 'Shippori Mincho',serif;color:var(--deep);margin:0 0 14px}.section-head p{max-width:630px;color:var(--soft);font-size:14px;margin:0}.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.info-table{margin:0}.info-table div{display:grid;grid-template-columns:150px 1fr;border-top:1px solid var(--line);padding:17px 0}.info-table div:last-child{border-bottom:1px solid var(--line)}dt{font:500 11px 'JetBrains Mono',monospace;color:var(--copper)}dd{margin:0;font-size:14px}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.service-grid article{background:rgba(245,242,234,.92);padding:34px}.service-grid h3,.ai-grid h3,.works h3,.qualifications h3{font:600 18px/1.5 'Shippori Mincho',serif;color:var(--deep);margin:12px 0 9px}.service-grid p,.ai-grid p{font-size:13.5px;color:var(--soft);margin:0}.ai-section{background:var(--deep);color:var(--white);position:relative}.ai-section:after{content:"AI";position:absolute;right:4%;bottom:-5%;font:600 220px/1 'JetBrains Mono',monospace;color:#fff;opacity:.025}.section-head.light h2,.ai-section .section-head h2{color:var(--white)}.ai-section .section-head p{color:#c7c8c4}.ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;position:relative;z-index:1}.ai-grid article{border-top:1px solid rgba(217,174,132,.55);padding:28px 0 0}.ai-grid h3{color:var(--white)}.ai-grid p{color:#c7c8c4;margin:0 0 12px}.works{border-top:1px solid var(--line)}.works article{display:grid;grid-template-columns:65px 1fr;gap:20px;padding:24px 0;border-bottom:1px solid var(--line)}.works>article>span{font:500 12px 'JetBrains Mono',monospace;color:var(--copper)}.works h3{margin:0 0 5px}.works p{font-size:13.5px;color:var(--soft);margin:0}.profile-section{background:var(--navy);color:var(--white)}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.profile-grid>div>h3{font:700 32px 'Shippori Mincho',serif;margin:8px 0 18px}.profile-grid p{color:#d8d9d6;font-size:14px}.mvp{display:flex;align-items:center;gap:18px;background:var(--deep);padding:18px 20px;margin-top:28px}.mvp strong{font:600 25px 'JetBrains Mono',monospace;color:var(--copper-soft)}.mvp span{font-size:11px;color:#dedbd0}.qualifications h3{color:var(--white);margin-top:0}.qualifications ul{padding:0;margin:0;list-style:none;border-top:1px solid rgba(255,255,255,.16)}.qualifications li{padding:11px 0;border-bottom:1px solid rgba(255,255,255,.16);font-size:12.5px;color:#dedbd0}.client-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.client-list span{padding:15px 16px 15px 0;border-bottom:1px solid var(--line);font-size:12.5px}.client-list span:nth-child(odd){border-right:1px solid var(--line)}.client-list span:nth-child(even){padding-left:24px}footer{background:var(--deep);color:#d8d6cc;padding:44px 0}.footer-inner{display:grid;grid-template-columns:1fr auto auto;align-items:end;gap:50px}.footer-inner div{display:flex;flex-direction:column}.footer-inner strong{font-family:'Shippori Mincho',serif;color:var(--white)}.footer-inner span,.footer-inner p,.footer-inner a{font-size:10px;color:#9fa4a6;margin:4px 0 0}.footer-inner a{text-decoration:none;color:var(--copper-soft)}
@media(max-width:800px){.hero-grid{grid-template-columns:1fr;gap:45px}.hero{min-height:auto}.hero-card{max-width:520px}.split{grid-template-columns:1fr;gap:10px}.profile-grid{gap:45px}.footer-inner{grid-template-columns:1fr}.footer-inner p{margin:0}}
@media(max-width:650px){.wrap{width:min(100% - 32px,1040px)}.nav-inner{height:66px}.brand small{display:none}.menu-button{display:flex;width:42px;height:42px;align-items:center;justify-content:center;flex-direction:column;gap:4px;border:0;background:transparent;color:var(--deep)}.menu-button span{width:20px;border-top:1px solid}.menu-button b{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}nav{display:none;position:absolute;top:66px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:14px 16px 20px;flex-direction:column;gap:0}nav.open{display:flex}nav a{padding:11px 16px}.hero-grid{padding-block:72px}.hero h1{font-size:38px}.hero-year{display:none}.section{padding:70px 0}.service-grid,.ai-grid,.profile-grid,.client-list{grid-template-columns:1fr}.service-grid article{padding:27px 24px}.ai-grid{gap:40px}.client-list span:nth-child(odd){border-right:0}.client-list span:nth-child(even){padding-left:0}.info-table div{grid-template-columns:110px 1fr}.actions{align-items:flex-start;flex-direction:column;gap:18px}.mvp{align-items:flex-start;flex-direction:column;gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.form-field label span{font-size:10px;font-weight:400;color:var(--soft);margin-left:6px}.access-form{max-width:820px}.access-fields{display:flex;flex:1;flex-direction:column;gap:12px}.access-fields .form-field{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:center;gap:16px}.access-fields .form-field-wide{grid-column:auto}@media(max-width:560px){.access-fields .form-field{display:flex;gap:8px}}
.ai-consultation-banner{position:relative;overflow:hidden;background:var(--deep);color:var(--white);border-bottom:1px solid rgba(217,174,132,.35)}.ai-consultation-banner:after{content:"AI";position:absolute;right:3%;top:50%;transform:translateY(-50%);font:600 150px/1 'JetBrains Mono',monospace;color:#fff;opacity:.025;pointer-events:none}.ai-consultation-banner-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:50px;padding-block:44px}.ai-consultation-banner-copy>span{display:block;margin-bottom:10px;font:500 10px/1.4 'JetBrains Mono',monospace;letter-spacing:.1em;color:var(--copper-soft)}.ai-consultation-banner-copy h2{margin:0 0 8px;font:600 clamp(22px,2.7vw,30px)/1.45 'Shippori Mincho',serif}.ai-consultation-banner-copy p{margin:0;color:#c7c8c4;font-size:13px}.ai-consultation-banner-action{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-start;gap:8px}.ai-consultation-banner-button{display:inline-block;background:var(--copper-soft);color:var(--deep);padding:13px 20px;text-decoration:none;font-size:13px;font-weight:600;transition:background-color .2s ease,transform .2s ease}.ai-consultation-banner-button:hover,.ai-consultation-banner-button:focus-visible{background:var(--white);transform:translateY(-1px)}.ai-consultation-banner-button span{margin-left:8px}.ai-consultation-banner-action small{color:#9fa4a6;font-size:10px}@media(max-width:720px){.ai-consultation-banner-inner{align-items:flex-start;flex-direction:column;gap:24px;padding-block:36px}.ai-consultation-banner:after{right:-25px;font-size:120px}}
.consultation-section{background-color:var(--paper-alt)}.consultation-form{display:grid;grid-template-columns:1fr 1fr;gap:24px 30px;background:rgba(255,253,247,.72);border:1px solid var(--line);padding:34px}.consultation-form[hidden]{display:none}.form-field{display:flex;flex-direction:column;gap:8px}.form-field-wide{grid-column:1/-1}.form-field label{font-size:13px;font-weight:600;color:var(--deep)}.form-field label em{font-style:normal;font-size:10px;color:var(--copper);margin-left:6px}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid var(--line);border-radius:0;background:var(--white);color:var(--ink);font:inherit;font-size:14px;padding:12px 14px}.form-field textarea{resize:vertical;min-height:140px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid rgba(185,122,66,.32);border-color:var(--copper)}.form-field input[readonly]{background:var(--paper);color:var(--soft)}.form-field small{align-self:flex-end;font-size:10px;color:var(--soft)}.form-notice{border-left:3px solid var(--copper);background:var(--paper);padding:12px 16px}.form-notice p{font-size:11px;color:var(--soft);margin:0}.form-actions{display:flex;align-items:center;gap:18px}.consultation-submit{border:0;cursor:pointer}.consultation-submit:disabled{opacity:.6;cursor:wait}#consultation-status{font-size:12px;color:var(--soft)}#consultation-status.is-error{color:#9f2f2f}.consultation-result{margin-top:38px;background:var(--deep);color:var(--white);padding:34px}.consultation-result[hidden]{display:none}.consultation-result header>span{font:500 11px 'JetBrains Mono',monospace;letter-spacing:.08em;color:var(--copper-soft)}.consultation-result header h3{font:600 25px 'Shippori Mincho',serif;margin:8px 0 26px}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.16)}.result-grid article{background:var(--deep);padding:22px}.consultation-result h4{font:600 15px 'Shippori Mincho',serif;color:var(--copper-soft);margin:0 0 10px}.consultation-result p,.consultation-result li{font-size:13px;color:#dedbd0}.consultation-result ul,.consultation-result ol{margin:0;padding-left:20px}.inquiry-draft{margin-top:24px;border:1px solid rgba(255,255,255,.16);padding:22px}.inquiry-draft p{white-space:pre-wrap}.inquiry-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.inquiry-draft button,.inquiry-action{display:inline-block;border:1px solid var(--copper-soft);background:transparent;color:var(--copper-soft);padding:8px 13px;cursor:pointer;text-decoration:none;font:inherit;font-size:13px}.inquiry-action{background:var(--copper-soft);color:var(--deep)}.result-disclaimer{font-size:10px!important;color:#9fa4a6!important;margin:18px 0 0}.access-panel{background:rgba(255,253,247,.72);border:1px solid var(--line);padding:30px;margin-bottom:24px}.access-panel[hidden],.access-granted[hidden],#access-request-step[hidden],#access-verify-step[hidden]{display:none}.access-panel h3{font:600 19px 'Shippori Mincho',serif;margin:0 0 8px;color:var(--deep)}.access-panel>div>p{font-size:13px;color:var(--soft);margin:0 0 20px}#access-verify-step{border-top:1px solid var(--line);margin-top:28px;padding-top:26px}.access-form{display:flex;align-items:flex-end;gap:16px;max-width:720px}.access-form .form-field{flex:1}.access-form .button{border:0;white-space:nowrap}.access-form button:disabled{opacity:.6;cursor:wait}.text-button{border:0;background:transparent;color:var(--copper);text-decoration:underline;cursor:pointer;padding:10px}.access-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}#access-status{font-size:12px;color:var(--soft);margin:16px 0 0}#access-status.is-error{color:#9f2f2f}.access-granted{display:flex;justify-content:space-between;gap:15px;align-items:center;border-left:3px solid var(--copper);background:var(--paper);padding:12px 16px;margin-bottom:18px;font-size:12px}.access-granted strong{color:var(--deep)}.access-granted span{color:var(--soft)}@media(max-width:800px){.consultation-form,.result-grid{grid-template-columns:1fr}.form-field-wide{grid-column:auto}.access-form{align-items:stretch;flex-direction:column}.access-form .button{align-self:flex-start}.access-granted{align-items:flex-start;flex-direction:column}}@media(max-width:650px){.consultation-form,.consultation-result,.access-panel{padding:24px 20px}.form-actions{align-items:flex-start;flex-direction:column}}
.privacy-consent{display:flex;align-items:flex-start;gap:9px;font-size:11px;color:var(--soft);line-height:1.65}#access-request-form{display:grid;grid-template-columns:minmax(0,1fr) auto}#access-request-form .access-fields{grid-column:1;grid-row:1}#access-request-form .privacy-consent{grid-column:1/-1;grid-row:2}#access-request-form>.button{grid-column:2;grid-row:1}.privacy-consent input{flex:0 0 auto;width:16px;height:16px;margin-top:2px;accent-color:var(--navy)}.privacy-consent a,.form-notice a{color:var(--navy)}.footer-links{display:flex!important;gap:16px;align-items:flex-end}.privacy-page{padding:82px 0 100px}.privacy-document{max-width:860px}.privacy-document .section-head h1{font:700 clamp(30px,4vw,42px)/1.4 'Shippori Mincho',serif;color:var(--deep);margin:0 0 18px}.privacy-document section{padding:34px 0;border-top:2px solid rgba(30,58,95,.28)}.privacy-document h2{font:600 20px/1.5 'Shippori Mincho',serif;color:var(--deep);margin:0 0 14px}.privacy-document p,.privacy-document li{font-size:13px;color:var(--soft)}.privacy-document ul{padding-left:1.4em}.privacy-details{width:min(100%,620px);margin:0}.privacy-details div{display:grid;grid-template-columns:130px 1fr;padding:11px 0;border-bottom:1px solid rgba(207,199,180,.62)}.privacy-details div:last-child{border-bottom:0}.privacy-company-contact{margin:14px 0 0}.privacy-date{text-align:right;margin-top:28px}.privacy-document a{color:var(--navy)}@media(max-width:800px){.footer-links{align-items:flex-start}.privacy-page{padding:60px 0 75px}}@media(max-width:650px){nav.privacy-nav{display:flex;position:static;background:transparent;border:0;padding:0;flex-direction:row}.privacy-nav a{padding:8px 0}#access-request-form{display:flex}.privacy-consent{max-width:none}}@media(max-width:560px){.privacy-details div{grid-template-columns:1fr;gap:4px}}

.inquiry-draft[hidden]{display:none}.inquiry-contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}.inquiry-draft .form-field label{color:var(--white)}.inquiry-draft .form-field label em{color:var(--copper-soft)}.inquiry-draft #inquiry-body{min-height:120px;overflow-y:hidden}.inquiry-draft .inquiry-action{background:var(--copper-soft);color:var(--deep);padding:12px 24px}.inquiry-draft button:disabled{opacity:.6;cursor:default}#inquiry-status{font-size:13px;color:#dedbd0}#inquiry-status.is-error{color:#ffb6aa}@media(max-width:650px){.inquiry-contact-fields{grid-template-columns:1fr}.inquiry-draft{padding:18px 14px}}
