:root{--ink:#10233f;--ink-soft:#38506d;--muted:#667892;--blue-900:#071a33;--blue-800:#0d2b52;--blue-700:#0d4f89;--blue-600:#1378ba;--blue-500:#22a6d5;--cyan:#62d5f3;--line:#dbe7f1;--panel:#fff;--wash:#f3f8fc;--wash-strong:#eaf5fb;--shadow:0 24px 70px rgba(12,44,84,.14);--shadow-soft:0 12px 34px rgba(16,35,63,.11);--radius:8px;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:Inter,"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Arial,sans-serif;line-height:1.7}body.menu-open{overflow:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.brand img{width:300px;height:auto}.skip-link{position:absolute;left:16px;top:-80px;z-index:100;padding:10px 14px;border-radius:6px;color:#fff;background:var(--blue-800);transition:top .2s ease}.skip-link:focus{top:16px}.site-header{position:sticky;top:0;z-index:80;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px;padding:0 clamp(18px,5vw,64px);border-bottom:1px solid rgba(219,231,241,.8);background:rgba(255,255,255,1);backdrop-filter:blur(18px);transition:box-shadow .2s ease , background .2s ease}.site-header.is-scrolled{background:rgba(255,255,255,.96);box-shadow:0 10px 28px rgba(16,35,63,.1)}.brand{display:inline-flex;align-items:center;gap:12px;min-width:190px}.brand-mark{display:grid;width:40px;height:40px;place-items:center;border-radius:50%;color:#fff;font-size:21px;font-weight:800;background:radial-gradient(circle at 35% 26%,rgba(255,255,255,.55),transparent 23%) , linear-gradient(135deg,#0f7ec2,#12366f 70%);box-shadow:0 10px 24px rgba(13,79,137,.24)}.brand-text{display:grid;line-height:1.2}.brand-text strong{font-size:23px;letter-spacing:0}.brand-text small{color:var(--muted);font-size:11px;text-transform:uppercase}.site-nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(10px,1.6vw,22px);color:var(--ink-soft);font-size:13.5px;font-weight:700}.site-nav a{position:relative;padding:8px 0}.site-nav a::after{position:absolute;right:0;bottom:2px;left:0;height:2px;content:"";background:linear-gradient(90deg,var(--blue-600),var(--cyan));transform:scaleX(0);transform-origin:left;transition:transform .2s ease}.site-nav a:hover::after,.site-nav a:focus-visible::after{transform:scaleX(1)}.lang-link{padding:8px 12px!important;border:1px solid var(--line);border-radius:999px;color:var(--blue-800)}.lang-link::after{display:none}.menu-toggle{display:none}.hero{position:relative;min-height:min(760px,calc(100vh - 76px));overflow:hidden;color:#fff;background:var(--blue-900)}.hero-bg{position:absolute;inset:0;background:
    linear-gradient(90deg, rgba(5, 22, 45, 0.88) 0%, rgba(7, 36, 67, 0.72) 43%, rgba(12, 57, 95, 0.28) 74%, rgba(13, 72, 116, 0.2) 100%),
    url("assets/hero-cellex-biotech.png") center / cover no-repeat;transform:scale(1.01)}.hero::after{position:absolute;right:-12vw;bottom:-18vw;width:44vw;min-width:420px;aspect-ratio:1;border-radius:50%;content:"";background:radial-gradient(circle,rgba(98,213,243,.25),transparent 62%);pointer-events:none}.hero-content{position:relative;z-index:1;width:min(760px,calc(100% - 40px));padding:clamp(84px,14vw,164px) 0 220px clamp(22px,7vw,86px)}.eyebrow{margin:0 0 12px;color:var(--blue-600);font-size:12px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.hero .eyebrow{color:#9ee9ff}h1,h2,h3,p{overflow-wrap:anywhere}h1{margin:0;font-size:clamp(44px,7vw,86px);line-height:1.05;letter-spacing:0}h2{margin:0;color:var(--ink);font-size:clamp(30px,4vw,52px);line-height:1.18;letter-spacing:0}h3{margin:0;color:var(--ink);font-size:22px;line-height:1.35}.hero-lead{max-width:660px;margin:26px 0 0;color:rgba(255,255,255,.88);font-size:clamp(17px,2vw,21px)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:999px;font-weight:800;transition:transform .2s ease , box-shadow .2s ease}.button:hover,.button:focus-visible{transform:translateY(-2px)}.button.primary{color:var(--blue-900);background:linear-gradient(135deg,#fff,#c9f4ff);box-shadow:0 18px 38px rgba(98,213,243,.28)}.button.secondary{border:1px solid rgba(255,255,255,.38);color:#fff;background:rgba(255,255,255,.1)}.hero-panel{position:absolute;right:clamp(20px,6vw,72px);bottom:38px;left:clamp(20px,6vw,72px);z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;overflow:hidden;border:1px solid rgba(255,255,255,.24);border-radius:var(--radius);background:rgba(255,255,255,.15);backdrop-filter:blur(18px)}.hero-panel div{padding:22px 28px;background:rgba(5,22,45,.28)}.hero-panel strong{display:block;font-size:clamp(28px,4vw,48px);line-height:1}.hero-panel span{display:block;margin-top:8px;color:rgba(255,255,255,.76);font-weight:700}.section{position:relative;max-width:var(--max);margin:0 auto;padding:clamp(70px,9vw,118px) clamp(20px,4vw,34px);scroll-margin-top:90px}.section-divider::before{position:absolute;top:0;right:clamp(20px,4vw,34px);left:clamp(20px,4vw,34px);height:1px;content:"";background:linear-gradient(90deg,transparent,rgba(19,120,186,.32),transparent)}.section-split,.ip-section{display:grid;grid-template-columns:minmax(0,.95fr) minmax(320px,1fr);gap:clamp(34px,6vw,72px);align-items:center}.section-copy p,.section-heading p,.tech-layout>div>p,.ip-copy p{color:var(--ink-soft);font-size:17px}.image-card{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-soft)}.image-card img{width:100%;height:100%;object-fit:cover}.section-split .image-card{aspect-ratio:1.62}.section-heading{max-width:820px;margin-bottom:38px}.section-heading.centered{margin-right:auto;margin-left:auto;text-align:center}.news-section{padding-top:clamp(58px,7vw,86px);padding-bottom:clamp(58px,7vw,88px)}.news-section .section-heading{margin-bottom:24px}.notice-entry{display:grid;grid-template-columns:190px minmax(0,1fr);gap:26px;align-items:center;max-width:920px;padding:20px;border:1px solid rgba(19,120,186,.18);border-radius:var(--radius);background:radial-gradient(circle at 90% 15%,rgba(98,213,243,.18),transparent 34%) , #fff;box-shadow:var(--shadow-soft);transition:transform .2s ease , box-shadow .2s ease , border-color .2s ease}.notice-entry:hover,.notice-entry:focus-visible{border-color:rgba(19,120,186,.38);box-shadow:var(--shadow);transform:translateY(-3px)}.notice-thumb{display:grid;place-items:center;height:170px;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,#f6fbff,#fff)}.notice-thumb img{width:100%;height:100%;object-fit:contain}.notice-copy time,.notice-body time{display:inline-flex;margin-bottom:10px;color:var(--blue-600);font-size:13px;font-weight:900;letter-spacing:.04em}.notice-copy h3{margin-bottom:8px;font-size:clamp(22px,3vw,30px)}.notice-copy p{margin:0;color:var(--ink-soft)}.notice-copy span{display:inline-flex;margin-top:18px;color:var(--blue-700);font-weight:900}.notice-page{background:linear-gradient(180deg,#f3f8fc 0%,#fff 42%) , #fff}.notice-article{max-width:var(--max);margin:0 auto;padding:clamp(72px,9vw,116px) clamp(20px,4vw,34px)}.notice-hero{max-width:880px;margin-bottom:38px}.notice-hero h1{margin:0;color:var(--ink);font-size:clamp(36px,5vw,64px);line-height:1.08}.notice-lead{margin:22px 0 0;color:var(--ink-soft);font-size:clamp(18px,2.2vw,22px)}.back-link{display:inline-flex;margin-bottom:24px;color:var(--blue-700);font-weight:900}.event-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;max-width:880px;margin:30px 0 0;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--line);box-shadow:var(--shadow-soft)}.event-meta div{padding:18px;background:#fff}.event-meta dt{margin:0 0 4px;color:var(--blue-600);font-size:12px;font-weight:900;text-transform:uppercase}.event-meta dd{margin:0;color:var(--ink);font-weight:800}.notice-layout{display:grid;grid-template-columns:minmax(300px,420px) minmax(0,1fr);gap:clamp(28px,5vw,58px);align-items:start}.notice-poster{margin:0;overflow:hidden;border:1px solid rgba(19,120,186,.18);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.notice-poster img{width:100%;height:auto}.notice-body{padding:clamp(28px,5vw,44px);border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-soft)}.notice-body h2{margin-bottom:18px;font-size:clamp(28px,4vw,44px)}.notice-body p{color:var(--ink-soft)}.notice-button{margin-top:14px;color:#fff!important;background:linear-gradient(135deg,var(--blue-700),var(--blue-500))!important;box-shadow:0 18px 38px rgba(19,120,186,.24)!important}.pillar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.pillar-card{position:relative;min-height:250px;padding:30px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:radial-gradient(circle at top right,rgba(98,213,243,.18),transparent 42%) , #fff;box-shadow:var(--shadow-soft)}.pillar-card span{display:inline-flex;margin-bottom:42px;color:var(--blue-600);font-size:13px;font-weight:900}.pillar-card h3{margin-bottom:10px;font-size:28px}.pillar-card p{margin:0;color:var(--ink-soft)}.technology{max-width:none;padding-right:0;padding-left:0;background:linear-gradient(180deg,var(--wash) 0%,#fff 100%)}.tech-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(360px,1fr);gap:clamp(34px,6vw,70px);align-items:center;max-width:var(--max);margin:0 auto;padding:0 clamp(20px,4vw,34px)}.feature-list{display:grid;gap:12px;margin-top:28px}.feature-list div{display:grid;gap:4px;padding:16px 18px;border:1px solid rgba(19,120,186,.18);border-radius:var(--radius);background:rgba(255,255,255,.72)}.feature-list strong{color:var(--blue-800)}.feature-list span{color:var(--ink-soft)}.tech-image{margin:0;overflow:hidden;border-radius:var(--radius) 0 0 var(--radius);box-shadow:var(--shadow)}.tech-image img{width:100%;aspect-ratio:1.78;object-fit:cover}.quality-band{max-width:var(--max);margin:52px auto 0;padding:26px clamp(20px,4vw,34px);border:1px solid rgba(19,120,186,.2);border-radius:var(--radius);background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(225,244,252,.88)) , var(--wash-strong);box-shadow:var(--shadow-soft)}.quality-band h3{margin-bottom:8px}.quality-band p{margin:0;color:var(--ink-soft)}.products{max-width:none;background:#fff}.products .section-heading,.products .product-grid{max-width:var(--max);margin-right:auto;margin-left:auto}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.product-card{display:grid;grid-template-rows:310px 1fr;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-soft)}.product-card figure{display:grid;place-items:center;margin:0;padding:28px;overflow:hidden;background:radial-gradient(circle at 50% 22%,rgba(98,213,243,.26),transparent 34%) , linear-gradient(180deg,#f6fbff,#fff)}.product-card img{width:auto;height:auto;max-width:100%;max-height:254px;object-fit:contain}.product-card div{padding:28px}.product-label{margin:0 0 8px;color:var(--blue-600);font-size:12px;font-weight:900;text-transform:uppercase}.product-card p:not(.product-label) {color:var(--ink-soft)}.spec{display:inline-flex;margin-top:8px;padding:8px 12px;border:1px solid rgba(19,120,186,.18);border-radius:999px;color:var(--blue-800);font-size:13px;font-weight:800;background:var(--wash)}.solutions{max-width:none;background:linear-gradient(180deg,#fff 0%,rgba(234,245,251,.72) 100%)}.solutions .section-heading,.solutions .solution-grid{max-width:var(--max);margin-right:auto;margin-left:auto}.solution-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--line);box-shadow:var(--shadow-soft)}.solution-grid article{min-height:310px;padding:28px 22px;background:#fff}.solution-grid h3{min-height:58px;color:var(--blue-800);font-size:20px}.solution-grid p{margin:14px 0 0;color:var(--ink-soft);font-size:15px}.ip-section{grid-template-columns:minmax(0,1fr) 420px}.patent-list{display:grid;gap:10px;margin:24px 0 0;padding:0;list-style:none}.patent-list li{padding-left:18px;border-left:3px solid var(--blue-500);color:var(--ink-soft)}.patents-card{aspect-ratio:1.72;background:var(--wash)}.patents-card img{object-fit:contain;padding:12px}.partners{max-width:none;background:linear-gradient(180deg,#fff 0%,var(--wash) 100%)}.partners .section-heading,.partner-grid{max-width:var(--max);margin-right:auto;margin-left:auto}.partner-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.partner-grid article{padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-soft)}dl{margin:18px 0 0}dt{margin-top:20px;color:var(--blue-800);font-weight:900}dd{margin:6px 0 0;color:var(--ink-soft)}.contact-section{padding:clamp(70px,9vw,110px) clamp(20px,4vw,34px);background:
    linear-gradient(100deg, rgba(5, 46, 60, 0.96), rgba(14, 128, 132, 0.84)),
    url("assets/cell-vertical.png") right 18% center / 360px auto no-repeat;color:#fff}.contact-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:32px;align-items:center;max-width:var(--max);margin:0 auto;padding:clamp(28px,5vw,48px);border:1px solid rgba(255,255,255,.24);border-radius:var(--radius);background:rgba(255,255,255,.1);backdrop-filter:blur(16px)}.contact-card h2,.contact-card h3{color:#fff}.contact-card .eyebrow{color:#9ee9ff}.contact-card p{color:rgba(255,255,255,.82)}.contact-details{display:grid;gap:12px}.contact-details a,.contact-details address{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;align-items:center;padding:15px 16px;border:1px solid rgba(255,255,255,.22);border-radius:var(--radius);color:#fff;font-style:normal;background:rgba(255,255,255,.1)}.contact-icon{display:inline-grid;width:38px;height:38px;place-items:center;border-radius:50%;color:#9ee9ff;background:rgba(98,213,243,.14)}.contact-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:26px clamp(20px,5vw,64px);color:rgba(255,255,255,.72);background:var(--blue-900)}.site-footer div{display:grid;color:#fff;line-height:1.35}.site-footer span{color:rgba(255,255,255,.66);font-size:13px}.site-footer p{margin:0;font-size:13px}@media (max-width:1100px){.solution-grid{grid-template-columns:repeat(2,1fr)}.solution-grid article:last-child{grid-column:span 2;min-height:auto}}@media (max-width:900px){.site-header{position:fixed;right:0;left:0;min-height:68px}main{padding-top:68px}.menu-toggle{position:relative;z-index:51;display:inline-grid;grid-template-columns:18px auto;gap:4px 8px;align-items:center;min-height:42px;padding:0 14px;border:1px solid rgba(19,120,186,.22);border-radius:999px;color:var(--blue-800);font:inherit;font-size:13px;font-weight:900;background:#fff;box-shadow:0 10px 24px rgba(16,35,63,.08)}.menu-toggle span{width:18px;height:2px;border-radius:999px;background:var(--blue-800);transition:transform .2s ease , opacity .2s ease}.menu-toggle span:nth-child(1) {grid-column:1;grid-row:1}.menu-toggle span:nth-child(2) {grid-column:1;grid-row:2}.menu-toggle span:nth-child(3) {grid-column:1;grid-row:3}.menu-toggle em{grid-column:2;grid-row: 1 / span 3;font-style:normal}.menu-open .menu-toggle span:nth-child(1) {transform:translateY(6px) rotate(45deg)}.menu-open .menu-toggle span:nth-child(2) {opacity:0}.menu-open .menu-toggle span:nth-child(3) {transform:translateY(-6px) rotate(-45deg)}.site-nav{position:fixed;top:76px;right:18px;left:18px;z-index:50;display:grid;gap:8px;align-items:stretch;justify-content:stretch;padding:16px;border:1px solid rgba(19,120,186,.22);border-radius:14px;background:radial-gradient(circle at top right,rgba(98,213,243,.18),transparent 38%) , #f8fcff;box-shadow:0 26px 80px rgba(7,26,51,.2);backdrop-filter:blur(20px);opacity:0;pointer-events:none;transform:translateY(-10px);transition:opacity .2s ease , transform .2s ease}.site-nav.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.site-nav a{padding:13px 14px;border-radius:8px;background:rgba(243,248,252,.84)}.site-nav a::after{display:none}.lang-link{border-radius:8px}.hero{min-height:auto}.hero-bg{background:
      linear-gradient(180deg, rgba(5, 22, 45, 0.88) 0%, rgba(7, 36, 67, 0.76) 54%, rgba(12, 57, 95, 0.46) 100%),
      url("assets/hero-cellex-biotech.png") center / cover no-repeat}.hero-content{width:auto;padding:76px 22px 270px}.hero-panel{grid-template-columns:1fr}.hero-panel div{padding:18px 20px}.section-split,.tech-layout,.ip-section,.contact-card,.notice-layout{grid-template-columns:1fr}.notice-entry{grid-template-columns:150px minmax(0,1fr)}.event-meta{grid-template-columns:1fr}.tech-image{border-radius:var(--radius)}.product-grid,.pillar-grid,.partner-grid{grid-template-columns:1fr}.product-card{grid-template-rows:280px 1fr}.site-footer{align-items:flex-start;flex-direction:column}}@media (max-width:620px){.brand{min-width:0}.brand-text small{display:none}.hero-content{padding-bottom:330px}.hero-panel{right:16px;bottom:20px;left:16px}.section{padding-top:62px;padding-bottom:62px}.pillar-card{min-height:auto}.pillar-card span{margin-bottom:24px}.solution-grid{grid-template-columns:1fr}.solution-grid article,.solution-grid article:last-child{grid-column:auto;min-height:auto}.notice-entry{grid-template-columns:1fr}.notice-thumb{height:230px}.notice-article{padding-top:58px}.contact-section{background:
      linear-gradient(100deg, rgba(5, 46, 60, 0.97), rgba(14, 128, 132, 0.9)),
      url("assets/cell-vertical.png") right -80px center / 280px auto no-repeat}}@media (max-width:768px){html,body{width:100%;overflow-x:hidden}*,*::before,*::after{box-sizing:border-box}.hero{display:flex;flex-direction:column;min-height:auto;padding:88px 16px 36px}.hero-content{width:100%;max-width:100%;padding:0}.hero-actions{position:relative;z-index:5;display:flex;flex-wrap:wrap;gap:12px;width:100%;max-width:100%;margin-top:28px;margin-bottom:28px}.hero-actions .button{flex:1 1 140px;min-width:0}.hero-panel{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important}.hero-panel>div{width:100%;max-width:100%;min-width:0}}