:root{--background:#1f2833;--panel:#283542;--panel-deep:#19222c;--text:#fdf8f0;--muted:#fdf8f0b8;--dim:#fdf8f085;--line:#fdf8f05c;--line-soft:#fdf8f024;--accent:#b76554;--warm:#f6efe4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--text);background:var(--background);letter-spacing:0;margin:0;font-family:Arial,Hiragino Sans,Yu Gothic,Meiryo,sans-serif}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}main{background:radial-gradient(circle at 18% 12%, #b765542e, transparent 24rem), radial-gradient(circle at 88% 2%, #f6efe414, transparent 22rem), var(--background);min-height:100vh;overflow:hidden}.site-header{z-index:30;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#1f2833e0;grid-template-columns:1fr auto auto;align-items:center;gap:40px;width:100%;min-height:112px;padding:0 clamp(32px,5vw,72px);display:grid;position:fixed;top:0;left:0}.brand{width:max-content;color:var(--text);align-items:center;display:inline-flex}.brand span{letter-spacing:.08em;opacity:.5;font-size:2.4rem;font-weight:400}.brand span:first-letter{color:var(--accent)}nav{color:var(--text);letter-spacing:.18em;align-items:center;gap:clamp(24px,3vw,44px);font-size:.92rem;font-weight:700;display:flex}nav a,.social-links a{opacity:.9;transition:opacity .18s,color .18s}nav a:hover,.social-links a:hover{color:var(--warm);opacity:1}.social-links{align-items:center;gap:24px;font-size:1.55rem;font-weight:700;display:flex}.hero{min-height:100svh;padding:148px clamp(28px,4.2vw,80px) 96px;position:relative}.hero-visual{background:var(--panel-deep);isolation:isolate;border-radius:18px;min-height:calc(100svh - 220px);position:relative;overflow:hidden;box-shadow:0 34px 90px #05080c47}.life-illustration,.life-scene{width:100%;height:100%;position:absolute;inset:0}.life-scene{background:radial-gradient(circle at 78% 14%,#fdf8f024,#0000 17rem),radial-gradient(circle at 22% 22%,#fdf8f014,#0000 14rem),linear-gradient(140deg,#19222c,#26313d 55%,#1c2631);overflow:hidden}.life-scene:before{clip-path:polygon(0 38%,18% 24%,34% 45%,52% 22%,70% 40%,88% 18%,100% 36%,100% 100%,0 100%);content:"";background:#273543;height:34%;position:absolute;inset:auto -6% 0}.life-scene:after{opacity:.45;content:"";background-color:#0000;background-image:linear-gradient(90deg,#ffffff06 1px,#0000 1px),linear-gradient(0deg,#ffffff05 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:86px 86px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0}.life-scene.warm{background:radial-gradient(circle at 78% 14%,#f6d6ae42,#0000 18rem),radial-gradient(circle at 22% 22%,#b765542e,#0000 14rem),linear-gradient(140deg,#20303d,#2f4050 55%,#25333e)}.life-scene.warm:before{background:#33485a}.scene{z-index:1;background:#fdf8f00b;border:1px solid #fdf8f021;border-radius:16px;width:230px;height:180px;position:absolute;transform:translateZ(0);box-shadow:0 20px 52px #06080c29}.warm .scene{background:#fdf8f012;border-color:#fdf8f02e}.scene.work{top:30%;left:7%}.scene.school{top:18%;left:30%}.scene.friends{top:31%;left:53%}.scene.family{top:50%;left:70%}.scene.alone{top:16%;left:82%}.window{background:#fdf8f014;border:1px solid #fdf8f038;border-radius:8px;width:72px;height:58px;position:absolute;top:22px;right:22px}.warm .window{background:#f6d6ae29}.desk{background:#fdf8f03d;border-radius:999px;height:12px;position:absolute;bottom:44px;left:22px;right:22px}.warm .desk{background:#d9a98480}.person{width:46px;height:70px;position:absolute;bottom:58px;left:46px}.person.two{left:112px;transform:scale(.92)}.work .person.two,.school .person.two,.alone .person.two{display:none}.person:before{content:"";background:#8c9091;border-radius:50%;width:25px;height:25px;position:absolute;top:0;left:12px}.warm .person:before{background:#d8b39b}.person:after{content:"";background:#747b81;border-radius:24px 24px 8px 8px;width:38px;height:42px;position:absolute;bottom:0;left:6px}.warm .person:after{background:#8fb5ad}.family .person:after,.friends .person.two:after{background:#77737b}.warm .family .person:after{background:#d8cba9}.warm .friends .person.two:after{background:#c9bad9}.person span{z-index:1;background:#3a3f42;border-radius:50% 50% 40% 40%;width:30px;height:20px;position:absolute;top:-4px;left:8px}.warm .person span{background:#41362f}.scene p{color:#fdf8f08a;letter-spacing:.12em;margin:0;font-size:.74rem;font-weight:700;position:absolute;bottom:13px;left:20px}.warm .scene p{color:#fdf8f0c2}.color-layer{clip-path:inset(0 100% 0 0);animation:5.2s cubic-bezier(.22,1,.36,1) .7s forwards revealColor;position:absolute;inset:0}.warm g{opacity:0;animation:1.3s forwards breatheIn}.hero-shade{pointer-events:none;background:linear-gradient(90deg,#0e12183d,#0000 30%,#0e12182e),linear-gradient(#0e121833,#0000 62%,#0e12184d);position:absolute;inset:0}.logo-draw{text-align:center;place-content:center;justify-items:center;gap:12px;display:grid;position:absolute;inset:0}.logo-draw svg{filter:drop-shadow(0 18px 34px #05080c57);width:min(48vw,520px);min-width:280px}.logo-draw text{fill:#0000;stroke:var(--text);stroke-width:1.8px;stroke-dasharray:850;stroke-dashoffset:850px;letter-spacing:.08em;font-size:104px;font-weight:800;animation:3.2s cubic-bezier(.65,0,.35,1) .2s forwards drawLogo,1.2s 2.75s forwards fillLogo}.logo-draw p{color:var(--text);letter-spacing:.22em;opacity:0;margin:0;font-size:.95rem;font-weight:700;animation:.9s 2.8s forwards fadeUp}.scroll-cue{z-index:4;width:82px;height:82px;color:var(--background);background:var(--warm);border-radius:50%;place-items:center;transition:transform .18s;display:grid;position:absolute;bottom:56px;left:50%;transform:translate(-50%);box-shadow:0 18px 44px #06080c3d}.scroll-cue:hover{transform:translate(-50%)translateY(4px)}.section{width:min(980px,100% - 56px);margin:0 auto;padding:112px 0}.section-title{text-align:center;justify-items:center;gap:22px;margin-bottom:66px;display:grid}.section-title p{color:var(--text);letter-spacing:.18em;margin:0;font-size:2.8rem;font-weight:800}.section-title span{background:var(--line);width:28px;height:2px;display:block}.center-copy{text-align:center;justify-items:center;gap:26px;display:grid}.center-copy h2{letter-spacing:.08em;margin:0;font-size:1.42rem;font-weight:800;line-height:1.8}.center-copy p,.contact-copy p,.service-list p{color:var(--muted);margin:0;font-size:1rem;line-height:2.05}.center-copy p{max-width:760px}.service-feature{justify-items:center;gap:34px;display:grid}.coming-visual{aspect-ratio:16/7;background:linear-gradient(120deg, #ffffff24, transparent 22%, #ffffff14 42%, transparent 60%), linear-gradient(90deg, #00000057, #00000014), var(--panel-deep);border-radius:6px;place-items:center;width:min(650px,100%);display:grid;position:relative;overflow:hidden;box-shadow:0 22px 70px #06080c38}.coming-visual:before{content:"";background:repeating-linear-gradient(90deg,#0000 0 42px,#fdf8f00a 43px 44px),radial-gradient(circle at 18% 28%,#fdf8f029,#0000 9rem);position:absolute;inset:0}.coming-visual span{color:var(--text);letter-spacing:.02em;font-size:4rem;font-weight:900;position:relative;transform:skew(-5deg)}.service-list{gap:24px;width:min(650px,100%);display:grid}.service-list article{border-bottom:1px solid var(--line-soft);grid-template-columns:auto 1fr;align-items:start;gap:7px 14px;padding-bottom:24px;display:grid}.service-list svg{color:var(--warm);opacity:.72;margin-top:4px}.service-list h3{letter-spacing:.04em;margin:0;font-size:1.08rem}.service-list p{grid-column:2}.news{min-height:430px}.no-content{text-align:center;color:var(--text);margin:0;font-size:1.5rem;font-weight:800}.company-list{width:min(700px,100%);margin:0 auto;display:grid}.company-list div{border-bottom:1px solid var(--line);grid-template-columns:150px 1fr;gap:26px;padding:24px 0;display:grid}dt,dd{margin:0;font-size:1rem;line-height:1.75}dt{font-weight:800}dd{color:var(--muted)}.contact{width:min(1080px,100% - 56px);padding-bottom:90px}.contact-copy{width:min(700px,100%);margin:0 auto 70px}.contact-copy p+p{margin-top:12px}.contact-form{gap:22px;width:min(700px,100%);margin:0 auto;display:grid}.contact-form label{color:var(--text);letter-spacing:.03em;gap:14px;font-size:1rem;font-weight:800;display:grid}.contact-form label span{color:#df5a51}.contact-form input,.contact-form textarea{width:100%;color:var(--text);background:0 0;border:2px solid #fdf8f09e;border-radius:4px;outline:none;transition:border-color .18s,background .18s}.contact-form input{min-height:58px;padding:0 16px}.contact-form textarea{resize:vertical;min-height:170px;padding:16px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--dim)}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--warm);background:#fdf8f00a}.privacy-check{grid-template-columns:none;align-items:center;gap:14px!important;font-weight:700!important;display:flex!important}.privacy-check input{width:18px;min-height:18px;accent-color:var(--warm)}.privacy-link{width:max-content;color:var(--muted);border-bottom:1px solid}.contact-form button{min-height:58px;color:var(--background);background:var(--warm);letter-spacing:.1em;cursor:pointer;border:0;border-radius:5px;justify-content:center;align-items:center;gap:10px;margin-top:34px;font-weight:800;transition:opacity .18s,transform .18s;display:inline-flex}.contact-form button:hover{opacity:.92;transform:translateY(2px)}.site-footer{min-height:112px;color:var(--muted);letter-spacing:.14em;text-align:center;background:#141c2473;justify-content:center;align-items:center;gap:18px;padding:30px 24px;font-size:.95rem;display:flex}.footer-domain{color:var(--dim)}@keyframes revealColor{to{clip-path:inset(0)}}@keyframes breatheIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes drawLogo{to{stroke-dashoffset:0}}@keyframes fillLogo{to{fill:var(--text);stroke:#fdf8f047}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:.86;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.color-layer{clip-path:inset(0)}}@media (max-width:980px){.site-header{grid-template-columns:1fr auto;gap:16px;min-height:92px;padding:0 24px}nav{grid-column:1/-1;justify-content:center;gap:18px;padding-bottom:16px;font-size:.72rem}.social-links{gap:16px}.brand span{font-size:1.9rem}.hero{padding:132px 18px 82px}.hero-visual{min-height:calc(100svh - 190px)}.section{width:min(760px,100% - 36px);padding:88px 0}.section-title{margin-bottom:48px}.section-title p{font-size:2.25rem}.coming-visual span{font-size:3rem}}@media (max-width:640px){.site-header{min-height:84px;position:absolute}nav{scrollbar-width:none;justify-content:space-between;gap:8px;width:100%;padding-bottom:12px;font-size:.56rem;overflow-x:auto}nav::-webkit-scrollbar{display:none}.social-links{display:none}.hero{min-height:760px;padding:126px 14px 80px}.hero-visual{border-radius:14px;min-height:570px}.logo-draw svg{width:82vw;min-width:0}.logo-draw text{font-size:88px}.logo-draw p{width:min(280px,86vw);font-size:.76rem;line-height:1.8}.scroll-cue{width:66px;height:66px;bottom:46px}.center-copy h2{font-size:1.08rem;line-height:1.9}.center-copy p,.contact-copy p,.service-list p{font-size:.94rem}.coming-visual{aspect-ratio:5/3}.coming-visual span{font-size:2.2rem}.service-list article{grid-template-columns:1fr}.service-list p{grid-column:auto}.company-list div{grid-template-columns:1fr;gap:8px}.contact,.section{width:calc(100% - 28px)}.site-footer{gap:10px;font-size:.76rem;line-height:1.8;display:grid}}
