:root{--paper:#eeeae3;--ink:#292923;--muted:#625f57;--line:#c9c3b9;--accent:#b34425;--white:#faf8f4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.85}a{color:inherit;text-decoration:none}a,summary{touch-action:manipulation}a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:6px}p,h1,h2,h3{margin:0}h1,h2,h3{font-weight:600;line-height:1.45;letter-spacing:-.04em}p{font-size:15px;line-height:2}.wrap{max-width:1320px;width:calc(100% - 112px);margin:0 auto}.header{min-height:108px;display:flex;align-items:center;justify-content:space-between;gap:32px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:16px;min-height:48px}.brand-mark{font-size:40px;font-weight:700;line-height:1;letter-spacing:-5px;padding-right:5px}.brand-mark span{color:var(--accent)}.brand-name{font-size:15px;font-weight:600;letter-spacing:-.04em;line-height:1.5}.brand-name>span{display:block;font-size:12px;letter-spacing:.15em}.header nav{display:flex;align-items:center;gap:32px}.header nav a{font-size:13px;display:inline-flex;align-items:center;min-height:44px;gap:25px}.header nav a:hover,.footer a:hover{color:var(--accent)}.nav-contact{border-bottom:1px solid var(--ink)}.skip-link{position:fixed;top:10px;left:10px;transform:translateY(-200%);background:var(--white);padding:10px;z-index:10}.skip-link:focus{transform:none}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:0 30px;padding-top:78px}.eyebrow{font-size:12px;font-weight:500;letter-spacing:.12em;line-height:1.6}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:8px}.hero h1{font-size:clamp(40px,4.5vw,68px);margin:31px 0 26px;line-height:1.5;letter-spacing:-.065em}.accent{color:var(--accent)}.hero-lead{font-size:16px;line-height:2.15}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:58px;background:var(--accent);color:#fff;padding:15px 23px;font-size:14px;font-weight:600;transition:background .2s}.button:hover{background:#8f321a}.button span{font-size:21px;line-height:1}.hero .button{margin-top:30px}.hero-art{display:flex;flex-direction:column;justify-content:center;padding:20px 0 0}.art-top{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.08em;border-top:1px solid var(--line);padding-top:16px}.orbit{display:block;width:100%;height:auto}.art-caption{text-align:center;font-size:13px;letter-spacing:.05em}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;border-bottom:1px solid var(--ink);padding:65px 0 24px;margin-bottom:0;font-size:12px;letter-spacing:.06em;color:var(--muted)}.section{padding-top:105px;padding-bottom:105px}.section-heading{margin-bottom:44px}.section-heading h2{font-size:38px;margin-top:20px}.section-heading>p:not(.eyebrow){margin-top:24px;color:var(--muted)}.service-list{border-top:1px solid var(--ink)}.service-row{display:grid;grid-template-columns:65px 1fr 205px;gap:20px;padding:35px 0;border-bottom:1px solid var(--line);align-items:start}.row-no{font-size:15px;color:var(--accent)}.service-row h3{font-size:23px;margin-bottom:12px}.service-row p{max-width:610px;color:var(--muted)}.service-en{font-size:12px;letter-spacing:.07em;text-align:right;padding-top:6px}.model-section{background:#292f2d;color:#f5f1e9}.model-inner{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;padding-top:88px;padding-bottom:88px}.model-inner h2{font-size:40px;margin-top:22px}.model-intro{margin-top:25px;color:#dadbd2}.equation{padding:0 0 30px;border-bottom:1px solid #646961}.equation>span{font-size:13px}.equation strong{display:block;font-size:clamp(22px,2.3vw,34px);line-height:1.8;letter-spacing:-.04em;font-weight:500;margin-top:8px}.equation strong span{color:#e6b79b;padding:0 9px;font-weight:400}.terms{margin:8px 0 0}.terms>div{display:grid;grid-template-columns:92px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid #646961}.terms dt,.terms dd{margin:0;font-size:14px}.terms dt{color:#e6b79b}.terms dd{line-height:1.9}.model-note{font-size:12px;color:#c7cbc4;margin-top:21px;line-height:1.9}.process-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;margin:0;padding:0;list-style:none}.process-list li{border-top:1px solid var(--ink);padding-top:22px}.process-list li>span{font-size:12px;letter-spacing:.08em;color:var(--accent)}.process-list h3{font-size:21px;margin:24px 0 16px}.process-list p{color:var(--muted);font-size:14px}.company-section{background:#e4dfd6}.company-inner{display:grid;grid-template-columns:1fr 1.5fr;gap:80px;padding-top:85px;padding-bottom:85px}.company-message{font-size:21px!important;line-height:1.8;color:var(--muted);margin-top:34px!important}.company-table{margin:0;border-top:1px solid var(--ink)}.company-table>div{display:grid;grid-template-columns:116px 1fr;border-bottom:1px solid #bbb5ab;gap:20px;padding:21px 0;font-size:14px}.company-table dt{color:var(--muted)}.company-table dd{margin:0}.faq-section{display:grid;grid-template-columns:1fr 1.5fr;gap:80px}.faq-list{border-top:1px solid var(--ink)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:21px 0;cursor:pointer;font-size:15px;font-weight:500}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{font-size:20px;flex-shrink:0;color:var(--accent);transition:transform .2s}.faq-list details[open] summary>span{transform:rotate(45deg)}.faq-list details p{padding:0 25px 24px 0;color:var(--muted);font-size:14px}.contact-section{background:var(--accent);color:var(--white);padding:67px 0 80px}.contact-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:45px;margin-top:25px}.contact-inner h2{font-size:50px}.contact-inner>div>p{margin-top:23px}.contact-action{justify-self:end;max-width:100%}.contact-action .button{color:var(--ink);background:var(--white);min-width:310px}.contact-action .button:hover{background:#e8ddd0}.contact-note{font-size:12px!important;line-height:1.85!important}.contact-email{display:block;font-size:14px;min-height:44px;padding-top:10px;text-decoration:underline;overflow-wrap:anywhere}.footer{padding-top:36px;padding-bottom:36px;display:flex;justify-content:space-between;align-items:center;gap:24px}.footer strong{font-size:14px}.footer p{font-size:12px;letter-spacing:.12em;color:var(--muted)}.footer a{display:inline-flex;align-items:center;min-height:44px;font-size:12px}.footer small{font-size:12px;color:var(--muted)}.legal{max-width:800px;padding-top:70px;padding-bottom:80px}.legal h1{font-size:36px;margin-bottom:35px}.legal h2{font-size:21px;margin:36px 0 16px}.legal p,.legal li{font-size:15px;color:var(--muted)}.legal a{text-decoration:underline}.legal .back{display:inline-flex;align-items:center;min-height:44px;margin-top:40px}
@media(min-width:1500px){.hero{padding-top:100px}.hero-bottom{padding-top:90px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.header nav{gap:22px}.hero{gap:20px;padding-top:60px}.hero h1{font-size:45px}.hero-lead{font-size:15px}.service-row{grid-template-columns:45px 1fr 170px}.model-inner,.company-inner,.faq-section{gap:40px}.section{padding-top:80px;padding-bottom:80px}.process-list{gap:20px}.process-list h3{font-size:18px}.model-inner h2{font-size:35px}.contact-inner h2{font-size:44px}}
@media(max-width:800px){.wrap{width:calc(100% - 48px)}.header{min-height:87px;gap:15px}.header nav a:not(.nav-contact){display:none}.header nav a{font-size:12px;gap:12px}.brand{gap:10px}.brand-name{font-size:13px}.brand-name>span{font-size:12px}.brand-mark{font-size:35px}.hero{grid-template-columns:1fr;padding-top:50px}.hero h1{font-size:clamp(37px,6.4vw,54px);margin:23px 0 18px}.hero-copy{max-width:600px}.hero-lead{font-size:15px}.hero .button{margin-top:23px}.hero-art{max-width:530px;width:100%;justify-self:center;margin-top:22px}.hero-bottom{padding-top:20px;gap:20px;font-size:12px}.service-row{grid-template-columns:35px 1fr;gap:15px;padding:28px 0}.service-en{display:none}.model-inner,.company-inner,.faq-section{grid-template-columns:1fr;gap:35px}.section-heading h2{font-size:32px}.model-inner{padding-top:64px;padding-bottom:64px}.model-inner h2{font-size:35px}.model-intro{margin-top:18px}.equation strong{font-size:30px}.process-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}.process-list h3{font-size:21px;margin-top:18px}.company-inner{padding-top:64px;padding-bottom:64px}.company-inner .section-heading,.faq-section .section-heading{margin-bottom:0}.company-message{display:none}.contact-inner{grid-template-columns:1fr;gap:32px}.contact-action{justify-self:start}.contact-inner h2{font-size:43px}.contact-section{padding:52px 0 60px}.footer{flex-wrap:wrap;gap:16px}.footer>div{width:100%}.footer a{margin-right:auto}.legal h1{font-size:29px}}
@media(max-width:420px){.wrap{width:calc(100% - 36px)}.header{min-height:80px;gap:8px}.brand{gap:8px}.brand-name{font-size:12px;letter-spacing:-.055em}.brand-name>span{font-size:12px}.brand-mark{font-size:31px}.header nav a{font-size:12px;gap:6px}.hero{padding-top:36px}.eyebrow{font-size:12px;letter-spacing:.055em}.hero h1{font-size:35px;letter-spacing:-.07em}.hero-lead{font-size:15px}.desktop-break{display:none}.hero .button{width:100%;font-size:14px;padding:14px 18px;gap:12px}.hero-bottom{flex-direction:column;gap:3px}.section{padding-top:60px;padding-bottom:60px}.section-heading h2{font-size:29px}.service-row h3{font-size:20px}.service-row{grid-template-columns:24px 1fr;gap:12px}.service-row p{font-size:15px}.equation strong{font-size:25px}.equation strong span{padding:0 3px}.terms>div{grid-template-columns:74px 1fr;gap:12px}.process-list{gap:30px 17px}.process-list h3{font-size:18px}.company-table>div{grid-template-columns:70px 1fr;gap:15px}.company-table dd{font-size:14px;overflow-wrap:anywhere}.contact-action{width:100%}.contact-action .button{min-width:0;width:100%;gap:15px}.contact-inner h2{font-size:40px}.footer small{font-size:12px}.legal h1{font-size:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.legal a{overflow-wrap:anywhere}
