:root{--top-ink:#151a24;--top-soft:#5f6773;--top-line:#d9dde2;--top-wash:#f4f4f1;--top-paper:#fff;--top-orange:#f05223;--top-orange-dark:#d94316;--top-orange-pale:#fff0e9}
html{scroll-behavior:smooth}
body.home{margin:0;background:var(--top-paper);color:var(--top-ink);font-family:'Noto Sans JP',sans-serif;-webkit-font-smoothing:antialiased}
body.top-menu-open{overflow:hidden}
.top-page *,.top-header *,.top-footer *{box-sizing:border-box}
.top-page a,.top-header a,.top-footer a{color:inherit;text-decoration:none}
.top-page h1,.top-page h2,.top-page h3,.top-page p,.top-page dl,.top-page dd,.top-page ol{margin:0}
.top-container{width:min(1240px,calc(100% - 56px));margin-inline:auto}
.top-narrow{width:min(940px,calc(100% - 56px))}
.top-skip{position:fixed;left:16px;top:-100px;z-index:999;padding:12px 18px;background:var(--top-ink);color:#fff;text-decoration:none}.top-skip:focus{top:16px}

.top-header{position:sticky;top:0;z-index:100;border-bottom:1px solid var(--top-line);background:rgba(255,255,255,.93);backdrop-filter:blur(18px);transition:box-shadow .25s ease}
.top-header.is-scrolled{box-shadow:0 10px 34px rgba(21,26,36,.07)}
.top-header__inner{display:flex;align-items:center;min-height:78px;gap:36px}
.top-logo{display:inline-flex;align-items:center;flex:none}.top-logo img{display:block;width:auto;height:42px}
.top-nav{display:flex;gap:30px;margin-left:auto;font-size:12px;font-weight:700}.top-nav a{position:relative;padding:10px 0}.top-nav a::after{position:absolute;left:0;bottom:3px;width:0;height:2px;background:var(--top-orange);content:'';transition:width .2s ease}.top-nav a:hover::after{width:100%}
.top-header__actions{display:flex;align-items:center;gap:15px}
.top-header__phone{font:800 14px/1.2 'Montserrat',sans-serif;white-space:nowrap}.top-header__phone span{display:block;margin-bottom:3px;color:#8a9098;font-size:7px;letter-spacing:.16em}
.top-button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:58px;padding:14px 16px 14px 21px;border:1px solid var(--top-orange);background:var(--top-orange);color:#fff!important;font-size:13px;font-weight:800;transition:background .2s,border-color .2s,transform .2s}
.top-button span{display:grid;width:30px;height:30px;place-items:center;background:rgba(255,255,255,.17);font:700 15px/1 'Montserrat',sans-serif}.top-button:hover{border-color:var(--top-orange-dark);background:var(--top-orange-dark);transform:translateY(-2px)}
.top-button--small{min-height:44px;padding:7px 8px 7px 15px;gap:18px;font-size:12px}.top-button--small span{width:28px;height:28px}
.top-menu{display:none;width:44px;height:44px;padding:0;border:0;background:var(--top-ink);cursor:pointer}.top-menu span{display:block;width:18px;height:1px;margin:6px auto;background:#fff;transition:transform .2s}.top-header.is-open .top-menu span:first-child{transform:translateY(3.5px) rotate(45deg)}.top-header.is-open .top-menu span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.top-mobile-nav{display:none}
body.admin-bar .top-header{top:32px}

.top-hero{position:relative;overflow:hidden;background:var(--top-wash);isolation:isolate}
.top-hero__mesh{position:absolute;inset:0;z-index:-2;background-image:linear-gradient(rgba(21,26,36,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(21,26,36,.045) 1px,transparent 1px);background-size:32px 32px}
.top-hero::before{position:absolute;right:0;top:0;bottom:0;z-index:-1;width:1px;background:rgba(240,82,35,.28);content:''}
.top-hero__inner{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(480px,.92fr);gap:clamp(36px,5vw,72px);align-items:center;min-height:calc(100svh - 190px);padding:76px 0 64px}
.top-eyebrow{display:flex;gap:18px;align-items:center;color:var(--top-orange);font:800 9px/1 'Montserrat',sans-serif;letter-spacing:.16em}.top-eyebrow::before{width:18px;height:2px;background:var(--top-orange);content:''}.top-eyebrow b{color:#8b929c;font-size:8px}
.top-hero h1{font-size:clamp(60px,6.7vw,102px);font-weight:800;line-height:1.08;letter-spacing:-.08em}.top-hero h1 span,.top-hero h1 em{display:block;white-space:nowrap}.top-hero h1 em{position:relative;width:max-content;color:var(--top-orange);font-style:normal}.top-hero h1 em::after{position:absolute;right:-.08em;bottom:.08em;width:.11em;height:.11em;background:var(--top-ink);content:''}
.top-hero__lead{max-width:640px;margin-top:32px;color:#434c59;font-size:15px;font-weight:500;line-height:2.05}
.top-hero__actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:34px}
.top-text-link{display:inline-flex;align-items:center;gap:22px;padding:12px 0;border-bottom:1px solid var(--top-ink);font-size:12px;font-weight:800}.top-text-link span{color:var(--top-orange);font-family:'Montserrat',sans-serif}.top-text-link:hover span{transform:translate(2px,-2px)}
.top-system{position:relative;border:1px solid #3a404b;background:var(--top-ink);color:#fff;box-shadow:22px 22px 0 var(--top-orange)}
.top-system::before{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:24px 24px;content:'';pointer-events:none}
.top-system__head,.top-system__foot{position:relative;display:flex;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid rgba(255,255,255,.13);font:700 8px/1 'Montserrat',sans-serif;letter-spacing:.13em;color:#adb3bc}.top-system__head b{display:flex;align-items:center;gap:8px;color:#ff8a65;font-size:7px}.top-system__head i{width:6px;height:6px;border-radius:50%;background:#ff6c40;box-shadow:0 0 0 5px rgba(240,82,35,.12)}
.top-system__head{font-family:'Noto Sans JP',sans-serif;font-size:9px;letter-spacing:.04em}.top-system__head b{font-size:9px}
.top-system__stage{position:relative;padding:28px 22px 36px}
.top-system__labels{display:grid;grid-template-columns:1fr 1fr 1fr;gap:28px;padding-bottom:15px;border-bottom:1px solid rgba(255,255,255,.12);color:#8f97a2;font-size:9px;font-weight:700}.top-system__labels span:nth-child(2){text-align:center}.top-system__labels span:last-child{text-align:right}
.top-system__line{display:grid;grid-template-columns:1fr 34px 1fr 34px 1fr;align-items:center;gap:3px;min-height:80px;border-bottom:1px solid rgba(255,255,255,.1);font-size:11px}.top-system__line>span{color:#b8bec7}.top-system__line>strong{padding:10px 9px;border-left:2px solid var(--top-orange);background:rgba(240,82,35,.1);font-size:11px}.top-system__line>b{text-align:right;font-size:11px}.top-system__line>i{position:relative;height:1px;background:rgba(255,255,255,.24)}.top-system__line>i::after{position:absolute;right:-1px;top:-2px;border-left:4px solid #ff754c;border-top:2.5px solid transparent;border-bottom:2.5px solid transparent;content:''}
.top-system__foot{border-top:1px solid rgba(255,255,255,.13);border-bottom:0;color:#9299a3;font-family:'Noto Sans JP',sans-serif;font-size:8px;letter-spacing:.04em}.top-system__foot span:nth-child(2){color:#ff8a65}
.top-hero__rail{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border-top:1px solid var(--top-line);border-inline:1px solid var(--top-line)}
.top-hero__rail a{position:relative;display:grid;grid-template-columns:38px 1fr auto;gap:5px 14px;padding:24px 26px;border-bottom:1px solid var(--top-line);transition:background .2s}.top-hero__rail a+a{border-left:1px solid var(--top-line)}.top-hero__rail a:hover{background:var(--top-orange-pale)}
.top-hero__rail span{grid-row:1/3;color:var(--top-orange);font:800 11px/1.5 'Montserrat',sans-serif}.top-hero__rail b{font-size:14px}.top-hero__rail small{grid-column:2;color:var(--top-soft);font-size:10px}.top-hero__rail i{grid-column:3;grid-row:1/3;align-self:center;color:var(--top-orange);font-style:normal}

.top-section{padding:132px 0}.top-section-head{text-align:center}.top-section-head h2{font-size:clamp(42px,5.3vw,72px);font-weight:800;line-height:1.24;letter-spacing:-.06em;word-break:keep-all;overflow-wrap:anywhere}
.top-statement{background:#fff}.top-statement__lead{max-width:780px;margin:50px auto 0;color:#444d59;font-size:17px;line-height:2.15;text-align:center}
.top-process{display:grid;grid-template-columns:repeat(4,1fr);margin-top:76px;padding:0;border-top:1px solid #9fa6af;border-bottom:1px solid var(--top-line);list-style:none}.top-process li{position:relative;min-height:255px;padding:28px 24px 34px}.top-process li+li{border-left:1px solid var(--top-line)}.top-process li>span{color:var(--top-orange);font:800 10px/1 'Montserrat',sans-serif}.top-process h3{margin-top:52px;font-size:20px}.top-process p{margin-top:14px;color:var(--top-soft);font-size:12px;line-height:1.9}

.top-services{background:var(--top-wash)}.top-service-list{margin-top:72px;border-top:1px solid #9da4ad}.top-service{display:grid;grid-template-columns:82px minmax(230px,.75fr) 1fr 130px;gap:34px;align-items:center;padding:38px 12px;border-bottom:1px solid var(--top-line);transition:background .2s}.top-service:hover{background:#fff}.top-service__no{color:transparent;-webkit-text-stroke:1px var(--top-orange);font:800 40px/1 'Montserrat',sans-serif;letter-spacing:-.08em}.top-service h3{font-size:25px;letter-spacing:-.04em}.top-service>p{color:var(--top-soft);font-size:13px;line-height:1.95}.top-service__link{font-size:10px;font-weight:800;text-align:right}

.top-principle{position:relative;overflow:hidden;padding:150px 0;border-right:10px solid var(--top-orange);background:var(--top-ink);color:#fff}.top-principle::after{content:none}.top-principle__inner{position:relative;z-index:1;display:grid;grid-template-columns:1.08fr .92fr;gap:100px;align-items:end}.top-principle__copy h2{font-size:clamp(42px,4.2vw,60px);line-height:1.28;letter-spacing:-.06em}.top-principle__copy h2 span{display:block;white-space:nowrap}.top-principle__copy>p{max-width:640px;margin-top:28px;color:#c1c6cd;font-size:14px;line-height:2}.top-principle__copy>a{display:inline-block;margin-top:32px;border-bottom:1px solid var(--top-orange);font-size:12px;font-weight:800}.top-principle__facts{border-top:1px solid rgba(255,255,255,.28)}.top-principle__facts>div{padding:25px 4px;border-bottom:1px solid rgba(255,255,255,.18)}.top-principle__facts dt{color:#ff8059;font-size:9px;font-weight:800}.top-principle__facts dd{margin-top:8px;font-size:15px;font-weight:700}

.top-support{background:var(--top-orange);color:#fff}.top-support .top-section-head>p{color:#fff}.top-support__inner{position:relative}.top-support__inner::before{position:absolute;left:0;top:-132px;width:1px;height:92px;background:rgba(255,255,255,.65);content:''}.top-support__body{display:flex;justify-content:center;align-items:center;gap:60px;margin:48px auto 0}.top-support__body>p{max-width:620px;font-size:14px;line-height:2}.top-button--light{flex:none;border-color:#fff;background:#fff;color:var(--top-ink)!important}.top-button--light span{background:var(--top-ink);color:#fff}.top-button--light:hover{border-color:#fff;background:#fff}.top-support__note{margin-top:42px;color:rgba(255,255,255,.78);font-size:10px;text-align:center}

.top-company{background:#fff}.top-company__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:110px;align-items:start}.top-company .top-section-head{text-align:left;position:sticky;top:140px}.top-company__body>p{color:#434c58;font-size:16px;line-height:2.15}.top-company__body dl{margin:42px 0;border-top:1px solid #aeb4bc}.top-company__body dl>div{display:grid;grid-template-columns:150px 1fr;padding:20px 4px;border-bottom:1px solid var(--top-line)}.top-company__body dt{color:var(--top-orange);font-size:10px;font-weight:800}.top-company__body dd{font-size:13px;font-weight:700}

.top-news{background:var(--top-wash)}.top-news__list{margin-top:70px;border-top:1px solid #9fa6ae}.top-news__list>a{display:grid;grid-template-columns:120px 110px 1fr 24px;gap:24px;align-items:center;padding:26px 8px;border-bottom:1px solid var(--top-line);transition:background .2s}.top-news__list>a:hover{background:#fff}.top-news__list time,.top-news__list>a>span{font:700 9px/1.4 'Montserrat',sans-serif;color:#777f89;letter-spacing:.07em}.top-news__list h3{font-size:14px;line-height:1.7}.top-news__list i{color:var(--top-orange);font-style:normal}.top-news__empty{display:flex;gap:30px;padding:32px 8px;border-bottom:1px solid var(--top-line);font-size:13px}.top-news__empty span{color:var(--top-orange);font:800 9px/1.7 'Montserrat',sans-serif}.top-news__more{margin-top:32px}

.top-contact{position:relative;overflow:hidden;padding:120px 0;border-top:8px solid var(--top-orange);background:var(--top-wash);isolation:isolate}.top-contact__grid{position:absolute;inset:0;z-index:-1;display:grid;grid-template-columns:repeat(4,1fr)}.top-contact__grid span{border-left:1px solid rgba(21,26,36,.055)}.top-contact__grid span:last-child{border-right:1px solid rgba(21,26,36,.055)}.top-contact::after{content:none}.top-contact__inner{display:grid;grid-template-columns:1fr auto;gap:80px;align-items:end}.top-contact h2{font-size:clamp(44px,5.4vw,72px);line-height:1.22;letter-spacing:-.06em}.top-contact__inner>div>span{display:block;margin-top:26px;color:var(--top-soft);font-size:14px}.top-contact__actions{display:grid;gap:14px;min-width:300px}.top-button--dark{border-color:var(--top-ink);background:var(--top-ink)}.top-button--dark:hover{border-color:#000;background:#000}.top-contact__phone{padding:15px 18px;border:1px solid rgba(21,26,36,.5);background:rgba(255,255,255,.72);font:800 20px/1.3 'Montserrat',sans-serif}.top-contact__phone small{display:block;margin-bottom:4px;color:#757d87;font-size:7px;letter-spacing:.12em}

.top-footer{padding:72px 0 26px;background:#fff;border-top:1px solid var(--top-line)}.top-footer__main{display:flex;justify-content:space-between;gap:80px}.top-footer__main>div>p{margin:22px 0 0;color:var(--top-soft);font-size:11px;line-height:1.9}.top-footer__main nav{display:grid;grid-template-columns:repeat(2,minmax(130px,1fr));gap:14px 50px;font-size:12px;font-weight:700}.top-footer__main nav a{border-bottom:1px solid var(--top-line);padding-bottom:9px}.top-footer__main nav a:hover{color:var(--top-orange)}.top-footer__bottom{display:flex;justify-content:space-between;gap:40px;margin-top:60px;padding-top:20px;border-top:1px solid var(--top-line);color:#858c95;font-size:9px;line-height:1.7}.top-footer__bottom p{margin:0}.top-footer__bottom span{font-family:'Montserrat',sans-serif;white-space:nowrap}

.top-reveal{opacity:0;transform:translateY(22px);transition:opacity .72s ease,transform .72s cubic-bezier(.2,.75,.2,1)}.top-reveal.is-visible{opacity:1;transform:none}

@media(max-width:1080px){.top-nav,.top-header__phone{display:none}.top-menu{display:block}.top-mobile-nav{position:fixed;left:0;right:0;top:78px;display:grid;padding:20px 28px 30px;border-bottom:1px solid var(--top-line);background:#fff;opacity:0;visibility:hidden;transform:translateY(-10px);transition:.2s}.top-mobile-nav a{display:flex;gap:20px;padding:17px 0;border-bottom:1px solid var(--top-line);font-size:15px;font-weight:800}.top-mobile-nav a span{color:var(--top-orange);font:800 9px/1.8 'Montserrat',sans-serif}.top-header.is-open .top-mobile-nav{opacity:1;visibility:visible;transform:none}.top-hero__inner{grid-template-columns:1fr;min-height:auto;padding:92px 0 70px}.top-hero__copy{max-width:880px}.top-system{width:min(720px,calc(100% - 24px));margin-left:auto}.top-process{grid-template-columns:repeat(2,1fr)}.top-process li:nth-child(3){border-left:0;border-top:1px solid var(--top-line)}.top-process li:nth-child(4){border-top:1px solid var(--top-line)}.top-service{grid-template-columns:70px 1fr 110px}.top-service>p{grid-column:2/4}.top-principle__inner{grid-template-columns:1fr;gap:70px}.top-principle__facts{max-width:680px}.top-contact::after{right:-28vw}.top-company__grid{gap:70px}}
@media(max-width:760px){.top-container,.top-narrow{width:min(100% - 36px,1240px)}.top-header__inner{min-height:70px}.top-logo img{height:36px}.top-button--small{display:none}.top-mobile-nav{top:70px}body.admin-bar .top-header{top:46px}.top-hero__inner{padding:68px 0 54px}.top-hero h1{font-size:clamp(50px,15vw,76px)}.top-hero__lead{font-size:14px}.top-system{width:100%;margin:0;box-shadow:10px 10px 0 var(--top-orange)}.top-system__head{padding:16px}.top-system__stage{padding:22px 14px 28px}.top-system__labels{gap:8px}.top-system__line{grid-template-columns:1fr 18px 1fr 18px 1fr;min-height:72px;font-size:9px}.top-system__line>strong,.top-system__line>b{font-size:9px}.top-system__foot{padding:15px 14px;font-size:6px}.top-hero__rail{grid-template-columns:1fr}.top-hero__rail a+a{border-left:0}.top-section{padding:88px 0}.top-section-head h2{font-size:clamp(36px,11vw,52px)}.top-statement__lead{font-size:15px;text-align:left}.top-process{grid-template-columns:1fr}.top-process li{display:grid;grid-template-columns:36px 1fr;min-height:0;padding:26px 4px}.top-process li+li,.top-process li:nth-child(3),.top-process li:nth-child(4){border-top:1px solid var(--top-line);border-left:0}.top-process small{margin-top:0}.top-service{grid-template-columns:50px 1fr;padding:28px 4px;gap:20px}.top-service>p,.top-service__link{grid-column:2}.top-service__link{text-align:left}.top-service__no{font-size:30px}.top-principle{padding:100px 0}.top-principle__copy h2{font-size:clamp(36px,11vw,52px)}.top-support__body{display:grid;gap:30px}.top-support__note{text-align:left;line-height:1.8}.top-company__grid{grid-template-columns:1fr;gap:46px}.top-company .top-section-head{position:static;text-align:center}.top-company__body>p{font-size:14px}.top-company__body dl>div{grid-template-columns:105px 1fr}.top-news__list{margin-top:48px}.top-news__list>a{grid-template-columns:92px 1fr 20px;gap:10px}.top-news__list>a>span{grid-column:2}.top-news__list h3{grid-column:1/3}.top-news__list i{grid-column:3;grid-row:1/4}.top-contact{padding:90px 0}.top-contact::after{right:-75vw;bottom:-22vw;width:110vw;height:110vw;opacity:.15}.top-contact__inner{grid-template-columns:1fr;gap:42px}.top-contact h2{font-size:clamp(38px,11vw,54px)}.top-contact__actions{min-width:0;width:100%}.top-footer__main{display:grid}.top-footer__main nav{grid-template-columns:1fr 1fr}.top-footer__bottom{display:grid;margin-top:48px}.top-eyebrow b{display:none}}
@media(max-width:782px){body.admin-bar .top-mobile-nav{top:116px}}
@media(max-width:760px){.top-hero h1{font-size:clamp(43px,12vw,62px)}.top-process h3{margin-top:0}.top-system__foot{font-size:7px}.top-principle__copy h2{font-size:clamp(31px,8.7vw,42px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.top-reveal{opacity:1;transform:none;transition:none}.top-button,.top-nav a::after{transition:none}}
