:root{color:#000;background:#fff;font-family:Hiragino Kaku Gothic ProN,Yu Gothic,YuGothic,Noto Sans JP,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{overflow-x:hidden}.site-shell{position:relative;width:100%;min-height:100vh;overflow-x:hidden;background:#fff;isolation:isolate}.brand-header{position:fixed;z-index:4;top:20px;left:20px;display:flex;align-items:center;gap:34px}.brand-header__home{display:block;color:inherit;text-decoration:none}.brand-header__logo{display:block;width:276px;max-width:42vw;height:auto}.site-nav{display:flex;align-items:center;gap:28px}.site-nav__link{position:relative;color:#000;font-size:.95rem;font-weight:400;letter-spacing:0;line-height:1;text-decoration:none}.site-nav__link:focus-visible,.site-footer__brand:focus-visible,.site-footer__nav a:focus-visible,.brand-header__home:focus-visible{border-radius:2px;outline:1px solid #000;outline-offset:4px}.site-nav__link:after{position:relative;bottom:-6px;left:0;display:block;width:100%;height:1px;background:currentColor;content:"";opacity:0;transform:scaleX(.35);transform-origin:left center;transition:opacity .18s ease,transform .18s ease}.site-nav__link:hover:after,.site-nav__link[aria-current=page]:after{opacity:1;transform:scaleX(1)}.page-content{position:relative;z-index:2}.phrase-section{position:relative;display:flex;min-height:100vh;min-height:100svh;align-items:flex-start;justify-content:flex-start;padding:164px max(48px,12vw) 170px}.intro-block{width:min(100%,920px);opacity:0;transform:translateY(20px);transition:opacity 1.1s ease,transform 1.1s ease}.intro-block.is-visible{opacity:1;transform:translateY(0)}.hero__title{display:flex;max-width:min(100%,900px);margin:0;flex-wrap:wrap;align-items:baseline;justify-content:flex-start;column-gap:.72em;row-gap:.1em;font-size:3.25rem;font-weight:300;letter-spacing:0;line-height:1.28;text-align:left;word-break:keep-all}.hero__lead{display:grid;max-width:840px;margin:34px 0 0;gap:.32em;color:#000000db;font-size:1.55rem;font-weight:300;letter-spacing:0;line-height:1.72;overflow-wrap:anywhere}.hero__lead span{display:block}.business-section{margin-top:98px}.business-section__heading{display:flex;align-items:baseline;gap:18px;margin-bottom:22px}.business-section__eyebrow,.business-section__heading h2{margin:0;font-weight:300;letter-spacing:0}.business-section__eyebrow{color:#00000094;font-size:.86rem;line-height:1}.business-section__heading h2{font-size:1.5rem;line-height:1.2}.business-card{display:grid;min-height:238px;grid-template-columns:minmax(240px,.82fr) 1fr;color:#000;text-decoration:none}.business-card:focus-visible{border-radius:2px;outline:1px solid #000;outline-offset:6px}.business-card__visual{position:relative;display:grid;min-height:238px;place-items:center;overflow:hidden;border:1px solid rgba(0,0,0,.82);background:#fff}.business-card__logo{display:block;width:min(42%,132px);min-width:86px;height:auto}.business-card__body{display:flex;min-width:0;flex-direction:column;justify-content:center;border:solid rgba(0,0,0,.82);border-width:1px 1px 1px 0;padding:42px 48px}.business-card__name{display:block;font-size:2rem;font-weight:300;letter-spacing:0;line-height:1.2}.business-card__description{display:block;margin-top:18px;color:#000000c7;font-size:1.55rem;font-weight:300;letter-spacing:0;line-height:1.6}.line-field{position:fixed;z-index:1;inset:0;pointer-events:none}.line-field__runner{position:absolute;display:block;animation-delay:var(--line-delay);animation-duration:var(--line-duration);animation-name:line-rise;animation-timing-function:linear;animation-iteration-count:infinite;animation-fill-mode:both;transform:translate3d(calc(var(--line-travel) * -1),var(--line-travel),0);will-change:transform}.line-field__line{position:relative;display:block;width:var(--line-length);height:1px;opacity:var(--line-opacity);transform:rotate(-45deg);transform-origin:center}.line-field__line:before{position:absolute;inset:0;display:block;animation-delay:var(--line-delay);animation-duration:var(--line-duration);animation-name:line-shrink;animation-timing-function:linear;animation-iteration-count:infinite;animation-fill-mode:both;background:#000;content:"";transform:scaleX(1);transform-origin:center;will-change:transform}@keyframes line-rise{0%{transform:translate3d(calc(var(--line-travel) * -1),var(--line-travel),0)}to{transform:translate3d(var(--line-travel),calc(var(--line-travel) * -1),0)}}@keyframes line-shrink{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes phrase-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.empty-page{min-height:100vh;min-height:100svh}.business-page{min-height:100vh;min-height:100svh;padding:150px max(28px,8vw) 120px}.business-page__inner{width:min(100%,1080px);background:#fff}.business-page__header{padding-bottom:46px}.business-page__eyebrow{margin:0 0 16px;color:#0000008f;font-size:.9rem;font-weight:300;letter-spacing:0;line-height:1.2}.business-page h1{margin:0;font-size:clamp(2.8rem,7vw,6rem);font-weight:300;letter-spacing:0;line-height:1.08}.business-page__lead{width:min(100%,760px);border-top:1px solid rgba(0,0,0,.78);padding-top:34px}.business-page__lead p{margin:0;color:#000000d6;font-size:1.22rem;font-weight:300;letter-spacing:0;line-height:1.9}.service-list{margin-top:94px}.service-panel{border-top:1px solid rgba(0,0,0,.78);padding-top:32px}.service-panel__meta{display:flex;align-items:center;justify-content:space-between;color:#00000094;font-size:.9rem;font-weight:300;letter-spacing:0;line-height:1.2}.service-panel__content{display:grid;grid-template-columns:minmax(280px,.84fr) 1fr;gap:64px;padding-top:34px}.service-panel__visual{display:grid;min-height:360px;place-items:center;border:1px solid rgba(0,0,0,.82);background:#fff}.service-panel__visual img{display:block;width:min(42%,170px);min-width:120px;height:auto}.service-panel__body{display:flex;min-width:0;flex-direction:column;justify-content:center}.service-panel__name{margin:0 0 24px;color:#0000008f;font-size:1rem;font-weight:300;letter-spacing:0;line-height:1.4}.service-panel h2{margin:0;font-size:clamp(2rem,4.5vw,4.2rem);font-weight:300;letter-spacing:0;line-height:1.18;overflow-wrap:anywhere}.service-panel__body p:last-child{margin:34px 0 0;color:#000000d1;font-size:1.08rem;font-weight:300;letter-spacing:0;line-height:1.9;overflow-wrap:anywhere}.company-page{min-height:100vh;min-height:100svh;padding:150px max(28px,8vw) 120px}.company-page__inner{width:min(100%,980px);background:#fff}.company-page__header{padding-bottom:48px}.company-page__eyebrow{margin:0 0 16px;color:#0000008f;font-size:.9rem;font-weight:300;letter-spacing:0;line-height:1.2}.company-page h1{margin:0;font-size:clamp(2.24rem,5.6vw,4.8rem);font-weight:300;letter-spacing:0;line-height:1.08}.company-profile{margin:0;border-top:1px solid rgba(0,0,0,.78)}.company-profile__row{display:grid;grid-template-columns:minmax(160px,.34fr) 1fr;gap:48px;border-bottom:1px solid rgba(0,0,0,.2);padding:34px 0}.company-profile dt,.company-profile dd{margin:0;font-weight:300;letter-spacing:0;line-height:1.8}.company-profile dt{color:#00000094;font-size:.96rem}.company-profile dd{color:#000;font-size:1.18rem;overflow-wrap:anywhere}.policy-page{min-height:100vh;min-height:100svh;padding:150px max(28px,8vw) 120px}.policy-page__inner{width:min(100%,920px);background:#fff}.policy-page__header{border-bottom:1px solid rgba(0,0,0,.22);padding-bottom:38px}.policy-page__eyebrow{margin:0 0 16px;color:#0000008f;font-size:.9rem;font-weight:300;letter-spacing:0;line-height:1.2}.policy-page h1{margin:0;font-size:clamp(2.2rem,5vw,4.6rem);font-weight:300;letter-spacing:0;line-height:1.18;overflow-wrap:anywhere}.policy-page__body{padding-top:46px}.policy-page p,.policy-page li,.policy-contact{color:#000000d6;font-size:1rem;font-weight:300;letter-spacing:0;line-height:1.96}.policy-page p{margin:0}.policy-page p+p{margin-top:1em}.policy-article{margin-top:56px;border-top:1px solid rgba(0,0,0,.14);padding-top:44px}.policy-article h2{margin:0 0 22px;font-size:1.55rem;font-weight:300;letter-spacing:0;line-height:1.45}.policy-subsection{margin-top:34px}.policy-subsection h3{margin:0 0 14px;font-size:1.08rem;font-weight:400;letter-spacing:0;line-height:1.5}.policy-page ul{display:grid;margin:18px 0 0;padding-left:1.25em;gap:.16em}.policy-page li::marker{font-size:.78em}.policy-contact{display:grid;margin:22px 0 0;gap:10px}.policy-contact div{display:grid;grid-template-columns:9em 1fr;gap:16px}.policy-contact dt,.policy-contact dd{margin:0}.policy-contact dt{color:#00000094}.policy-contact a{color:#000;text-decoration:underline;text-underline-offset:5px}.policy-page__date{margin-top:56px;border-top:1px solid rgba(0,0,0,.14);padding-top:34px}.site-footer{position:relative;z-index:2;border-top:1px solid rgba(0,0,0,.16);background:#fff;padding:72px max(32px,6vw) 46px;scroll-margin-top:120px}.site-footer__inner{display:grid;width:100%;grid-template-columns:minmax(180px,276px) 1fr;gap:56px}.site-footer__brand{display:block;width:fit-content;color:inherit;text-decoration:none}.site-footer__logo{display:block;width:220px;max-width:100%;height:auto}.site-footer__columns{display:flex;min-width:0;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:64px}.site-footer__nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:16px 32px}.site-footer__nav a{color:#000;font-size:.92rem;letter-spacing:0;line-height:1.5;text-decoration:none}.site-footer__nav a:hover{text-decoration:underline;text-underline-offset:5px}.site-footer__copyright{color:#000000b8;font-size:.78rem;line-height:1.5}@media(max-width:980px){.service-panel__content{grid-template-columns:1fr;gap:42px}.service-panel__visual{min-height:300px}.service-panel h2{font-size:clamp(2.2rem,7vw,4rem)}}@media(max-width:720px){.brand-header{top:20px;left:20px;right:20px;gap:20px;justify-content:space-between}.brand-header__logo{width:188px;max-width:48vw}.site-nav{gap:18px}.site-nav__link{font-size:.86rem}.phrase-section{min-height:auto;padding:138px 28px 128px}.hero__title{max-width:420px;column-gap:.45em;font-size:2rem;line-height:1.45}.hero__title span{display:block;width:100%}.hero__lead{margin-top:28px;font-size:1rem;line-height:1.78}.hero__lead span{display:inline}.business-section{margin-top:72px}.business-section__heading{gap:14px;margin-bottom:18px}.business-section__heading h2{font-size:1.16rem}.business-card{min-height:0;grid-template-columns:1fr}.business-card__visual{min-height:184px}.business-card__logo{width:min(36%,106px);min-width:72px}.business-card__body{border-width:0 1px 1px;padding:30px 28px 34px}.business-card__name{font-size:1.4rem}.business-card__description{margin-top:12px;font-size:1rem;line-height:1.7}.site-footer{padding:56px 28px 34px}.site-footer__inner{grid-template-columns:1fr;gap:46px}.site-footer__logo{width:188px}.site-footer__columns{align-items:flex-start;gap:54px}.site-footer__nav{justify-content:flex-start;gap:14px 24px}.business-page{padding:126px 28px 84px}.business-page__header{padding-bottom:34px}.business-page h1{font-size:clamp(2.4rem,13vw,3.7rem)}.business-page__lead{padding-top:28px}.business-page__lead p{font-size:1rem;line-height:1.8}.service-list{margin-top:68px}.service-panel{padding-top:26px}.service-panel__content{grid-template-columns:1fr;gap:32px;padding-top:28px}.service-panel__visual{min-height:220px}.service-panel__visual img{width:min(34%,116px);min-width:84px}.service-panel__name{margin-bottom:16px}.service-panel h2{font-size:clamp(1.8rem,9vw,2.8rem)}.service-panel__body p:last-child{margin-top:24px;font-size:.96rem;line-height:1.85}.company-page{padding:126px 28px 84px}.company-page__header{padding-bottom:34px}.company-page h1{font-size:clamp(1.92rem,10.4vw,2.96rem)}.company-profile__row{grid-template-columns:1fr;gap:8px;padding:26px 0}.company-profile dt{font-size:.86rem}.company-profile dd{font-size:1rem;line-height:1.75}.policy-page{padding:126px 24px 84px}.policy-page h1{font-size:clamp(1.88rem,11vw,2.7rem)}.policy-page__header{padding-bottom:30px}.policy-page__body{padding-top:36px}.policy-page p,.policy-page li,.policy-contact{font-size:.92rem;line-height:1.9}.policy-article{margin-top:44px;padding-top:34px}.policy-article h2{font-size:1.28rem}.policy-contact div{grid-template-columns:1fr;gap:0}}@media(prefers-reduced-motion:reduce){.intro-block,.line-field__runner,.line-field__line:before{animation:none;transition:none}.intro-block{opacity:1;transform:none}}
