:root{--paper:#f5f3ed;--ink:#282b28;--muted:#6b6b63;--line:#d8d7cf;--sand:#eae7df;--dark:#282c29;--accent:#8e806d;--sans:"Inter","Noto Sans JP","Noto Sans CJK JP",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--jp:"Noto Serif JP","Noto Serif CJK JP","Yu Mincho","Hiragino Mincho ProN",serif;--serif:"EB Garamond","Baskerville","Times New Roman",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:400;font-size:14px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a,button{touch-action:manipulation}button{border:0}svg{display:block}a:focus-visible,button:focus-visible{outline:2px solid #645b4e;outline-offset:6px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #756852;outline-offset:3px}p,h1,h2,h3,figure{margin:0}h1,h2,h3{font-weight:400}::selection{background:#d4cbb9;color:#252825}[hidden]{display:none!important}.wrap{width:min(1288px,calc(100% - 128px));margin-inline:auto}.section{padding:100px 0 110px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip{position:fixed;left:20px;top:-100px;z-index:100;background:var(--ink);color:var(--paper);padding:12px 20px}.skip:focus{top:12px}.eyebrow{font-family:var(--sans);font-size:10px;letter-spacing:.17em;font-weight:500;line-height:1.6}.short-line{width:32px;height:1px;background:currentColor;display:inline-block;vertical-align:middle;margin-right:15px}.section-meta{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px;margin-bottom:65px}.section-meta>span{font-size:11px;letter-spacing:.09em;color:var(--muted)}
/* Navigation */
.site-header{height:96px;background:rgba(245,243,237,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30;backdrop-filter:blur(14px)}.header-inner{display:flex;height:95px;align-items:center;gap:45px}.brand{display:inline-flex;align-items:center;gap:13px;flex-shrink:0}.brand-symbol{height:28px;width:28px}.monogram{width:100%;height:100%}.wordmark{font-family:"Inter",Arial,sans-serif;font-size:26px;font-weight:500;letter-spacing:.115em;line-height:1}.desktop-nav{margin-left:auto;display:flex;align-items:center;gap:36px}.desktop-nav a{font-size:12px;letter-spacing:.025em;position:relative}.desktop-nav a:after{content:"";height:1px;width:100%;transform:scaleX(0);transform-origin:left;transition:transform .25s;background:var(--ink);position:absolute;bottom:-7px;left:0}.desktop-nav a:hover:after{transform:scaleX(1)}.header-contact{border:1px solid #b4b6ad;padding:11px 18px;display:flex;align-items:center;gap:33px;font-size:12px;transition:background .25s,color .25s}.header-contact svg{width:14px;height:14px}.header-contact:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.menu-toggle{display:none;background:transparent;width:42px;height:42px;padding:10px}.menu-toggle span{display:block;width:22px;height:1px;background:var(--ink);margin:6px auto;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav{background:var(--paper);padding:22px 25px 32px;border-bottom:1px solid var(--line)}.mobile-nav a{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:16px 0;font-size:24px;font-family:var(--serif)}.mobile-nav small{font-family:var(--sans);font-size:11px;color:var(--muted)}
/* Hero */
.hero{display:grid;grid-template-columns:1.08fr 1fr;column-gap:40px;padding-top:52px;position:relative}.hero-copy{padding-top:53px;padding-bottom:66px;position:relative;z-index:2}.hero-copy>.eyebrow{font-size:9px;letter-spacing:.13em;white-space:nowrap}.hero h1{font-family:var(--jp);font-size:clamp(29px,3.35vw,49px);line-height:1.75;letter-spacing:-.025em;margin-top:34px;white-space:nowrap}.hero h1 span{display:block}.hero-english{font-family:var(--serif);font-size:36px;line-height:1.2;font-style:italic;color:var(--accent);margin-top:11px;letter-spacing:-.025em}.hero-description{margin-top:32px;font-size:12px;line-height:2.25;color:#60645e;letter-spacing:.025em}.circle-link{display:inline-flex;align-items:center;gap:18px;font-size:12px;letter-spacing:.03em}.hero .circle-link{margin-top:34px}.circle-icon{width:49px;height:49px;border:1px solid #a4a69e;display:grid;place-items:center;border-radius:50%;transition:background .25s,color .25s,transform .25s}.circle-icon svg{width:22px;height:22px}.circle-link:hover .circle-icon{background:var(--ink);color:var(--paper);transform:translateX(3px)}.link-en{display:block;font-size:9px;color:var(--muted);letter-spacing:.05em;margin-top:2px}.hero-bottom{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:32px 0 28px;border-bottom:1px solid var(--line);font-size:8px;letter-spacing:.14em;color:#6a6e65}.hero-bottom a{display:flex;gap:21px;align-items:center}.hero-bottom a span{font-size:17px}
/* A self-contained CSS brand still-life; no external photography or font files bundled. */
.brand-scene{position:relative;isolation:isolate;min-width:0;width:100%;height:600px;background:#dfded5;overflow:hidden;perspective:1200px;color:#373c33}.brand-scene:after{content:"";position:absolute;inset:0;z-index:6;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.6' filter='url(%23n)'/%3E%3C/svg%3E")}.scene-top,.scene-bottom{position:absolute;left:29px;right:28px;display:flex;justify-content:space-between;align-items:center;z-index:10;letter-spacing:.14em;font-size:7px;font-weight:500}.scene-top{top:24px}.scene-bottom{bottom:22px}.scene-index{font-family:var(--serif);font-size:24px;line-height:1;letter-spacing:-.1em}.scene-light{position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.38) 0%,rgba(255,255,255,.2) 45%,transparent 46%),linear-gradient(135deg,transparent 54%,rgba(73,78,61,.1) 100%)}.scene-shadow{position:absolute;width:120%;height:135px;top:240px;left:-15%;transform:rotate(-27deg);background:linear-gradient(180deg,rgba(49,47,31,.14),rgba(49,47,31,.01));filter:blur(6px)}.material-base{position:absolute;width:74%;height:43%;left:17%;top:40%;background:linear-gradient(145deg,#dfdacf,#e9e4d8 50%,#d1cbbd);transform:rotate(-14deg) skewX(7deg);box-shadow:0 8px 0 #bdb8aa,2px 23px 24px #6666503b,26px 42px 35px #33372126;border:1px solid #f6f1e6}.base-side{position:absolute;bottom:-9px;height:8px;width:100%;background:linear-gradient(90deg,#c1bcae,#d1cabc)}.base-caption{position:absolute;bottom:19px;right:21px;font-size:6px;letter-spacing:.14em;color:#787569}.paper-sheet{position:absolute;width:55%;height:65%;left:16%;top:11%;padding:26px 22px;color:#4c5047;background:linear-gradient(135deg,#faf8f2,#edeae1);transform:rotate(-13deg) skewY(2deg);box-shadow:0 1px 2px #54594a45,5px 11px 12px #484d3d1c,13px 26px 24px #3d42351a;z-index:2;border:1px solid #fefcf7}.paper-head{font-size:13px;font-weight:500;letter-spacing:.15em;display:flex;justify-content:space-between}.paper-head span{font-size:8px}.paper-rule{height:1px;width:100%;background:#a6a99b;margin-top:20px}.paper-title{margin-top:33px;font-family:var(--serif);font-size:38px;line-height:1.04;letter-spacing:-.035em}.paper-title em{display:block;color:#8d8f7d;margin-top:6px;font-size:33px}.paper-bottom{display:flex;justify-content:space-between;position:absolute;bottom:22px;left:22px;right:22px;font-size:5px;letter-spacing:.14em}.brand-card{position:absolute;width:65%;height:35%;left:27%;top:47%;padding:21px 22px;background:linear-gradient(145deg,#3c443b,#283128);transform:rotate(-13deg) skewY(2deg);box-shadow:0 1px 1px #151a1680,3px 7px 8px #1c271b33,8px 21px 20px #31352536;z-index:4;color:#e8e6d9;border:1px solid #535b4c}.card-top,.card-bottom{display:flex;justify-content:space-between;align-items:center}.card-top>span:first-child{font-size:10px;letter-spacing:.17em}.card-top>span:last-child{font-size:4px;letter-spacing:.1em}.emboss-mark{height:83px;width:83px;position:absolute;left:50%;top:50%;transform:translate(-50%,-44%);color:#a1a48b;filter:drop-shadow(0 1px 0 #d8dccb) drop-shadow(0 -1px 0 #152015)}.card-bottom{position:absolute;bottom:19px;left:22px;right:22px;font-family:var(--serif);font-size:12px;color:#bec2ad}.card-bottom span:last-child{font-family:var(--sans);font-size:14px}.brand-scene:hover .brand-card{transform:rotate(-11deg) skewY(2deg) translateY(-4px);transition:transform .8s cubic-bezier(.2,.7,.2,1)}
/* Editorial narrative */
.about{padding-top:92px}.about .section-meta{border:0;padding:0}.about-grid{display:grid;grid-template-columns:1.04fr 1fr;gap:90px}.about h2,.approach h2{font-family:var(--jp);font-size:clamp(25px,2.5vw,37px);line-height:1.8;letter-spacing:.025em}.serif-note{font-family:var(--serif);font-size:39px;line-height:1.08;color:#9b9483;margin-top:50px;letter-spacing:-.02em}.serif-note em{color:#666c5e}.about-copy{padding-top:5px;max-width:484px;color:#5d625b;font-size:13px;line-height:2.3}.about-copy .lead{font-size:20px;line-height:1.9;color:var(--ink);margin-bottom:27px;letter-spacing:.03em}.about-copy p+p{margin-top:20px}
/* Business */
.business{background:var(--dark);color:#efeee7}.business .section-meta{border-color:#52564e}.business .section-meta>span{color:#c0c3b8}.business-layout{display:grid;grid-template-columns:.78fr 1fr;gap:90px}.business-statement h2{font-family:var(--serif);font-size:clamp(60px,7vw,101px);line-height:.96;letter-spacing:-.035em}.business-statement h2 em{color:#b9b7a4}.business-jp{margin-top:36px;font-family:var(--jp);font-size:19px;letter-spacing:.08em}.business-description{font-size:12px;color:#c1c4b9;line-height:2.4;margin-top:22px}.text-link{display:inline-flex;gap:22px;align-items:center;border-bottom:1px solid #74796e;padding-bottom:12px;font-size:11px;margin-top:45px;color:#eceee6}.text-link svg{width:18px;height:18px}.service-list{border-top:1px solid #52564e}.service{display:grid;grid-template-columns:32px 1fr 20px;gap:16px;padding:27px 0 30px;border-bottom:1px solid #52564e}.service-number{font-family:var(--serif);font-size:18px;color:#b8bcae;line-height:1.25}.service-en{font-size:8px;letter-spacing:.14em;color:#b2b7a8;line-height:1.8}.service h3{font-family:var(--jp);font-size:21px;letter-spacing:.04em;margin:7px 0 12px;line-height:1.7}.service-copy{font-size:11px;line-height:2.15;color:#bfc4b8;max-width:440px}.service-cross svg{width:17px;height:17px;color:#a2ab98;margin-top:4px}
/* Principles */
.approach-head{display:flex;align-items:flex-end;justify-content:space-between;gap:50px}.approach-head>p{font-size:12px;line-height:2.25;color:#60665c;max-width:370px;padding-bottom:8px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:62px}.principles article{padding:0 32px 0 35px;border-left:1px solid var(--line)}.principles article:first-child{padding-left:0;border:0}.principles article:last-child{padding-right:0}.principle-number{display:block;font-family:var(--serif);font-size:46px;line-height:1.2;color:#969382;margin-bottom:30px}.principles .eyebrow{font-size:8px;letter-spacing:.12em;margin-bottom:13px}.principles h3{font-family:var(--jp);font-size:21px;line-height:1.7;margin-bottom:18px}.principles article>p:last-child{font-size:12px;line-height:2.2;color:#62665f}.approach-foot{margin-top:68px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:21px 0;display:flex;justify-content:space-between;gap:24px;align-items:center}.approach-foot>span{font-size:8px;letter-spacing:.12em}.approach-foot p{font-size:11px;color:#565e51}.approach-foot p span{margin:0 20px;color:#9a9e93}
/* Company */
.company{background:var(--sand)}.company .section-meta{border-color:#c8c9bf}.company-grid{display:grid;grid-template-columns:.78fr 1fr;gap:90px}.english-title{font-family:var(--serif);font-size:clamp(65px,6.8vw,96px);line-height:.98;letter-spacing:-.035em}.english-title em{color:#7d8272}.company-message{font-family:var(--jp);font-size:18px;line-height:2;margin-top:30px}.company-sign{width:78px;height:78px;color:#aaa99a;margin-top:46px}.company-table{margin:0;border-top:1px solid #c0c3b7}.company-table>div{display:grid;grid-template-columns:135px 1fr;gap:20px;padding:24px 0;border-bottom:1px solid #c9cbc1}.company-table dt{font-size:11px;color:#5f665a;padding-top:3px}.company-table dd{margin:0;font-size:13px;line-height:2}.company-table dd a:not(.inline-link){border-bottom:1px solid #94998c;padding-bottom:2px}.inline-link{font-size:11px;display:inline-flex;align-items:center;gap:12px}.inline-link svg{width:13px;height:13px;flex-shrink:0}.company-table dd a:hover{color:#566749}
/* Contact */
.contact-grid{display:grid;grid-template-columns:.78fr 1fr;gap:90px}.contact-intro .english-title{font-size:108px;line-height:.87}.contact-intro h3{font-family:var(--jp);font-size:23px;line-height:1.85;margin-top:37px}.contact-intro>p{font-size:12px;color:#62685d;line-height:2.2;margin-top:23px}.contact-mail{display:inline-flex;font-size:12px;gap:22px;align-items:center;border-bottom:1px solid #aaa99c;padding-bottom:8px;margin-top:35px}.contact-mail svg{width:14px;height:14px}.form-panel-top{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.09em;border-bottom:1px solid var(--line);padding-bottom:21px;margin-bottom:26px;color:#5d6357}.form-panel-top>span:last-child{font-size:10px;letter-spacing:.03em}fieldset{padding:0;border:0;margin:0;min-width:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{margin-bottom:23px;min-width:0}.field label{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.03em;margin-bottom:9px}.field label>span{font-size:8px;color:#776b59;background:#e7e2d6;line-height:1.5;padding:2px 5px}.field label>span.optional{color:#6e7566;background:#e9eae4}.field input,.field select,.field textarea{width:100%;border:1px solid #cdcec2;background:#f9f8f3;border-radius:0;padding:12px 13px;font-size:12px;line-height:1.7;transition:border-color .2s,background .2s;min-height:46px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#7f886f;background:#fffef9}.field input::placeholder,.field textarea::placeholder{color:#888c80;font-size:11px}.field textarea{resize:vertical;min-height:155px}.field select{appearance:auto;color:#676e5e}.field-error{font-size:10px;color:#9b3930;line-height:1.75;margin-top:5px}[aria-invalid=true]{border-color:#a34539!important}.consent{display:flex;align-items:center;gap:10px;font-size:10px;line-height:1.8;margin-top:4px}.consent input{width:16px;height:16px;accent-color:#333c2e;flex-shrink:0;margin:0}.consent a{border-bottom:1px solid #a4a995;padding-bottom:2px}.consent-field{margin-bottom:27px}.submit-button{display:flex;width:100%;background:var(--dark);color:#f4f3ec;padding:17px 23px;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:.025em;border:1px solid var(--dark);min-height:59px;transition:background .25s,color .25s}.submit-button svg{width:23px;height:23px}.submit-button:hover{background:#444d3c}.form-note{font-size:10px;line-height:1.8;color:#717668;margin-top:13px}.noscript-note{border:1px solid var(--line);padding:20px;font-size:12px}.noscript-note a{text-decoration:underline}
/* Footer */
.site-footer{background:#252a25;color:#efefe6;padding:53px 0 25px}.footer-main{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:45px}.footer-brand .wordmark{font-size:27px}.footer-tag{font-size:10px;color:#b9c0ae;margin-top:19px;letter-spacing:.05em}.top-link{display:flex;align-items:center;gap:20px;font-size:9px;letter-spacing:.03em}.top-link span{border:1px solid #596450;width:39px;height:39px;border-radius:50%;display:grid;place-items:center}.top-link svg{width:14px;height:14px}.footer-meta{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #4a5342;padding-top:22px;color:#b3bda8;font-size:9px;letter-spacing:.02em}.footer-jp{font-size:10px}.footer-meta a:hover{color:#fff}
/* Confirmation and legal */
.confirm-dialog{width:min(630px,calc(100% - 32px));max-height:calc(100dvh - 48px);padding:0;border:1px solid #babcaf;background:var(--paper);color:var(--ink);box-shadow:0 20px 100px #1b20194d;overscroll-behavior:contain}.confirm-dialog::backdrop{background:#20261fcc;backdrop-filter:blur(3px)}.dialog-inner{padding:30px 34px 28px}.dialog-top{display:flex;justify-content:space-between;align-items:center}.dialog-close{font-size:25px;line-height:1;width:32px;height:32px;background:transparent}.confirm-dialog h2{font-family:var(--jp);font-size:24px;line-height:1.65;margin:22px 0 12px}.dialog-lead{font-size:12px;color:#5f6957;line-height:1.9}.confirm-dialog dl{margin:25px 0}.confirm-dialog dl>div{padding:13px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:110px 1fr;gap:17px;font-size:11px}.confirm-dialog dt{color:#66725b}.confirm-dialog dd{margin:0;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere}.dialog-note{font-size:11px;line-height:1.95;color:#5e6856;margin:0 0 19px}.dialog-secondary{display:flex;justify-content:space-between;margin-top:20px;gap:15px}.plain-button{background:transparent;padding:5px 0;border-bottom:1px solid #9ca68e;font-size:10px}.dialog-fallback{font-size:10px;color:#69755d;text-align:center;margin-top:19px}.dialog-fallback a{text-decoration:underline}.copy-status{font-size:10px;color:#496139;min-height:20px;margin-top:7px}.legal-main{padding-top:75px;padding-bottom:110px}.legal-heading{padding-bottom:58px;border-bottom:1px solid var(--line)}.legal-heading .english-title{margin:25px 0 17px}.legal-heading>p:last-child{font-size:13px}.legal-body{max-width:790px;margin:50px auto 0;font-size:13px;line-height:2.2;color:#535d4c}.legal-body h2{font-family:var(--jp);font-size:20px;margin:35px 0 13px;color:var(--ink)}.legal-body p+p{margin-top:14px}.legal-body a:not(.circle-link){text-decoration:underline;text-underline-offset:4px}.legal-body .circle-link{margin-top:50px}.legal-body section{margin:0}.not-found{padding:90px 0 120px;min-height:72vh}.not-found h1{margin:30px 0}.not-found>.circle-link{margin-top:32px}.preview-privacy .legal-body{margin-top:15px}.preview-privacy h2{font-family:var(--jp);font-size:18px;margin-top:25px}.preview-privacy p{font-size:12px}.preview-privacy a{text-decoration:underline}
@media(min-width:1500px){.hero-copy{padding-top:61px}.brand-scene{height:630px}.hero h1{font-size:49px}.hero-description{font-size:13px}}
@media(max-width:1199px){.wrap{width:calc(100% - 88px)}.hero{column-gap:25px}.hero-copy{padding-top:30px}.brand-scene{height:550px}.hero h1{font-size:3.4vw}.hero-copy>.eyebrow{font-size:8px;letter-spacing:.04em}.hero-description{font-size:11px}.paper-title{font-size:31px}.paper-title em{font-size:27px}.paper-sheet{padding:25px 18px}.card-top>span:last-child{display:none}.brand-card{padding:17px}.card-bottom{left:17px;right:17px}.emboss-mark{width:72px;height:72px}.about-grid,.business-layout,.company-grid,.contact-grid{gap:50px}.about h2{font-size:2.5vw}.company-table>div{grid-template-columns:106px 1fr;gap:15px}.inline-link{font-size:10px;gap:6px}.approach-foot p span{margin:0 11px}.principles article{padding-inline:24px}.principles h3{font-size:18px}.contact-intro .english-title{font-size:93px}}
@media(max-width:959px){.wrap{width:calc(100% - 64px)}.header-inner{gap:25px}.desktop-nav{gap:25px}.wordmark{font-size:24px}.hero-copy>.eyebrow{font-size:7px;letter-spacing:0}.hero{padding-top:35px;gap:21px}.hero-copy{padding-top:22px;padding-bottom:25px}.hero h1{margin-top:31px;line-height:1.8;font-size:3.35vw}.hero-english{font-size:30px}.hero-description{font-size:10px;margin-top:24px}.hero .circle-link{margin-top:29px}.circle-icon{width:43px;height:43px}.hero-bottom{margin-top:0}.brand-scene{height:475px}.scene-top,.scene-bottom{left:17px;right:17px;font-size:5px}.paper-sheet{padding:20px 16px}.paper-title{font-size:27px;margin-top:28px}.paper-title em{font-size:23px}.paper-head{font-size:10px}.paper-bottom{left:16px;right:16px;font-size:4px}.brand-card{height:33%;top:50%}.emboss-mark{width:61px;height:61px}.card-bottom{font-size:10px;bottom:14px}.card-top>span:first-child{font-size:9px}.section{padding:80px 0 90px}.section-meta{margin-bottom:50px}.about-grid{gap:38px}.about h2{font-size:2.55vw}.about-copy{font-size:12px}.about-copy .lead{font-size:17px}.serif-note{font-size:33px}.business-layout,.company-grid,.contact-grid{grid-template-columns:.73fr 1fr;gap:38px}.business-statement h2{font-size:79px}.business-jp{font-size:16px}.business-description{font-size:11px}.service{grid-template-columns:21px 1fr 12px;gap:13px}.service-cross svg{width:12px}.service h3{font-size:19px}.service-copy{font-size:10px}.approach h2{font-size:27px}.approach-head>p{font-size:11px}.principles article{padding:0 19px}.principles h3{font-size:17px}.principles article>p:last-child{font-size:11px}.approach-foot{flex-direction:column;align-items:flex-start;gap:11px}.company-table>div{grid-template-columns:90px 1fr;gap:12px}.company-table dd{font-size:12px}.company-table dt{font-size:10px}.inline-link{display:block;font-size:10px}.inline-link svg{display:inline-block;margin-left:5px;vertical-align:middle}.contact-intro .english-title{font-size:87px}.contact-intro h3{font-size:20px}.contact-intro>p{font-size:11px}.form-grid{grid-template-columns:1fr;gap:0}.field{margin-bottom:21px}.form-panel-top{align-items:flex-start;gap:12px}.form-panel-top>span:last-child{font-size:9px}}
@media(max-width:719px){html{scroll-padding-top:90px}.wrap{width:calc(100% - 44px)}.site-header{height:75px}.header-inner{height:74px;gap:15px}.brand{gap:9px}.brand-symbol{width:23px;height:23px}.wordmark{font-size:23px;letter-spacing:.09em}.desktop-nav{display:none}.header-contact{margin-left:auto;border:0;padding:7px 0;gap:11px;font-size:10px}.header-contact svg{width:12px;height:12px}.menu-toggle{display:block;margin-right:-10px}.hero{display:flex;flex-direction:column;padding-top:0;gap:0}.hero-copy{padding-top:45px;padding-bottom:38px}.hero-copy>.eyebrow{font-size:7px;letter-spacing:.08em}.short-line{width:22px;margin-right:11px}.hero h1{font-size:clamp(24px,6.78vw,46px);line-height:1.85;letter-spacing:-.035em;margin-top:24px}.hero-english{font-size:31px;margin-top:10px}.hero-description{font-size:11px;line-height:2.1;margin-top:24px;letter-spacing:0}.desktop-break{display:none}.hero .circle-link{margin-top:28px}.circle-link{font-size:11px;gap:15px}.link-en{font-size:8px}.circle-icon{width:44px;height:44px}.brand-scene{height:auto;aspect-ratio:1/1.02;max-height:none}.scene-top,.scene-bottom{font-size:6px;left:20px;right:20px}.scene-top{top:19px}.scene-bottom{bottom:17px}.paper-sheet{left:17%;top:10%;height:69%;padding:18px 18px}.paper-head{font-size:11px}.paper-rule{margin-top:13px}.paper-title{font-size:29px;margin-top:22px}.paper-title em{font-size:24px}.paper-bottom{left:18px;right:18px;bottom:19px;font-size:4px}.material-base{top:41%;height:41%;width:74%;left:17%}.base-caption{font-size:4px;bottom:13px}.brand-card{left:27%;top:48%;width:64%;height:33%;padding:15px 17px}.emboss-mark{height:61px;width:61px}.card-top>span:first-child{font-size:8px}.card-bottom{font-size:10px;bottom:13px}.hero-bottom{width:100%;font-size:7px;line-height:1.8;padding:21px 0 24px}.hero-bottom>span{font-size:6px;letter-spacing:.07em}.hero-bottom a{gap:13px}.section{padding:62px 0 70px}.section-meta{padding-top:16px;margin-bottom:36px}.eyebrow{font-size:9px}.section-meta>span{font-size:9px}.about{padding-top:55px}.about-grid{grid-template-columns:1fr;gap:31px}.about h2{font-size:clamp(21px,5.6vw,30px);line-height:1.8}.serif-note{font-size:29px;line-height:1.05;margin-top:25px}.serif-note br{display:none}.serif-note em{display:block}.about-copy{padding:0;font-size:12px;max-width:none;line-height:2.25}.about-copy .lead{font-size:17px;line-height:1.9;margin-bottom:20px}.about-copy p+p{margin-top:18px}.business-layout{display:block}.business-statement h2{font-size:83px;line-height:.88}.business-statement{position:relative;padding-bottom:36px}.business-jp{font-size:16px;margin-top:30px}.business-description{font-size:11px;margin-top:17px}.text-link{font-size:10px;margin-top:23px;gap:20px;padding-bottom:10px}.service{grid-template-columns:28px 1fr 18px;gap:12px;padding:24px 0}.service-number{font-size:19px}.service-en{font-size:7px;letter-spacing:.14em}.service h3{font-size:20px;margin-top:6px;margin-bottom:12px}.service-copy{font-size:11px;line-height:2.1}.service-cross svg{width:13px;height:13px}.approach-head{display:block}.approach h2{font-size:25px;line-height:1.8}.approach-head>p{font-size:12px;margin-top:25px;line-height:2.15;padding:0}.principles{grid-template-columns:1fr;margin-top:36px}.principles article,.principles article:first-child,.principles article:last-child{position:relative;border:0;border-top:1px solid var(--line);padding:24px 0 24px 58px}.principle-number{position:absolute;left:0;top:19px;font-size:35px;margin:0}.principles .eyebrow{font-size:7px;letter-spacing:.12em;margin-bottom:9px}.principles h3{font-size:20px;margin-bottom:12px}.principles article>p:last-child{font-size:11px;line-height:2.2}.approach-foot{margin-top:18px;padding:18px 0;gap:8px}.approach-foot>span{font-size:7px}.approach-foot p{font-size:9px;line-height:2.4;display:flex;align-items:center;flex-wrap:wrap;gap:5px}.approach-foot p span{margin:0 4px}.company-grid{grid-template-columns:1fr;gap:34px}.english-title{font-size:73px;line-height:.96}.company-message{font-size:16px;margin-top:22px}.company-sign{display:none}.company-table>div{padding:20px 0;grid-template-columns:95px 1fr;gap:17px}.company-table dd{font-size:12px}.company-table dt{font-size:10px}.inline-link{font-size:10px;display:inline}.contact-grid{grid-template-columns:1fr;gap:39px}.contact-intro .english-title{font-size:90px;line-height:.87}.contact-intro .english-title br{display:none}.contact-intro h3{font-size:20px;margin-top:28px}.contact-intro>p{font-size:11px;margin-top:19px}.contact-mail{font-size:12px;margin-top:23px}.form-panel-top{padding-bottom:18px;margin-bottom:25px;font-size:8px}.form-panel-top>span:last-child{font-size:9px}.form-grid{grid-template-columns:1fr}.field label{font-size:11px}.field input,.field select,.field textarea{font-size:16px;padding:11px 12px}.field input::placeholder,.field textarea::placeholder{font-size:11px}.field select{font-size:14px;min-height:49px}.field-error{font-size:10px}.field{margin-bottom:23px}.consent{font-size:10px;line-height:2}.submit-button{padding:16px 20px;font-size:11px}.form-note{font-size:9px;line-height:1.9}.site-footer{padding-top:39px;padding-bottom:22px}.footer-main{padding-bottom:32px;gap:20px}.footer-brand .wordmark{font-size:23px}.footer-tag{font-size:8px;letter-spacing:0;margin-top:16px}.top-link{font-size:8px;gap:9px}.top-link span{height:32px;width:32px}.top-link svg{width:11px;height:11px}.footer-meta{font-size:8px;padding-top:20px}.footer-jp{display:none}.dialog-inner{padding:22px 20px}.confirm-dialog h2{font-size:20px;margin-top:18px}.confirm-dialog dl>div{grid-template-columns:83px 1fr;gap:12px;font-size:10px}.dialog-note{font-size:10px}.dialog-lead{font-size:11px}.dialog-fallback{font-size:9px}.confirm-dialog{max-height:calc(100dvh - 28px)}.legal-main{padding-top:50px;padding-bottom:70px}.legal-heading{padding-bottom:34px}.legal-heading .english-title{font-size:61px;margin-top:24px}.legal-body{font-size:12px;margin-top:32px;line-height:2.2}.legal-body h2{font-size:17px;line-height:1.7}.not-found{padding:60px 0 85px}.not-found .english-title{font-size:68px}.not-found>p:not(.eyebrow){font-size:11px}}
@media(max-width:359px){.wrap{width:calc(100% - 36px)}.wordmark{font-size:20px}.brand-symbol{width:21px;height:21px}.header-inner{gap:12px}.header-contact{font-size:9px;gap:7px}.hero h1{font-size:6.65vw}.hero-description{font-size:10px}.hero-bottom>span{display:none}.paper-title{font-size:24px}.paper-title em{font-size:21px}.paper-head{font-size:9px}.paper-rule{margin-top:9px}.paper-title{margin-top:18px}.brand-card{padding:12px}.card-bottom{font-size:8px;left:12px;right:12px;bottom:10px}.emboss-mark{width:48px;height:48px}.card-top>span:first-child{font-size:7px}.scene-top,.scene-bottom{font-size:5px}.paper-bottom{bottom:13px;font-size:3px}.about h2{font-size:5.8vw}.company-table>div{grid-template-columns:82px 1fr;gap:13px}.company-table dt{font-size:9px}.company-table dd{font-size:11px}.footer-main{gap:10px}.footer-tag{font-size:7px}.top-link{font-size:7px;gap:7px}.top-link span{width:29px;height:29px}.footer-brand .wordmark{font-size:21px}.header-contact:hover{background:transparent;color:inherit}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.site-header,.hero-bottom,.menu-toggle,.contact,.site-footer,.brand-scene{display:none!important}.wrap{width:100%}.section{padding:25px 0;break-inside:avoid}.hero{display:block}.hero-copy{padding:20px 0}.business{background:white;color:black}.business p,.service-copy{color:#333}.business-layout,.about-grid,.company-grid{display:block}.service-list{margin-top:20px}.section-meta{margin-bottom:20px}.service{padding:15px 0}.business-statement h2 br{display:none}.business-statement h2{font-size:35px}.principles{margin-top:20px}.hero h1{font-size:32px}.company{background:white}.company-sign{display:none}.text-link{display:none}}
/* Final readability and small-screen artwork refinements. */
@media(min-width:960px){.hero-description{font-size:13px}.about-copy{font-size:14px}.service-copy{font-size:13px;max-width:485px}.business-description{font-size:13px}.principles article>p:last-child{font-size:13px}.approach-head>p{font-size:13px}.company-table dd{font-size:14px}.contact-intro>p{font-size:13px}.field input,.field textarea,.field select{font-size:14px}.field label{font-size:12px}.field input::placeholder,.field textarea::placeholder{font-size:12px}}
@media(max-width:959px){.hero-description{font-size:11px}.about-copy,.service-copy,.principles article>p:last-child,.business-description,.contact-intro>p{font-size:12px}}
@media(max-width:719px){.hero-description{font-size:12px}.about-copy{font-size:13px}.brand-card .emboss-mark{width:49px;height:49px;top:48%}.card-bottom{font-size:9px;line-height:1.2}.approach-head>p{font-size:12px}}
@media(max-width:359px){.hero-description{font-size:11px}.brand-card .emboss-mark{width:42px;height:42px}.card-bottom{font-size:8px}}
