
:root{--ink:#252122;--muted:#716c6c;--line:#cbc6c4;--paper:#f6f4f0;--warm:#e8e3dd}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-geist-sans),"Yu Gothic",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.site{min-height:100vh}.site-content{position:relative}.site-header{height:88px;padding:0 4.2vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:absolute;z-index:5;width:100%;top:0}.header-note,.site-header nav,.hero-index,.section-label,.eyebrow,.work-cat{font-size:10px;letter-spacing:.17em;text-transform:uppercase}.site-header nav{display:flex;gap:36px}.site-header nav a,.variant-switch a{transition:opacity .2s}.site-header nav a:hover{opacity:.48}.brand-sign{display:none}.hero{min-height:100svh;padding:135px 4.2vw 40px;display:flex;flex-direction:column}.hero-logo{height:29vh;display:flex;align-items:center;border-bottom:1px solid var(--line);margin-bottom:6vh}.hero-logo img{width:min(500px,47vw);height:100%;object-fit:contain;mix-blend-mode:multiply}.hero-copy-block{display:grid;grid-template-columns:1.45fr .55fr;gap:8vw;align-items:end;flex:1}.eyebrow{color:var(--muted);margin:0 0 25px}.hero-copy-block>.eyebrow{grid-column:1/-1;margin:0}.hero h1,.section-main h2,.contact h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:400;letter-spacing:-.06em}.hero h1{font-size:clamp(52px,6.8vw,104px);line-height:1.13;margin:0}.hero h1 em{font-style:normal}.hero-lead{font-size:13px;line-height:2;color:var(--muted);padding-bottom:8px}.hero-lead>p:first-child{font-family:"Yu Mincho",serif;font-size:19px;color:var(--ink)}.primary-link{margin-top:34px;background:var(--ink);color:#fff;display:flex;justify-content:space-between;padding:19px 20px;max-width:270px}.hero-index{display:flex;justify-content:flex-end;gap:28px;color:var(--muted);padding-top:6vh}.section{padding:130px 4.2vw}.section-label{display:flex;gap:24px;color:var(--muted)}.section-label span{color:var(--ink)}.section-main{margin:65px 0 0 24%}.section-main h2{font-size:clamp(38px,4.7vw,70px);line-height:1.4;margin:0}.about{border-top:1px solid var(--line)}.two-col-copy{display:grid;grid-template-columns:1fr 1fr;gap:7vw;margin-top:65px;font-size:14px;line-height:2.15;color:var(--muted)}.service{background:var(--warm)}.service-intro{max-width:590px;margin:45px 0 85px;color:var(--muted);font-size:14px;line-height:2.1}.menu-grid{margin-left:24%;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #c5beb7;border-bottom:1px solid #c5beb7}.menu-grid article{padding:28px 30px 40px 0;border-right:1px solid #c5beb7}.menu-grid article+article{padding-left:30px}.menu-grid article:last-child{border-right:0}.menu-grid article>span{font-size:10px;color:var(--muted)}.menu-grid h3{font-family:"Yu Mincho",serif;font-weight:400;font-size:32px;margin:48px 0 34px}.menu-grid ul{list-style:none;padding:0;margin:0}.menu-grid li{font-size:12px;color:var(--muted);padding:10px 0;border-top:1px solid rgba(37,33,34,.13)}.process-block{margin:105px 0 0 24%;background:var(--ink);color:#f5f2ed;padding:58px}.process-heading{display:grid;grid-template-columns:1fr 2fr}.process-heading .eyebrow{color:#aaa3a0}.process-heading h3{font-family:"Yu Mincho",serif;font-size:44px;font-weight:400;line-height:1.45;margin:0}.process-list{display:grid;grid-template-columns:repeat(3,1fr);margin-top:70px;border-top:1px solid #615b5b}.process-list article{padding:25px 25px 0 0;border-right:1px solid #615b5b}.process-list article+article{padding-left:25px}.process-list article:last-child{border-right:0}.process-list span{font-size:9px;color:#aaa3a0;letter-spacing:.12em}.process-list h4{font-size:17px;font-weight:400;margin:38px 0 14px}.process-list p{font-size:11px;line-height:1.9;color:#bbb4b0}.works-note{color:var(--muted);font-size:13px;margin-top:40px}.works-list{margin:85px 0 0 24%;border-top:1px solid var(--line)}.works-list>div{display:grid;grid-template-columns:8% 1fr auto;align-items:center;min-height:100px;border-bottom:1px solid var(--line);transition:background .25s}.works-list>div:hover{background:rgba(255,255,255,.4)}.work-no{font-size:10px;color:var(--muted)}.work-name{font-family:"Yu Mincho",serif;font-size:clamp(19px,1.7vw,27px);letter-spacing:.03em}.work-cat{color:var(--muted)}.contact{border-top:1px solid var(--line)}.contact .section-main>p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:2;margin:40px 0 60px}.contact-link{max-width:760px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:27px 2px;display:flex;justify-content:space-between;font-size:15px}footer{margin:0 4.2vw;border-top:1px solid var(--line);padding:40px 0;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;font-size:10px;color:var(--muted)}footer img{width:145px;height:70px;object-fit:contain;mix-blend-mode:multiply}footer span:nth-child(2){text-align:center}footer span:last-child{text-align:right}.variant-switch{position:fixed;right:18px;bottom:18px;z-index:20;background:var(--ink);color:#fff;padding:8px 10px 8px 14px;display:flex;align-items:center;gap:6px;font-size:10px;letter-spacing:.1em}.variant-switch span{margin-right:6px;color:#aaa}.variant-switch a{width:27px;height:27px;display:grid;place-items:center;border:1px solid #625d5d}.variant-switch a.active{background:#fff;color:var(--ink)}
.variant-b{padding-left:27vw}.variant-b .brand-sign{display:flex;position:fixed;left:0;top:0;width:27vw;height:100vh;border-right:1px solid var(--line);padding:5vw 3.1vw;z-index:4;flex-direction:column;justify-content:space-between}.variant-b .brand-sign img{width:100%;max-width:360px;height:auto;mix-blend-mode:multiply}.variant-b .brand-sign p{font-family:"Yu Mincho",serif;font-size:13px;line-height:1.8;color:var(--muted)}.variant-b .hero{padding-top:135px}.variant-b .hero-copy-block{grid-template-columns:1fr;align-content:center}.variant-b .hero-copy-block>.eyebrow{grid-column:auto}.variant-b .hero h1{font-size:clamp(48px,5vw,82px)}.variant-b .hero-lead{max-width:480px;margin-left:auto}.variant-b .section{padding-left:5vw;padding-right:5vw}.variant-b .section-main,.variant-b .menu-grid,.variant-b .process-block,.variant-b .works-list{margin-left:18%}
@media(max-width:800px){.site-header{height:72px;padding:0 22px}.header-note{display:none}.site-header nav{width:100%;justify-content:space-between;gap:0;font-size:9px}.hero{padding:100px 22px 30px;min-height:auto}.hero-logo{height:22vh;margin-bottom:55px}.hero-logo img{width:75vw}.hero-copy-block{grid-template-columns:1fr;gap:45px}.hero-copy-block>.eyebrow{grid-column:auto}.hero h1{font-size:clamp(43px,12.5vw,62px)}.hero-index{justify-content:space-between;gap:4px;padding-top:65px;font-size:8px}.section{padding:90px 22px}.section-main,.menu-grid,.process-block,.works-list{margin-left:0}.section-main{margin-top:55px}.section-main h2{font-size:36px}.two-col-copy{grid-template-columns:1fr;gap:15px;margin-top:45px}.service-intro{margin-bottom:60px}.menu-grid{grid-template-columns:1fr}.menu-grid article,.menu-grid article+article{border-right:0;border-bottom:1px solid #c5beb7;padding:28px 0 35px}.menu-grid article:last-child{border-bottom:0}.menu-grid h3{margin:30px 0 25px}.process-block{margin-top:70px;padding:35px 24px}.process-heading{grid-template-columns:1fr}.process-heading h3{font-size:33px}.process-list{grid-template-columns:1fr;margin-top:45px}.process-list article,.process-list article+article{border-right:0;border-bottom:1px solid #615b5b;padding:25px 0}.works-list{margin-top:55px}.works-list>div{grid-template-columns:32px 1fr;min-height:88px}.work-cat{grid-column:2;font-size:8px;margin-top:-20px}.contact-link{font-size:13px}footer{grid-template-columns:1fr;gap:18px}footer span:nth-child(2),footer span:last-child{text-align:left}.variant-b{padding-left:0;padding-top:0}.variant-b .brand-sign{position:relative;width:100%;height:38vh;border-right:0;border-bottom:1px solid var(--line);padding:80px 22px 25px}.variant-b .brand-sign img{width:72vw}.variant-b .brand-sign p{font-size:10px}.variant-b .hero{padding-top:75px}.variant-b .hero-lead{margin-left:0}.variant-b .section{padding-left:22px;padding-right:22px}.variant-b .section-main,.variant-b .menu-grid,.variant-b .process-block,.variant-b .works-list{margin-left:0}.variant-switch{right:10px;bottom:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Service expertise descriptions */
.menu-grid h3{margin-bottom:22px}
.menu-summary{font-size:12px;line-height:1.9;color:var(--muted);min-height:70px;margin:0 0 28px}
.mission{margin-top:85px;padding:32px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr;align-items:start}.mission span{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.mission p{margin:0;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(23px,2.35vw,36px);line-height:1.65;letter-spacing:-.025em}@media(max-width:800px){.mission{grid-template-columns:1fr;gap:28px;margin-top:55px}.mission p{font-size:24px}}
.variant-a .hero h1{font-size:clamp(48px,5.7vw,86px)}@media(max-width:800px){.variant-a .hero h1{font-size:clamp(39px,10.6vw,52px)}}
/* Ver.4 typography refinement */
.section-main h2{font-size:clamp(34px,4.05vw,61px);line-height:1.48;letter-spacing:-.045em}.two-col-copy{font-size:13.5px;line-height:2.28;letter-spacing:.015em}.service-intro{font-size:13.5px;line-height:2.25;letter-spacing:.012em}.menu-grid h3{font-size:29px}.menu-summary{line-height:2;letter-spacing:.01em}.menu-grid li{line-height:1.65;letter-spacing:.01em}.process-heading h3{font-size:39px}.process-list h4{font-size:16px}.process-list p{font-size:11.5px;line-height:2;letter-spacing:.01em}.works-note,.contact .section-main>p:not(.eyebrow){font-size:13px;line-height:2.2;letter-spacing:.015em}.work-name{font-size:clamp(18px,1.5vw,24px)}.mission p{font-size:clamp(21px,2.05vw,31px)}@media(max-width:800px){.section-main h2{font-size:32px}.process-heading h3{font-size:30px}.two-col-copy,.service-intro{font-size:13px}.mission p{font-size:22px}}
/* Company */
.company-page{min-height:100vh}.company-header{position:absolute}.company-header [aria-current="page"]{padding-bottom:4px;border-bottom:1px solid}.company-hero{min-height:66vh;padding:145px 4.2vw 70px;display:grid;grid-template-columns:1fr 1fr;align-items:end;border-bottom:1px solid var(--line)}.company-hero>a{align-self:start}.company-hero img{width:min(440px,38vw);height:210px;object-fit:contain;mix-blend-mode:multiply}.company-hero h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(52px,6.5vw,96px);font-weight:400;letter-spacing:-.055em;line-height:1;margin:0}.company-profile,.company-business{padding:110px 4.2vw;display:grid;grid-template-columns:24% 76%}.company-profile dl{margin:0;border-top:1px solid var(--line)}.company-profile dl>div{display:grid;grid-template-columns:28% 72%;padding:24px 0;border-bottom:1px solid var(--line)}.company-profile dt{font-size:11px;color:var(--muted);letter-spacing:.08em}.company-profile dd{font-size:13.5px;line-height:1.9;margin:0;letter-spacing:.015em}.company-business{background:var(--warm)}.business-list{border-top:1px solid #c5beb7}.business-list>div{display:grid;grid-template-columns:34% 66%;align-items:center;min-height:105px;border-bottom:1px solid #c5beb7}.business-list span{font-family:"Yu Mincho",serif;font-size:25px}.business-list p{font-size:13px;margin:0}.company-mail{padding:65px 4.2vw;display:grid;grid-template-columns:24% 76%;align-items:center}.company-mail>span{font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:var(--muted)}.company-mail a{display:flex;justify-content:space-between;padding:25px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);font-size:15px}.company-mail b{font-weight:400}@media(max-width:800px){.company-hero{min-height:55vh;padding:105px 22px 55px;grid-template-columns:1fr;gap:60px}.company-hero img{width:76vw;height:145px}.company-hero h1{font-size:52px}.company-profile,.company-business{padding:80px 22px;grid-template-columns:1fr;gap:50px}.company-profile dl>div{grid-template-columns:31% 69%;padding:20px 0}.company-profile dt{font-size:10px}.company-profile dd{font-size:12.5px}.business-list>div{min-height:88px}.business-list span{font-size:22px}.company-mail{padding:55px 22px 80px;grid-template-columns:1fr;gap:25px}.company-mail a{font-size:13px}}
.site footer>a{text-align:center}@media(max-width:800px){.site footer>a{text-align:left}}
.works-more{margin:36px 0 0 24%;padding:18px 2px;border-bottom:1px solid var(--ink);display:flex;justify-content:space-between;max-width:76%;font-size:12px}.works-page{min-height:100vh}.works-page [aria-current="page"]{padding-bottom:4px;border-bottom:1px solid}.works-hero{min-height:66vh;padding:145px 4.2vw 70px;display:grid;grid-template-columns:1fr 1fr;align-items:end;border-bottom:1px solid var(--line)}.works-hero>a{align-self:start}.works-hero img{width:min(440px,38vw);height:210px;object-fit:contain;mix-blend-mode:multiply}.works-hero h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(52px,6.5vw,96px);font-weight:400;letter-spacing:-.055em;line-height:1;margin:0}.works-hero div>p:last-child{font-size:12.5px;color:var(--muted);line-height:2;margin:35px 0 0}.work-group{padding:105px 4.2vw;display:grid;grid-template-columns:24% 76%}.work-group:nth-of-type(odd){background:var(--warm)}.work-group-head{display:flex;gap:24px;align-items:baseline}.work-group-head>span{font-size:9px;color:var(--muted)}.work-group-head h2{font-family:"Yu Mincho",serif;font-size:28px;font-weight:400;margin:0}.work-entries{border-top:1px solid var(--line)}.work-entries>div{min-height:91px;display:grid;grid-template-columns:8% 1fr 42%;align-items:center;border-bottom:1px solid var(--line)}.work-index{font-size:9px;color:var(--muted)}.work-entries h3{font-family:"Yu Mincho",serif;font-size:clamp(18px,1.45vw,23px);font-weight:400;letter-spacing:.025em;margin:0}.work-entries p{font-size:10px;color:var(--muted);letter-spacing:.06em;margin:0}.works-page footer>a{text-align:center}@media(max-width:800px){.works-more{margin-left:0;max-width:100%}.works-hero{min-height:55vh;padding:105px 22px 55px;grid-template-columns:1fr;gap:60px}.works-hero img{width:76vw;height:145px}.works-hero h1{font-size:52px}.work-group{padding:75px 22px;grid-template-columns:1fr;gap:45px}.work-entries>div{grid-template-columns:30px 1fr;min-height:92px;padding:15px 0}.work-entries p{grid-column:2;font-size:9px;margin-top:-14px}.work-entries h3{font-size:19px}.works-page footer>a{text-align:left}}
.contact-address{display:flex;gap:28px!important;margin:-30px 0 45px!important;font-size:11px!important;line-height:1.6!important;letter-spacing:.04em!important;color:var(--ink)!important}.contact-address span:first-child{color:var(--muted);font-size:9px;letter-spacing:.16em;text-transform:uppercase}.footer-contact{display:flex;flex-direction:column;align-items:center;gap:9px}.footer-contact a:last-child{font-size:9px;letter-spacing:.05em}.site footer>a{text-align:center}@media(max-width:800px){.footer-contact{align-items:flex-start}.contact-address{flex-direction:column;gap:8px!important;margin-top:-24px!important}.site footer>a{text-align:left}}
.email-copy{position:relative;display:inline-block;cursor:copy}.copy-tooltip{position:absolute;left:50%;bottom:calc(100% + 11px);z-index:20;transform:translate(-50%,5px);width:max-content;padding:8px 11px;background:var(--ink);color:#fff;font-size:9px;line-height:1;letter-spacing:.08em;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,transform .18s ease}.copy-tooltip::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:4px solid transparent;border-top-color:var(--ink)}.email-copy:hover .copy-tooltip,.email-copy:focus-visible .copy-tooltip,.email-copy.is-copied .copy-tooltip{opacity:1;visibility:visible;transform:translate(-50%,0)}.company-mail>div{min-width:0}.company-mail>div>a{display:flex;justify-content:space-between;padding:25px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);font-size:15px}.company-mail .copy-tooltip{left:0;transform:translate(0,5px)}.company-mail .email-copy:hover .copy-tooltip,.company-mail .email-copy:focus-visible .copy-tooltip,.company-mail .email-copy.is-copied .copy-tooltip{transform:translate(0,0)}@media(max-width:800px){.company-mail>div>a{font-size:13px}.copy-tooltip{display:none}}
