:root{--primary:#6c4dff;--violet:#b84dff;--navy:#111827;--text:#1f2937;--muted:#6b7280;--light:#f7f7fb;--card:#fff;--border:#e5e7eb;--pale:#f1ecff;--shadow:0 22px 70px #11182717;color:var(--text);background:var(--light);font-family:Inter,Noto Sans JP,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 85% 8%, #b84dff24, transparent 32rem), linear-gradient(180deg, #fff 0%, var(--light) 38%, #fff 100%);min-width:320px;margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.site-shell{min-height:100vh;position:relative;overflow:hidden}.container{width:min(1120px,100% - 40px);margin:0 auto}.site-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:20;background:#ffffffd1;border:1px solid #e5e7ebbf;border-radius:999px;justify-content:space-between;align-items:center;gap:28px;width:min(1120px,100% - 32px);padding:14px 18px 14px 24px;display:flex;position:fixed;top:20px;left:50%;transform:translate(-50%);box-shadow:0 16px 55px #11182714}.brand{color:var(--navy);letter-spacing:0;white-space:nowrap;font-size:.96rem;font-weight:800}nav{align-items:center;gap:20px;display:flex}nav a{color:#374151;font-size:.88rem;font-weight:700;transition:color .18s}nav a:hover{color:var(--primary)}.nav-cta{background:linear-gradient(135deg, var(--primary), var(--violet));color:#fff;border-radius:999px;padding:10px 18px}.nav-cta:hover{color:#fff}.menu-toggle{background:0 0;border:0;width:42px;height:38px;padding:8px;display:none}.menu-toggle span{background:var(--navy);border-radius:999px;width:100%;height:2px;margin:5px 0;display:block}.section-offset{padding-top:142px}.hero{min-height:820px;position:relative;overflow:hidden}.hero-accent{z-index:0;background:radial-gradient(circle at 42% 35%,#fffffff5,#0000 0 32%,#0000),linear-gradient(135deg,#6c4dff2e,#b84dff14);border-radius:999px 0 0 999px;width:54vw;height:620px;position:absolute;top:0;right:-180px}.hero:after,.dark-corner:after{content:"";z-index:0;background:linear-gradient(135deg,#050816,#111827);width:420px;height:220px;position:absolute;bottom:-100px;left:-80px;transform:rotate(-12deg)}.hero:after{width:520px;height:190px;bottom:-185px;left:-120px}.dot-field{opacity:.82;z-index:1;background-image:radial-gradient(#6c4dff47 1.6px,#0000 1.6px);background-size:18px 18px;width:310px;height:260px;position:absolute;top:132px;right:6%}.hero-grid{z-index:2;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);align-items:center;gap:70px;min-height:620px;display:grid;position:relative}.eyebrow{color:var(--primary);letter-spacing:0;text-transform:uppercase;margin:0 0 14px;font-size:.78rem;font-weight:800}h1,h2,h3,p{margin-top:0}h1{color:var(--navy);letter-spacing:0;margin-bottom:30px;font-size:clamp(2.55rem,4.65vw,4.05rem);line-height:1.18}.hero-lead{color:#4b5563;max-width:620px;font-size:1.02rem;line-height:1.9}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:34px;display:flex}.button{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:13px 22px;font-weight:800;transition:transform .18s,box-shadow .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button:focus-visible,.menu-toggle:focus-visible,nav a:focus-visible{outline-offset:4px;outline:3px solid #6c4dff47}.button.primary{background:linear-gradient(135deg, var(--primary), var(--violet));color:#fff;box-shadow:0 15px 36px #6c4dff47}.button.secondary{border-color:var(--border);color:var(--navy);background:#ffffffdb}.hero-visual{aspect-ratio:1;box-shadow:var(--shadow);background:radial-gradient(circle,#fff 0 23%,#0000 24%),conic-gradient(from 140deg,#6c4dffe6,#b84dff94,#1839beb3,#6c4dffe6);border:1px solid #fffc;border-radius:999px;place-items:center;max-width:440px;display:grid;position:relative}.orbit{border:1px solid #ffffffe6;border-radius:999px;position:absolute}.orbit-one{inset:9%}.orbit-two{inset:21%;transform:rotate(26deg)}.orbit-three{inset:34%}.visual-core{border:1px solid var(--border);color:var(--primary);text-align:center;background:#ffffffeb;border-radius:999px;place-items:center;gap:4px;width:164px;height:164px;display:grid;position:relative;box-shadow:0 20px 50px #1118271f}.visual-core span,.visual-core strong{color:var(--primary);font-size:1.34rem;font-weight:900;line-height:1}.section{padding:108px 0;scroll-margin-top:112px;position:relative}#top{scroll-margin-top:0}.section.soft{background:linear-gradient(135deg,#f1ecffe0,#ffffffbd)}.dark-corner{overflow:hidden}.section-heading{z-index:1;max-width:760px;margin-bottom:42px;position:relative}h2{color:var(--navy);letter-spacing:0;margin-bottom:0;font-size:clamp(2rem,4vw,3.3rem);line-height:1.22}.about-layout{grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:36px;display:grid}.section-text{border:1px solid var(--border);box-shadow:var(--shadow);background:#ffffffb8;border-radius:20px;padding:34px;line-height:2}.section-text p:last-child{margin-bottom:0}.keyword-grid{gap:16px;display:grid}.keyword-card,.statement-card,.value-card,.business-card,.detail-card,.cycle-card,.news-card{background:var(--card);box-shadow:var(--shadow);border:1px solid #e5e7ebe6;border-radius:20px;position:relative}.keyword-card{padding:28px}.keyword-card span,.value-card span{color:var(--primary);margin-bottom:10px;font-size:.92rem;font-weight:900;display:block}.keyword-card strong{color:var(--navy);font-size:1.45rem}.philosophy-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.statement-card{min-height:248px;padding:30px}.statement-card p{color:var(--primary);font-weight:900}.statement-card h3{color:var(--navy);font-size:1.35rem;line-height:1.65}.card-grid{z-index:1;gap:22px;display:grid;position:relative}.card-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.value-card,.business-card,.news-card{min-height:260px;padding:30px}.value-card h3,.business-card h3,.detail-card h3,.cycle-card h3,.news-card h3{color:var(--navy);font-size:1.35rem;line-height:1.45}.value-card p,.business-card p,.detail-card p,.cycle-card p,.news-card p,.contact-copy{color:#4b5563;line-height:1.85}.business-card ul{color:var(--text);margin:20px 0 0;padding-left:1.2em;line-height:1.9}.status{color:var(--primary);background:linear-gradient(135deg,#6c4dff1a,#b84dff24);border:1px solid #6c4dff2e;border-radius:999px;margin-bottom:18px;padding:7px 12px;font-size:.78rem;font-weight:900;display:inline-flex}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.detail-card{padding:28px}.cycle-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;display:grid}.cycle-card{min-height:220px;padding:24px}.cycle-card span{background:linear-gradient(135deg, var(--primary), var(--violet));color:#fff;border-radius:999px;justify-content:center;align-items:center;width:42px;height:42px;margin-bottom:22px;font-weight:900;display:inline-flex}.closing-copy{color:var(--navy);text-align:center;max-width:760px;margin:38px auto 0;font-size:clamp(1.35rem,3vw,2rem);font-weight:900;line-height:1.5}.news-card time{color:var(--primary);margin-bottom:18px;font-weight:900;display:block}.table-wrap{border:1px solid var(--border);box-shadow:var(--shadow);z-index:1;background:#fff;border-radius:20px;position:relative;overflow:hidden}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:22px 26px;line-height:1.7}tr:last-child th,tr:last-child td{border-bottom:0}th{color:var(--navy);background:#fbfbfe;width:210px;font-weight:900}.contact-layout{grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);gap:34px;display:grid}.contact-copy{font-size:1.05rem}.contact-form{border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:20px;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:30px;display:grid}.contact-form label{gap:8px;display:grid}.contact-form label.full,.contact-form button,.form-status{grid-column:1/-1}.contact-form span{color:var(--navy);font-size:.9rem;font-weight:900}input,select,textarea{border:1px solid var(--border);color:var(--text);background:#fbfbfe;border-radius:14px;outline:0;width:100%;padding:14px 15px;transition:border-color .18s,box-shadow .18s}input:focus,select:focus,textarea:focus{border-color:#6c4dff9e;box-shadow:0 0 0 4px #6c4dff1f}textarea{resize:vertical}.contact-form button{border:0;justify-self:start}.form-status{color:var(--primary);margin:0;font-weight:900}.site-footer{color:#fff;background:linear-gradient(135deg,#111827f5,#050816fa),radial-gradient(circle at 80% 0,#6c4dff66,#0000 30rem);padding:70px 0 26px}.footer-grid{grid-template-columns:minmax(0,1fr) auto;gap:32px;display:grid}.site-footer h2{color:#fff;margin-bottom:16px;font-size:1.4rem}.site-footer p{color:#ffffffbd;max-width:540px;line-height:1.8}.footer-links{justify-items:start;gap:12px;display:grid}.footer-links a{color:#fffc}.copyright{text-align:center;border-top:1px solid #ffffff1f;width:min(1120px,100% - 40px);margin:44px auto 0;padding-top:24px}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(26px)}.reveal.is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transition:none;transform:none}.button:hover{transform:none}}@media (width<=980px){.site-header{border-radius:24px}.menu-toggle{display:block}nav{border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:20px;padding:18px;display:none;position:absolute;top:calc(100% + 10px);left:16px;right:16px}nav.is-open{display:grid}nav a{padding:10px 4px}.nav-cta{text-align:center;justify-content:center;padding:12px 18px}.hero-grid,.about-layout,.contact-layout{grid-template-columns:1fr}.hero{min-height:auto;padding-bottom:80px}.hero-visual{justify-self:center;width:min(420px,100%)}.philosophy-grid,.card-grid.three,.detail-grid{grid-template-columns:1fr}.cycle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.container{width:min(100% - 28px,1120px)}.site-header{width:calc(100% - 20px);padding:12px 12px 12px 16px;top:12px}.brand{font-size:.86rem}.section-offset{padding-top:116px}.section{padding:78px 0}h1{font-size:2.25rem;line-height:1.22}.hero-actions,.button{width:100%}.button{padding-left:16px;padding-right:16px}.hero-accent{width:760px;height:520px;right:-250px}.dot-field{top:92px;right:-30px}.visual-core{width:132px;height:132px}.visual-core strong,.visual-core span{font-size:1.18rem}.section-text,.keyword-card,.statement-card,.value-card,.business-card,.detail-card,.cycle-card,.news-card,.contact-form{border-radius:18px;padding:24px}.cycle-grid,.contact-form{grid-template-columns:1fr}th,td{width:100%;padding:16px 20px;display:block}th{border-bottom:0;padding-bottom:8px}td{padding-top:8px}.footer-grid{grid-template-columns:1fr}}
