@charset "UTF-8";
:root{--paper:#ffffff;--ink:#111111;--accent:#111111;--line:#cccccc;--sans:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;--mono:"SFMono-Regular",Consolas,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}::selection{color:var(--paper);background:var(--ink)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid currentColor;outline-offset:7px}.skip{position:fixed;top:-80px;left:20px;z-index:100;background:var(--ink);color:white;padding:14px}.skip:focus{top:12px}.header{height:114px;margin:0 4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:13px;font-size:32px;font-weight:750;letter-spacing:-1.6px}.brand-symbol{width:39px;height:39px;fill:currentColor}.brand-period{color:var(--accent)}.header nav{display:flex;gap:34px;font-size:14px;font-weight:600}.header nav a{padding:10px 0;position:relative}.header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:2px;background:var(--accent);transition:right .25s}.header nav a:hover:after{right:0}.header-note{font-family:var(--mono);font-size:12px;line-height:1.4}.hero{padding:25px 4% 0}.hero-meta,.hero-bottom{display:flex;justify-content:space-between;font:12px var(--mono);letter-spacing:.045em}.hero-content{display:grid;grid-template-columns:1fr 1fr;gap:4%;padding:45px 0 38px;min-height:660px;align-items:center}.hero-copy{padding:0 0 15px 2.8%}.eyebrow{display:flex;gap:12px;align-items:center;font-size:14px;font-weight:600;letter-spacing:.1em}.tiny-cross{font-size:24px;color:var(--accent);font-weight:400}.hero h1{font-size:clamp(48px,6.15vw,100px);letter-spacing:-.07em;line-height:1.3;margin:22px 0 25px;font-weight:800}.accent{color:var(--accent)}.hero-copy p{font-size:16px;line-height:2;letter-spacing:.05em;margin:0 0 28px}.circle-link{display:inline-flex;align-items:center;gap:17px;font-size:14px;font-weight:600}.circle-arrow{height:48px;width:48px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:25px;transition:background .2s,color .2s,transform .2s}.circle-link:hover .circle-arrow{background:var(--ink);color:var(--paper);transform:rotate(45deg)}.hero-art{height:570px;background:#141414;position:relative;overflow:hidden;display:grid;place-items:center}.hero-art img{width:100%;height:100%;object-fit:cover}.hero-art .legacy-art{width:70%;height:auto;filter:invert(1)}.art-label{position:absolute;bottom:24px;left:24px;color:#eeeeee;font:12px/1.5 var(--mono);letter-spacing:.03em}.art-index{position:absolute;right:24px;top:24px;color:#eeeeee;font:12px var(--mono)}.hero-bottom{padding:18px 0 25px;border-top:1px solid var(--line)}.hero-bottom a{display:flex;align-items:center;gap:25px}.hero-bottom a span{font-size:22px}
.brand img{width:228px;height:auto;display:block}.hero-art img{object-position:64% center}.section{padding:105px 6.6%}.section-kicker{display:flex;justify-content:space-between;font:12px var(--mono);letter-spacing:.04em;border-top:1px solid var(--line);padding-top:20px}.section-kicker>span:last-child{font:14px var(--sans);letter-spacing:.05em}.approach-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:10%;margin-top:65px}h2{font-size:clamp(30px,3vw,49px);line-height:1.7;letter-spacing:-.055em;margin:0;font-weight:700}.approach-copy p{font-size:16px;line-height:2.15;margin:0 0 23px}.branch-statement{font-size:clamp(100px,19.7vw,350px);line-height:.83;font-weight:850;letter-spacing:-.085em;margin:95px 0 10px;display:flex;flex-direction:column;white-space:nowrap}.statement-second{padding-left:27%;display:flex;align-items:flex-end}.statement-dot{color:var(--accent)}.statement-note{font-size:16px;font-weight:500;letter-spacing:.07em;line-height:1.6;margin:0 0 9px 8%}.services{background:var(--ink);color:var(--paper)}.services .section-kicker{border-color:#4b4b4b}.services-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin:60px 0}.services-heading p{margin:0 0 8px;line-height:1.9;font-size:16px;color:#bcbcbc}.service{border-top:1px solid #555555;padding:0 1%}.service:last-child{border-bottom:1px solid #555555}.service summary{display:grid;grid-template-columns:60px 1fr 36px;align-items:center;gap:10px;cursor:pointer;list-style:none;padding:33px 0}.service summary::-webkit-details-marker{display:none}.service-number{font:13px var(--mono);align-self:start;margin-top:13px;color:#bcbcbc}.service-name{font-size:clamp(30px,4.4vw,72px);line-height:1.1;letter-spacing:-.045em}.service-name small{display:block;font-size:14px;line-height:1.5;letter-spacing:.03em;margin-top:13px;color:#cfcfcf;font-weight:400}.service-toggle{height:30px;width:30px;position:relative}.service-toggle:before,.service-toggle:after{content:"";position:absolute;background:var(--paper);left:0;top:14px;width:26px;height:1px;transition:transform .3s}.service-toggle:after{transform:rotate(90deg)}.service[open] .service-toggle:after{transform:rotate(0)}.service summary:hover .service-name{color:var(--paper);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:8px}.service-body{margin:0 46px 36px 70px;display:flex;justify-content:space-between;align-items:end;gap:35px}.service-body p{margin:0;font-size:16px;line-height:2;color:#dadada}.service-tags{font-size:12px;line-height:1.8;color:#bcbcbc;max-width:255px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;margin:65px 0 30px}.about-grid>div>p{margin-top:34px;font-size:15px}.company-table{margin:5px 0 0}.company-table>div{display:grid;grid-template-columns:105px 1fr;border-bottom:1px solid var(--line);padding:26px 0;gap:20px}.company-table>div:first-child{padding-top:12px}dt{font-size:14px;color:#555555}dd{font-size:15px;line-height:1.7;margin:0}.closing{background:var(--ink);color:var(--paper);padding:40px 6.6% 30px}.closing-kicker{font:12px var(--mono)}.closing>p{font-size:clamp(38px,9.1vw,150px);font-weight:800;letter-spacing:-.07em;margin:42px 0 57px}.closing>p span{color:var(--paper)}.closing-bottom{border-top:1px solid #555555;display:flex;justify-content:space-between;padding-top:22px;font:12px var(--mono)}.closing-bottom a{display:flex;align-items:center;gap:30px}.closing-bottom a span{font-size:20px}.footer{border-top:1px solid #444444;background:var(--ink);color:var(--paper);padding:40px 4%;display:flex;align-items:center;gap:30px}.footer img{display:block;width:220px;max-width:100%;height:auto;filter:invert(1)}.footer>span{font-size:13px}.footer small{margin-left:auto;font:12px var(--mono)}
@media(min-width:1650px){.hero-content{max-width:1650px;margin:auto}.hero-art{height:640px}}
@media(max-width:900px){.header{height:90px}.header-note{display:none}.header nav{gap:18px;font-size:14px}.brand{font-size:28px}.brand img{width:200px}.hero-content{gap:25px;min-height:540px}.hero-art{height:480px}.hero-copy{padding-left:0}.hero h1{font-size:7vw}.hero-copy p{font-size:16px}.hero-meta{font-size:12px}.section{padding:75px 5%}.approach-grid{gap:5%}.approach-copy br{display:none}.service-body{display:block}.service-tags{display:block;margin-top:20px}.footer{gap:18px}.footer>span{display:none}}
@media(max-width:600px){.header{height:auto;min-height:102px;flex-wrap:wrap;gap:0;align-content:center;justify-content:center;padding:12px 0}.brand img{width:185px}.header nav{width:100%;justify-content:center;gap:24px;font-size:13px;margin-top:7px}.header nav a{padding:5px 0}.hero{padding-top:18px}.hero-meta{font-size:12px;letter-spacing:0}.hero-meta>span:last-child{display:none}.hero-content{grid-template-columns:1fr;padding:34px 0 24px;gap:30px}.hero-copy{padding:0 3%}.hero h1{font-size:clamp(48px,13.5vw,80px);margin:16px 0 20px;letter-spacing:-.055em}.eyebrow{font-size:14px}.hero-copy p{font-size:16px;line-height:1.9;margin-bottom:20px}.hero-art{height:380px}.hero-bottom{font-size:12px;gap:20px}.hero-bottom>span{max-width:135px;line-height:1.5}.hero-bottom a{gap:12px}.art-label{font-size:12px}.section{padding:60px 6%}.section-kicker{font-size:12px}.section-kicker>span:last-child{font-size:14px}.approach-grid{grid-template-columns:1fr;gap:28px;margin-top:35px}h2{font-size:29px;line-height:1.65}.approach-copy p{font-size:16px;line-height:2}.branch-statement{font-size:21vw;margin:55px 0 0}.statement-second{padding-left:20%}.statement-note{font-size:12px;margin:0 0 2px 7%}.services-heading{display:block;margin:35px 0}.services-heading p{margin-top:24px}.service summary{grid-template-columns:24px minmax(0,1fr) 22px;gap:8px;padding:29px 0}.service-number{margin-top:7px;font-size:12px}.service-name{font-size:clamp(23px,7.2vw,38px)}.service-name small{font-size:14px}.service-toggle:before,.service-toggle:after{width:20px}.service-body{margin:0 0 30px 32px}.service-body p{font-size:16px}.service-body p br{display:none}.service-tags{font-size:12px}.about-grid{grid-template-columns:1fr;margin-top:35px;gap:24px}.company-table>div{grid-template-columns:80px 1fr;padding:22px 0;gap:15px}.closing{padding:30px 6%}.closing>p{font-size:10vw;margin:34px 0}.closing-bottom{font-size:12px;gap:10px}.closing-bottom a{gap:10px}.footer{flex-direction:column;align-items:start;padding:30px 6%;gap:16px}.footer img{width:190px}.footer small{margin-left:0;font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.header-contact{font-size:14px;font-weight:600;border-bottom:1px solid var(--ink);padding:10px 0;white-space:nowrap}.header-contact span{margin-left:20px}.company-en{font-size:13px;color:#656565}.about-grid>div>p{line-height:1.9}.closing>h2{font-size:clamp(32px,5.4vw,88px);font-weight:750;letter-spacing:-.065em;margin:34px 0 35px;line-height:1.4}.contact-grid{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-bottom:54px}.contact-grid>p{font-size:16px;line-height:1.9;margin:0}.email-link{font-size:clamp(24px,3.2vw,50px);letter-spacing:-.04em;line-height:1.5}.email-link>span{display:inline-block;margin-left:18px;transition:transform .2s}.email-link:hover>span{transform:translate(5px,-5px)}.email-link small{display:block;font-size:13px;font-weight:500;letter-spacing:.04em;margin-top:7px}.service-name{font-size:clamp(27px,3.8vw,64px)}
@media(max-width:900px){.header{gap:18px}.header nav{gap:15px;font-size:13px}.brand img{width:190px}.header-contact{font-size:13px}.header-contact span{margin-left:7px}.contact-grid{gap:25px}.contact-grid>p{font-size:15px}.email-link{font-size:25px}}
@media(max-width:600px){.header{justify-content:space-between;gap:5px;padding:14px 2% 11px}.header nav{order:3;gap:27px;margin-top:6px;font-size:13px}.brand img{width:170px}.header-contact{font-size:12px}.hero-meta{font-size:12px}.eyebrow{font-size:13px;letter-spacing:.025em}.service-name{font-size:clamp(20px,6vw,32px);overflow-wrap:break-word}.closing>h2{font-size:7.7vw;letter-spacing:-.05em;margin:30px 0}.contact-grid{display:block;padding-bottom:30px}.contact-grid>p{font-size:16px}.email-link{display:inline-block;font-size:27px;margin-top:28px}.email-link>span{margin-left:8px}.company-table dd br{display:none}}
.contact-grid{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);align-items:start;gap:7%;padding-bottom:70px}.contact-grid>p{padding-top:4px}.contact-form-wrap{min-width:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field{margin-bottom:25px}.field label{display:flex;justify-content:space-between;align-items:center;font-size:14px;line-height:1.5;margin-bottom:11px}.field label>span{font-size:12px;color:#bcbcbc}.field input,.field select,.field textarea{display:block;width:100%;border:1px solid #777;background:transparent;color:#fff;font:400 16px/1.65 var(--sans);border-radius:0;padding:12px 14px;outline-offset:3px;min-height:50px}.field textarea{resize:vertical;min-height:165px}.field select option{color:#111;background:#fff}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #fff;border-color:#fff}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-width:2px}.field-help{display:flex;justify-content:space-between;gap:12px;font-size:12px;line-height:1.7;color:#bcbcbc;margin-top:9px}.privacy-note{font-size:13px;line-height:1.9;color:#ccc;margin:28px 0 18px}.consent-label{display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.7;cursor:pointer}.consent-label input{flex:none;width:19px;height:19px;margin:3px 0 0;accent-color:#fff}.bot-field{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.form-status{font-size:14px;line-height:1.8;margin:18px 0;min-height:0}.form-status:empty{display:none}.submit-button{margin-top:27px;background:#fff;color:#111;border:1px solid #fff;padding:17px 22px;width:100%;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:15px;font-weight:600;transition:background .2s,color .2s}.submit-button>span:last-child{font-size:23px;line-height:1}.submit-button:hover{background:#111;color:#fff}.submit-button:disabled{opacity:.6;cursor:wait}.form-success{border-top:1px solid #777;padding-top:25px}.form-success[hidden]{display:none}.success-label{font:13px var(--mono);letter-spacing:.08em}.form-success h3{font-size:32px;line-height:1.6;margin:25px 0}.form-success p:not(.success-label){font-size:16px;line-height:1.9}.form-success #contact-receipt{font:13px var(--mono);margin-top:28px}
@media(max-width:800px){.contact-grid{grid-template-columns:1fr;gap:36px}.contact-grid>p{font-size:16px}.contact-form-wrap{width:100%;max-width:650px}.closing>h2{font-size:clamp(29px,6.5vw,56px)}}
@media(max-width:440px){.form-row{grid-template-columns:1fr;gap:0}.field-help{font-size:12px;gap:8px}.field input,.field select,.field textarea{font-size:16px}.form-success h3{font-size:28px}.company-table dd br{display:initial}}

/* Crebox service introduction */
.crebox{background:#f3f3f3}
.crebox-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:7%;margin-top:58px}
.crebox-visual{margin:0;min-width:0}
.crebox-visual>img{display:block;width:100%;height:auto}
.crebox-visual figcaption{margin-top:15px;color:#666;font:12px/1.5 var(--mono);letter-spacing:.035em}
.crebox-copy{min-width:0}
.crebox-identity{display:flex;align-items:center;justify-content:space-between;gap:20px}
.crebox-identity h2{line-height:1;min-width:0}
.crebox-identity img{display:block;width:clamp(170px,18vw,270px);max-width:100%;height:auto}
.crebox-status{flex-shrink:0;border:1px solid #aaa;padding:7px 10px;font-size:13px;line-height:1.4}
.crebox-headline{font-size:clamp(25px,2.35vw,38px);line-height:1.65;font-weight:600;letter-spacing:-.04em;margin:33px 0 20px}
.crebox-description{font-size:16px;line-height:2;margin:0;text-wrap:pretty}
.crebox-link{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:54px;border-bottom:1px solid #111;padding:12px 0;margin-top:23px;font-size:14px;font-weight:600}
.crebox-link>span:last-child{font-size:23px;transition:transform .2s}
.crebox-link:hover>span:last-child{transform:translate(3px,-3px)}
.crebox-features{list-style:none;padding:0;margin:60px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #ccc}
.crebox-features li{display:flex;align-items:baseline;gap:20px;padding:27px 24px 0 0}
.crebox-feature-number{font:12px var(--mono);color:#666}
.crebox-features h3{font-size:19px;font-weight:600;letter-spacing:.03em;margin:0 0 12px}
.crebox-features p{font-size:16px;line-height:1.85;margin:0}
@media(max-width:1100px){.crebox-grid{gap:5%}.crebox-identity{flex-wrap:wrap;gap:14px}.crebox-features li{gap:13px;padding-right:20px}.crebox-features p br{display:none}}
@media(max-width:760px){.crebox-grid{grid-template-columns:1fr;gap:33px;margin-top:38px}.crebox-copy{order:-1}.crebox-identity{flex-wrap:nowrap;gap:16px}.crebox-identity img{width:210px}.crebox-headline{font-size:clamp(24px,5.6vw,36px);margin-top:27px}.crebox-link{margin-top:21px}.crebox-visual figcaption{font-size:12px}.crebox-features{grid-template-columns:1fr;margin-top:35px}.crebox-features li{padding:23px 0;border-bottom:1px solid #ccc;gap:26px}.crebox-features h3{margin-bottom:7px}.crebox-features p br{display:initial}}
@media(max-width:360px){.crebox-identity img{width:172px}.crebox-status{font-size:12px;padding:6px 8px}.crebox-link{font-size:13px;gap:10px}.crebox-features p br{display:none}}

/* Fullscreen main visual */
.header--on-film{position:absolute;z-index:20;top:0;left:0;right:0;height:110px;color:#fff;border-color:#ffffff35}
.header--on-film .brand img{filter:invert(1)}
.header--on-film nav a:after{background:#fff}
.header--on-film .header-contact{border-color:#ffffff80}
.hero-full{position:relative;isolation:isolate;height:100vh;height:100svh;min-height:600px;padding:0;color:#fff;background:#0c0c0c;overflow:hidden}
.hero-media,.hero-shade{position:absolute;inset:0;z-index:-2}
.hero-media{overflow:hidden}
.hero-still,.hero-film{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center center}
.hero-film{opacity:0}
.hero-full.motion-active .hero-film{opacity:1}
.hero-full.motion-error .hero-film{opacity:0}
.hero-shade{z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.26),transparent 62%),linear-gradient(0deg,rgba(0,0,0,.55),transparent 19%,transparent 82%,rgba(0,0,0,.4))}
.hero-full-content{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:115px 6.6% 115px;width:62%;position:relative}
.hero-intro{font:12px/1.4 var(--mono);letter-spacing:.13em;margin:0 0 26px;color:#d8d8d8}
.hero-full h1{font-size:clamp(48px,6.7vw,110px);letter-spacing:-.065em;line-height:1.27;font-weight:750;margin:0 0 27px;text-shadow:0 2px 22px #00000022}
.hero-lead{font-size:clamp(15px,1.35vw,20px);letter-spacing:.08em;line-height:1.8;margin:0 0 15px;font-weight:500}
.hero-description{font-size:14px;line-height:2;letter-spacing:.04em;margin:0;color:#d0d0d0}
.hero-full-bottom{position:absolute;left:6.6%;right:6.6%;bottom:32px;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:40px}
.film-scroll{display:flex;align-items:center;gap:22px;font-size:14px;letter-spacing:.04em;min-height:44px}
.film-scroll>span:last-child{font-size:21px}
.hero-location{font:12px var(--mono);letter-spacing:.1em;color:#c9c9c9;margin-left:auto}
.motion-control{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-width:132px;min-height:44px;background:#0c0c0c55;color:#fff;border:1px solid #ffffff65;padding:10px 15px;cursor:pointer;font-size:14px;backdrop-filter:blur(8px)}
.motion-control[hidden]{display:none}.motion-control:hover{background:#fff;color:#111}.motion-control:disabled{opacity:.55;cursor:wait}.motion-icon{font-size:14px;width:16px;text-align:center}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1500px){.hero-full-content{padding-left:7.5%}.hero-full-bottom{left:7.5%;right:7.5%}}
@media(max-width:900px){.header--on-film{height:94px}.hero-full-content{width:67%;padding-left:5%;padding-top:110px}.hero-full h1{font-size:clamp(48px,7.4vw,74px)}.hero-full-bottom{left:5%;right:5%}.hero-description{font-size:14px}.hero-location{display:none}}
@media(max-width:600px){
  .header--on-film{height:110px;min-height:110px;margin:0 6%;padding:14px 0 11px;align-content:center;gap:4px;border-color:#ffffff30}
  .header--on-film .brand img{width:160px}.header--on-film .header-contact{font-size:13px}.header--on-film nav{margin-top:10px;gap:24px}.header--on-film nav a{font-size:13px}
  .hero-full{min-height:680px}.hero-still,.hero-film{object-fit:cover;object-position:93% center}
  .hero-media{inset:290px 0 44px 0}.hero-shade{background:linear-gradient(180deg,#0c0c0c 0%,#0c0c0cdd 17%,#0c0c0c88 42%,#0c0c0c08 66%,#0c0c0c77 90%,#0c0c0c 100%)}
  .hero-full-content{justify-content:flex-start;width:100%;padding:154px 7% 100px;pointer-events:none}.hero-intro{font-size:12px;letter-spacing:.09em;margin-bottom:18px}.hero-full h1{font-size:clamp(46px,12.4vw,67px);line-height:1.24;letter-spacing:-.065em;margin-bottom:18px}
  .hero-lead{font-size:14px;letter-spacing:.025em;margin-bottom:0}.hero-description{display:none}.hero-full-bottom{left:7%;right:7%;bottom:22px;gap:12px}.film-scroll{font-size:13px;gap:15px}.motion-control{font-size:13px;min-width:125px;padding:10px 12px}
}
@media(max-height:700px) and (min-width:601px){.hero-full{min-height:520px}.hero-full-content{padding-top:108px;padding-bottom:75px}.hero-full h1{font-size:clamp(44px,5.8vw,76px);margin-bottom:17px}.hero-intro{margin-bottom:16px}.hero-description{display:none}.hero-full-bottom{bottom:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-film{transition:none}}
