:root{--blue:#5d79be;--ink:#182335;--muted:#5c6574;--line:#d9dee5;--paper:#f5f6f8;--pad:6.3vw}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:#fff;font-family:'Helvetica Neue',Arial,'Hiragino Kaku Gothic ProN','Noto Sans JP',Meiryo,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--blue);outline-offset:6px}a:hover{color:var(--blue)}p,h1,h2,h3{margin:0}header{height:94px;padding:0 3.4vw;display:flex;align-items:center;justify-content:space-between;background:#ffffffed;position:sticky;top:0;z-index:20;border-bottom:1px solid #edf0f3;backdrop-filter:blur(15px)}.brand img{width:126px;display:block}.brand{flex-shrink:0}nav{display:flex;align-items:center;gap:27px;font-size:12px;font-weight:500;letter-spacing:.04em}.contact-link{border-left:1px solid var(--line);padding-left:27px;display:flex;gap:20px;align-items:center}.menu{display:none}.skip{position:absolute;top:-60px}.skip:focus{top:10px;z-index:40;background:white;padding:10px}.hero{position:relative;height:min(760px,calc(100svh - 94px));min-height:580px;background:#f3f5f8;overflow:hidden}.hero-copy{position:relative;z-index:2;padding:90px 0 0 var(--pad)}.eyebrow{font-size:12px;letter-spacing:.16em;font-weight:500}.hero .eyebrow{color:var(--blue);margin-bottom:37px}.hero h1{font-size:clamp(48px,5.6vw,88px);font-weight:500;letter-spacing:.015em;line-height:1.4;color:var(--blue)}.hero-sub{margin-top:30px;font-size:17px;line-height:2;letter-spacing:.08em}.hero-bottom{position:absolute;bottom:31px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.13em;z-index:3}.hero-bottom a{display:flex;gap:20px;align-items:center;background:#f3f5f8cf;padding:10px}.scroll-line{display:inline-block;width:1px;height:32px;background:var(--blue)}.hero-num{position:absolute;right:25px;top:25px;writing-mode:vertical-rl;font-size:9px;letter-spacing:.16em}.section{padding:110px var(--pad);scroll-margin-top:0}.section-label{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.12em;font-weight:500;white-space:nowrap}.section-label small{color:var(--muted);font-size:11px;letter-spacing:.03em;margin-left:16px;font-weight:400}.about{position:relative;display:grid;grid-template-columns:34% 66%;overflow:hidden;padding-top:135px;padding-bottom:145px}.about .section-label{align-self:start;margin-top:15px}.about-body{z-index:1}.about h2,.approach h2{font-size:clamp(32px,3.2vw,48px);font-weight:400;line-height:1.65;letter-spacing:.06em}.prose{margin-top:38px;font-size:15px;line-height:2.2}.prose p+p{margin-top:24px}.text-link{display:flex;justify-content:space-between;align-items:center;width:230px;border-bottom:1px solid var(--ink);padding:20px 0;font-size:13px;margin-top:25px}.text-link span{font-size:22px;font-weight:300}.about-word{position:absolute;left:-12px;bottom:42px;font-size:clamp(60px,8vw,130px);line-height:1.1;letter-spacing:-.05em;color:#edf0f5;pointer-events:none}.business{background:var(--paper)}.section-top{display:flex;justify-content:space-between;align-items:start;margin-bottom:55px}.section-top>p{font-size:14px;line-height:2}.business-row{display:grid;grid-template-columns:51% 43% 6%;align-items:center;padding:48px 0;border-top:1px solid #cdd3dd}.business-row:last-child{border-bottom:1px solid #cdd3dd}.business-name{display:flex;gap:27px;align-items:start}.index{font-size:11px;color:var(--blue);padding-top:9px}.english{font-size:clamp(25px,2.75vw,42px);letter-spacing:-.035em;font-weight:400}.business-name h3{font-size:14px;line-height:1.7;font-weight:500;margin-top:16px}.business-detail p{font-size:14px;line-height:1.95}.tags{font-size:10px;display:block;margin-top:18px;color:var(--muted);letter-spacing:.02em}.plus{font-size:26px;justify-self:end;font-weight:300}.approach-title{display:flex;justify-content:space-between;align-items:end;margin-top:45px}.approach-title>p{font-size:14px;line-height:2.1}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;margin-top:60px}.principles article{border-top:1px solid var(--line);padding-top:22px}.principles article>span{color:var(--blue);font-size:10px;letter-spacing:.09em}.principles h3{font-size:22px;font-weight:500;margin:26px 0 18px}.principles p{font-size:13px;color:var(--muted);line-height:2}.media{background:#f1f4f9}.media-grid{margin-top:46px;display:grid;grid-template-columns:52% 48%;align-items:center}.media-visual{position:relative;aspect-ratio:1.5;background:#e3eaf5;display:flex;align-items:center;justify-content:center;overflow:hidden}.media-visual img{width:72%;position:relative;z-index:2;mix-blend-mode:multiply}.media-caption{position:absolute;left:25px;top:25px;font-size:9px;letter-spacing:.1em;color:#596f98}.media-circles{position:absolute;inset:0}.media-circles i{position:absolute;border:1px solid #bac8e2;border-radius:50%;width:80%;aspect-ratio:1;left:10%;top:10%}.media-circles i:nth-child(2){left:25%}.media-circles i:nth-child(3){left:-5%}.media-copy{padding-left:65px}.media-copy .eyebrow{color:var(--blue);font-size:10px}.media-copy h2{font-size:32px;font-weight:400;line-height:1.6;margin:22px 0}.media-copy>p:not(.eyebrow){font-size:13px;line-height:2.1}.news{display:grid;grid-template-columns:30% 70%;padding-top:90px;padding-bottom:90px}.news-item{display:grid;grid-template-columns:100px 100px 1fr;gap:16px;padding-bottom:27px;border-bottom:1px solid var(--line);align-items:center}.news-item time{font-size:12px;color:var(--muted)}.category{font-size:9px;color:var(--blue)}.news-item p{font-size:14px}.news-note{font-size:11px;color:var(--muted);margin-top:20px}.company{background:#eef1f6;display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden}.company:after{content:'';position:absolute;right:-8%;top:-50%;width:40%;height:220%;background:#e3e8f1;transform:rotate(30deg);pointer-events:none}.company h2{font-size:38px;font-weight:400;line-height:1.65;margin-top:28px}.company-right{z-index:1;align-self:center;padding-left:20%}.company-right p{font-size:24px;margin-bottom:23px}.company-right span{font-size:14px;line-height:2}.contact{background:var(--blue);color:white;display:flex;justify-content:space-between;align-items:center;padding-top:78px;padding-bottom:78px}.contact h2{font-size:34px;font-weight:400;margin:22px 0}.contact p:last-child{font-size:13px;line-height:1.9}.contact>a{width:100px;height:100px;border:1px solid #ffffff80;border-radius:50%;display:grid;place-items:center}.contact>a:hover{background:#ffffff20;color:white}footer{display:flex;align-items:center;gap:32px;padding:55px var(--pad) 85px;font-size:11px}footer p{margin-right:auto}footer small{font-size:10px;color:var(--muted)}.preview{position:fixed;bottom:0;left:0;right:0;background:#fffffff5;border-top:1px solid var(--line);padding:9px 24px;display:flex;align-items:center;gap:20px;z-index:30;font-size:9px;color:#63708a;letter-spacing:.07em}.preview span{color:#78818f}.preview a{margin-left:auto;text-decoration:underline;text-underline-offset:3px}
@media(min-width:1600px){.hero-copy{padding-top:100px}.hero{height:800px;max-height:850px}}
@media(max-width:1000px){nav{gap:16px;font-size:10px}.contact-link{padding-left:16px;gap:8px}.brand img{width:100px}.hero{min-height:570px}.hero-copy{padding-top:100px}.hero-sub{font-size:14px}.section-label small{display:none}.media-copy{padding-left:35px}.media-copy h2{font-size:27px}.approach-title>p{font-size:12px}.principles{gap:20px}.principles h3{font-size:18px}.news-item{grid-template-columns:90px 75px 1fr;gap:10px}}
@media(max-width:700px){:root{--pad:7vw}header{height:72px;padding:0 var(--pad)}.menu{display:block;background:none;border:0;font-size:11px;letter-spacing:.1em;padding:12px 0 12px 20px}nav{display:none;position:absolute;top:72px;left:0;right:0;padding:20px var(--pad) 30px;background:white;border-bottom:1px solid var(--line)}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}nav a{padding:17px 0;font-size:14px;border-bottom:1px solid var(--line)}.contact-link{border-left:0;justify-content:space-between}.hero{height:710px;min-height:0;max-height:none}.hero-copy{padding-top:54px}.hero h1{font-size:46px;line-height:1.45}.hero .eyebrow{font-size:10px;margin-bottom:28px}.hero-sub{font-size:13px;margin-top:22px}.hero-bottom{bottom:16px;left:var(--pad);right:var(--pad);font-size:7px}.hero-bottom a{padding:0;background:none;font-size:7px;gap:8px}.hero-num{display:none}.section{padding:70px var(--pad)}.about{display:block;padding-bottom:90px}.section-label{font-size:11px}.section-label small{display:block;font-size:10px;margin-left:5px}.about-body{position:relative;margin-top:36px}.about h2,.approach h2{font-size:30px;line-height:1.7}.prose{font-size:13px;margin-top:25px}.desktop{display:none}.about-word{font-size:76px;left:auto;right:-10px;bottom:8px;opacity:.6}.section-top{display:block;margin-bottom:30px}.section-top>p{margin-top:28px;font-size:13px}.business-row{grid-template-columns:1fr 30px;padding:32px 0;gap:23px}.business-name{gap:18px}.english{font-size:28px}.business-name h3{font-size:13px;margin-top:10px}.business-detail{grid-row:2;padding-left:32px}.business-detail p{font-size:13px}.plus{grid-column:2;grid-row:1}.approach-title{display:block;margin-top:30px}.approach-title>p{margin-top:25px;font-size:13px}.principles{grid-template-columns:1fr;gap:30px;margin-top:36px}.principles h3{margin:15px 0;font-size:22px}.media-grid{grid-template-columns:1fr;gap:35px;margin-top:30px}.media-copy{padding:0}.media-copy h2{font-size:30px}.news{display:block}.news-list{margin-top:30px}.news-item{grid-template-columns:95px 1fr;gap:15px}.news-item p{grid-column:1/-1}.company{grid-template-columns:1fr;gap:40px}.company h2{font-size:32px}.company-right{padding:0}.company:after{right:-25%;width:60%;opacity:.6}.company-right p{font-size:20px}.contact{gap:15px}.contact h2{font-size:25px}.contact p:last-child{font-size:12px}.contact>a{flex-shrink:0;width:54px;height:54px}footer{flex-wrap:wrap;gap:20px;padding-bottom:70px}footer p{margin:0}footer small{width:100%}.preview{font-size:8px;padding:10px 12px}.preview span{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


body{font-family:Inter,'Noto Sans JP',sans-serif;color:#151515}button{font-family:inherit}.hero h1{font-weight:400;letter-spacing:-.025em;font-size:clamp(46px,5.1vw,78px);line-height:1.5}.hero-sub{letter-spacing:.035em;font-weight:400}.about h2,.approach h2,.media-copy h2,.company h2,.contact h2{letter-spacing:.015em;font-weight:400}.english{letter-spacing:-.025em;font-weight:400}.prose{font-size:15px;line-height:2.15;letter-spacing:.02em}.section-label,.eyebrow{font-weight:600;letter-spacing:.05em}.business-name h3{font-weight:500}.business-detail p,.principles p,.media-copy>p:not(.eyebrow){font-size:14px;line-height:2}.tags{font-size:11px}.text-link{font-weight:500}.hero-bottom{font-weight:500}header{background:#080808;color:#fff;border:0;height:90px;padding:0 3.5vw;gap:30px}.brand img{width:140px}header .brand img,.mega .brand img{filter:brightness(0) invert(1)}header .header-nav{position:static;display:flex;flex-direction:row;align-items:center;background:none;border:0;padding:0;gap:30px;margin-left:auto;font-size:12px;font-weight:700;letter-spacing:.05em}.header-nav a{border:0;padding:0}.header-actions{display:flex;gap:28px;align-items:center}.services-link{display:flex;align-items:center;gap:14px;font-size:12px;font-weight:700;letter-spacing:.05em}.menu,.menu-close{display:flex;align-items:center;gap:14px;color:inherit;background:none;border:0;padding:14px 0;cursor:pointer;font-size:11px;font-weight:600;letter-spacing:.07em}.menu{border-left:1px solid #555;padding-left:27px}.menu-lines{width:20px;height:9px;border-top:1px solid currentColor;border-bottom:1px solid currentColor}.menu-open{overflow:hidden}.mega{position:fixed;inset:0;margin:0;border:0;max-width:none;max-height:none;width:100%;height:100dvh;background:#080808;color:#fff;padding:0 3.5vw;overflow-y:auto;z-index:100}.mega::backdrop{background:#080808}.mega-top{height:90px;display:flex;align-items:center;justify-content:space-between;gap:20px}.menu-close span{font-size:26px;font-weight:400}.mega-grid{display:grid;position:static;grid-template-columns:repeat(3,minmax(0,1fr));gap:65px 65px;width:78%;padding:55px 0 65px;background:none;border:0;margin:0;align-items:start;white-space:normal}.mega-group{border-top:1px solid #656565;padding-top:26px;min-height:185px}.mega-group h2{font-size:12px;font-weight:700;letter-spacing:.04em;color:#929292;margin:0 0 23px}.mega-group a{display:block;margin:0 0 22px;padding:0;border:0}.mega-group a:last-child{margin-bottom:0}.mega-group strong{display:block;font-size:17px;line-height:1.45;font-weight:600;letter-spacing:.025em}.mega-group a span{display:block;margin-top:5px;font-size:12px;color:#b1b1b1;line-height:1.7;letter-spacing:.015em}.mega a:hover{color:#b6c8ef}.mega-bottom{display:flex;gap:32px;align-items:center;padding:15px 0 35px;font-size:12px;color:#aaa}.mega-bottom small{margin-left:auto;font-size:11px;letter-spacing:.05em}.preview{z-index:25}
@media(max-width:1100px){header .header-nav{gap:19px;font-size:10px}.header-actions{gap:20px}.mega-grid{width:92%;gap:50px}.brand img{width:120px}}
@media(max-width:800px){header .header-nav{display:none}.header-actions{margin-left:auto}header,.mega-top{height:76px}.mega-grid{width:100%;gap:40px 28px;grid-template-columns:repeat(2,minmax(0,1fr));padding-top:35px}.mega-group strong{font-size:15px}.mega-group{min-height:0}.mega-bottom{flex-wrap:wrap;gap:20px}.mega-bottom small{width:100%;margin-left:0}.hero{height:650px}.hero-copy{padding-top:55px}}
@media(max-width:450px){header,.mega{padding-left:6vw;padding-right:6vw}.brand img{width:106px}.header-actions{gap:17px}.services-link{font-size:10px;gap:8px}.menu{padding-left:16px;font-size:9px;gap:10px}.menu-close{font-size:9px}.mega-grid{grid-template-columns:1fr 1fr;gap:35px 25px}.mega-group strong{font-size:13px}.mega-group a span{font-size:11px}.mega-group h2{font-size:10px;margin-bottom:20px}.mega-group{padding-top:20px}.hero h1{font-size:43px}.hero-sub{font-size:12px}.hero{height:710px}.about h2,.approach h2{font-size:28px}.prose{font-size:14px}.business-detail p{font-size:13px}}
