:root{--fg:#111;--bg:#fff;--muted:#666;--line:#ddd;--max:960px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--fg:#eee;--bg:#111;--muted:#999;--line:#333}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{color:var(--fg);background:var(--bg);margin:0;font-family:system-ui,-apple-system,Hiragino Sans,Noto Sans JP,sans-serif;line-height:1.8}a{color:inherit}img{max-width:100%;height:auto}.l-container{width:min(100% - 32px, var(--max));margin-inline:auto}.l-header{border-bottom:1px solid var(--line)}.l-header__inner{justify-content:space-between;align-items:center;gap:16px;padding-block:16px;display:flex}.l-header__logo{letter-spacing:.08em;font-weight:700;text-decoration:none}.l-nav__list{gap:20px;margin:0;padding:0;list-style:none;display:flex}.l-nav__link{font-size:.875rem;text-decoration:none}.l-nav__link:hover{text-decoration:underline}.c-section{border-bottom:1px solid var(--line);padding-block:64px}.c-section__title{letter-spacing:.1em;margin:0 0 24px;font-size:1.25rem}.c-section__more{margin-top:24px}.p-hero{padding-block:120px}.p-hero__title{letter-spacing:.12em;margin:0;font-size:clamp(2rem,8vw,4rem);line-height:1.2}.p-hero__lead{color:var(--muted);margin:16px 0 0}.p-works__list{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px;margin:0;padding:0;list-style:none;display:grid}.p-works__item{aspect-ratio:4/3;border:1px dashed var(--line);color:var(--muted);place-items:center;font-size:.875rem;display:grid}.c-button{border:1px solid;padding:10px 24px;text-decoration:none;display:inline-block}.c-button:hover{background:var(--fg);color:var(--bg)}.l-footer{color:var(--muted);text-align:center;padding-block:32px;font-size:.75rem}.u-visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.l-container--narrow{--max:760px}.c-page-title{letter-spacing:.08em;margin:0 0 40px;font-size:clamp(1.5rem,4vw,2rem)}.c-content h2{border-bottom:1px solid var(--line);margin:48px 0 16px;padding-bottom:8px;font-size:1.125rem}.c-content p,.c-content ul,.c-content ol{margin:0 0 16px}.c-content ul,.c-content ol{padding-left:1.5em}.c-content a{text-underline-offset:3px}.l-footer__links{margin:0 0 8px}.l-footer__links a{color:inherit}.p-contact-form__steps{counter-reset:step;color:var(--muted);gap:8px;margin:0 0 32px;padding:0;font-size:.875rem;list-style:none;display:flex}.p-contact-form__steps li{counter-increment:step}.p-contact-form__steps li:before{content:counter(step) ". "}.p-contact-form__steps li+li:before{content:"→ " counter(step) ". "}.p-contact-form__steps li[aria-current=step]{color:var(--fg);font-weight:700}.c-field{margin:0 0 24px}.c-field label{margin-bottom:8px;font-size:.9375rem;font-weight:700;display:block}.c-field__req{vertical-align:2px;border:1px solid;margin-left:8px;padding:1px 6px;font-size:.6875rem;font-weight:400}.c-field input[type=text],.c-field input[type=email],.c-field textarea{border:1px solid var(--line);width:100%;color:inherit;font:inherit;background:0 0;border-radius:0;padding:10px 12px}.c-field input:focus,.c-field textarea:focus{outline:2px solid var(--fg);outline-offset:1px}.c-field [aria-invalid=true]{border-color:#c33}.c-field__error{color:#d55;margin:6px 0 0;font-size:.875rem}.c-field__note{color:var(--muted);text-align:right;margin:4px 0 0;font-size:.75rem}.c-field--check label{align-items:center;gap:8px;font-weight:400;display:flex}.c-form__actions{flex-wrap:wrap;gap:16px;margin-top:32px;display:flex}.c-form__heading{margin:0 0 16px;font-size:1.125rem}.c-form__heading:focus,.u-visually-hidden:focus{outline:none}.c-button{cursor:pointer;color:inherit;font:inherit;background:0 0}.c-button:disabled{opacity:.4;cursor:not-allowed}.c-button--ghost{border-color:var(--line)}.c-confirm{border-top:1px solid var(--line);margin:24px 0}.c-confirm dt{color:var(--muted);margin-top:16px;font-size:.8125rem}.c-confirm dd{border-bottom:1px solid var(--line);overflow-wrap:anywhere;margin:4px 0 16px;padding-bottom:16px}.c-confirm__message{white-space:pre-wrap}.c-turnstile{min-height:65px;margin:24px 0 0}
