:root{--primary:#f07818;--primary-dark:#ab4408;--primary-soft:#fff1e5;--ink:#20201f;--muted:#65635f;--canvas:#fbfaf7;--surface:#fff;--border:#dedbd4;--radius:16px;--ease:cubic-bezier(.22, 1, .36, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{background:var(--canvas);color:var(--ink);text-rendering:optimizelegibility;margin:0;font-family:Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;font-size:16px;line-height:1.9}a{color:inherit;text-decoration:none}a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid var(--primary-dark);outline-offset:5px}img{max-width:100%}::selection{background:var(--primary-soft);color:var(--ink)}.section-shell{width:min(100% - 112px,1280px);margin-inline:auto}.skip-link{z-index:1000;background:var(--ink);color:#fff;padding:10px 18px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:100;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff2;border:1px solid #ffffffc9;border-radius:999px;justify-content:space-between;align-items:center;gap:24px;min-height:72px;padding:10px 12px 10px 28px;display:flex;position:fixed;top:20px;left:24px;right:24px;box-shadow:0 8px 32px #3025160d}.site-header__logo{flex-shrink:0;width:174px;display:flex}.site-header__logo img{width:100%;height:auto}.desktop-nav{white-space:nowrap;align-items:center;gap:clamp(18px,2vw,32px);font-size:14px;font-weight:700;display:flex}.desktop-nav a,.footer nav a{position:relative}.desktop-nav a:after,.footer nav a:after{background:var(--primary);content:"";transform-origin:100%;height:1px;transition:transform .35s var(--ease);position:absolute;inset:auto 0 -5px;transform:scaleX(0)}.desktop-nav a:hover:after,.footer nav a:hover:after{transform-origin:0;transform:scaleX(1)}.site-header__actions{align-items:center;gap:10px;display:flex}.header-phone,.header-contact{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:0 18px;font-size:13px;font-weight:700;display:inline-flex}.header-phone{padding-inline:4px}.header-phone svg{color:var(--primary-dark)}.header-contact{background:var(--primary-dark);color:#fff;transition:background .25s}.header-contact:hover{background:var(--ink)}.mobile-menu{display:none;position:relative}.mobile-menu summary{border:1px solid var(--border);cursor:pointer;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:44px;height:44px;list-style:none;display:flex}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{display:none}.mobile-menu[open] summary{background:var(--primary-soft)}.mobile-menu nav{border:1px solid var(--border);border-radius:var(--radius);background:#fff;width:min(82vw,360px);max-height:calc(100dvh - 120px);padding:16px 24px;display:grid;position:absolute;top:60px;right:0;overflow:auto;box-shadow:0 20px 60px #3025161a}.mobile-menu nav a{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:56px;font-size:14px;display:flex}.mobile-menu nav a:last-child{border:0}.hero{--hero-radius:20px;border-radius:var(--hero-radius);color:#fff;background:#3a3024;align-items:end;height:min(900px,100svh);min-height:640px;margin:12px;display:flex;position:relative;overflow:hidden}.hero__slides{border-radius:inherit;clip-path:inset(0 round var(--hero-radius));position:absolute;inset:0;overflow:hidden}.hero__image{object-fit:cover;object-position:center 43%;border-radius:inherit;opacity:0;transition:opacity 1s var(--ease)}.hero__image.is-active{opacity:1}.hero__slide-nav{z-index:2;grid-template-columns:repeat(5,1fr);gap:8px;width:min(360px,100% - 40px);margin-inline:auto;display:grid;position:absolute;bottom:12px;left:0;right:0}.hero__slide-bar{cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;min-height:44px;padding:0;display:flex}.hero__slide-bar span{opacity:.4;width:100%;height:3px;transition:opacity .2s var(--ease);background:#fff;border-radius:999px;display:block}.hero__slide-bar:hover span{opacity:.75}.hero__slide-bar.is-active span{opacity:1}.hero__slide-bar:focus-visible{outline-offset:3px;outline:3px solid #fff}.hero__shade{background:linear-gradient(#171a1626 30%,#171a16db),linear-gradient(90deg,#171a164d,#0000 80%);position:absolute;inset:0}.hero__content{z-index:1;width:100%;padding:140px clamp(32px,5.8vw,96px) 64px;position:relative}.hero__eyebrow,.eyebrow-orange{letter-spacing:.16em;margin:0 0 24px;font-size:12px;font-weight:700}.hero__eyebrow{color:#ffffffe6}.hero h1{letter-spacing:.015em;margin:0;font-size:clamp(36px,4.7vw,72px);font-weight:600;line-height:1.38}.hero__lead{margin:24px 0 0;font-size:16px;font-weight:500;line-height:1.9}.hero__buttons{flex-wrap:wrap;gap:14px;margin-top:30px;display:flex}.arrow-button{border:1px solid #0000;border-radius:999px;justify-content:space-between;align-items:center;gap:24px;min-width:224px;min-height:56px;padding:6px 8px 6px 24px;font-size:14px;font-weight:700;transition:background .3s,color .3s,border-color .3s;display:inline-flex}.arrow-button>span:first-child{white-space:nowrap}.arrow-button__icon{border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.arrow-button__icon svg{transition:transform .4s var(--ease)}.arrow-button:hover .arrow-button__icon svg{transform:translate(3px,-3px)}.arrow-button--primary{background:var(--primary-dark);color:#fff}.arrow-button--primary:hover{background:#873607}.arrow-button--primary .arrow-button__icon{color:var(--primary-dark);background:#fff}.arrow-button--light{color:#fff;background:#20201f33;border-color:#ffffff80}.arrow-button--light:hover,.arrow-button--light .arrow-button__icon{color:var(--ink);background:#fff}.arrow-button--outline{border-color:var(--border);background:0 0}.arrow-button--outline:hover{border-color:var(--primary-dark);background:var(--primary-soft)}.arrow-button--outline .arrow-button__icon{background:var(--primary-dark);color:#fff}.intro{grid-template-columns:1fr 1fr;gap:10%;padding-block:clamp(100px,11vw,168px);display:grid}.eyebrow-orange{color:var(--primary-dark)}.intro__heading h2{letter-spacing:.03em;margin:0;font-size:clamp(44px,5.2vw,76px);font-weight:500;line-height:1.5}.intro__body{color:var(--muted);align-self:end}.intro__lead{color:var(--ink);margin:0 0 24px;font-size:clamp(20px,1.9vw,27px);font-weight:600;line-height:1.7}.intro__body>p:not(.intro__lead){margin:0;line-height:2.2}.text-link{border-bottom:1px solid var(--primary-dark);min-height:48px;color:var(--ink);align-items:center;gap:26px;margin-top:28px;font-size:14px;font-weight:700;display:inline-flex}.text-link svg{color:var(--primary-dark);transition:transform .3s var(--ease)}.text-link:hover svg{transform:translate(3px,-3px)}.services{background:#f0eee8;padding-block:clamp(88px,9vw,132px)}.section-title__english{letter-spacing:-.065em;margin:0;font-family:Arial,sans-serif;font-size:clamp(44px,6.2vw,88px);font-weight:400;line-height:1.1}.section-title h2{letter-spacing:.06em;margin:14px 0 0;font-size:16px;font-weight:600}.section-intro{max-width:640px;color:var(--muted);margin:30px 0 0}.service-grid{gap:40px;margin-top:64px;display:grid}.service-card{border-top:1px solid #d5d1c8;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,6vw,92px);padding-block:32px;display:grid}.service-card__image{border-radius:var(--radius);min-height:340px;position:relative;overflow:hidden}.service-card__image img{object-fit:cover;transition:transform 1s var(--ease)}.service-card:hover .service-card__image img{transform:scale(1.035)}.service-card__content{padding-block:4px}.service-card__top{color:var(--primary-dark);justify-content:space-between;align-items:center;font-size:14px;display:flex}.service-card__english{color:var(--muted);margin:20px 0 6px;font-family:Arial,sans-serif;font-size:14px}.service-card h3{letter-spacing:.03em;margin:0;font-size:clamp(28px,3vw,40px);font-weight:500}.service-card__description{max-width:560px;color:var(--muted);margin:18px 0 24px;font-size:16px}.service-card ul{flex-wrap:wrap;gap:8px 20px;margin:0;padding:0;list-style:none;display:flex}.service-card li{font-size:14px}.service-card li:before{content:"/";color:var(--primary-dark);margin-right:10px}.works{padding-block:clamp(100px,11vw,168px)}.section-heading-row{margin-bottom:64px}.section-heading-row>p{max-width:620px;color:var(--muted);margin:28px 0 0}.works-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:72px 56px;display:grid}.work-card{min-width:0}.work-card__image{aspect-ratio:1.12;border-radius:var(--radius);background:#e6e2da;position:relative;overflow:hidden}.work-card img{object-fit:cover;transition:transform 1s var(--ease)}.work-card:hover img{transform:scale(1.035)}.work-card__caption{flex-direction:column;gap:4px;margin-top:20px;display:flex}.work-card__caption p{color:var(--muted);margin:0;font-size:13px}.work-card__caption h3{margin:0;font-size:clamp(21px,2vw,28px);font-weight:500}.strengths{background:#f0eee8;grid-template-columns:1fr 1fr;align-items:stretch;display:grid}.strengths__image{height:auto;min-height:680px;position:relative;overflow:hidden}.strengths__image img{object-fit:cover}.strengths__content{padding:88px clamp(32px,5vw,84px)}.strengths .section-title__english{font-size:clamp(44px,5vw,70px)}.strength-list{margin-top:48px}.strength-list article{border-top:1px solid var(--border);grid-template-columns:90px 1fr;gap:24px;padding-block:30px;display:grid}.strength-list__number{color:var(--primary-dark);letter-spacing:-.07em;margin:0;font-family:Arial,sans-serif;font-size:64px;line-height:1.1}.strength-list__unit{color:var(--primary-dark);letter-spacing:.1em;margin:0 0 6px;font-size:12px}.strength-list h3{margin:0;font-size:21px;font-weight:600}.strength-list article div>p:last-child{color:var(--muted);margin:10px 0 0;font-size:16px}.message{grid-template-columns:1.2fr .8fr;align-items:center;gap:10%;padding-block:clamp(100px,11vw,168px);display:grid}.message__copy h2{letter-spacing:-.03em;margin:0 0 32px;font-size:clamp(25px,2.8vw,42px);font-weight:500;line-height:1.7}.message__copy>p:not(.eyebrow-orange):not(.message__signature){color:var(--muted);line-height:2.2}.message__signature{justify-content:flex-end;align-items:baseline;gap:20px;margin-top:36px;font-size:20px;display:flex}.message__signature span{font-size:13px}.message__photo{border-radius:var(--radius);background:#ece7dd;min-height:460px;position:relative;overflow:hidden}.message__photo img{object-fit:contain;object-position:center bottom}.company{border-top:1px solid var(--border);padding-block:clamp(88px,9vw,132px)}.company__inner{grid-template-columns:.85fr 1.15fr;align-items:center;gap:8%;display:grid}.company__visual{border-radius:var(--radius);background:#ece7dd;min-height:560px;position:relative;overflow:hidden}.company__visual img{object-fit:cover}.company__content dl{margin:40px 0 0}.company__content dl div{border-bottom:1px solid var(--border);grid-template-columns:90px 1fr;gap:20px;padding:18px 0;display:grid}.company__content dt{color:var(--muted);font-size:14px}.company__content dd{margin:0;font-size:16px}.contact{background:var(--primary-soft);padding-block:clamp(88px,9vw,132px)}.contact__inner{grid-template-columns:1fr auto;align-items:center;gap:64px;display:grid}.contact__english{color:var(--primary-dark);letter-spacing:-.065em;margin:0;font-family:Arial,sans-serif;font-size:clamp(64px,9vw,128px);font-weight:400;line-height:1}.contact h2{max-width:680px;margin:30px 0 16px;font-size:clamp(24px,2.4vw,34px);font-weight:500;line-height:1.7}.contact__inner>div:first-child>p:last-child{color:var(--muted);margin:0;font-size:16px}.contact__actions{gap:16px;display:grid}.contact-phone{border:1px solid #c7b4a4;border-radius:999px;align-items:center;gap:18px;min-height:84px;padding:10px 24px;display:flex}.contact-phone svg{color:var(--primary-dark)}.contact-phone span{flex-direction:column;font-family:Arial,sans-serif;font-size:26px;line-height:1.6;display:flex}.contact-phone small{font-family:Hiragino Kaku Gothic ProN,sans-serif;font-size:12px}.footer{background:var(--canvas)}.footer__main{grid-template-columns:1.1fr .8fr 1.1fr;gap:64px;padding-block:72px;display:grid}.footer__brand img{width:200px;height:auto}.footer__brand p{color:var(--muted);margin:20px 0 0;font-size:14px}.footer nav,.footer address{align-content:start;gap:14px;font-size:14px;font-style:normal;display:grid}.footer nav a{width:fit-content}.footer address{color:var(--muted)}.footer address p{margin:0 0 8px}.footer__bottom{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;align-items:center;padding-block:20px;font-size:12px;display:flex}.footer__bottom p{margin:0}.footer__bottom a{align-items:center;gap:12px;min-height:44px;display:flex}[data-reveal]{transition:opacity .9s var(--ease), transform .9s var(--ease)}.reveal-pending{opacity:0;transform:translateY(28px)}.reveal-pending:focus-within{opacity:1;transform:none}@keyframes rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:no-preference){.hero__content{animation:rise 1s .15s var(--ease) both}}@media (max-width:1180px){.desktop-nav{display:none}.mobile-menu{display:block}.header-contact{display:none}.strength-list article{grid-template-columns:72px 1fr;gap:18px}.strength-list__number{font-size:56px}}@media (max-width:900px){.section-shell{width:calc(100% - 64px)}.hero{min-height:640px}.intro{gap:6%}.intro__heading h2{font-size:44px}.works-grid{gap:48px 28px}.strengths{grid-template-columns:1fr}.strengths__image{height:480px;min-height:0}.strengths__content{padding:72px 32px}.strength-list article{grid-template-columns:100px 1fr}.message{gap:40px}.message__photo{min-height:400px}.company__inner{grid-template-columns:1fr;gap:56px}.company__visual{min-height:420px}.contact__inner{grid-template-columns:1fr;gap:40px}.contact__actions{max-width:360px}.footer__main{grid-template-columns:1fr 1fr;gap:40px}.footer address{grid-column:1/-1}}@media (max-width:767px){html{scroll-padding-top:90px}.section-shell{width:calc(100% - 40px)}.site-header{gap:8px;min-height:56px;padding:5px 6px 5px 16px;top:12px;left:12px;right:12px}.site-header__logo{width:140px}.site-header__actions{gap:4px}.header-phone{width:44px;min-height:44px;color:var(--primary-dark);padding:0}.header-phone span{display:none}.mobile-menu nav{top:56px}.hero{--hero-radius:var(--radius);height:auto;min-height:min(800px,100svh);margin:6px}.hero__content{padding:240px 20px 88px}.hero__image{object-position:60% center}.hero__shade{background:linear-gradient(#171a161a,#171a1659 35%,#171a16ed)}.hero__eyebrow{letter-spacing:.09em;margin-bottom:18px;font-size:11px}.hero h1{letter-spacing:0;font-size:clamp(26px,6.55vw,48px);line-height:1.55}.hero__lead{margin-top:20px;font-size:15px}.desktop-only{display:none}.hero__buttons{gap:10px;margin-top:24px;display:grid}.hero__buttons .arrow-button{width:min(100%,330px)}.arrow-button{min-width:0;font-size:14px}.intro{grid-template-columns:1fr;gap:36px;padding-block:80px}.intro__heading h2{font-size:clamp(38px,10vw,56px);line-height:1.4}.intro__lead{font-size:21px}.services,.company,.contact{padding-block:76px}.section-title__english{font-size:clamp(40px,11vw,64px)}.section-intro{margin-top:24px}.service-grid{gap:24px;margin-top:40px}.service-card{grid-template-columns:1fr;gap:24px;padding-block:24px}.service-card__image{aspect-ratio:1.45;min-height:0}.service-card__english{margin-top:12px}.service-card h3{font-size:30px}.service-card__description{margin-top:16px}.works{padding-block:80px}.section-heading-row{margin-bottom:36px}.works-grid{grid-template-columns:1fr;gap:36px}.work-card__image{aspect-ratio:1.25}.work-card__caption{margin-top:14px}.work-card__caption h3{font-size:22px}.strengths__image{height:360px}.strengths__content{padding:64px 20px}.strength-list article{grid-template-columns:68px 1fr;gap:20px}.strength-list h3{font-size:20px}.strength-list__number{font-size:52px}.message{grid-template-columns:1fr;gap:40px;padding-block:80px}.message__copy h2{font-size:clamp(22px,5.8vw,32px)}.message__visual{width:min(100%,360px);margin-inline:auto}.message__photo{min-height:400px}.company__visual{min-height:360px}.company__content dl div{grid-template-columns:72px 1fr;gap:16px}.company__content dd{overflow-wrap:anywhere}.contact h2{font-size:24px}.contact-phone{padding-inline:20px}.contact-phone span{font-size:24px}.footer__main{grid-template-columns:1fr;gap:36px;padding-block:56px}.footer nav{grid-template-columns:1fr 1fr;gap:18px}}@media (prefers-reduced-transparency:reduce){.site-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reveal-pending{opacity:1;transform:none}.hero__image{transition:none}}@media print{.site-header,.hero__buttons,.hero__slide-nav,.skip-link{display:none}.hero{min-height:500px}.reveal-pending{opacity:1;transform:none}}.loading-overlay{z-index:1100;background:var(--canvas);flex-direction:column;justify-content:center;align-items:center;gap:28px;display:flex;position:fixed;inset:0}html:has(.loading-overlay:not([hidden])){overflow:hidden}@media (scripting:none){html:has(.loading-overlay){overflow:auto}}.loading-overlay__animation{aspect-ratio:1;place-items:center;width:min(280px,76vw);display:grid;position:relative}.loading-overlay__ring{border:2px solid var(--border);border-top-color:var(--primary);border-right-color:var(--primary);border-radius:50%;animation:1.4s linear infinite loading-orbit;position:absolute;inset:0}.loading-overlay__logo{width:76%;height:auto;position:relative}.loading-overlay p{color:var(--muted);letter-spacing:.16em;margin:0;font-size:12px}@keyframes loading-orbit{to{transform:rotate(360deg)}}#page-content[data-loading-state=loading]{opacity:0}.loading-overlay__animation,.loading-overlay p{animation:loading-entrance .65s var(--ease) both}@keyframes loading-entrance{0%{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:translateY(0)}}.loading-overlay.is-leaving .loading-overlay__animation,.loading-overlay.is-leaving p{animation:loading-exit .4s var(--ease) both}.loading-overlay.is-leaving{animation:.4s .3s both loading-backdrop-exit}#page-content[data-loading-state=revealing]{animation:page-entrance .65s .35s var(--ease) both}@keyframes loading-exit{to{opacity:0;transform:translateY(-36px)}}@keyframes loading-backdrop-exit{to{opacity:0}}@keyframes page-entrance{0%{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.loading-overlay__ring{animation:none}}
