@charset "UTF-8";
:root{--blue:#2453ed;--blue-deep:#1642d6;--ink:#11214a;--muted:#59647c;--paper:#f5f7fb;--line:#dce2ed;--white:#fff;--font:"Inter","Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;--gutter:clamp(24px,5.5vw,100px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.85;-webkit-font-smoothing:antialiased;background:#fff}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button{cursor:pointer}img{display:block;max-width:100%}p,h1,h2,h3{margin:0}button{border:0}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}svg.brand-mark{stroke:none}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #5077ff;outline-offset:5px}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.skip-link{position:fixed;top:10px;left:10px;padding:12px 20px;background:#fff;z-index:200;transform:translateY(-160%)}.skip-link:focus{transform:none}.mobile-only{display:none}[hidden]{display:none!important}
.site-header{height:98px;position:relative;z-index:30;background:#fff;display:flex;align-items:center;gap:26px;padding:0 var(--gutter);border-bottom:1px solid #edf0f5}.brand{display:inline-flex;align-items:center;gap:10px;white-space:nowrap}.brand-mark{color:var(--blue);width:37px;height:37px}.brand-wordmark{font-size:23px;line-height:1;letter-spacing:-1px;font-weight:800}.brand-wordmark>span{display:block;font-size:12px;letter-spacing:1.35px;font-weight:600;margin-top:9px}.desktop-nav{margin-left:auto;display:flex;align-items:center;gap:26px}.desktop-nav>a{font-size:13px;font-weight:600;transition:color .2s;position:relative}.desktop-nav>a::after{content:"";position:absolute;bottom:-8px;left:0;width:100%;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .2s}.desktop-nav>a:hover{color:var(--blue)}.desktop-nav>a:hover::after{transform:scaleX(1)}.header-contact{font-size:14px;font-weight:600;color:#fff;background:var(--blue);padding:13px 21px;border-radius:3px;display:flex;align-items:center;gap:22px;white-space:nowrap;transition:background .2s}.header-contact:hover{background:var(--blue-deep)}.header-contact svg{width:19px;height:19px}.menu-toggle{display:none}.mobile-nav{display:none}
.hero{position:relative;min-height:730px;padding:79px var(--gutter) 98px;background:var(--paper);overflow:hidden}.hero-content{position:relative;width:58%;z-index:2;pointer-events:none}.hero-content a{pointer-events:auto}.eyebrow{font-size:12px;letter-spacing:2.2px;font-weight:650;display:flex;align-items:center;gap:12px;line-height:1.6}.tiny-line{width:25px;height:2px;background:var(--blue);display:inline-block}.hero h1{font-size:clamp(48px,5.7vw,88px);letter-spacing:-.05em;font-weight:750;line-height:1.32;margin:28px 0 25px;white-space:nowrap}.hero h1>span{color:var(--blue)}.hero-description{font-size:19px;line-height:1.9;font-weight:650;letter-spacing:.04em}.hero-detail{color:var(--muted);font-size:14px;line-height:2;margin-top:18px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:60px;padding:10px 12px 10px 25px;border-radius:3px;font-size:14px;font-weight:650;line-height:1.5;transition:background .2s,transform .2s}.button-blue{background:var(--blue);color:#fff}.button-blue:hover{background:var(--blue-deep);transform:translateY(-2px)}.button-icon{width:39px;height:39px;border-radius:2px;display:flex;align-items:center;justify-content:center;background:#ffffff1c}.button-icon>svg{width:21px;height:21px;transition:transform .2s}.button:hover .button-icon>svg{transform:translate(2px,-2px)}.hero-button{margin-top:29px;min-width:310px}.hero-art{position:absolute;right:-3%;top:3%;width:62%;height:91%;pointer-events:none}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:center;mix-blend-mode:multiply}.art-caption{position:absolute;right:14%;bottom:10%;color:#63718e;font-size:12px;line-height:1.7;letter-spacing:1.5px;font-weight:650}.hero-bottom{position:absolute;bottom:30px;left:var(--gutter);right:var(--gutter);display:flex;align-items:center;justify-content:space-between;z-index:3}.scroll-link{display:flex;align-items:center;gap:13px;font-size:12px;font-weight:650;letter-spacing:1.8px}.scroll-icon{width:28px;height:36px;border:1px solid #a2acc1;border-radius:20px;display:inline-flex;align-items:center;justify-content:center;font-size:16px;transition:transform .2s}.scroll-link:hover .scroll-icon{transform:translateY(3px)}.hero-bottom>span{font-size:12px;line-height:1.65;letter-spacing:1.7px;font-weight:650;text-align:right}.expertise-strip{padding:25px var(--gutter);display:flex;gap:24px;justify-content:space-between;align-items:center;background:var(--blue);color:#fff;font-size:clamp(15px,1.8vw,28px);font-weight:600;letter-spacing:.04em}.strip-plus{font-weight:300;font-size:26px;opacity:.5}
.section{padding:115px var(--gutter)}.section-label{display:flex;gap:22px;align-items:center;font-size:12px;font-weight:650;letter-spacing:1.6px;line-height:1.7}.section-number{color:var(--blue);font-size:12px;letter-spacing:0;border:1px solid #bccaf6;padding:2px 7px;border-radius:2px}.about-section{display:grid;grid-template-columns:27% 1fr;position:relative;overflow:hidden;padding-top:133px;padding-bottom:139px}.about-section>.section-label{align-self:start;margin-top:5px}.about-content{position:relative;z-index:1}.japanese-kicker{font-size:14px;letter-spacing:.12em;color:var(--blue);font-weight:650;margin-bottom:26px}h2{font-size:clamp(28px,2.8vw,44px);line-height:1.65;font-weight:650;letter-spacing:.015em}.about-content h2{font-size:clamp(28px,3vw,45px);line-height:1.7}.about-copy{margin-top:36px;display:grid;gap:18px;font-size:16px;line-height:2.1;color:var(--muted)}.text-link{margin-top:29px;display:inline-flex;align-items:center;gap:35px;font-size:14px;font-weight:650;padding-bottom:9px;border-bottom:1px solid var(--ink)}.text-link svg{width:22px;height:22px;transition:transform .2s}.text-link:hover svg{transform:translateX(5px)}.text-link:hover{color:var(--blue);border-color:var(--blue)}.about-decoration{position:absolute;left:var(--gutter);bottom:0;font-size:125px;letter-spacing:-9px;font-weight:800;line-height:.88;color:#f3f5f9;transform:translateY(9px);user-select:none}.services-section{background:var(--paper);padding-top:101px;padding-bottom:110px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:50px}.section-heading h2{margin-top:25px}.section-heading>p{font-size:15px;line-height:2;color:var(--muted);padding-bottom:8px}.service-list{border-top:1px solid var(--line)}.service-item{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}.service-item>summary{display:grid;grid-template-columns:40px 80px 1.35fr 1fr 48px;align-items:center;gap:22px;padding:34px 0;transition:color .2s}.service-item>summary:hover{color:var(--blue)}.service-index{font-size:12px;color:var(--muted);align-self:start;margin-top:8px}.service-icon{height:70px;width:70px;border:1px solid #ccd6ed;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--blue)}.service-icon>svg{width:33px;height:33px;stroke-width:1.35}.service-name{display:flex;flex-direction:column;gap:6px}.service-name>span{font-size:clamp(25px,2.7vw,39px);line-height:1.2;letter-spacing:-1.2px;font-weight:500}.service-name>strong{font-size:14px;font-weight:500;letter-spacing:.04em}.service-line{font-size:16px;line-height:1.9;font-weight:550}.service-toggle{width:45px;height:45px;border:1px solid #c7d0e2;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}.service-toggle>svg{width:19px;height:19px;transition:transform .2s}.service-item[open] .service-toggle{background:var(--blue);color:#fff;border-color:var(--blue)}.service-item[open] .service-toggle>svg{transform:rotate(45deg)}.service-body{padding:0 70px 36px 164px;display:grid;grid-template-columns:1.35fr 1fr;column-gap:48px}.service-body>p{font-size:15px;line-height:2;color:var(--muted)}.service-tags{display:flex;flex-wrap:wrap;gap:7px;align-content:start}.service-tags>span{font-size:12px;padding:5px 10px;background:#fff;color:#4d5e80;border:1px solid #e2e8f2;border-radius:2px;line-height:1.6}.service-contact{font-size:13px;justify-self:start;grid-column:1/-1;margin-top:22px}
.approach-section{background:#173fbc;color:#fff;padding:101px var(--gutter) 93px;position:relative;overflow:hidden}.approach-top{display:grid;grid-template-columns:27% 1fr;position:relative}.approach-top>.section-label{align-self:start;margin-top:11px}.approach-section .section-number{color:#fff;border-color:#ffffff50}.approach-top h2{font-size:clamp(30px,3.8vw,57px);line-height:1.55;font-weight:550}.approach-top p{font-size:16px;color:#cfdafa;line-height:2;margin-top:22px}.approach-symbol{position:absolute;right:0;bottom:-46px;font-size:260px;font-weight:500;line-height:1;color:#ffffff08;font-family:Georgia,serif}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:66px}.approach-grid>article{border-top:1px solid #ffffff4a;padding-top:26px}.approach-number{font-size:12px;letter-spacing:1.7px;color:#bdcffd}.approach-grid h3{font-size:23px;line-height:1.8;font-weight:550;margin-top:20px}.approach-grid p{color:#d6e0fc;font-size:14px;line-height:2;margin-top:16px;max-width:360px}.process-section{display:grid;grid-template-columns:1fr 1.07fr;gap:75px;padding-top:121px;padding-bottom:120px}.process-intro h2{margin-top:25px;font-size:clamp(28px,2.8vw,42px)}.process-intro>p{color:var(--muted);font-size:15px;line-height:2;margin-top:25px}.process-list{list-style:none;padding:0;margin:0}.process-list li{display:flex;gap:30px;padding:0 0 31px;margin-bottom:31px;border-bottom:1px solid var(--line)}.process-list li:last-child{margin-bottom:0}.process-list li>span{font-size:15px;color:var(--blue);width:43px;height:43px;display:flex;align-items:center;justify-content:center;border:1px solid #c8d3f6;border-radius:50%;flex-shrink:0;margin-top:4px}.process-english{font-size:12px;letter-spacing:1.8px;color:var(--blue);line-height:1.4}.process-list h3{font-size:21px;font-weight:600;margin-top:5px}.process-list li>div>p:last-child{font-size:14px;line-height:1.95;color:var(--muted);margin-top:10px}.faq-section{padding-top:88px;padding-bottom:101px;background:var(--paper);display:grid;grid-template-columns:1fr 1.65fr;gap:60px}.faq-heading h2{font-size:30px;margin-top:24px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;gap:18px;padding:25px 0;font-size:15px;font-weight:550;line-height:1.8}.question-mark{font-size:20px;color:var(--blue);font-weight:500;align-self:start}.faq-list summary>svg{margin-left:auto;width:19px;height:19px;transition:transform .2s}.faq-list details[open] summary>svg{transform:rotate(45deg)}.faq-list details>p{padding:0 39px 26px;font-size:14px;line-height:2;color:var(--muted)}
.contact-section{padding:108px var(--gutter) 105px;display:grid;grid-template-columns:1fr 1.35fr;gap:75px;position:relative;overflow:hidden}.contact-heading h2{font-size:clamp(32px,3.4vw,49px);line-height:1.65;margin-top:28px}.contact-heading>p{font-size:15px;line-height:2;margin-top:22px;color:var(--muted)}.contact-large-word{display:block;font-size:clamp(80px,10vw,160px);line-height:.98;font-weight:500;letter-spacing:-.075em;color:var(--blue);margin-top:65px}.form-intro{display:flex;justify-content:space-between;align-items:center;font-size:19px;font-weight:600;margin-bottom:16px;gap:12px}.form-intro>span{font-size:12px;color:var(--muted);font-weight:400;white-space:nowrap}.preview-notice{font-size:12px;line-height:1.8;color:var(--muted);padding:11px 14px;background:var(--paper);border-left:2px solid #a8bbee;margin-bottom:23px}.form-field{display:flex;flex-direction:column;gap:9px;margin-bottom:22px}.form-field label,legend{font-size:14px;font-weight:600;line-height:1.7}.optional{font-size:12px;font-weight:400;color:#75809a;margin-left:12px}.required-star{color:var(--blue);font-size:15px;margin-left:7px}.form-row{display:grid;grid-template-columns:1fr 1.2fr;gap:18px}input,textarea{min-width:0;max-width:100%;background:#f7f8fb;border:1px solid #e0e5ef;border-radius:3px;padding:12px 14px;color:var(--ink);font-size:16px;line-height:1.7;transition:border-color .2s,background .2s}input:hover,textarea:hover{border-color:#acbce6}input:focus,textarea:focus{background:white;border-color:var(--blue)}input::placeholder,textarea::placeholder{color:#8a94a8;font-size:14px}textarea{resize:vertical;min-height:145px}input[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:#be364c}.field-error{font-size:12px;color:#a3263b;line-height:1.6}.field-error:empty{display:none}.interest-fieldset{margin:0 0 23px;padding:0;border:0}.interest-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px}.interest-options label{cursor:pointer;position:relative}.interest-options input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.interest-options label>span{font-size:13px;font-weight:500;display:block;background:white;border:1px solid #d9e0ed;border-radius:3px;padding:8px 12px;transition:all .2s}.interest-options label>span::before{content:"+";font-size:15px;margin-right:7px;color:#72809f}.interest-options input:checked+span{background:#edf2ff;border-color:var(--blue);color:var(--blue)}.interest-options input:checked+span::before{content:"✓";color:var(--blue)}.interest-options input:focus-visible+span{outline:3px solid #5077ff;outline-offset:3px}.interest-fieldset>.field-error{display:block;margin-top:8px}.button-dark{color:#fff;background:var(--ink);width:100%;min-height:61px}.button-dark:hover{background:var(--blue)}.form-footnote{font-size:12px;color:var(--muted);text-align:center;margin-top:14px;line-height:1.8}.site-footer{padding:45px var(--gutter) 24px;background:#0e1c3b;color:#fff}.footer-main{display:flex;align-items:center;gap:55px;border-bottom:1px solid #ffffff25;padding-bottom:35px}.footer-brand .brand-mark{color:#85a0ff}.footer-brand .brand-wordmark>span{font-size:12px;letter-spacing:2px;font-weight:400;color:#adbad4}.footer-main>p{font-size:14px;letter-spacing:.08em;color:#b1bfd9}.back-top{margin-left:auto;width:47px;height:47px;border:1px solid #ffffff40;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.back-top svg{transform:rotate(-45deg);width:20px;height:20px}.back-top:hover{background:var(--blue)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;color:#a6b4d0;font-size:12px;margin-top:25px}.footer-bottom small{font-size:12px;white-space:nowrap;letter-spacing:.03em}.mobile-contact{display:none}
.inquiry-dialog{border:0;border-radius:6px;padding:30px 35px 23px;max-width:620px;width:calc(100% - 36px);max-height:90dvh;color:var(--ink);box-shadow:0 25px 100px #10204735}.inquiry-dialog::backdrop{background:#101d40a8;backdrop-filter:blur(6px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:20px}.dialog-header .eyebrow{font-size:12px}.dialog-close{width:40px;height:40px;background:var(--paper);color:var(--ink);font-size:26px;line-height:1}.inquiry-dialog h2{font-size:27px;margin-top:10px}.dialog-notice{font-size:14px;line-height:1.9;color:var(--muted);margin-top:12px}.inquiry-dialog dl{margin-top:23px}.inquiry-dialog dt{font-size:12px;color:var(--muted);padding-top:13px}.inquiry-dialog dd{font-size:15px;white-space:pre-wrap;overflow-wrap:anywhere;border-bottom:1px solid var(--line);margin:0;padding:4px 0 13px}.dialog-actions{display:flex;gap:12px;margin-top:24px}.dialog-actions .button{min-height:48px;padding:12px 17px;font-size:13px}.dialog-actions svg{width:17px;height:17px}.button-outline{border:1px solid var(--line);background:#fff;color:var(--ink)}.button-outline:hover{background:var(--paper)}.copy-status{font-size:13px;color:var(--blue);min-height:24px;margin-top:10px}
@media(min-width:1700px){.hero{min-height:820px;padding-top:110px}.hero-art{width:59%;right:0;top:0;height:100%}.hero-content{width:55%}.hero-detail{font-size:16px}.hero-description{font-size:21px}.hero h1{font-size:96px}.hero-button{margin-top:35px}.section,.approach-section,.contact-section{padding-left:max(100px,calc((100vw - 1480px)/2));padding-right:max(100px,calc((100vw - 1480px)/2))}}
@media(max-width:1200px){.site-header{gap:20px;height:88px}.desktop-nav{gap:19px}.desktop-nav>a{font-size:12px}.brand-wordmark{font-size:21px}.brand-mark{width:33px;height:33px}.header-contact{padding:12px 16px;gap:15px;font-size:13px}.hero{min-height:690px;padding-top:69px}.hero-art{width:64%;right:-6%;top:0;height:94%}.hero-detail{font-size:14px}.hero h1{font-size:clamp(49px,5.7vw,70px)}.section{padding-top:94px;padding-bottom:94px}.section-heading{gap:20px}.section-heading>p{font-size:14px}.service-item>summary{grid-template-columns:25px 65px 1.3fr 1fr 43px;gap:18px}.service-icon{width:60px;height:60px}.service-body{padding-left:126px;padding-right:60px;gap:28px}.service-name>span{font-size:31px}.service-line{font-size:14px}.process-section{gap:42px}.faq-section{gap:35px}.contact-section{gap:40px}.approach-grid{gap:30px}.approach-grid h3{font-size:21px}.about-decoration{font-size:108px}}
@media(max-width:1000px){.desktop-nav{display:none}.site-header{gap:24px}.header-contact{margin-left:auto}.menu-toggle{display:flex;width:40px;height:42px;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:transparent}.menu-toggle>span{height:1.5px;background:var(--ink);width:23px;transition:transform .2s}.menu-toggle[aria-expanded="true"]>span:first-child{transform:translateY(3.75px) rotate(45deg)}.menu-toggle[aria-expanded="true"]>span:last-child{transform:translateY(-3.75px) rotate(-45deg)}.mobile-nav{display:flex;position:absolute;top:100%;left:0;width:100%;flex-direction:column;background:#fff;padding:18px var(--gutter) 28px;box-shadow:0 15px 22px #17254b12}.mobile-nav>a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line);font-size:15px}.mobile-nav>a>span{font-size:12px;letter-spacing:1px;color:var(--muted)}.mobile-nav>a:last-child{color:var(--blue);border-bottom:0}.hero{min-height:660px}.hero h1{font-size:54px}.hero-content{width:60%}.hero-art{width:64%;right:-8%}.hero-description{font-size:18px}.hero-detail{font-size:13px}.hero-button{min-width:280px;padding-left:19px;font-size:13px}.art-caption{display:none}.expertise-strip{gap:14px;font-size:15px;padding-top:23px;padding-bottom:23px}.strip-plus{font-size:21px}.about-section{grid-template-columns:22% 1fr}.about-content h2{font-size:31px}.about-decoration{font-size:91px;left:20px}.about-copy{font-size:15px}.section-label{font-size:12px;gap:13px}.section-heading{align-items:start}.section-heading h2{font-size:30px}.section-heading>p{padding-top:70px}.service-item>summary{grid-template-columns:20px 58px 1.4fr 1fr 38px;gap:15px}.service-icon{width:53px;height:53px}.service-icon svg{width:28px;height:28px}.service-name>span{font-size:28px}.service-name>strong{font-size:13px}.service-toggle{width:37px;height:37px}.service-body{padding-left:108px;padding-right:30px;grid-template-columns:1fr;row-gap:15px}.service-body>p{font-size:14px}.service-contact{margin-top:3px}.approach-top{grid-template-columns:22% 1fr}.approach-grid{gap:23px}.approach-grid h3{font-size:19px}.approach-grid p{font-size:13px}.approach-top p{font-size:15px}.process-section{grid-template-columns:1fr 1.1fr;gap:30px}.process-intro h2{font-size:27px}.process-intro>p{font-size:14px}.process-list li{gap:20px}.process-list h3{font-size:19px}.faq-section{grid-template-columns:1fr 1.65fr;gap:30px}.faq-heading h2{font-size:25px}.faq-list summary{font-size:14px;gap:12px}.contact-section{grid-template-columns:1fr 1.4fr;gap:35px}.contact-heading h2{font-size:31px}.contact-heading>p{font-size:14px}.form-row{grid-template-columns:1fr;gap:0}.form-intro{font-size:17px}.footer-main{gap:30px}.footer-main>p{font-size:12px}}
@media(max-width:700px){:root{--gutter:24px}html{scroll-padding-top:20px}.site-header{height:76px;gap:14px;padding-left:20px;padding-right:16px}.brand{gap:8px}.brand-mark{width:30px;height:30px}.brand-wordmark{font-size:20px}.brand-wordmark>span{font-size:12px;letter-spacing:1px;margin-top:7px}.header-contact{font-size:12px;padding:10px 11px;gap:10px;line-height:1.6}.header-contact svg{width:16px;height:16px}.menu-toggle{width:30px;flex-shrink:0}.hero{min-height:0;padding:48px var(--gutter) 28px;display:flex;flex-direction:column}.hero-content{width:100%;display:contents}.hero .eyebrow{font-size:12px;letter-spacing:1.6px;position:relative;z-index:2;order:0}.tiny-line{width:22px}.hero h1{font-size:clamp(43px,10.3vw,65px);letter-spacing:-.045em;line-height:1.38;margin:24px 0 18px;position:relative;z-index:2;order:1}.hero-description{font-size:17px;line-height:1.9;position:relative;z-index:2;order:2;letter-spacing:.025em}.hero-art{position:relative;top:auto;right:auto;order:3;width:calc(100% + 48px);height:320px;margin:-10px -24px -20px}.hero-art img{object-fit:contain;object-position:center;mix-blend-mode:multiply}.hero-detail{font-size:13px;line-height:2;margin-top:8px;order:4;z-index:2;position:relative}.hero-button{order:5;margin-top:22px;min-width:0;min-height:58px;align-self:stretch;pointer-events:auto;position:relative;z-index:2;font-size:14px}.hero-bottom{position:static;order:6;margin-top:28px;gap:16px}.scroll-link{font-size:12px;gap:9px;letter-spacing:1.3px}.scroll-icon{height:29px;width:23px;font-size:14px}.hero-bottom>span{font-size:12px;letter-spacing:1px}.expertise-strip{padding:21px 20px;display:grid;grid-template-columns:1fr 20px 1fr;row-gap:9px;text-align:center;column-gap:10px;font-size:14px;letter-spacing:.035em}.expertise-strip .strip-plus:nth-child(4){display:none}.expertise-strip>span:nth-child(5){grid-column:1;grid-row:2}.expertise-strip>span:nth-child(6){grid-column:2;grid-row:2}.expertise-strip>span:nth-child(7){grid-column:3;grid-row:2}.strip-plus{font-size:18px;line-height:1}.section{padding:73px var(--gutter)}.section-label{font-size:12px;gap:15px;letter-spacing:1.5px}.section-number{font-size:12px;padding:1px 6px}.about-section{display:block;padding-bottom:83px}.about-content{margin-top:34px}.japanese-kicker{font-size:12px;margin-bottom:18px}.about-content h2{font-size:clamp(24px,6vw,35px);line-height:1.8;letter-spacing:0}.about-copy{font-size:14px;line-height:2.1;gap:17px;margin-top:26px;max-width:490px}.desktop-only{display:none}.mobile-only{display:block}.about-decoration{font-size:116px;letter-spacing:-7px;left:auto;right:22px;bottom:-30px;opacity:.65}.text-link{font-size:13px;margin-top:24px;gap:25px;position:relative;z-index:1}.services-section{padding-top:66px;padding-bottom:66px}.section-heading{display:block;margin-bottom:29px}.section-heading h2{font-size:27px;margin-top:22px;line-height:1.7}.section-heading>p{padding:0;margin-top:19px;font-size:14px}.service-item>summary{grid-template-columns:22px 48px 1fr 32px;gap:10px;padding:26px 0;position:relative}.service-index{font-size:12px;margin-top:4px}.service-icon{height:43px;width:43px}.service-icon svg{width:24px;height:24px}.service-name{gap:6px}.service-name>span{font-size:clamp(23px,6vw,31px);letter-spacing:-.9px}.service-name>strong{font-size:12px}.service-line{display:none}.service-toggle{width:31px;height:31px}.service-toggle>svg{width:16px;height:16px}.service-body{padding:0 0 27px 32px;row-gap:15px}.service-body>p{font-size:14px}.service-tags{gap:6px}.service-tags>span{font-size:12px;padding:4px 8px}.service-contact{font-size:12px;gap:18px;margin-top:4px}.service-contact svg{width:18px;height:18px}.approach-section{padding:66px var(--gutter) 64px}.approach-top{display:block}.approach-top h2{font-size:34px;line-height:1.65;margin-top:28px;letter-spacing:0}.approach-top p{font-size:14px;line-height:2;margin-top:22px}.approach-symbol{font-size:190px;right:-25px;bottom:-50px}.approach-grid{grid-template-columns:1fr;gap:33px;margin-top:45px}.approach-grid>article{padding-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:13px 23px}.approach-number{grid-column:1/-1;font-size:12px}.approach-grid h3{font-size:20px;margin-top:0;line-height:1.8}.approach-grid p{font-size:13px;margin-top:2px;line-height:1.9}.process-section{display:block;padding-bottom:72px}.process-intro h2{font-size:29px;margin-top:23px;line-height:1.7}.process-intro>p{font-size:14px;margin-top:20px}.process-list{margin-top:44px}.process-list li{gap:22px;padding-bottom:25px;margin-bottom:25px}.process-list li>span{width:37px;height:37px;font-size:13px}.process-list h3{font-size:20px}.process-list li>div>p:last-child{font-size:14px;margin-top:7px}.process-english{font-size:12px}.faq-section{display:block;padding-top:64px;padding-bottom:66px}.faq-heading h2{font-size:28px;margin-top:22px}.faq-list{margin-top:30px}.faq-list summary{font-size:14px;padding:22px 0;gap:12px}.question-mark{font-size:17px}.faq-list summary>svg{width:17px;height:17px}.faq-list details>p{font-size:13px;padding:0 24px 22px 31px}.contact-section{display:block;padding:70px var(--gutter) 67px}.contact-heading h2{font-size:38px;line-height:1.55;margin-top:25px}.contact-heading>p{font-size:14px;margin-top:20px}.contact-large-word{position:absolute;right:24px;top:224px;font-size:79px;margin:0;opacity:.075;pointer-events:none}.contact-form{margin-top:43px;position:relative;z-index:1}.form-intro{font-size:18px}.preview-notice{font-size:12px}.form-row{grid-template-columns:1fr}.form-field{margin-bottom:20px}.form-field label,legend{font-size:14px}.interest-options label>span{font-size:12px;padding:8px 10px}.interest-options{gap:7px}.form-footnote{font-size:12px}.site-footer{padding:34px var(--gutter) 88px}.footer-main{flex-wrap:wrap;gap:21px;padding-bottom:27px}.footer-main>p{order:3;flex-basis:100%;font-size:12px;letter-spacing:.08em}.footer-main .back-top{order:2;width:40px;height:40px}.footer-brand .brand-wordmark{font-size:21px}.footer-bottom{flex-direction:column;align-items:start;gap:11px;font-size:12px;margin-top:21px;line-height:1.9}.footer-bottom small{font-size:12px}.mobile-contact{display:block;position:fixed;bottom:0;left:0;width:100%;background:#fff;padding:10px 16px max(10px,env(safe-area-inset-bottom));z-index:25;box-shadow:0 -2px 15px #1320470b;transform:translateY(120%);transition:transform .25s}.mobile-contact.visible{transform:translateY(0)}.mobile-contact>a{display:flex;justify-content:center;align-items:center;gap:26px;background:var(--blue);color:white;font-weight:600;font-size:13px;min-height:46px;border-radius:3px}.mobile-contact svg{width:18px;height:18px}.inquiry-dialog{padding:22px;max-height:85dvh}.inquiry-dialog h2{font-size:24px}.dialog-actions{flex-direction:column;gap:9px}.dialog-actions .button{justify-content:center}.dialog-actions svg{margin-left:7px}}
@media(max-width:380px){:root{--gutter:20px}.site-header{gap:8px;padding-left:16px;padding-right:12px}.brand-wordmark{font-size:18px}.brand-mark{width:26px;height:26px}.brand-wordmark>span{font-size:12px;letter-spacing:1px}.header-contact{font-size:12px;gap:6px;padding:9px}.hero{padding-top:38px}.hero h1{font-size:40px}.hero-art{width:calc(100% + 40px);margin-left:-20px;margin-right:-20px;height:280px}.hero-detail{font-size:12px}.hero-button{font-size:13px;gap:12px}.approach-grid>article{grid-template-columns:1fr}.approach-grid p{font-size:14px}.service-item>summary{grid-template-columns:18px 38px 1fr 28px;gap:8px}.service-icon{width:35px;height:35px}.service-name>span{font-size:22px}.service-name>strong{font-size:12px}.service-toggle{width:28px;height:28px}.service-body{padding-left:26px}.contact-heading h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Reading sizes and compact navigation */
.hero-art img{object-fit:contain}
.hero-detail,.about-copy,.section-heading>p,.service-body>p,.approach-top p,.approach-grid p,.process-intro>p,.process-list li>div>p:last-child,.faq-list details>p,.contact-heading>p{font-size:1rem}
.desktop-nav>a,.header-contact,.service-name>strong,.service-tags>span,.service-contact,.faq-list summary,.interest-options label>span,.form-footnote{font-size:.875rem}
.brand-wordmark>span{font-size:12px;letter-spacing:.45px}
.footer-brand .brand-wordmark>span{font-size:12px}
@media (min-width:1001px) and (max-width:1200px){.desktop-nav{display:none}.header-contact{margin-left:auto}.menu-toggle{display:flex;width:40px;height:42px;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:transparent}.menu-toggle>span{height:1.5px;background:var(--ink);width:23px;transition:transform .2s}.menu-toggle[aria-expanded="true"]>span:first-child{transform:translateY(3.75px) rotate(45deg)}.menu-toggle[aria-expanded="true"]>span:last-child{transform:translateY(-3.75px) rotate(-45deg)}.mobile-nav{display:flex;position:absolute;top:100%;left:0;width:100%;flex-direction:column;background:#fff;padding:18px var(--gutter) 28px;box-shadow:0 15px 22px #17254b12}.mobile-nav>a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line);font-size:15px}.mobile-nav>a>span{font-size:12px;letter-spacing:1px;color:var(--muted)}}
@media(max-width:1000px) and (min-width:701px){.hero-art{width:58%;right:-8%}}
@media(max-width:700px){.header-contact{position:relative;width:40px;height:40px;padding:0;justify-content:center}.header-contact>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.header-contact>svg{width:19px;height:19px}.brand-wordmark>span{font-size:12px;letter-spacing:.15px}.hero-detail{font-size:.875rem}.hero-bottom>span{display:none}.scroll-link{font-size:12px;letter-spacing:1px}.hero h1{white-space:normal}.approach-grid>article{grid-template-columns:1fr}.approach-grid p{max-width:none}.hero{padding-bottom:25px}.service-body{padding-left:0}.service-tags>span{font-size:12px}.service-contact{font-size:14px}.interest-options label>span{font-size:14px}}
@media(max-width:380px){.header-contact{display:none}.menu-toggle{margin-left:auto}.brand-wordmark>span{font-size:12px}}
@media(prefers-reduced-motion:no-preference){.hero .eyebrow,.hero h1,.hero-description,.hero-detail,.hero-button{animation:hero-in .8s both}.hero h1{animation-delay:.08s}.hero-description{animation-delay:.16s}.hero-detail{animation-delay:.22s}.hero-button{animation-delay:.28s}.hero-art{animation:art-in 1.2s both}@keyframes hero-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes art-in{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}}
