.r-hero{isolation:isolate;align-content:center;min-height:min(78vh,640px);padding:40px 0 56px;display:grid;position:relative}.r-hero canvas{z-index:-1;width:100vw;height:100%;position:absolute;top:0;bottom:0;left:calc(50% - 50vw);-webkit-mask-image:linear-gradient(90deg,#00000040 0 35%,#000 70%);mask-image:linear-gradient(90deg,#00000040 0 35%,#000 70%)}.r-hero h1{letter-spacing:.06em;margin-top:22px;font-size:clamp(42px,6.2vw,84px);line-height:1.25}.r-hero h1 span{display:block}.r-hero h1 .l2{padding-left:1.2em}.r-hero .lead{color:var(--ink);letter-spacing:.06em;margin-top:26px;font-family:Noto Serif JP,serif;font-size:clamp(16px,1.4vw,19px);font-weight:500;line-height:1.9}.r-hero .actions{flex-wrap:wrap;align-items:center;gap:28px;margin-top:36px;display:flex}.btn-entry{flex-direction:column;min-height:58px;padding:0 34px;line-height:1.35}.btn-entry small{letter-spacing:.1em;opacity:.75;font-size:11.5px;font-weight:400}.r-hero .toc{border-top:1px solid var(--line);flex-wrap:wrap;gap:6px 26px;max-width:640px;margin-top:44px;padding-top:18px;font-size:14px;display:flex}.r-hero .toc a{color:var(--sub);transition:color .2s}.r-hero .toc a:hover{color:var(--blue-ink)}.about{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:64px;display:grid}.about .text p{line-height:2.1}.about .text p+p{margin-top:1.2em}.about .figure{gap:40px;display:grid}.about h3{color:var(--sub);letter-spacing:.08em;margin-bottom:14px;font-family:Noto Sans JP,sans-serif;font-size:13.5px;font-weight:500}.chip-map{grid-template-rows:repeat(3,44px);grid-template-columns:1fr 92px 1fr;align-items:center;column-gap:0;display:grid}.chip-map .ic{color:#fff;font-family:var(--num);letter-spacing:.08em;background:#1f2a33;border-radius:4px;grid-area:1/2/4;align-self:stretch;place-items:center;margin:6px 0;font-size:15px;display:grid;position:relative;box-shadow:0 14px 24px -14px #14283c99}.chip-map .ic:before{content:"";background:#ffffff59;border-radius:50%;width:7px;height:7px;position:absolute;top:8px;left:8px}.chip-map .ic:after{display:none}.chip-map li{align-items:center;font-size:14.5px;list-style:none;display:flex;position:relative}.chip-map li.l{grid-column:1;justify-content:flex-end;padding-right:74px}.chip-map li.r{grid-column:3;padding-left:74px}.chip-map li:before{content:"";background:var(--blue);opacity:.7;width:56px;height:1.5px;position:absolute;top:50%}.chip-map li.l:before{right:0}.chip-map li.r:before{left:0}.chip-map li:after{content:"";border:1.5px solid var(--blue);background:var(--bg-1);border-radius:50%;width:9px;height:9px;position:absolute;top:50%;transform:translateY(-50%)}.chip-map li.l:after{right:52px}.chip-map li.r:after{left:52px}.stages{position:relative}.stages:before,.stages .wire{content:"";height:1.5px;position:absolute;top:6px;left:12.5%;right:12.5%}.stages:before{background:var(--line-strong);opacity:.35}.stages .wire{background:var(--blue)}.stages ol{grid-template-columns:repeat(4,1fr);list-style:none;display:grid;position:relative}.stages li{text-align:center;justify-items:center;gap:10px;font-size:14.5px;display:grid}.stages .via{margin:0}.stages .via:before{display:none}.stages-note{color:var(--mute);text-align:center;margin-top:14px;font-size:13px}.slider-track{scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab;gap:24px;padding:4px 0 8px;display:flex;overflow-x:auto}.slider-track::-webkit-scrollbar{display:none}.slider-track.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}.slider-track.is-dragging img{pointer-events:none}.svc{scroll-snap-align:start;background:var(--card);border-top:1px solid var(--line-strong);flex:0 0 min(360px,78vw);transition:border-color .3s}.svc:hover{border-top-color:var(--blue)}.svc figure{aspect-ratio:3/2;overflow:hidden}.svc img{object-fit:cover;filter:saturate(.75)brightness(1.02);width:100%;height:100%;transition:filter .4s, transform .8s var(--ease);-webkit-user-drag:none}.svc:hover img{filter:saturate()brightness();transform:scale(1.03)}.svc .body{padding:20px 24px 26px}.svc h3{letter-spacing:.05em;font-size:21px}.svc p{color:var(--sub);margin-top:10px;font-size:14.5px;line-height:1.85}.slider-ui{grid-template-columns:1fr auto;align-items:center;gap:28px;margin-top:26px;display:grid}.slider-rail{height:12px;position:relative}.slider-rail:before{content:"";background:var(--line-strong);opacity:.5;height:1.5px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.slider-rail .lit{background:var(--blue);width:0;height:1.5px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.slider-rail .via{margin:0;position:absolute;top:0;left:0;transform:translate(-6px)}.slider-rail .via:before{display:none}.slider-btns{gap:10px;display:flex}.slider-btn{border:1px solid var(--line-strong);border-radius:var(--radius);width:44px;height:44px;color:var(--ink);cursor:pointer;background:#ffffffb3;place-items:center;transition:border-color .25s,color .25s,opacity .25s;display:grid}.slider-btn:hover:not(:disabled){border-color:var(--blue);color:var(--blue-ink)}.slider-btn:disabled{opacity:.3;cursor:default}.slider-btn svg{stroke:currentColor;stroke-width:1.5px;fill:none;width:20px;height:20px}.svc[style*=--c]{border-top:3px solid var(--c);background:linear-gradient(color-mix(in srgb, var(--c) 7%, transparent), color-mix(in srgb, var(--c) 14%, transparent)), var(--card)}.svc[style*=--c]:hover{border-top-color:var(--c)}.message{isolation:isolate;position:relative}.message:after{content:"";z-index:-1;opacity:.06;pointer-events:none;background:url(/assets/logo3d.webp) 50%/contain no-repeat;width:380px;height:380px;position:absolute;top:-40px;right:-60px}.letter{border-top:1px solid var(--line-strong);grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:56px;padding:40px 0 0;display:grid}.letter .aims{align-self:start;position:sticky;top:110px}.letter .aims h3+h3{border-top:1px solid var(--line);margin-top:32px;padding-top:32px}.letter h3{letter-spacing:.06em;font-size:clamp(24px,2.5vw,34px);line-height:1.55}.letter .body p{word-break:normal;line-height:2.1}.letter .body p+p{margin-top:1.6em}.letter .body .sign{border-top:1px solid var(--line);text-align:right;letter-spacing:.12em;margin-top:36px;padding-top:20px;font-family:Noto Serif JP,serif;font-size:17px}.switch{border:1px solid var(--line-strong);border-radius:var(--radius);background:#fff9;gap:4px;margin-bottom:18px;padding:4px;display:inline-flex}.switch button{font:inherit;color:var(--sub);cursor:pointer;background:0 0;border:0;border-radius:2px;padding:7px 20px;font-size:14px;transition:background-color .25s,color .25s}.switch button[aria-pressed=true]{background:var(--ink);color:#fff}.jobs{background:var(--card);border-top:1px solid var(--line-strong);padding:4px 28px}.jobs .dl-table tr:first-child th,.jobs .dl-table tr:first-child td{border-top:0}.jobs .dl-table tr{transition:opacity .35s}.jobs.mode-new tr[data-for=mid],.jobs.mode-mid tr[data-for=new]{opacity:.28}.dl-table th{width:10em}.dl-table .note{color:var(--sub);margin-top:4px;font-size:14px;display:block}.pay{border-collapse:collapse;margin-top:8px;font-size:14.5px}.pay td{padding:2px 0}.pay td+td{font-family:var(--num);letter-spacing:.02em;padding-left:2em;font-weight:700}.entry{color:#fff;border-radius:var(--radius);isolation:isolate;background:#1f2a33;grid-template-columns:240px minmax(0,1fr) auto;align-items:center;gap:36px;margin-top:104px;padding:30px 48px 30px 24px;display:grid;position:relative;overflow:hidden}.entry:before{content:"";z-index:-1;background:radial-gradient(60% 120% at 85%,#00a0e947,#0000 70%);position:absolute;inset:0}.entry img{object-fit:contain;width:240px;height:240px;margin:-20px 0}.entry h2{letter-spacing:.08em;color:#fff;font-size:clamp(26px,2.8vw,38px)}.entry p{color:#ffffffbf;margin-top:12px;font-size:14.5px;line-height:1.9}.entry .side{justify-items:start;gap:16px;display:grid}.entry .btn-entry{color:var(--ink);background:#fff}.entry .btn-entry:hover{background:#dff1fb}.entry .tel{font-family:var(--num);font-size:24px;font-weight:700;line-height:1.2}.entry .tel small{color:#fff9;font-family:Noto Sans JP,sans-serif;font-size:12px;font-weight:400;display:block}@media (width<=960px){.r-hero{min-height:0;padding:32px 0 40px}.r-hero h1 .l2{padding-left:.6em}.about,.letter{grid-template-columns:1fr;gap:24px}.letter .aims{position:static}.letter .aims h3+h3{margin-top:20px;padding-top:20px}.message:after{width:240px;height:240px;right:-40px}.dl-table th{width:6.5em}.jobs{padding:4px 16px}.entry{grid-template-columns:1fr;justify-items:start;gap:14px;padding:28px 22px}.entry img{justify-self:center;width:150px;height:150px;margin:-6px 0 0}}@media (width<=480px){.stages li{font-size:13px}.chip-map{grid-template-columns:1fr 72px 1fr}.chip-map li{font-size:13.5px}.chip-map li.l{padding-right:46px}.chip-map li.r{padding-left:46px}.chip-map li:before{width:34px}.chip-map li.l:after{right:30px}.chip-map li.r:after{left:30px}}
