:root{--ink:#14242d;--navy:#0d202d;--muted:#737a7b;--line:#dce0dd;--paper:#fafaf7;--stone:#f0f0e9;--serif:"Noto Serif JP","Yu Mincho",serif;--sans:"Noto Sans JP",sans-serif;--latin:"Cormorant Garamond",Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.9;-webkit-font-smoothing:antialiased}body.menu-open,body.dialog-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{color:inherit;cursor:pointer}button:disabled{cursor:wait}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #5d7f8e;outline-offset:6px}button{border:0;background:none;padding:0}img{display:block;max-width:100%}svg{display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h2{font-family:var(--serif);font-size:clamp(29px,2.6vw,42px);line-height:1.8;letter-spacing:.1em}.svg-library{width:0;height:0;position:absolute}.skip-link{position:fixed;left:20px;top:-70px;background:var(--navy);color:white;padding:10px 20px;z-index:100}.skip-link:focus{top:10px}.site-header{height:108px;display:flex;align-items:center;padding:0 4.7%;gap:40px;background:rgba(250,250,247,.96);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(20,36,45,.04);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:15px;flex:none}.brand-mark{width:35px;height:49px}.brand-name{font-family:var(--latin);display:block;font-size:31px;letter-spacing:.25em;line-height:1.1}.brand-tag{font-size:7px;letter-spacing:.24em;display:block;margin-top:6px}.desktop-nav{display:flex;align-items:center;gap:30px;margin-left:auto;font-size:11px;letter-spacing:.08em}.desktop-nav a{position:relative;padding:8px 0}.desktop-nav a:after{content:"";position:absolute;bottom:1px;left:0;height:1px;width:0;background:var(--ink);transition:width .25s}.desktop-nav a:hover:after{width:100%}.header-contact{display:flex;align-items:center;justify-content:center;gap:20px;padding:16px 22px;background:var(--navy);color:#fff;font-size:11px;letter-spacing:.06em;transition:background .2s}.header-contact:hover{background:#304956}.header-contact svg{width:24px;height:12px}.menu-toggle{display:none}.mobile-menu[hidden]{display:none}.hero{height:calc(100svh - 108px);min-height:650px;max-height:880px;position:relative;overflow:hidden;background:#f1f1ed}.hero-image{width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(250,250,247,.72) 0,rgba(250,250,247,.2) 43%,transparent 65%)}.hero-content{position:absolute;left:10.2%;top:18%;z-index:1}.eyebrow{font-size:10px;line-height:1.5;letter-spacing:.17em;font-weight:400}.hero-eyebrow{font-size:10px;letter-spacing:.2em;margin-bottom:28px}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(43px,4vw,64px);line-height:1.8;letter-spacing:.14em}.hero-subtitle{font-family:var(--serif);font-size:17px;letter-spacing:.14em;margin-top:18px}.hero-description{font-size:12px;line-height:2.3;letter-spacing:.1em;margin-top:22px}.text-link{display:inline-flex;align-items:center;gap:40px;font-size:12px;letter-spacing:.08em;padding:15px 0;border-bottom:1px solid var(--ink);line-height:1.6;transition:gap .2s}.text-link svg{width:31px;height:16px;transition:transform .2s}.text-link:hover svg{transform:translateX(5px)}.hero-link{margin-top:25px;font-size:11px}.scroll-cue{position:absolute;left:4.7%;bottom:36px;display:flex;gap:15px;align-items:center;font-size:8px;letter-spacing:.18em;writing-mode:vertical-rl}.scroll-line{height:42px;width:1px;background:var(--ink);position:relative;overflow:hidden}.scroll-line:after{content:"";height:20px;width:1px;position:absolute;background:#fff;top:-20px;animation:scroll-down 2.8s ease-in-out infinite}.hero-side{position:absolute;right:3.3%;top:20%;writing-mode:vertical-rl;font-size:8px;letter-spacing:.2em}.image-credit{position:absolute;right:3.3%;bottom:26px;font-size:8px;letter-spacing:.16em;color:#4c5559}.preview-note{min-height:39px;padding:10px 5%;border-bottom:1px solid var(--line);display:flex;justify-content:center;align-items:center;gap:12px;color:#707774;font-size:9px;letter-spacing:.08em;line-height:1.6}.preview-dot{width:4px;height:4px;background:#81917e;border-radius:100%}.note-divider{color:#c4c9c3}.preview-note button{font-size:9px;margin-left:12px;border-bottom:1px solid #b7bcb7}.preview-note button span{padding-left:6px}.section-wrap{padding:105px 10.2%}.section-label{font-size:10px;letter-spacing:.16em;display:flex;align-items:center;gap:19px;margin-bottom:50px}.section-label>span{font-family:var(--latin);font-size:14px;letter-spacing:0;border-right:1px solid #bfc6c1;padding-right:19px;line-height:1}.about{padding-top:106px;padding-bottom:110px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%}.english-title{font-family:var(--latin);font-size:clamp(62px,6.6vw,102px);line-height:.99;letter-spacing:-.02em;margin-bottom:32px}.about h2{font-size:23px;letter-spacing:.14em}.about-copy{padding-top:3px}.large-copy{font-family:var(--serif);font-size:24px;letter-spacing:.1em;line-height:1.9;margin-bottom:29px}.about-copy>p:not(.large-copy){font-size:12px;line-height:2.5;margin-top:18px;letter-spacing:.03em}.about-copy .text-link{margin-top:25px}.business{background:#f0f1eb;padding-top:90px}.business-grid{display:grid;grid-template-columns:.95fr 1.25fr;gap:9%}.section-intro{font-size:12px;line-height:2.4;margin-top:24px;letter-spacing:.05em}.business-photo{margin-top:45px;position:relative;overflow:hidden;aspect-ratio:4/5}.business-photo img{height:100%;width:100%;object-fit:cover;object-position:65% center;transition:transform 1s}.business-photo:hover img{transform:scale(1.025)}.business-photo>span{position:absolute;bottom:20px;left:20px;font-size:8px;letter-spacing:.16em;color:#3e4a4b}.service-list{border-top:1px solid #c7ceca}.service-row{position:relative;width:100%;text-align:left;display:flex;gap:21px;border-bottom:1px solid #c7ceca;padding:32px 0;transition:background .25s}.service-number{font-family:var(--latin);font-size:15px;color:#6e7974;padding-top:2px}.service-content{flex:1}.service-content>.eyebrow{font-size:9px;color:#6d7974}.service-content h3{font-family:var(--serif);font-size:24px;letter-spacing:.07em;margin:8px 0 13px;line-height:1.6}.service-content p{font-size:11px;line-height:2;letter-spacing:.03em}.service-tags{font-size:9px;color:#68756f;display:block;margin-top:17px;letter-spacing:.01em}.round-arrow{width:35px;height:35px;border:1px solid #b8c2bd;border-radius:50%;display:grid;place-items:center;align-self:center;transition:color .2s,background .2s;flex:none}.round-arrow svg{width:14px;height:14px}.service-row:hover .round-arrow{background:var(--navy);border-color:var(--navy);color:white}.draft-footnote{font-size:9px;color:#6d7670;margin-top:28px;line-height:1.8}.approach{background:var(--navy);color:#f4f4ed;position:relative;overflow:hidden}.approach:after{content:"V";font-family:var(--latin);font-size:650px;position:absolute;right:-40px;bottom:-225px;color:rgba(255,255,255,.025);line-height:1;pointer-events:none}.approach .section-wrap{position:relative;z-index:1;padding-bottom:100px}.section-label.light{color:#aebdbf}.section-label.light>span{border-color:#465760}.approach-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.approach-heading p{font-size:12px;color:#c1cccd;line-height:2.3;letter-spacing:.05em;margin-bottom:9px}.principles{display:grid;grid-template-columns:repeat(3,1fr);margin-top:70px;border-top:1px solid #41515a}.principles article{position:relative;padding:35px 28px 0 0}.principles article+article{padding-left:32px;border-left:1px solid #41515a}.principle-number{display:block;font-family:var(--latin);font-size:39px;font-style:italic;line-height:1;color:#b0bab6;margin-bottom:26px}.principles .eyebrow{font-size:9px;color:#9eafaf}.principles h3{font-family:var(--serif);font-size:20px;letter-spacing:.06em;margin:12px 0 18px}.principles p{color:#bdc8c8;font-size:11px;line-height:2.2}.works{padding-top:100px;padding-bottom:106px}.works-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.muted{color:#6c7977;margin-bottom:18px}.works-placeholder{border:1px solid #d5dcd7;background:#f4f5f0;padding:42px;text-align:center}.works-placeholder>.eyebrow{color:#79847e;font-size:9px}.works-placeholder>p{font-family:var(--serif);font-size:24px;margin:17px 0 22px;letter-spacing:.08em}.small-rule{display:block;width:26px;height:1px;background:#9da9a0;margin:0 auto 22px}.works-placeholder>div{font-size:11px;color:#758078;line-height:2.2}.works-placeholder .text-link{font-size:10px;gap:24px;margin-top:20px}.company{display:grid;grid-template-columns:1fr 1fr;background:#eeefe8}.company-photo{min-height:650px;position:relative;overflow:hidden}.company-photo img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:30% center}.company-photo>span{position:absolute;bottom:35px;left:40px;font-family:var(--latin);font-size:18px;letter-spacing:.12em}.company-content{padding:75px 14% 75px 13%}.company-content .section-label{margin-bottom:33px}.company-content h2{font-size:30px}.company-content>p:not(.draft-footnote){font-size:12px;line-height:2.4;margin-top:22px}.company-table{margin:32px 0 0;font-size:11px}.company-table>div{display:grid;grid-template-columns:80px 1fr;gap:12px;border-top:1px solid #cbd1c7;padding:16px 0}.company-table>div:last-child{border-bottom:1px solid #cbd1c7}.company-table dt{color:#758075}.company-table dd{margin:0;line-height:1.8}.serif-latin{font-family:var(--latin);letter-spacing:.18em;font-size:17px}.company-content .draft-footnote{margin-top:14px}.company-content .text-link{margin-top:18px}.contact{display:flex;align-items:center;justify-content:space-between;gap:45px;padding-top:100px;padding-bottom:100px}.contact .section-label{margin-bottom:28px}.contact h2{font-size:31px}.contact p{font-size:12px;line-height:2.3;margin-top:20px}.contact-button{background:var(--navy);color:white;width:330px;max-width:100%;padding:31px 34px;display:flex;align-items:center;justify-content:space-between;text-align:left;transition:background .2s;flex:none}.contact-button:hover{background:#304956}.contact-button>span{font-family:var(--serif);font-size:20px;letter-spacing:.08em}.contact-button .eyebrow{display:block;font-family:var(--sans);font-size:8px;margin-top:9px;color:#bcc7c9}.contact-button svg{width:32px;height:18px}.site-footer{background:var(--navy);color:#fff;padding:49px 6% 26px}.footer-top{display:flex;align-items:center;gap:60px;padding-bottom:39px;border-bottom:1px solid #344650}.footer-top .brand-mark{width:31px;height:42px}.footer-top .brand-name{font-size:28px}.footer-top>p{font-family:var(--serif);font-size:13px;letter-spacing:.13em;color:#c4ccce}.back-top{margin-left:auto;border:1px solid #50616a;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;font-size:18px;transition:background .2s}.back-top:hover{background:#334852}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:25px;font-size:9px;letter-spacing:.03em;color:#b8c4c8}.footer-bottom nav{display:flex;gap:28px}.footer-bottom button{font-size:9px}.footer-bottom small{font-size:8px;letter-spacing:.07em}.footer-bottom small span{margin-left:14px;color:#84969d}.mobile-break{display:none}dialog{width:min(680px,calc(100% - 36px));max-height:calc(100svh - 60px);padding:60px;background:var(--paper);color:var(--ink);border:0;box-shadow:0 25px 100px #0003;overflow:auto}dialog::backdrop{background:#08182299;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:22px;top:13px;font-family:var(--sans);font-size:28px;font-weight:400;line-height:1.4;width:36px;height:36px}.dialog-eyebrow{margin-bottom:22px;color:#6c7d75}.dialog-title{font-size:29px;line-height:1.7;margin-bottom:22px}.dialog-body{font-size:13px;line-height:2.2;color:#485550}.dialog-body p+p{margin-top:17px}.dialog-body ul{padding-left:20px}.dialog-body li{margin:8px 0}.dialog-note{border-left:2px solid #b1bdb2;padding:12px 17px;background:#eeefe9;color:#637066;font-size:11px;line-height:1.9;margin-top:25px}.dialog-action{background:var(--navy);color:white;display:flex;gap:30px;align-items:center;justify-content:center;padding:17px 25px;margin-top:30px;font-size:12px;width:100%}.dialog-action svg{width:25px;height:14px}.dialog-table{font-size:12px;margin:0}.dialog-table>div{display:grid;grid-template-columns:100px 1fr;border-bottom:1px solid #d7ded6;padding:14px 0;gap:15px}.dialog-table dt{color:#67766d}.dialog-table dd{margin:0}.contact-form{margin-top:24px}.form-field{margin-top:18px}.form-field label{display:block;font-size:12px;margin-bottom:7px}.required{font-size:9px;letter-spacing:.05em;color:#68796c;margin-left:10px}.contact-form input,.contact-form select,.contact-form textarea{border:1px solid #c9d1c8;border-radius:0;padding:11px 13px;display:block;width:100%;background:#fff;color:var(--ink);font-size:13px}.contact-form textarea{resize:vertical;min-height:100px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#a4aba5}.form-consent{display:flex;align-items:flex-start;gap:9px;margin-top:22px;font-size:11px;line-height:1.8}.contact-form .form-consent input{width:16px;height:16px;margin:3px 0;flex:none;accent-color:var(--navy)}.form-status{margin-top:15px;background:#e4ebe1;padding:16px;font-size:12px;line-height:2;color:#34503d}.review-detail{padding:12px 0;border-bottom:1px solid #d5ddd2}.review-detail span{display:block;font-size:10px;color:#778277;margin-bottom:4px}.review-detail p{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.form-buttons{display:flex;gap:12px;margin-top:25px}.form-buttons button{flex:1;margin:0}.secondary-action{border:1px solid #c4cfc1;padding:15px;font-size:12px}.sample-card{border:1px solid #d4dbd1;padding:24px;margin-top:25px}.sample-card h3{font-family:var(--serif);font-size:20px;line-height:1.7;margin:10px 0 20px}.sample-card dl{margin:0;font-size:12px}.sample-card dt{color:#6a796b;font-size:10px;margin-top:13px}.sample-card dd{margin:3px 0 0}@keyframes scroll-down{0%{transform:translateY(0)}65%,100%{transform:translateY(75px)}}@media(min-width:1600px){.site-header{padding-left:6%;padding-right:6%}.hero-content{top:19%}.section-wrap{padding-left:max(10.2%,calc((100% - 1360px)/2));padding-right:max(10.2%,calc((100% - 1360px)/2))}}@media(max-width:1100px){.site-header{gap:25px;padding:0 4%;height:92px}.desktop-nav{gap:20px;font-size:10px}.header-contact{padding:14px 15px;gap:12px}.brand-name{font-size:27px}.brand-mark{width:31px}.hero{height:calc(100svh - 92px);min-height:610px}.hero-content{left:8%;top:16%}.hero h1{font-size:47px}.section-wrap{padding-left:8%;padding-right:8%}.business-grid{gap:7%;grid-template-columns:.9fr 1.15fr}.service-row{gap:15px}.service-content h3{font-size:21px}.service-content p{font-size:10px}.service-tags{font-size:8px}.approach-heading p{font-size:11px}.principles article+article{padding-left:20px}.principles h3{font-size:17px}.principles p{font-size:10px}.company-content{padding:65px 11%}.company-content h2{font-size:26px}.company-photo{min-height:620px}.contact h2{font-size:27px}.contact-button{width:280px;padding:28px}.footer-top{gap:40px}}@media(max-width:800px){html{scroll-padding-top:78px}.site-header{height:78px;padding:0 6%;gap:20px}.brand{gap:10px}.brand-mark{height:39px;width:27px}.brand-name{font-size:25px}.brand-tag{font-size:6px;margin-top:4px}.desktop-nav{display:none}.header-contact{margin-left:auto;font-size:10px;padding:12px 14px}.header-contact svg{display:none}.menu-toggle{display:flex;flex-direction:column;gap:6px;width:27px;align-items:center;padding:10px 0}.menu-toggle span{width:24px;height:1px;background:var(--ink);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-menu{display:block;position:fixed;z-index:19;background:var(--paper);top:78px;left:0;right:0;bottom:0;padding:35px 8%;overflow:auto}.mobile-menu a{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:24px 0;font-family:var(--serif);font-size:19px}.mobile-menu a span{font-family:var(--sans);font-size:9px;letter-spacing:.1em;color:#78857d}.hero{height:730px;min-height:0;max-height:none}.hero-image{object-position:60% center}.hero-shade{background:linear-gradient(90deg,rgba(250,250,247,.86),rgba(250,250,247,.55) 45%,rgba(250,250,247,0) 85%)}.hero-content{left:8%;top:105px}.hero h1{font-size:43px;line-height:1.9}.hero-eyebrow{font-size:9px;letter-spacing:.13em;margin-bottom:22px}.hero-subtitle{font-size:14px;margin-top:24px}.hero-description{font-size:11px}.hero-side{display:none}.scroll-cue{left:8%;bottom:24px;font-size:7px}.image-credit{right:6%;font-size:7px}.preview-note{font-size:8px;gap:7px;padding:10px 4%;flex-wrap:wrap}.preview-note button{font-size:8px;margin-left:6px}.section-wrap{padding:75px 8%}.section-label{margin-bottom:37px;font-size:9px;gap:15px}.section-label>span{padding-right:15px}.about-grid{gap:7%}.english-title{font-size:69px}.about h2{font-size:19px}.large-copy{font-size:20px}.about-copy>p:not(.large-copy){font-size:11px}.desktop-break{display:none}.business-grid{grid-template-columns:1fr;gap:40px}.business-intro{position:relative}.business-intro h2,.business-intro>.section-intro{max-width:70%}.business-photo{display:none}.service-row{padding:25px 0}.service-content h3{font-size:23px}.service-content p{font-size:12px}.service-tags{font-size:10px}.service-list{border-top-color:#bec8bf}.service-content>.eyebrow{font-size:9px}.service-number{font-size:17px;margin-right:10px}.round-arrow{width:39px;height:39px}.draft-footnote{font-size:9px}.approach-heading{display:block}.approach-heading p{font-size:12px;margin:25px 0 0}.principles{margin-top:40px}.principles h3{font-size:16px}.principles p{font-size:10px}.principles p br{display:none}.principles article{padding-right:15px}.principles article+article{padding-left:15px}.works-grid{gap:6%}.works h2{font-size:29px}.works-placeholder{padding:28px 20px}.works-placeholder>p{font-size:20px}.works-placeholder .text-link{font-size:9px;gap:15px}.works-placeholder>div{font-size:10px}.company{grid-template-columns:1fr 1.2fr}.company-photo{min-height:600px}.company-photo>span{left:25px;font-size:12px;writing-mode:vertical-rl;bottom:30px}.company-content{padding:55px 12%}.company-content h2{font-size:24px}.company-table>div{grid-template-columns:65px 1fr;gap:7px}.company-table{font-size:10px}.contact{gap:30px}.contact h2{font-size:24px}.contact-button{width:240px;padding:25px}.contact-button>span{font-size:17px}.footer-top{gap:30px}.footer-top>p{font-size:11px}.footer-bottom{flex-direction:column;align-items:flex-start;gap:20px}.footer-bottom nav{gap:20px}.site-footer{padding:40px 8% 25px}}@media(max-width:560px){.site-header{padding:0 6%;height:74px;gap:16px}.brand-name{font-size:24px}.brand-mark{width:26px;height:35px}.brand-tag{font-size:5px;letter-spacing:.2em}.header-contact{font-size:9px;padding:11px 13px}.menu-toggle{width:22px}.menu-toggle span{width:21px}.mobile-menu{top:74px}.hero{height:690px}.hero-content{top:87px;left:7.5%}.hero h1{font-size:36px;letter-spacing:.09em;line-height:1.95}.hero-image{object-position:58% center}.hero-shade{background:linear-gradient(90deg,rgba(250,250,247,.92),rgba(250,250,247,.7) 43%,rgba(250,250,247,.05) 100%)}.hero-eyebrow{font-size:8px;margin-bottom:27px}.hero-subtitle{font-size:13px;letter-spacing:.08em;margin-top:23px}.hero-description{font-size:10px;line-height:2.5;letter-spacing:.06em;margin-top:24px}.hero-link{font-size:10px;margin-top:27px}.hero .text-link{gap:28px}.scroll-cue{bottom:26px;left:8%;font-size:6px}.scroll-line{height:30px}.preview-note{justify-content:flex-start;font-size:7px;gap:6px;padding:10px 7.5%}.preview-note button{margin-left:auto;font-size:7px}.preview-note .preview-dot,.note-divider{display:none}.section-wrap{padding:65px 7.5%}.about-grid{grid-template-columns:1fr;gap:39px}.english-title{font-size:75px;line-height:.98;margin-bottom:25px}.about h2{font-size:21px}.about-copy{padding-left:12%}.large-copy{font-size:21px;line-height:1.95;margin-bottom:24px}.about-copy>p:not(.large-copy){font-size:12px;line-height:2.4;margin-top:20px}.about-copy .text-link{margin-top:20px}.section-label{font-size:9px;margin-bottom:35px}.section-label>span{font-size:13px}h2{font-size:27px;letter-spacing:.08em}.business{padding-top:65px}.business-intro h2,.business-intro>.section-intro{max-width:100%}.section-intro{font-size:11px;margin-top:23px}.business-grid{gap:35px}.service-row{gap:13px;padding:25px 0}.service-number{font-size:15px;margin-right:0}.service-content h3{font-size:22px;margin-top:7px}.service-content p{font-size:10px;line-height:2.1}.service-content>.eyebrow{font-size:8px}.service-tags{font-size:8px;line-height:2;margin-top:13px}.round-arrow{width:30px;height:30px}.round-arrow svg{width:12px;height:12px}.draft-footnote{font-size:8px}.approach .section-wrap{padding-bottom:65px}.approach-heading h2{font-size:27px}.approach-heading p{font-size:11px;line-height:2.2}.principles{display:block;margin-top:36px}.principles article{padding:25px 0 25px 58px;min-height:145px}.principles article+article{border-left:0;border-top:1px solid #41515a;padding:25px 0 25px 58px}.principle-number{position:absolute;left:0;top:25px;font-size:31px;margin:0}.principles .eyebrow{font-size:8px}.principles h3{font-size:19px;margin:8px 0 12px}.principles p{font-size:11px;line-height:2}.principles p br{display:initial}.works-grid{grid-template-columns:1fr;gap:35px}.works h2{font-size:29px}.works .eyebrow{font-size:9px}.works-placeholder{padding:34px 22px}.works-placeholder>p{font-size:22px}.works-placeholder>div{font-size:11px}.works-placeholder .text-link{font-size:11px;gap:25px}.company{display:flex;flex-direction:column}.company-photo{height:260px;min-height:0;order:1}.company-photo img{object-position:center 57%}.company-photo>span{writing-mode:initial;left:7.5%;bottom:24px;font-size:13px}.company-content{padding:60px 7.5%;order:2}.company-content h2{font-size:27px}.company-content>p:not(.draft-footnote){font-size:12px}.company-table{font-size:12px}.company-table>div{grid-template-columns:85px 1fr;padding:16px 0}.company-content .draft-footnote{font-size:9px}.company-content .text-link{margin-top:21px}.contact{display:block;padding-top:65px;padding-bottom:65px}.contact h2{font-size:27px;line-height:1.8}.mobile-break{display:block}.contact p{font-size:11px}.contact-button{margin-top:30px;width:100%;padding:27px 30px}.contact-button>span{font-size:19px}.contact-button .eyebrow{font-size:8px}.site-footer{padding:35px 7.5% 24px}.footer-top{flex-wrap:wrap;gap:24px;padding-bottom:28px;position:relative}.footer-top .brand-name{font-size:27px}.footer-top .brand-mark{width:28px;height:39px}.footer-top>p{width:100%;font-size:11px;letter-spacing:.06em}.back-top{position:absolute;right:0;top:0;width:35px;height:35px}.footer-bottom nav{display:grid;grid-template-columns:1fr 1fr;gap:14px 28px;font-size:10px}.footer-bottom button{text-align:left;font-size:10px}.footer-bottom small{margin-top:5px;font-size:8px}.footer-bottom small span{margin-left:18px}dialog{padding:48px 25px 30px;width:calc(100% - 28px);max-height:calc(100svh - 30px)}.dialog-title{font-size:25px}.dialog-body{font-size:12px}.dialog-eyebrow{font-size:9px;margin-bottom:17px}.dialog-note{font-size:10px;padding:12px}.dialog-table>div{grid-template-columns:80px 1fr;font-size:11px}.sample-card{padding:20px}.sample-card h3{font-size:18px}.form-field label{font-size:11px}.contact-form input,.contact-form select,.contact-form textarea{font-size:16px}.review-detail p{font-size:12px}.form-buttons{gap:8px}.form-buttons button{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Second edition: clear service copy and representative message. */
.hero-content{max-width:83%}.hero-subtitle{max-width:510px}.hero-description{max-width:460px}.about .english-title{font-size:clamp(54px,5.5vw,86px);line-height:1.06}.about-copy>p:not(.large-copy){max-width:450px}.representative{background:#f7f7f3;border-bottom:1px solid var(--line)}.representative-grid{display:grid;grid-template-columns:.9fr 1.1fr;align-items:start;gap:9%}.representative-portrait{margin:0;position:relative}.representative-portrait img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover}.representative-portrait figcaption{display:flex;justify-content:space-between;align-items:center;margin-top:16px;font-size:10px;color:#64736f;letter-spacing:.06em}.representative-portrait figcaption span{font-size:8px;letter-spacing:.14em}.representative-copy>.eyebrow{font-size:9px;color:#73817b;letter-spacing:.13em;margin-bottom:16px}.representative-copy h2{font-size:clamp(25px,2.2vw,34px);line-height:1.8;letter-spacing:.05em;margin-bottom:28px}.representative-copy>p:not(.eyebrow):not(.draft-footnote){font-size:12px;line-height:2.5;margin-top:17px;letter-spacing:.025em}.representative-signature{margin-top:30px;display:flex;flex-direction:column;gap:7px;font-size:11px;color:#65716c}.representative-name{font-family:var(--serif);font-size:19px;letter-spacing:.08em;color:var(--ink)}.representative-copy>.draft-footnote{margin-top:23px;font-size:9px}.company-table>div{grid-template-columns:100px 1fr}.pending-info{color:#69766d;font-size:10px}.company-content .text-link{font-size:11px;gap:25px}.process-list{padding-left:22px}.process-list li{padding:12px 0;border-bottom:1px solid var(--line)}.process-list strong{font-weight:500;color:var(--ink)}.process-list p{font-size:12px;line-height:2;margin-top:7px}.contact p{max-width:500px}.dialog-table>div{grid-template-columns:110px 1fr}
@media(max-width:1100px){.representative-grid{gap:7%;grid-template-columns:.9fr 1.1fr}.representative-copy h2{font-size:25px}.representative-copy>p:not(.eyebrow):not(.draft-footnote){font-size:11px}.company-table>div{grid-template-columns:84px 1fr}.company-content .text-link{font-size:10px;gap:18px}.hero-description{max-width:410px}}
@media(max-width:800px){.representative-grid{grid-template-columns:1fr 1.1fr;gap:6%}.representative-copy h2{font-size:23px}.representative-portrait figcaption{display:block}.representative-portrait figcaption span{display:block;margin-bottom:5px}.representative-copy>p:not(.eyebrow):not(.draft-footnote){font-size:11px;line-height:2.3}.company-table>div{grid-template-columns:78px 1fr}.company-content .text-link{gap:12px;font-size:9px}.company-content .text-link svg{width:24px;flex:none}.hero-subtitle{max-width:390px}.hero-description{max-width:380px}}
@media(max-width:560px){.hero-subtitle{font-size:13px;line-height:2.1;max-width:320px}.hero-description{max-width:320px;line-height:2.3}.about .english-title{font-size:65px}.about .large-copy{font-size:19px}.about-copy{padding-left:7%}.about .text-link{font-size:11px;gap:25px}.representative-grid{grid-template-columns:1fr;gap:35px}.representative-portrait{max-width:340px}.representative-portrait figcaption{display:flex;margin-top:13px;font-size:9px}.representative-portrait figcaption span{font-size:7px;margin:0}.representative-copy h2{font-size:25px;margin-bottom:25px}.representative-copy>.eyebrow{font-size:8px}.representative-copy>p:not(.eyebrow):not(.draft-footnote){font-size:12px;line-height:2.4}.representative-signature{margin-top:25px}.representative-copy>.draft-footnote{font-size:8px}.company-table>div{grid-template-columns:96px 1fr}.company-content .text-link{font-size:11px;gap:25px}.pending-info{font-size:11px}.company-table{font-size:11px}.dialog-table>div{grid-template-columns:86px 1fr}.contact p{font-size:11px;line-height:2.3}}
@media(max-width:360px){.hero h1{font-size:31px}.hero-subtitle{font-size:12px}.about .english-title{font-size:57px}.about .large-copy{font-size:17px}.service-content h3{font-size:20px}.representative-copy h2{font-size:22px}}
.bank-list{list-style:none;padding:0;margin:0;font-size:11px;line-height:2.2}.bank-list li{padding:0;margin:0;overflow-wrap:anywhere}.bank-list a:hover{text-decoration:underline;text-underline-offset:3px}.bank-order{display:block;font-size:9px;color:#738077;margin-top:8px}.representative-signature{gap:5px}.representative-role{font-size:10px;margin-top:9px}.representative-name{font-size:25px;letter-spacing:.17em}.dialog-body .bank-list{padding:0;margin:0;font-size:12px}.dialog-body .bank-list li{margin:0}.company-photo{min-height:740px}@media(max-width:800px){.bank-list{font-size:10px}.company-content{padding-left:10%;padding-right:10%}.company-photo{min-height:780px}}@media(max-width:560px){.bank-list{font-size:11px}.company-content{padding:60px 7.5%}.company-photo{min-height:0;height:260px}.representative-name{font-size:24px}}
.representative-copy>p:not(.eyebrow):not(.draft-footnote){font-size:13px;line-height:2.3}@media(max-width:1100px){.representative-copy>p:not(.eyebrow):not(.draft-footnote){font-size:12px}}@media(max-width:560px){.representative-copy>p:not(.eyebrow):not(.draft-footnote){font-size:13px;line-height:2.2}}

/* Supplied official artwork. The SVG viewport trims only the surrounding whitespace. */
.brand-logo{display:block;width:238px;height:auto;aspect-ratio:1595/416;flex:none;overflow:hidden}
.site-header .brand-logo{mix-blend-mode:multiply}
.footer-top .brand{padding:14px 19px;background:#fff}
.footer-top .brand-logo{width:250px}
@media(max-width:1100px){.site-header .brand-logo{width:216px}.site-header{gap:24px}.desktop-nav{gap:22px}}
@media(max-width:900px) and (min-width:801px){.site-header .brand-logo{width:190px}.desktop-nav{gap:16px}}
@media(max-width:800px){.site-header .brand-logo{width:202px}.footer-top .brand-logo{width:220px}.footer-top .brand{padding:12px 15px}}
@media(max-width:560px){.site-header .brand-logo{width:174px}.footer-top .brand-logo{width:215px}.footer-top .brand{padding:12px 15px}}
@media(max-width:360px){.site-header{gap:12px}.site-header .brand-logo{width:148px}.header-contact{padding:11px 10px}}

@media(max-width:360px){.footer-top .brand-logo{width:180px}.footer-top .brand{padding:10px 12px}}

/* Copy revision: preserve the intended line breaks on compact screens. */
@media(max-width:360px){.hero h1{font-size:28px;letter-spacing:.08em}.representative-copy h2{font-size:23px;letter-spacing:.06em}}

.mission-label{font-size:10px!important;letter-spacing:.2em;margin-bottom:20px!important;color:var(--muted)}

.mission-phrase{display:inline-block;white-space:nowrap}
@media(max-width:560px){.mission-phrase{display:block}}

/* Confirmed company information and a direct phone contact. */
.company-table dd a[href^="tel:"],.dialog-table dd a[href^="tel:"]{text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.contact-phone{display:inline-flex;align-items:baseline;gap:16px;margin-top:23px;font-size:17px;letter-spacing:.06em}
.contact-phone span{font-size:10px;letter-spacing:.04em}
@media(max-width:560px){.contact-phone{flex-direction:column;gap:7px;margin-top:24px;font-size:19px}.hero-description{max-width:330px}.company-table>div{grid-template-columns:82px minmax(0,1fr)}}

/* Handwritten-style representative signature, generated as transparent artwork. */
.representative-autograph{display:block;width:230px;max-width:100%;height:auto;margin-top:1px}
@media(max-width:560px){.representative-autograph{width:214px}}

/* Connect the opening message to everyday life, then introduce the mission. */
.phrase-copy{white-space:normal;word-break:keep-all;line-break:strict;overflow-wrap:anywhere}
.hero{height:auto;min-height:740px;max-height:none;padding:100px 10.2% 120px}
.hero-image{position:absolute;inset:0}
.hero-content{position:relative;left:auto;top:auto;width:100%;max-width:820px}
.hero h1{font-size:clamp(36px,3.8vw,60px);line-height:1.7;letter-spacing:.08em}
.hero-title-line{display:block;word-break:keep-all;overflow-wrap:anywhere}
.hero-story,.hero-description{max-width:520px;font-size:13px;line-height:2.3;letter-spacing:.035em}
.hero-story{margin-top:30px}
.hero-description{margin-top:18px}
.about-grid>*{min-width:0}
.about h2.phrase-copy{max-width:20em;text-wrap:balance;line-height:1.9}
.about-copy.mission-copy>p:not(.mission-label){font-size:14px;line-height:2.5;max-width:460px}
.mission-copy .text-link{margin-top:28px}
@media(max-width:1100px){.hero{padding:90px 8% 115px;min-height:700px}}
@media(max-width:800px){.hero{padding:80px 8% 100px;min-height:700px}.hero h1{font-size:clamp(32px,5vw,40px)}.hero-story,.hero-description{max-width:480px;font-size:12px}.about-copy.mission-copy>p:not(.mission-label){font-size:12px}}
@media(max-width:560px){.hero{padding:64px 7.5% 100px;min-height:690px}.hero h1{font-size:clamp(29px,8vw,36px);line-height:1.7;letter-spacing:.07em}.hero-eyebrow{margin-bottom:23px}.hero-story,.hero-description{max-width:100%;font-size:12px;line-height:2.3;letter-spacing:.025em}.hero-story{margin-top:24px}.hero-description{margin-top:16px}.hero-link{margin-top:24px}.about h2.phrase-copy{max-width:15em;font-size:23px}.about-copy.mission-copy{padding-left:0}.about-copy.mission-copy>p:not(.mission-label){font-size:13px;line-height:2.4}}

/* Contact addresses and dialog section headings. */
.dialog-section-title{font-family:var(--serif);font-size:19px;line-height:1.7;margin:27px 0 12px}.contact-email{display:flex;align-items:center;gap:16px;font-size:16px;margin-top:16px;overflow-wrap:anywhere}.contact-email span{font-family:var(--sans);font-size:10px;color:#61726a}.contact-email:hover{text-decoration:underline;text-underline-offset:4px}.company-table dd a[href^="mailto:"]{overflow-wrap:anywhere}
@media(max-width:560px){.contact-email{flex-direction:column;align-items:flex-start;gap:6px;font-size:17px}.dialog-section-title{font-size:18px}}

/* Direct inquiry channels; no simulated form submission. */
.contact-method{padding:26px 0;border-bottom:1px solid var(--line)}.contact-method h3{font-family:var(--serif);font-size:20px;margin:10px 0 15px}.contact-method .contact-address{display:inline-block;font-size:24px;letter-spacing:.03em;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:6px}.contact-method>p{margin:16px 0}.contact-method .dialog-action{margin-top:8px;width:100%;justify-content:space-between}.contact-method small{display:block;font-size:11px;line-height:1.9;color:#63716a;margin-top:16px}.contact-method-phone{padding-top:26px}.contact-privacy{font-size:11px;line-height:1.9;margin-top:22px!important;color:#63716a}
@media(max-width:560px){.contact-method .contact-address{font-size:21px}.contact-method h3{font-size:18px}.contact-method small{font-size:10px}}

.dialog-title{word-break:keep-all;line-break:strict;overflow-wrap:anywhere}
