:root{color-scheme:light;--bg:#f7fbff;--panel:#fff;--panel-soft:#eef8ff;--text:#10131a;--muted:#617082;--line:#10131a1f;--accent:#19a8f4;--accent-2:#ff7679;--navy:#0a3470;--shadow:#134e8029;--mx:78%;--my:12%}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at var(--mx) var(--my), #19a8f42e, transparent 16rem), radial-gradient(circle at 76% 10%, #ff767924, transparent 24rem), radial-gradient(circle at 9% 44%, #19a8f429, transparent 30rem), var(--bg);color:var(--text);font-family:var(--font-jp), "Noto Sans JP", system-ui, sans-serif;line-break:strict;margin:0;line-height:1.85}.cursor-glow{left:var(--mx);top:var(--my);z-index:1;pointer-events:none;filter:blur(18px);opacity:.75;background:radial-gradient(circle,#19a8f433,#0000 64%);border-radius:50%;width:22rem;height:22rem;transition:opacity .24s;position:fixed;transform:translate(-50%,-50%)}a{color:inherit;text-decoration:none}.site-header{z-index:20;border-bottom:1px solid var(--line);backdrop-filter:blur(18px);background:#f7fbffd6;justify-content:flex-start;align-items:center;padding:22px clamp(20px,4vw,56px);display:flex;position:sticky;top:0}.header-logo{justify-content:flex-start;align-items:center;display:inline-flex}.header-logo img{width:clamp(170px,16vw,260px);height:auto;display:block}main{z-index:2;position:relative}.hero{align-items:flex-end;min-height:calc(100vh - 80px);padding:clamp(62px,10vw,126px) clamp(20px,6vw,86px);display:flex;position:relative}.buzz-field{pointer-events:none;position:absolute;inset:0;overflow:hidden}.buzz-field span{color:#0a347012;font-family:var(--font-inter), Inter, "Noto Sans JP", sans-serif;white-space:nowrap;font-size:clamp(44px,8vw,132px);font-weight:850;line-height:1;animation:12s ease-in-out infinite floatBuzz;position:absolute}.buzz-field span:first-child{top:18%;right:8%}.buzz-field span:nth-child(2){animation-delay:-3s;top:42%;right:-5%}.buzz-field span:nth-child(3){animation-delay:-6s;bottom:13%;left:46%}.buzz-field span:nth-child(4){animation-delay:-9s;top:7%;left:34%}.hero-copy{z-index:2;position:relative}.eyebrow,.section-label{color:var(--accent);font-family:var(--font-inter), Inter, "Noto Sans JP", sans-serif;letter-spacing:.12em;text-transform:uppercase;margin:0 0 18px;font-size:13px;font-weight:750}h1,h2,h3,p{margin-top:0}h1,h2,h3{overflow-wrap:normal;text-wrap:balance;word-break:keep-all}.line{display:block}h1{letter-spacing:0;max-width:1120px;margin-bottom:28px;font-size:clamp(48px,8vw,118px);font-weight:900;line-height:1.03}h1 .line,.purpose h2 .line,.values h2 .line{opacity:0;animation:.78s cubic-bezier(.2,.8,.2,1) forwards textRise;transform:translateY(.28em)}h1 .line:nth-child(2),.purpose h2 .line:nth-child(2),.values h2 .line:nth-child(2){animation-delay:.12s}.lead{color:#344255;text-wrap:pretty;max-width:820px;font-size:clamp(17px,2vw,21px);font-weight:500}.service-marquee{border-block:1px solid #19a8f433;width:min(100vw - 40px,1180px);margin-top:clamp(34px,5vw,58px);padding:20px 0;position:relative;overflow:hidden;mask-image:linear-gradient(90deg,#0000,#000 9% 91%,#0000)}.service-marquee:hover .marquee-track{animation-play-state:paused}.marquee-track{will-change:transform;gap:clamp(28px,5vw,72px);width:max-content;animation:34s linear infinite marquee;display:flex}.marquee-track span{color:#0a3470e0;white-space:nowrap;flex:none;font-size:clamp(20px,2.8vw,42px);font-weight:900;line-height:1}.marquee-track span:after{content:"";background:linear-gradient(135deg, var(--accent), var(--accent-2));vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-left:clamp(28px,5vw,72px);display:inline-block}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes floatBuzz{0%,to{opacity:.05;transform:translate(0,0)rotate(-2deg)}50%{opacity:.12;transform:translate(-1.5rem,1rem)rotate(2deg)}}@keyframes textRise{to{opacity:1;transform:translateY(0)}}@keyframes floatMark{0%,to{translate:0;rotate:-2deg}50%{translate:-18px 16px;rotate:3deg}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.marquee-track{animation:none;transform:none}.cursor-glow{display:none}}.purpose,.business,.values,.company{border-top:1px solid var(--line);padding:clamp(72px,10vw,130px) clamp(20px,6vw,86px)}.business{border-top:0}.purpose{display:block;position:relative;overflow:hidden}.purpose>:not(.mark-cloud){z-index:2;position:relative}.mark-cloud{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.mark{opacity:.1;filter:blur(.2px)saturate(1.08);transform-origin:50%;width:clamp(180px,18vw,360px);height:auto;animation:14s ease-in-out infinite floatMark;position:absolute}.mark-one{top:13%;right:9%;transform:rotate(-8deg)}.mark-two{opacity:.075;width:clamp(150px,14vw,280px);animation-delay:-5s;bottom:10%;right:24%}.mark-three{opacity:.055;width:clamp(230px,22vw,430px);animation-delay:-9s;top:45%;right:-4%}.purpose h2,.values h2{max-width:980px;margin-bottom:26px;font-size:clamp(34px,5vw,76px);font-weight:900;line-height:1.15}.purpose p:last-child{color:#425166;text-wrap:pretty;max-width:960px;margin-top:clamp(28px,4vw,46px);font-size:clamp(16px,1.7vw,20px)}.section-head{justify-content:space-between;align-items:end;gap:24px;margin-bottom:clamp(40px,7vw,88px);display:flex}.section-head h2{margin-bottom:0;font-size:clamp(44px,8vw,112px);font-weight:900;line-height:.98}.service-item{border-top:1px solid var(--line);isolation:isolate;grid-template-columns:minmax(90px,.22fr) 1fr;gap:clamp(24px,5vw,72px);padding:clamp(34px,5vw,64px) 0;transition:border-color .26s,transform .26s;display:grid;position:relative}.service-item:before{content:"";z-index:-1;opacity:0;background:linear-gradient(90deg,#19a8f41f,#0000 50%),#ff76790b;border-radius:24px;transition:opacity .26s,transform .26s;position:absolute;inset:0 -24px;transform:scaleX(.96)}.service-item:hover{border-color:#19a8f470;transform:translate(8px)}.service-item:hover:before{opacity:1;transform:scaleX(1)}.service-item:last-child{border-bottom:1px solid var(--line)}.service-number{color:var(--accent);font-family:var(--font-inter), Inter, sans-serif;font-size:clamp(42px,7vw,96px);font-weight:850;line-height:1;transition:color .26s,transform .26s}.service-item:hover .service-number{color:var(--accent-2);transform:translateY(-4px)}.service-content h3{max-width:980px;margin-bottom:22px;font-size:clamp(26px,4vw,54px);font-weight:900;line-height:1.22}.service-content p{color:#425166;text-wrap:pretty;max-width:920px;font-size:clamp(16px,1.6vw,19px)}.values{color:var(--text);background:radial-gradient(circle at 18% 18%,#19a8f438,#0000 26rem),linear-gradient(135deg,#eef8ff,#fff5f6);grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:clamp(42px,7vw,112px);display:grid}.values .section-label{color:var(--navy)}.values h2{max-width:760px;font-size:clamp(36px,4.2vw,68px)}.values-copy{align-self:start;position:sticky;top:152px}.value-grid{gap:16px;display:grid}.value-grid div{background:#fff;border:1px solid #0a34701f;border-radius:18px;padding:28px;transition:box-shadow .26s,transform .26s}.value-grid div:hover{transform:translateY(-4px);box-shadow:0 20px 46px #134e8024}.value-grid span{color:var(--accent);font-family:var(--font-inter), Inter, sans-serif;margin-bottom:12px;font-weight:850;display:block}.value-grid h3{margin-bottom:8px;font-size:24px}.value-grid p{color:#425166;text-wrap:pretty;margin-bottom:0;font-size:16px}.company .section-head{margin-bottom:clamp(32px,5vw,56px);display:block}.company .section-head h2{margin-top:8px;font-size:clamp(40px,6vw,80px)}.company-table{border-collapse:collapse;width:100%}.company-table th,.company-table td{border-top:1px solid var(--line);text-align:left;vertical-align:top;padding:22px 0}.company-table tr:last-child th,.company-table tr:last-child td{border-bottom:1px solid var(--line)}.company-table th{width:8.5rem;color:var(--muted);letter-spacing:.04em;font-size:14px;font-weight:700}.company-table td{color:var(--text);font-size:clamp(16px,1.6vw,19px);font-weight:500;line-height:1.8}.company-table td span{display:block}[data-reveal]{opacity:0;transition:opacity .72s,transform .72s cubic-bezier(.2,.8,.2,1);transform:translateY(42px)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}.footer{border-top:1px solid var(--line);color:var(--muted);font-family:var(--font-inter), Inter, "Noto Sans JP", sans-serif;background:#fff;justify-content:space-between;gap:18px;padding:30px clamp(20px,6vw,86px);font-size:13px;display:flex}@media (width<=880px){html,body{overflow-x:hidden}body{line-break:auto;overflow-wrap:anywhere}.site-header{position:relative}.header-logo{min-width:auto}.header-logo img{width:170px}.cursor-glow,.buzz-field,.mark-cloud{display:none}.hero,.purpose,.values{grid-template-columns:1fr}.values-copy{position:static;top:auto}.hero,.hero-copy,.lead,.purpose,.purpose p,.service-content{min-width:0;max-width:100%}h1,h2,h3{word-break:normal;overflow-wrap:break-word;line-break:loose;text-wrap:wrap}.lead,.purpose p,.service-content p,.value-grid p{overflow-wrap:break-word;word-break:normal;line-break:loose}.hero{min-height:auto;padding-top:58px}.service-marquee{width:100%;max-width:100%}.service-item{grid-template-columns:1fr;gap:18px}.section-head{display:block}.company-table th,.company-table td,.company-table tr:last-child th,.company-table tr:last-child td{border:0;width:auto;display:block}.company-table th,.company-table tr:last-child th{padding:22px 0 8px}.company-table td,.company-table tr:last-child td{border-bottom:1px solid var(--line);padding:0 0 22px}.company-table tr:first-child th{border-top:1px solid var(--line)}}@media (width<=560px){h1{font-size:clamp(32px,8.6vw,40px)}.service-marquee{width:100%;max-width:100%;padding:16px 0}.marquee-track{animation-duration:28s}}@keyframes introOut{to{opacity:0;visibility:hidden;pointer-events:none}}@keyframes introLogo{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.intro{z-index:90;background:radial-gradient(circle at 70% 20%, #19a8f429, transparent 22rem), radial-gradient(circle at 20% 80%, #ff76791a, transparent 24rem), var(--bg,#f7fbff);justify-content:center;align-items:center;animation:.56s 1.18s forwards introOut;display:flex;position:fixed;inset:0}.intro-logo{width:clamp(180px,24vw,280px);height:auto;animation:.7s cubic-bezier(.2,.8,.2,1) both introLogo}body:not(.is-ready){overflow:hidden}h1 .line{animation-delay:1.1s}h1 .line:nth-child(2){animation-delay:1.22s}.brand-rail{pointer-events:none;user-select:none;padding:clamp(36px,5vw,68px) 0;position:relative;overflow:hidden}.brand-rail-track{will-change:transform;align-items:center;gap:.35em;width:max-content;font-size:clamp(88px,18vw,248px);display:flex;transform:translate(16vw)}.brand-rail span{color:#0a34701c;font-family:var(--font-inter), Inter, "Noto Sans JP", sans-serif;letter-spacing:-.05em;white-space:nowrap;font-size:1em;font-weight:900;line-height:.8}@media (width<=880px){.brand-rail{padding:28px 0;overflow:hidden}.brand-rail-track{gap:.28em;font-size:clamp(64px,22vw,120px);transform:translate(6vw)}}@media (prefers-reduced-motion:reduce){.intro{display:none}body{overflow:auto}h1 .line,h1 .line:nth-child(2){animation-delay:0s}.brand-rail-track{will-change:auto;transform:translate(0,0)}}
