:root{--font-jp:"Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", YuGothic, Meiryo, system-ui, sans-serif;--font-serif-fallback:"Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Noto Serif JP", serif;--maxw:1200px;--ground:#fafafb;--ink:#14151a;--ink-soft:#3c3e46;--sub:#71747d;--line:#e7e8ec;--line-strong:#c9ccd3;--accent:#2f4a63;--accent-ink:#fff;--navy-deep:#16232f;--photo-a:#5d7186;--photo-b:#2c3947}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--ground);color:var(--ink);font-family:var(--font-body), var(--font-jp);-webkit-font-smoothing:antialiased;margin:0;line-height:1.7}.hero__headline,.page-hero__title,.prod-hero__title,.manifesto,.band__lead,.spot__title,.recruit__in h2,.sec-head h2,.principle h3{font-family:var(--font-display), var(--font-serif-fallback);letter-spacing:.02em;font-weight:700}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,4vw,48px)}.eyebrow{color:var(--accent);letter-spacing:.24em;text-transform:uppercase;margin:0 0 22px;font-size:.74rem;font-weight:700}.btn-primary,.btn-ghost{cursor:pointer;letter-spacing:.04em;border-radius:2px;padding:15px 30px;font-family:inherit;font-size:.92rem;font-weight:700;text-decoration:none;transition:transform .15s;display:inline-block}.btn-primary{background:var(--accent);border:1px solid var(--accent);color:var(--accent-ink)}.btn-ghost{border:1px solid var(--line-strong);color:var(--ink)}.btn-primary:hover,.btn-ghost:hover{transform:translateY(-2px)}.photo{aspect-ratio:4/3;background:var(--photo-b);position:relative;overflow:hidden}.photo img{filter:saturate(.82)contrast(1.05)brightness(.98)}.photo:after{content:"";mix-blend-mode:multiply;pointer-events:none;background:linear-gradient(#16232f0d,#16232f29);position:absolute;inset:0}.photo--tall{aspect-ratio:4/5}.photo--wide{aspect-ratio:3/2}.photo--portrait{aspect-ratio:3/4}.media-lead{aspect-ratio:21/9;margin:clamp(24px,4vw,52px) 0}.nav{-webkit-backdrop-filter:saturate(1.4)blur(10px);backdrop-filter:saturate(1.4)blur(10px);background:color-mix(in srgb, var(--ground) 86%, transparent);border-bottom:1px solid var(--line);z-index:10;position:sticky;top:0}.nav__in{max-width:var(--maxw);justify-content:space-between;align-items:center;margin:0 auto;padding:16px clamp(20px,4vw,48px);display:flex}.logo{letter-spacing:.28em;align-items:center;gap:.5em;font-size:1.02rem;font-weight:800;text-decoration:none;display:inline-flex}.logo__mark{color:var(--accent);flex:none;width:1.35em;height:1.35em}.footer .logo__mark{color:#fff}.nav__menu{letter-spacing:.06em;gap:clamp(16px,2vw,34px);font-size:.8rem;display:flex}.nav__menu a{color:var(--sub);text-decoration:none;transition:color .15s}.nav__menu a:hover{color:var(--ink)}.nav__menu a.is-talk{color:var(--accent);font-weight:700}.hero{padding:clamp(48px,8vw,110px) 0 clamp(40px,6vw,80px)}.hero__grid{grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(28px,4vw,60px);display:grid}.hero__headline{letter-spacing:-.01em;text-wrap:balance;margin:0;font-size:clamp(2.4rem,5.4vw,4.5rem);font-weight:800;line-height:1.13}.hero__sub{color:var(--sub);max-width:32ch;margin:26px 0 0;font-size:clamp(.98rem,1.4vw,1.14rem);font-weight:500}.hero__cta{flex-wrap:wrap;gap:14px;margin-top:40px;display:flex}.band{background:var(--navy-deep);color:#eef2f6;margin-top:clamp(40px,6vw,80px)}.band__in{max-width:var(--maxw);margin:0 auto;padding:clamp(64px,9vw,128px) clamp(20px,4vw,48px)}.band__lab{color:#8aa4bd;letter-spacing:.24em;text-transform:uppercase;margin:0 0 30px;font-size:.72rem;font-weight:700}.band__lead{letter-spacing:.01em;text-wrap:balance;max-width:22ch;margin:0;font-size:clamp(1.4rem,3vw,2.4rem);font-weight:700;line-height:1.55}.band__lead .accent-word{color:#d9694a}.band__small{color:#9fb2c4;max-width:46ch;margin-top:34px;font-size:.92rem;font-weight:500;line-height:1.9}.section{padding:clamp(64px,9vw,120px) 0}.sec-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:clamp(28px,4vw,52px);padding-bottom:20px;display:flex}.sec-head h2{letter-spacing:.02em;margin:0;font-size:1.5rem;font-weight:800}.sec-head .en{color:var(--sub);letter-spacing:.24em;text-transform:uppercase;font-size:.72rem}.proof{border-bottom:1px solid var(--line);border-top:1px solid var(--line);padding:clamp(40px,6vw,72px) 0}.spot__grid{grid-template-columns:.95fr 1.05fr;align-items:center;gap:clamp(28px,5vw,72px);display:grid}.spot--alt .spot__media{order:2}.spot__title{letter-spacing:.01em;text-wrap:balance;margin:18px 0 0;font-size:clamp(1.7rem,3.2vw,2.6rem);font-weight:800;line-height:1.3}.spot__lead{color:var(--sub);max-width:46ch;margin:20px 0 0;font-size:.98rem;line-height:1.9}.spot__points{flex-wrap:wrap;gap:10px;margin:24px 0 30px;padding:0;list-style:none;display:flex}.spot__points li{border:1px solid var(--line-strong);color:var(--ink-soft);border-radius:999px;padding:6px 16px;font-size:.82rem;font-weight:700}.news-list{flex-direction:column;display:flex}.news-item{border-bottom:1px solid var(--line);color:inherit;grid-template-columns:128px 1fr auto;align-items:baseline;gap:20px;padding:22px 4px;text-decoration:none;transition:background .15s;display:grid}.news-item:hover{background:#f2f3f5}.news-item time{color:var(--sub);font-variant-numeric:tabular-nums;letter-spacing:.04em;font-size:.82rem}.news-item .cat{border:1px solid var(--line-strong);color:var(--accent);letter-spacing:.14em;border-radius:999px;width:max-content;margin-bottom:6px;padding:2px 10px;font-size:.66rem}.news-item h3{margin:0;font-size:.98rem;font-weight:700;line-height:1.6}.news-item .arrow{color:var(--sub);font-size:.9rem}.recruit{border-top:1px solid var(--line);margin-top:clamp(20px,4vw,40px)}.recruit__in{grid-template-columns:1fr auto;align-items:center;gap:28px;padding:clamp(48px,7vw,92px) 0;display:grid}.recruit__in h2{letter-spacing:.02em;text-wrap:balance;margin:0;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:800}.recruit__in p{color:var(--sub);margin:14px 0 0;font-size:.95rem}.footer{background:var(--navy-deep);color:#c6d2de}.footer__in{max-width:var(--maxw);grid-template-columns:1.4fr 1fr 1fr;gap:40px;margin:0 auto;padding:clamp(52px,7vw,88px) clamp(20px,4vw,48px) 40px;display:grid}.footer__in .logo{color:#fff;margin-bottom:18px;display:inline-flex}.footer__in address{color:#9fb2c4;font-size:.84rem;font-style:normal;line-height:1.9}.footer__col h4{color:#7f96ac;letter-spacing:.2em;text-transform:uppercase;margin:0 0 16px;font-size:.68rem}.footer__col a{color:#c6d2de;padding:6px 0;font-size:.86rem;text-decoration:none;display:block}.footer__col a:hover{color:#fff}.footer__bottom{color:#7f96ac;letter-spacing:.06em;text-align:center;border-top:1px solid #ffffff1a;padding:20px;font-size:.72rem}.page-hero{padding:clamp(52px,8vw,104px) 0 clamp(28px,4vw,52px)}.page-hero__title{letter-spacing:-.01em;text-wrap:balance;margin:0;font-size:clamp(2rem,4.6vw,3.6rem);font-weight:800;line-height:1.14}.page-hero__lead{color:var(--sub);max-width:44ch;margin:24px 0 0;font-size:clamp(.98rem,1.3vw,1.12rem);font-weight:500;line-height:1.9}.sec-head__more{color:var(--accent);font-weight:700;text-decoration:none;transition:opacity .15s}.sec-head__more:hover{opacity:.7}.manifesto{letter-spacing:.01em;text-wrap:balance;max-width:20ch;margin:0;font-size:clamp(1.8rem,4vw,3rem);font-weight:800;line-height:1.35}.manifesto__sub{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,40px);margin-top:clamp(36px,5vw,56px);padding-top:clamp(28px,4vw,40px);display:grid}.manifesto__key{color:var(--accent);letter-spacing:.22em;text-transform:uppercase;font-size:.7rem;font-weight:700}.manifesto__sub p{letter-spacing:.01em;text-wrap:balance;margin:12px 0 0;font-size:clamp(1.05rem,1.6vw,1.3rem);font-weight:700;line-height:1.6}.principles{grid-template-columns:repeat(2,1fr);gap:0 clamp(40px,6vw,96px);display:grid}.principle{border-top:1px solid var(--line);grid-template-columns:auto 1fr;align-items:baseline;gap:clamp(18px,2vw,32px);padding:clamp(28px,3.4vw,44px) 0;display:grid}.principle__n{color:var(--line-strong);font-family:var(--font-display), var(--font-serif-fallback);font-variant-numeric:tabular-nums;font-size:clamp(1.4rem,2.4vw,2rem);font-weight:400;line-height:1}.principle h3{margin:0;font-size:clamp(1.2rem,2vw,1.5rem)}.principle p{color:var(--sub);grid-column:2;margin:12px 0 0;font-size:.9rem;line-height:1.9}.message__body{max-width:60ch;margin-top:34px}.message__body p{color:#cdd9e4;margin:0 0 18px;font-size:.96rem;line-height:2}.message__sign{color:#eef2f6;letter-spacing:.04em;margin:26px 0 0;font-size:.9rem;font-weight:700}.band__in--split{grid-template-columns:1.35fr .65fr;align-items:center;gap:clamp(32px,5vw,72px);display:grid}.band__media .photo{background:#0f1922}.photo--focus-right img{object-position:center right}.stats{grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,24px);display:grid}.stat{border-bottom:2px solid var(--accent);padding:6px 4px 20px}.stat__num{color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:-.01em;margin:0;font-size:clamp(2.2rem,4vw,3rem);font-weight:800;line-height:1}.stat__unit{color:var(--ink-soft);margin-left:4px;font-size:.9rem;font-weight:700}.stat__label{color:var(--sub);margin:14px 0 0;font-size:.8rem;line-height:1.7}.awards{flex-wrap:wrap;align-items:baseline;gap:14px 20px;margin-top:clamp(28px,4vw,44px);display:flex}.awards__lab{color:var(--sub);letter-spacing:.2em;text-transform:uppercase;font-size:.7rem;font-weight:700}.awards__list{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.awards__list li{border:1px solid var(--line-strong);color:var(--ink-soft);border-radius:999px;padding:5px 14px;font-size:.8rem;font-weight:600}.facts{background:var(--line);border:1px solid var(--line);border-radius:6px;grid-template-columns:repeat(3,1fr);gap:1px;display:grid;overflow:hidden}.fact{background:#fff;padding:22px 24px}.fact__key{color:var(--sub);letter-spacing:.16em;text-transform:uppercase;font-size:.68rem;font-weight:700;display:block}.fact__val{color:var(--ink-soft);margin-top:8px;font-size:.9rem;line-height:1.7;display:block}.facts__team{color:var(--sub);flex-wrap:wrap;gap:8px 22px;margin:22px 0 0;font-size:.82rem;display:flex}.prod-hero{padding:clamp(48px,7vw,96px) 0 clamp(28px,4vw,52px)}.prod-hero__grid{grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(28px,4vw,60px);display:grid}.prod-hero__title{letter-spacing:-.005em;text-wrap:balance;margin:0;font-size:clamp(2rem,4.4vw,3.4rem);font-weight:800;line-height:1.2}.prod-hero__lead{color:var(--sub);max-width:40ch;margin:22px 0 0;font-size:clamp(.98rem,1.3vw,1.1rem);line-height:1.9}.prod-hero__price{color:var(--accent);letter-spacing:.04em;margin:20px 0 0;font-size:1rem;font-weight:700}.steps{counter-reset:step;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,44px);display:grid}.step{border-top:2px solid var(--accent);padding-top:26px;position:relative}.step__n{color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:.18em;font-size:.8rem;font-weight:800}.step h3{letter-spacing:.02em;margin:12px 0 0;font-size:clamp(1.2rem,1.8vw,1.5rem);font-weight:800}.step p{color:var(--sub);margin:12px 0 0;font-size:.9rem;line-height:1.9}.shots{flex-direction:column;gap:clamp(40px,6vw,72px);display:flex}.shot{width:100%;max-width:860px;margin:0}.shot:nth-child(2n){margin-left:auto}.shot__img{border:1px solid var(--line);border-radius:10px;width:100%;height:auto;display:block;box-shadow:0 40px 90px -55px #14192373}.shot figcaption{color:var(--sub);letter-spacing:.02em;margin-top:14px;font-size:.84rem}.problem-list{max-width:52ch;margin:34px 0 0;padding:0;list-style:none}.problem-list li{color:#cdd9e4;border-bottom:1px solid #ffffff1a;padding:14px 0 14px 26px;font-size:.96rem;line-height:1.8;position:relative}.problem-list li:before{background:var(--accent-word,#8aa4bd);content:"";border-radius:999px;width:8px;height:8px;position:absolute;top:22px;left:2px}.features{grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,24px);display:grid}.feature{border:1px solid var(--line);background:#fff;border-radius:5px;padding:30px 26px 34px}.feature__num{color:var(--accent);letter-spacing:.16em;font-size:.9rem;font-weight:800}.feature h3{letter-spacing:.02em;margin:14px 0 0;font-size:1.16rem;font-weight:800}.feature p{color:var(--sub);margin:12px 0 0;font-size:.86rem;line-height:1.85}.roles{border-top:1px solid var(--line)}.role{border-bottom:1px solid var(--line);color:inherit;grid-template-columns:1fr 200px auto;align-items:start;gap:24px;padding:28px 4px;text-decoration:none;transition:background .15s;display:grid}.role:hover{background:#f2f3f5}.role__en{color:var(--accent);letter-spacing:.22em;text-transform:uppercase;font-size:.64rem;font-weight:700}.role__main h3{letter-spacing:.02em;margin:8px 0 0;font-size:1.3rem;font-weight:800}.role__main p{color:var(--sub);max-width:46ch;margin:10px 0 0;font-size:.86rem;line-height:1.8}.role__type{color:var(--ink-soft);letter-spacing:.02em;padding-top:22px;font-size:.78rem;line-height:1.7}.role .arrow{color:var(--sub);padding-top:22px;font-size:.95rem}.process{counter-reset:process;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.5vw,20px);margin:0;padding:0;list-style:none;display:grid}.process__step{border-top:2px solid var(--line-strong);padding-top:16px}.process__n{color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:.16em;font-size:.74rem;font-weight:800}.process__title{letter-spacing:.02em;margin-top:8px;font-size:1rem;font-weight:700;display:block}.process__note{color:var(--sub);margin:24px 0 0;font-size:.86rem;line-height:1.8}.news-outbound{border-top:1px solid var(--line);margin-top:clamp(36px,5vw,56px);padding-top:clamp(28px,4vw,40px)}.news-outbound p{color:var(--sub);letter-spacing:.04em;margin:0 0 18px;font-size:.9rem;font-weight:600}@media (max-width:820px){.hero__grid,.prod-hero__grid,.spot__grid,.band__in--split{grid-template-columns:1fr}.band__media{order:-1}.media-lead{aspect-ratio:3/2}.hero__media,.prod-hero__media,.spot--alt .spot__media{order:-1}.principles,.features,.steps,.manifesto__sub{grid-template-columns:1fr}.stats,.facts,.process{grid-template-columns:1fr 1fr}.role{grid-template-columns:1fr auto}.role__type{grid-column:1/-1;padding-top:4px}.role .arrow{padding-top:0}.footer__in{grid-template-columns:1fr 1fr}.recruit__in{grid-template-columns:1fr}.news-item{grid-template-columns:92px 1fr}.news-item .arrow,.nav__menu{display:none}}@media (prefers-reduced-motion:no-preference){@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.rise{animation:.6s both rise}}
