:root{--accent:#c8102e;--accent-dark:#8e0b20;--accent-tint:#fbeef0;--ink:#141413;--ink-2:#4d4c48;--ink-3:#6b6a64;--line:#e8e6dc;--paper:#fff;--radius:4px;--container:1280px;--gutter:clamp(16px, 5vw, 120px)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);font-feature-settings:"palt";margin:0;font-family:LINE Seed JP,Noto Sans JP,system-ui,-apple-system,Hiragino Sans,sans-serif;line-height:1.6}a{color:var(--accent)}a:hover{color:var(--accent-dark)}h1,h2,h3,p,ul,dl,dd{margin:0}img,svg{display:block}.container{width:100%;max-width:var(--container);padding-left:var(--gutter);padding-right:var(--gutter);margin:0 auto}.eyebrow{letter-spacing:.18em;color:var(--accent);font-size:12px}.btn{border-radius:var(--radius);border:1px solid var(--accent);justify-content:center;align-items:center;min-height:48px;padding:0 32px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex}.btn--solid{background:var(--accent);color:#fff}.btn--solid:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff}.site-header{background:var(--accent);color:#fff}.site-header__inner{justify-content:space-between;align-items:center;gap:16px;min-height:76px;padding-left:clamp(16px,4vw,48px);padding-right:clamp(16px,4vw,48px);display:flex}.site-header__brand,.site-header__back,.site-header__nav a{color:#fff;line-height:44px;text-decoration:none}.site-header__brand{letter-spacing:.08em;align-items:center;gap:12px;font-size:21px;font-weight:700;display:flex}.site-header__brand:hover,.site-header__back:hover,.site-header__nav a:hover{color:#fff;text-underline-offset:6px;text-decoration:underline}.site-header__nav{align-items:center;gap:32px;font-size:15px;display:flex}.site-header__back{font-size:15px}@media (width<=720px){.site-header__nav{display:none}}.site-footer{background:var(--accent);color:#fff}.site-footer__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 28px;padding:40px clamp(16px,4vw,48px);display:flex}.site-footer__brand{color:#fff;letter-spacing:.08em;align-items:center;gap:12px;font-size:17px;font-weight:700;text-decoration:none;display:flex}.site-footer__brand:hover{color:#fff;text-underline-offset:6px;text-decoration:underline}.site-footer__links{flex-wrap:wrap;align-items:center;gap:4px 28px;font-size:13px;display:flex}.site-footer__links a{color:#fff;line-height:44px;text-decoration:none}.site-footer__links a:hover{color:#fff;text-decoration:underline}.site-footer__copy{color:#ffffffb3}.section{flex-direction:column;gap:40px;padding-top:clamp(56px,7vw,88px);padding-bottom:clamp(56px,7vw,88px);display:flex}.section__head{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.section__head h2{font-size:clamp(26px,3vw,32px);font-weight:700;line-height:1.25}.section__head p{color:var(--ink-2);max-width:760px;margin-top:6px;font-size:14px;line-height:1.7}.section__head>*,.hero h1,.hero__tagline,.hero__lead,.hero__mark,.field__label,.contact-form__note,.form-done{background:var(--paper);border-radius:4px;width:fit-content;margin:-4px -12px;padding:4px 12px}.section__head>p{margin-top:2px}.field__label{align-self:flex-start}.intro{z-index:100;background:var(--accent);color:#fff;pointer-events:none;place-items:center;animation:.9s cubic-bezier(.76,0,.24,1) 1.7s both intro-exit;display:grid;position:fixed;inset:0;overflow:hidden}.intro__mark{animation:1.8s ease-in-out both intro-mark;position:relative}.intro__bubbles{position:absolute;top:50%;left:50%}.intro__bubbles span{--drift:-90px;background:#ffffff1f;border:1px solid #ffffffb3;border-radius:50%;width:22px;height:22px;animation:1.7s ease-out .25s both intro-bubble;position:absolute}.intro__bubbles span:nth-child(2){--drift:110px;width:40px;height:40px;animation-delay:.4s}.intro__bubbles span:nth-child(3){--drift:-160px;width:12px;height:12px;animation-delay:.55s}.intro__bubbles span:nth-child(4){--drift:50px;width:16px;height:16px;animation-delay:.7s}.intro__bubbles span:nth-child(5){--drift:-40px;width:48px;height:48px;animation-delay:.85s}.intro__bubbles span:nth-child(6){--drift:170px;width:28px;height:28px;animation-delay:1s}@keyframes intro-mark{0%{opacity:0;transform:translateY(18px)scale(.9)}25%,65%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-48px)scale(.96)}}@keyframes intro-bubble{0%{opacity:0;transform:translate(-50%)scale(.2)}20%{opacity:1}to{opacity:0;transform:translate(var(--drift), -55vh) scale(1.3)}}@keyframes intro-exit{0%{clip-path:ellipse(150% 150% at 50% 0)}to{clip-path:ellipse(100% 0% at 50% 0);visibility:hidden}}body:focus-within .intro{opacity:0}@media (prefers-reduced-motion:reduce){.intro{display:none}}.hero__inner{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:28px;padding-top:clamp(64px,8vw,104px);padding-bottom:clamp(64px,8vw,96px);display:flex;position:relative}.hero__mark{color:var(--accent);animation:6s ease-in-out infinite hero-bob}@keyframes hero-bob{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-14px)rotate(2deg)}}.hero h1{letter-spacing:.06em;font-size:clamp(44px,6vw,68px);font-weight:700;line-height:1.15}.hero__tagline{color:var(--ink-2);font-size:clamp(17px,1.6vw,19px);line-height:1.5}.hero__lead{max-width:660px;color:var(--ink-3);font-size:15px;line-height:1.7}.floaters{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden;container-type:size}.site-header,.site-footer,main{z-index:1;position:relative}.floater{will-change:transform;animation-name:rise;animation-timing-function:linear;animation-iteration-count:infinite;display:block;position:absolute;bottom:-80px}.floater--octo{color:var(--accent)}.floater__sway{animation:ease-in-out infinite alternate sway;display:block}.floater--bubble{background:#fff9;border:1px solid #c8102e59;border-radius:50%;animation-name:rise-bubble}@keyframes rise{0%{transform:translateY(0)}to{transform:translateY(calc(-100cqh - 160px))}}@keyframes rise-bubble{0%{opacity:0;transform:translateY(0)translate(0)}10%{opacity:.8}50%{transform:translateY(calc(-50cqh - 80px))translate(10px)}90%{opacity:.6}to{opacity:0;transform:translateY(calc(-100cqh - 160px))translate(-6px)}}@keyframes sway{0%{transform:translate(-18px)rotate(-10deg)}to{transform:translate(18px)rotate(10deg)}}@media (prefers-reduced-motion:reduce){.floaters{display:none}.hero__mark{animation:none}}.service-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;display:grid}.card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;flex-direction:column;gap:16px;padding:36px 32px;display:flex}.card__eyebrow{letter-spacing:.16em;color:var(--accent);font-size:12px}.card h3{font-size:24px;font-weight:700;line-height:1.3}.card p{color:var(--ink-2);font-size:14px;line-height:1.7}.spec{grid-template-columns:96px minmax(0,1fr);row-gap:10px;margin-top:8px;font-size:13px;line-height:1.5;display:grid}.spec dt{color:var(--ink-3)}.spec dd{color:var(--ink)}.callout{background:var(--accent);color:#fff;border-radius:var(--radius);text-align:center;flex-direction:column;gap:14px;margin-top:16px;padding:clamp(36px,5vw,56px) clamp(24px,4vw,48px);display:flex}.callout__lead{opacity:.85;font-size:15px}.callout__main{letter-spacing:.02em;font-size:clamp(24px,3.2vw,38px);font-weight:800;line-height:1.35}.callout__sub{opacity:.85;font-size:15px}.custom{gap:32px}.usecase-list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px 32px;padding:0;font-size:14px;line-height:1.6;list-style:none;display:grid}.usecase-list li{border:1px solid var(--line);border-radius:var(--radius);padding:16px 20px}.deftable{border-top:1px solid var(--line);grid-template-columns:minmax(160px,240px) minmax(0,1fr);display:grid}.deftable dt,.deftable dd{border-bottom:1px solid var(--line);padding:18px 0;font-size:14px;line-height:1.6}.deftable dt{color:var(--ink-2);padding-right:20px;font-weight:700}.deftable dd{color:var(--ink)}.deftable .muted{color:var(--ink-3)}@media (width<=560px){.deftable{grid-template-columns:1fr}.deftable dt{border-bottom:0;padding-bottom:4px}.deftable dd{padding-top:0}}.legal__inner{flex-direction:column;gap:36px;max-width:800px;padding:clamp(48px,6vw,72px) clamp(16px,5vw,40px) 64px;display:flex}.legal__head{border-bottom:2px solid var(--accent);flex-direction:column;gap:14px;padding-bottom:28px;display:flex}.legal__head h1{font-size:clamp(28px,3.5vw,34px);font-weight:700;line-height:1.25}.legal__head p{color:var(--ink-2);font-size:14px;line-height:1.7}.legal section{flex-direction:column;gap:10px;display:flex}.legal h2{font-size:18px;font-weight:700;line-height:1.3}.legal p,.legal li{color:var(--ink-2);font-size:14px;line-height:1.75}.legal ul{margin-top:4px;padding-left:22px}.legal .contact-box{background:var(--accent-tint);border-radius:var(--radius);color:var(--ink);margin-top:4px;padding:22px 24px;font-size:14px;line-height:1.8}.legal .dates{color:var(--ink-3);margin-top:8px;font-size:13px}.legal .note{color:var(--ink-3);font-size:13px;line-height:1.7}.contact-form{flex-direction:column;gap:22px;max-width:760px;display:flex}.contact-form__row{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;display:grid}.field{flex-direction:column;gap:8px;display:flex}.field__label{color:var(--ink-2);font-size:14px;font-weight:700}.field__req{color:var(--accent);vertical-align:1px;margin-left:6px;font-size:11px;font-weight:700}.field input,.field select,.field textarea{width:100%;min-height:48px;font:inherit;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:12px 14px;font-size:15px}.field textarea{resize:vertical;min-height:180px;line-height:1.7}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.field input:disabled,.field select:disabled,.field textarea:disabled{color:var(--ink-3);background:#f5f4ed}.field--hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.contact-form__actions{flex-wrap:wrap;align-items:center;gap:16px 28px;display:flex}.contact-form__note{color:var(--ink-3);font-size:13px;line-height:1.6}.btn:disabled{opacity:.6;cursor:default}.form-error{color:var(--accent-dark);background:var(--accent-tint);border-left:3px solid var(--accent);border-radius:var(--radius);padding:12px 16px;font-size:14px}.form-done{background:var(--accent-tint);border-radius:var(--radius);width:auto;max-width:760px;color:var(--ink-2);flex-direction:column;align-items:flex-start;gap:12px;margin:0;padding:32px;font-size:15px;line-height:1.7;display:flex}.form-done__title{color:var(--ink);font-size:20px;font-weight:700}
