:root{--paper:#fcf3e8;--blue:#155aa2;--bright-blue:#2378cb;--ink:#183859;--coral:#ed8058;--yellow:#f6c64c;--line:#d8d8cc;--font:'Noto Sans JP',sans-serif;--round:'Zen Maru Gothic','Noto Sans JP',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:34px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:6px}::selection{background:var(--yellow);color:var(--ink)}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--round);font-weight:700}h2{font-size:clamp(2rem,3.3vw,3.125rem);letter-spacing:.06em;line-height:1.75}h3{font-size:1.625rem;line-height:1.7;letter-spacing:.04em}.skip-link{position:fixed;top:-100px;left:20px;z-index:20;background:white;padding:15px}.skip-link:focus{top:15px}.section-wrap{padding-left:max(7%,calc((100% - 1100px)/2));padding-right:max(7%,calc((100% - 1100px)/2))}
.site-header{height:123px;display:flex;justify-content:space-between;align-items:center;padding:22px 5%;gap:35px;position:relative;z-index:5}.brand{flex-shrink:0}.logo-crop{display:block;position:relative;overflow:hidden;width:184px;aspect-ratio:1028/435;mix-blend-mode:multiply}.logo-crop img{max-width:none;width:149.42%;height:auto;position:absolute;left:-24.7%;top:-44.8%;mix-blend-mode:multiply}.site-header nav{display:flex;align-items:center;gap:28px;font-size:.875rem;font-weight:600;color:var(--blue)}.site-header nav a{padding:12px 0;transition:opacity .2s}.site-header nav a:hover{opacity:.65}.site-header nav .nav-contact{border:1px solid #b4bcc1;border-radius:40px;padding:12px 22px}.nav-contact span{padding-left:20px}.menu-toggle{display:none}
.hero{position:relative;isolation:isolate;display:grid;grid-template-columns:43% 57%;align-items:center;min-height:660px;padding:35px 5% 90px 8%;gap:0;overflow:hidden}.hero-copy{padding:15px 0 28px;z-index:2}.eyebrow{font-size:.875rem;font-weight:600;letter-spacing:.09em;margin-bottom:22px}h1{font-size:clamp(2.875rem,4.5vw,4.4rem);line-height:1.42;letter-spacing:.09em;color:var(--blue)}.day1{font-family:Arial,sans-serif;font-size:1.93em;line-height:1.13;font-weight:700;letter-spacing:-.075em;display:inline-block;margin-left:-.03em}.day1>span{font-family:var(--round);color:var(--coral);font-size:.6em;letter-spacing:-.24em}.hero-lead{font-family:var(--round);font-size:1.0625rem;line-height:2;letter-spacing:.06em;font-weight:500;margin:23px 0 26px}.round-link{display:inline-flex;gap:35px;align-items:center;font-size:.875rem;font-weight:600;color:var(--blue);padding:6px 0}.arrow{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid currentColor;border-radius:50%;font-size:1.25rem;transition:background .2s,color .2s,transform .2s}.round-link:hover .arrow{background:var(--blue);color:var(--paper);transform:translateY(3px)}.hero-art{position:relative;width:113%;margin-left:-9%;aspect-ratio:1.05;align-self:center;background:var(--bright-blue);border-radius:49% 49% 42% 45%;overflow:hidden;transform:rotate(-4deg);z-index:0}.hero-art img{width:100%;height:100%;object-fit:cover;transform:rotate(4deg) scale(1.08)}.art-caption{position:absolute;bottom:8%;left:0;width:100%;text-align:center;color:var(--paper);font-size:.8125rem;letter-spacing:.15em;transform:rotate(4deg);text-shadow:0 1px 4px #183859}.hero-foot{position:absolute;bottom:28px;left:8%;font-size:.75rem;letter-spacing:.2em;color:var(--blue)}
.belief{padding-top:110px;padding-bottom:125px}.section-kicker{font-family:Arial,sans-serif;font-size:.8125rem;font-weight:600;letter-spacing:.14em;color:var(--blue);margin-bottom:25px}.section-kicker span{font-family:var(--font);font-size:.8125rem;font-weight:500;margin-left:25px;letter-spacing:.06em}.belief>h2{margin-bottom:60px}.underline{background:linear-gradient(transparent 80%,#f6c64c80 80%,#f6c64c80 94%,transparent 94%)}.belief-body{display:grid;grid-template-columns:38% 62%;align-items:center}.belief-symbol{position:relative;aspect-ratio:1.1;width:80%;border-radius:48% 50% 45% 50%;background:var(--yellow);display:flex;align-items:center;justify-content:center;transform:rotate(-9deg)}.symbol-crop{position:relative;display:block;width:65%;aspect-ratio:460/430;overflow:hidden;mix-blend-mode:multiply;transform:rotate(9deg)}.symbol-crop img{max-width:none;width:333.9%;height:auto;position:absolute;left:-55.4%;top:-45.3%;mix-blend-mode:multiply}.small-orbit{position:absolute;background:var(--coral);border-radius:50%;width:35px;height:35px;right:-10px;top:0}.orbit-two{background:var(--bright-blue);width:17px;height:17px;left:0;top:auto;bottom:-20px}.story p{font-size:1rem;line-height:2.15;letter-spacing:.035em;margin-bottom:23px}.story .story-last{margin-top:30px;margin-bottom:0}.story-last strong{font-family:var(--round);font-size:1.35rem;display:block;margin-top:8px;font-weight:700;color:var(--blue)}
.together{padding:76px max(7%,calc((100% - 1100px)/2)) 35px;background:var(--blue);color:var(--paper);border-radius:55% 55% 0 0 / 48px 48px 0 0;overflow:hidden;text-align:center}.together-top{display:flex;justify-content:center;align-items:center;gap:24px;font-size:1rem;letter-spacing:.07em;margin-bottom:20px}.together-top>span{font-size:2.75rem;line-height:1;color:var(--yellow)}.together h2{font-size:clamp(2.1rem,4.3vw,4rem);letter-spacing:.055em;margin:12px 0 30px}.together-copy{font-size:1rem;line-height:2.2;letter-spacing:.025em}.day1-line{display:flex;align-items:center;justify-content:center;gap:35px;margin:45px auto 0;font-family:Arial,sans-serif;line-height:1.15;font-size:clamp(3.5rem,10.5vw,9rem);font-weight:700;letter-spacing:-.07em}.day1-line>span:nth-child(3){color:var(--yellow)}.day1-line>span:last-child{position:relative;color:#ffab80}.day1-line i{font-family:var(--round);font-weight:500;font-size:.35em;font-style:normal}.tiny-spark{position:absolute;font-family:Arial,sans-serif;font-size:.23em;right:-.6em;top:-.3em;letter-spacing:0}
.approach{padding-top:110px;padding-bottom:110px}.section-heading{margin-bottom:65px}.section-heading h2{margin-bottom:24px}.section-heading>p:last-child{line-height:2.1;font-size:1rem}.approach-list{max-width:900px;margin-left:auto}.approach-row{display:grid;grid-template-columns:30% 1fr;gap:55px;align-items:center;padding:50px 0;border-top:1px solid var(--line)}.approach-row:last-child{padding-bottom:0}.step-badge{width:100%;max-width:218px;aspect-ratio:1.06;border-radius:47% 50% 43% 49%;display:grid;place-items:center;transform:rotate(-9deg)}.step-badge span{font-family:Arial,sans-serif;font-size:5rem;line-height:1;font-weight:600;letter-spacing:-.065em;transform:rotate(9deg)}.badge-yellow{background:var(--yellow);color:var(--blue)}.badge-coral{background:var(--coral);border-radius:50% 46% 52% 39%;color:var(--ink);transform:rotate(9deg)}.badge-coral span{transform:rotate(-9deg)}.badge-blue{background:var(--blue);color:var(--paper);border-radius:50% 48% 40% 55%}.verb{color:var(--blue);font-size:.875rem;letter-spacing:.09em;margin-bottom:10px;font-weight:600}.approach-content h3{margin-bottom:20px;font-size:1.875rem}.approach-content>p:last-child{line-height:2.05;font-size:1rem}
.people{padding-top:95px;padding-bottom:110px;background:#f8e9d5;border-radius:50% 50% 0 0 / 35px 35px 0 0}.people h2{margin-bottom:45px}.people-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.people-grid article{border-top:2px solid var(--blue);padding-top:25px}.people-label{font-size:.875rem;color:var(--blue);font-weight:600;display:block;margin-bottom:21px}.people-grid h3{font-size:1.4rem;line-height:1.9;margin-bottom:20px}.people-grid p{font-size:1rem;line-height:2}
.contact{position:relative;text-align:center;padding-top:105px;padding-bottom:90px;overflow:hidden}.contact-mark{font-family:Arial,sans-serif;font-size:5rem;line-height:1;color:var(--coral);margin-bottom:24px}.contact .section-kicker{margin-bottom:20px}.contact h2{font-size:clamp(1.875rem,3.4vw,3rem);margin-bottom:35px}.contact-note{max-width:630px;padding:27px 20px;margin:0 auto 27px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.contact-note h3{font-family:var(--font);font-size:1rem;letter-spacing:.03em;margin-bottom:13px}.contact-note p{font-size:1rem;line-height:2}.site-footer{padding-top:38px;padding-bottom:38px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px}.site-footer .logo-crop{width:157px}.site-footer p{font-family:var(--round);font-size:.9375rem;letter-spacing:.04em;font-weight:700}.site-footer small{font-family:Arial,sans-serif;font-size:.75rem;letter-spacing:.04em}.mobile-only{display:none}
@media(min-width:1500px){.hero{max-width:1500px;margin:0 auto;padding-left:9%;padding-right:7%;min-height:760px}.hero-art{max-width:775px}.hero-foot{left:9%}}
@media(max-width:1050px){.site-header{padding-left:5%;padding-right:5%;gap:20px;height:105px}.logo-crop{width:158px}.site-header nav{gap:18px;font-size:.875rem}.site-header nav .nav-contact{padding:11px 16px}.nav-contact span{padding-left:8px}.hero{min-height:620px;padding-left:7%;padding-right:5%;grid-template-columns:46% 54%}.hero-art{width:118%;margin-left:-12%}.eyebrow{font-size:.875rem;letter-spacing:.03em}h1{font-size:3.125rem}.hero-lead{font-size:1rem}.belief-body{grid-template-columns:34% 66%}.belief-symbol{width:87%}.approach-row{gap:35px}.people-grid{gap:26px}.people-grid h3{font-size:1.25rem}.site-footer{flex-wrap:wrap}.desktop-only{display:none}}
@media(max-width:760px){html{scroll-padding-top:22px}.site-header{height:96px;padding:16px 6%;gap:18px}.logo-crop{width:145px}.menu-toggle{display:flex;align-items:center;gap:14px;border:0;background:transparent;color:var(--blue);font-size:.875rem;padding:13px 0}.menu-toggle>span{font-size:1.25rem}.site-header nav{display:none;position:absolute;top:94px;left:0;right:0;padding:15px 7% 25px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.site-header nav.is-open{display:flex}.site-header nav a{padding:14px 0;font-size:.9375rem}.site-header nav .nav-contact{padding:14px 0;border:0}.hero{display:flex;flex-direction:column;align-items:stretch;padding:22px 7% 64px;min-height:0}.hero-copy{padding:0 0 23px}.eyebrow{font-size:.875rem;margin-bottom:20px}h1{font-size:clamp(2.65rem,9.8vw,4.4rem);line-height:1.35;letter-spacing:.065em}.day1{font-size:1.95em;line-height:1.15}.hero-lead{font-size:1rem;margin-top:18px;margin-bottom:15px}.hero-copy .round-link{gap:23px}.hero-art{width:100%;margin:0;aspect-ratio:1.1;align-self:center;border-radius:47% 49% 44% 46%}.art-caption{font-size:.75rem;bottom:7%}.hero-foot{bottom:22px;left:7%;font-size:.75rem;letter-spacing:.12em}.section-wrap{padding-left:7%;padding-right:7%}.belief{padding-top:60px;padding-bottom:70px}.section-kicker{font-size:.75rem;margin-bottom:22px;letter-spacing:.1em}.section-kicker span{font-size:.8125rem;margin-left:14px;letter-spacing:.03em}h2{font-size:clamp(1.65rem,5.8vw,2.5rem);line-height:1.85;letter-spacing:.02em}.belief>h2{margin-bottom:28px}.belief-body{display:flex;flex-direction:column-reverse;gap:28px;align-items:stretch}.belief-symbol{width:160px;align-self:flex-end;margin-right:25px}.story p{font-size:1rem;line-height:2.1;margin-bottom:22px}.story-last strong{font-size:1.2rem}.small-orbit{width:25px;height:25px}.orbit-two{width:13px;height:13px}.together{padding:58px 7% 32px;border-radius:55% 55% 0 0 / 24px 24px 0 0}.together-top{font-size:.875rem;gap:10px;letter-spacing:.015em}.together-top>span{font-size:2rem}.together h2{font-size:2rem;line-height:1.7;letter-spacing:.04em;margin-bottom:22px}.mobile-only{display:block}.together-copy{text-align:left;font-size:1rem;line-height:2.1}.day1-line{font-size:clamp(2.3rem,10.2vw,4.5rem);gap:14px;margin-top:35px}.approach{padding-top:65px;padding-bottom:70px}.section-heading{margin-bottom:30px}.section-heading h2{margin-bottom:22px}.approach-row{grid-template-columns:70px 1fr;gap:22px;padding:30px 0;align-items:start}.step-badge{margin-top:7px}.step-badge span{font-size:2rem}.verb{font-size:.875rem;margin-bottom:9px}.approach-content h3{font-size:1.3rem;letter-spacing:.015em;line-height:1.8;margin-bottom:16px}.approach-content>p:last-child{font-size:1rem;line-height:2}.people{padding-top:60px;padding-bottom:65px;border-radius:50% 50% 0 0 / 20px 20px 0 0}.people h2{margin-bottom:30px}.people-grid{grid-template-columns:1fr;gap:30px}.people-grid article{padding-top:23px}.people-label{margin-bottom:15px}.people-grid h3{font-size:1.4rem;line-height:1.7;margin-bottom:16px}.contact{padding-top:65px;padding-bottom:60px}.contact-mark{font-size:4rem}.contact h2{font-size:clamp(1.5rem,5.2vw,2.1rem);line-height:1.9;letter-spacing:.025em}.contact-note{padding:23px 0}.contact-note p br{display:none}.site-footer{padding-top:30px;padding-bottom:30px;flex-direction:column;align-items:flex-start;gap:20px}.site-footer .logo-crop{width:145px}.site-footer p{font-size:.875rem}}
@media(max-width:370px){.approach-row{grid-template-columns:1fr;gap:18px}.step-badge{width:65px}.section-kicker span{display:block;margin:7px 0 0}.day1-line{gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.team{padding-top:100px;padding-bottom:100px;border-bottom:1px solid var(--line)}.team>h2{margin-bottom:45px}.member{display:grid;grid-template-columns:minmax(220px,340px) minmax(0,1fr);gap:65px;align-items:center}.member-photo{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:center top;border-radius:26px}.member-role{font-size:.875rem;font-weight:600;letter-spacing:.08em;color:var(--blue);margin-bottom:10px}.member-copy h3{font-size:2.15rem;line-height:1.5;letter-spacing:.08em}.member-name-en{font-family:Arial,sans-serif;font-size:.875rem;letter-spacing:.08em;margin:7px 0 24px}.member-bio{font-size:1rem;line-height:2.1;max-width:580px}.member-email{display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:.9375rem;margin-top:25px;overflow-wrap:anywhere}.mail-pending{font-size:.75rem;padding:2px 9px;border:1px solid #c9c9bd;border-radius:4px;white-space:nowrap}@media(max-width:760px){.team{padding-top:60px;padding-bottom:60px}.team>h2{margin-bottom:30px}.member{grid-template-columns:1fr;gap:30px}.member-photo{max-width:340px;border-radius:22px}.member-copy h3{font-size:1.875rem}.member-email{gap:9px}.member-name-en{margin-bottom:20px}}
/* Composite against an explicit local background, including inside stacking contexts. */
.logo-crop{background:var(--paper);isolation:isolate;mix-blend-mode:normal}
.symbol-crop{background:var(--yellow);isolation:isolate;mix-blend-mode:normal}
.logo-crop img,.symbol-crop img{filter:grayscale(1) contrast(2);mix-blend-mode:multiply}
