:root{--ink:#122238;--paper:#f7f6f0;--line:#d9dedb;--blue:#4f8ca8;--serif:"Noto Serif JP",serif;--sans:"Noto Sans JP",sans-serif;--mono:"DM Mono",monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.8 var(--sans)}.section-shell{max-width:1240px;margin:auto;padding:0 32px}.site-header{height:82px;max-width:1360px;padding:0 32px;margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{color:var(--ink);text-decoration:none;font:700 20px var(--serif);display:flex;align-items:center;gap:9px}.brand-mark{border:1px solid var(--ink);width:28px;height:28px;display:grid;place-items:center;font-size:16px}.site-header nav{display:flex;gap:28px}.site-header nav a,.header-cta{color:var(--ink);text-decoration:none;font-size:12px;font-weight:600}.header-cta{padding:9px 15px;border:1px solid var(--ink)}.header-cta:hover{background:var(--ink);color:#fff}.hero{padding-top:87px;min-height:720px}.eyebrow{font:500 10px var(--mono);letter-spacing:.12em;margin:0 0 22px}.eyebrow span{width:26px;height:1px;background:var(--blue);display:inline-block;vertical-align:middle;margin-right:9px}.hero-grid{display:grid;grid-template-columns:1fr 310px;gap:60px;align-items:end}.hero h1{font:600 clamp(48px,6.3vw,90px)/1.23 var(--serif);letter-spacing:.02em;margin:0}.hero h1 em{font-style:normal;color:var(--blue)}.hero-copy{font-size:17px;line-height:2;margin:32px 0 34px}.hero-actions{display:flex;align-items:center;gap:28px}.button{display:inline-flex;align-items:center;gap:28px;border:0;padding:17px 20px;font:600 14px var(--sans);cursor:pointer;text-decoration:none}.button-primary{background:var(--ink);color:#fff}.button-primary:hover{background:var(--blue)}.text-link{color:var(--ink);font-size:13px;font-weight:600;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:4px}.hero-note{background:#dce9eb;padding:27px 28px 24px;min-height:208px}.note-number,.note-label{font:10px var(--mono);letter-spacing:.09em}.hero-note p{font:18px/1.75 var(--serif);margin:26px 0 12px}.note-line{height:1px;background:#80949e;margin-bottom:12px}.hero-bottom{margin-top:99px;display:flex;gap:13px;align-items:center;font:10px var(--mono);letter-spacing:.07em}.scroll-line{height:1px;background:var(--ink);width:125px}.problems{padding-top:122px;padding-bottom:135px;border-top:1px solid var(--line)}.section-intro h2,.service-heading h2,.about h2,.flow h2,.contact h2{font:600 clamp(31px,3.4vw,50px)/1.45 var(--serif);margin:0}.section-intro>p:last-child{margin:17px 0 0;color:#526170;font-size:14px}.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);margin-top:55px}.problem-grid a{min-height:184px;padding:21px 20px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;color:var(--ink);text-decoration:none}.problem-grid a:nth-child(3n){border-right:0}.problem-grid a:hover{background:#e3edeb}.problem-grid span{font:10px var(--mono);color:#77838d}.problem-grid strong{font:600 19px/1.65 var(--serif)}.problem-grid b{font-size:17px;text-align:right;font-weight:400}.problem-grid .problem-featured{background:var(--ink);color:#fff}.problem-grid .problem-featured:hover{background:var(--blue)}.services{padding-bottom:136px}.service-heading{border-bottom:1px solid var(--ink);padding-bottom:43px}.service-list{border-bottom:1px solid var(--ink)}.service-item{display:grid;grid-template-columns:90px 1.15fr 1fr;gap:20px;padding:38px 0 40px;border-bottom:1px solid var(--line)}.service-item:last-child{border:0}.service-index{font:11px var(--mono);color:var(--blue)}.service-main p,.work-meta p{font:10px var(--mono);letter-spacing:.12em;margin:0 0 8px;color:var(--blue)}.service-main h3{font:600 25px/1.55 var(--serif);margin:0}.service-detail p{font-size:13px;line-height:1.9;margin:0 0 14px;color:#465766}.service-detail ul{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0}.service-detail li{font-size:11px;border:1px solid #acbabf;padding:2px 8px}.works{padding:120px 32px 134px;background:#e7eff0;max-width:none}.works>*{max-width:1176px;margin-left:auto;margin-right:auto}.split-intro{display:flex;justify-content:space-between;align-items:end}.split-intro>p{max-width:335px;margin:0;color:#526170;font-size:13px;line-height:1.9}.work-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr;gap:20px;margin-top:50px}.work-card{background:var(--paper)}.work-visual{height:284px;padding:21px;position:relative;overflow:hidden;font:500 18px/1.23 var(--mono);letter-spacing:-.04em}.work-card-large .work-visual{height:370px}.work-visual i{position:absolute;bottom:20px;right:20px;font-style:normal;font:20px var(--mono)}.visual-exporter{background:var(--ink);color:#fff;background-image:linear-gradient(130deg,transparent 55%,#68c3c1 55%,#68c3c1 58%,transparent 58%)}.visual-web{background:#a7c8d0;background-image:linear-gradient(90deg,transparent 58%,#d9e9ea 58%)}.visual-creative{background:#e2c9a3;background-image:radial-gradient(circle at 75% 28%,#8b6346 0 24%,transparent 25%)}.work-meta{padding:19px 20px 22px}.work-meta h3{font:600 16px/1.7 var(--serif);margin:0}.about{background:var(--ink);color:#fff;padding:120px 0}.about-grid{display:grid;grid-template-columns:1fr 2fr;gap:40px}.about .eyebrow{color:#c1d2d4}.about h2{font-size:clamp(32px,4vw,53px)}.about-copy{margin-top:52px;max-width:600px;border-top:1px solid #7e8996;padding-top:25px;display:grid;grid-template-columns:1fr 1fr;gap:33px}.about-copy p{font-size:14px;line-height:2;margin:0}.flow{padding-top:127px;padding-bottom:128px}.flow h2{margin-bottom:48px}.flow ol{list-style:none;padding:0;margin:0;border-top:1px solid var(--ink);display:grid;grid-template-columns:repeat(4,1fr)}.flow li{padding:21px 20px 0;border-right:1px solid var(--line);min-height:190px}.flow li:first-child{padding-left:0}.flow li:last-child{border:0}.flow li span{display:block;font:10px var(--mono);color:var(--blue);margin-bottom:32px}.flow li strong{font:600 18px var(--serif)}.flow li p{font-size:12px;line-height:1.8;color:#536270;margin:9px 0}.contact{background:#dbeaec;padding:118px 0 120px}.contact-inner{max-width:700px}.contact h2{margin-bottom:21px}.contact-inner>p:not(.eyebrow){font-size:14px;line-height:2;color:#415362;margin:0 0 36px}.contact form{display:grid;gap:17px}.contact label{font-size:12px;font-weight:600;display:grid;gap:6px}.contact input,.contact textarea{font:14px/1.7 var(--sans);border:1px solid #aebfc3;background:#ffffff80;padding:12px;resize:vertical}.contact button{justify-self:start}.form-note{font-size:11px;color:#526170;margin:0}.site-footer{min-height:158px;display:flex;align-items:center;justify-content:space-between;gap:20px}.site-footer p,.site-footer small{margin:0;font-size:11px;color:#61707c}.site-footer small{font:9px var(--mono)}@media(max-width:760px){.section-shell{padding-left:20px;padding-right:20px}.site-header{height:68px;padding:0 20px}.site-header nav{display:none}.hero{padding-top:63px;min-height:auto}.hero-grid{grid-template-columns:1fr;gap:42px}.hero h1{font-size:50px}.hero-copy{font-size:15px;margin:24px 0 28px}.hero-note{min-height:180px}.hero-bottom{margin-top:48px}.hero-bottom>span:last-child{display:none}.problems{padding-top:80px;padding-bottom:83px}.problem-grid{grid-template-columns:repeat(2,1fr);margin-top:35px}.problem-grid a{min-height:150px;padding:16px}.problem-grid a:nth-child(3n){border-right:1px solid var(--line)}.problem-grid a:nth-child(2n){border-right:0}.problem-grid strong{font-size:16px}.services{padding-bottom:85px}.service-item{grid-template-columns:40px 1fr;gap:12px;padding:27px 0}.service-main h3{font-size:20px}.service-detail{grid-column:2}.split-intro{display:block}.split-intro>p{margin-top:17px}.works{padding:80px 20px}.work-grid{grid-template-columns:1fr;margin-top:35px}.work-card-large .work-visual,.work-visual{height:220px}.about{padding:81px 0}.about-grid{grid-template-columns:1fr;gap:22px}.about-copy{margin-top:35px;grid-template-columns:1fr;gap:20px}.flow{padding-top:80px;padding-bottom:82px}.flow h2{margin-bottom:32px}.flow ol{grid-template-columns:1fr 1fr}.flow li{min-height:158px;padding:15px}.flow li:nth-child(2){border-right:0}.flow li span{margin-bottom:16px}.contact{padding:80px 0}.site-footer{min-height:130px;display:grid;grid-template-columns:1fr 1fr}.site-footer small{grid-column:1/-1}.site-footer p{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}