.so-page{--so-bg:#080e18;--so-panel:#101a28;--so-ink:#f3f2ef;--so-muted:#b9c2ce;--so-gold:#e9bd78;--so-line:#ffffff26;background:var(--so-bg);color:var(--so-ink);font-family:'Noto Sans JP',sans-serif;line-height:1.9;padding-top:90px}.so-page *{box-sizing:border-box}.so-wrap{width:min(1240px,90%);margin-inline:auto}.so-page h1,.so-page h2,.so-page h3,.so-page p,.so-page figure{margin:0}.so-page h1,.so-page h2,.so-page h3{color:var(--so-ink);font-weight:500;letter-spacing:.025em}.so-page h2{font-size:clamp(27px,3.2vw,42px);line-height:1.55}.so-page p{color:var(--so-muted)}.so-page a{color:inherit;text-decoration:none}.so-page a:focus-visible,.so-page summary:focus-visible{outline:3px solid var(--so-gold);outline-offset:6px}.so-page .so-eyebrow{font-family:Outfit,sans-serif;font-size:12px;line-height:1.5;font-weight:600;letter-spacing:.19em;color:var(--so-gold);margin-bottom:20px}.so-hero{padding:54px 0 0}.so-hero__grid{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:center}.so-page .so-service-name{font-size:13px;margin-bottom:18px;letter-spacing:.1em;color:#e2e6eb}.so-page h1{font-size:clamp(32px,3.3vw,48px);line-height:1.65;letter-spacing:.015em;margin-bottom:24px}.so-page h1 span{display:block;color:var(--so-gold)}.so-page .so-lead{font-size:15px;line-height:2;max-width:490px}.so-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:30px}.so-page .so-button{display:inline-flex;justify-content:center;align-items:center;gap:18px;padding:15px 24px;font-size:14px;line-height:1.6;font-weight:700;border:1px solid transparent;border-radius:3px;transition:background .2s,color .2s}.so-page .so-button--gold{background:var(--so-gold);color:#11151c}.so-page .so-button--gold:hover{background:#f6d7a5}.so-page .so-button--outline{border-color:#b9c2ce;color:#f3f2ef}.so-page .so-button--outline:hover{background:#ffffff12}.so-page .so-text-link{font-size:13px;border-bottom:1px solid #e9bd7870;padding-bottom:4px}.so-page .so-hero__terms{margin-top:24px;font-size:11px;letter-spacing:.025em}.so-hero__visual img{width:100%;height:470px;object-fit:cover;object-position:50%;border-radius:3px}.so-page figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font:10px Outfit,sans-serif;letter-spacing:.13em;color:#929daa;padding-top:12px}.so-page figcaption span{font-family:'Noto Sans JP',sans-serif;font-size:10px;letter-spacing:0}.so-spec-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--so-line);border-bottom:1px solid var(--so-line);padding-block:22px;margin-top:60px;color:var(--so-gold);font:12px Outfit,sans-serif;letter-spacing:.16em}.so-spec-strip span{display:flex;justify-content:center;gap:16px;border-right:1px solid var(--so-line)}.so-spec-strip span:last-child{border:0}.so-spec-strip b{font-weight:400;color:#b9c2ce}.so-section{padding-block:90px;scroll-margin-top:95px}.so-section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:38px}.so-section-head>p{max-width:340px;font-size:14px}.so-samples{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.so-sample__image{display:block;position:relative;margin-bottom:24px;overflow:hidden;background:#101a28;aspect-ratio:16/9}.so-sample__image img{height:100%;width:100%;object-fit:cover;transition:transform .3s}.so-sample__image:hover img{transform:scale(1.035)}.so-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:54px;height:54px;display:grid;place-items:center;background:#080e18b3;border:1px solid #ffffffb3;border-radius:50%;font-size:16px;color:white}.so-sample__number{position:absolute;bottom:9px;left:12px;color:white;font:12px Outfit,sans-serif}.so-page .so-sample .so-eyebrow{font-size:10px;margin-bottom:10px}.so-page .so-sample h3{font-size:19px;line-height:1.6;margin-bottom:6px}.so-page .so-sample p{font-size:13px;line-height:1.85}.so-page .so-sample .so-sample__type{font-size:12px;color:var(--so-gold);margin-bottom:12px}.so-sample>.so-text-link{display:inline-block;margin-top:16px}.so-page .so-note{font-size:12px;line-height:1.9;margin-top:24px;color:#a6b2c0}.so-story{background:var(--so-panel)}.so-story__grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:64px}.so-story img{width:100%;aspect-ratio:4/3;object-fit:cover}.so-story h2{margin-bottom:24px}.so-story p:not(.so-eyebrow){font-size:14px;margin-top:16px}.so-usecases{padding:0;list-style:none;margin:24px 0 0}.so-usecases li{padding:12px 0;border-top:1px solid var(--so-line);font-size:12px;color:#d7dee7}.so-plan{display:grid;grid-template-columns:1fr 1.4fr;border:1px solid #e9bd7860;border-radius:4px;background:#0d1724}.so-plan__price{padding:42px;border-right:1px solid var(--so-line)}.so-page .so-plan h3{font-size:20px}.so-page .so-price{font:clamp(45px,5vw,66px)/1.3 Outfit,sans-serif;color:var(--so-gold);margin-top:22px}.so-price span{font-size:18px}.so-plan__price>p:not(.so-eyebrow):not(.so-price){font-size:13px;margin-top:6px}.so-plan__price .so-button{margin-top:28px}.so-plan__details{padding:42px}.so-plan__details ul{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;padding:0;list-style:none;margin:24px 0}.so-plan__details li{font-size:13px;color:#d5dee8}.so-plan__details li:before{content:'✓';color:var(--so-gold);margin-right:10px}.so-delivery{margin:0}.so-delivery>div{border-top:1px solid var(--so-line);padding:12px 0}.so-delivery dt{font:10px Outfit,sans-serif;letter-spacing:.15em;color:var(--so-gold)}.so-delivery dd{margin:5px 0 0;font-size:12px;color:#d5dee8}.so-options{margin-top:36px}.so-page .so-options h3{font-size:19px}.so-options dl{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.so-options dl>div{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--so-line);padding:16px 0;font-size:13px}.so-options dt{color:var(--so-muted)}.so-options dd{margin:0;color:var(--so-gold);white-space:nowrap}.so-process{background:var(--so-panel)}.so-process ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;list-style:none;padding:0;margin:40px 0 0}.so-process li{border-top:1px solid #e9bd7860;padding-top:22px}.so-process li>span{font:28px Outfit,sans-serif;color:var(--so-gold)}.so-page .so-process h3{font-size:16px;margin:14px 0 12px}.so-process li p{font-size:13px}.so-faq{display:grid;grid-template-columns:1fr 1.8fr;gap:60px}.so-faq details{border-bottom:1px solid var(--so-line)}.so-faq details:first-child{border-top:1px solid var(--so-line)}.so-faq summary{cursor:pointer;list-style:none;position:relative;font-size:14px;line-height:1.8;padding:22px 30px 22px 0}.so-faq summary::-webkit-details-marker{display:none}.so-faq summary:after{content:'+';position:absolute;right:4px;color:var(--so-gold);font:22px Outfit,sans-serif}.so-faq details[open] summary:after{content:'−'}.so-page .so-faq details p{padding:0 28px 24px 0;font-size:13px}.so-contact{text-align:center;padding:54px 28px;border:1px solid #e9bd7850;background:#101a28}.so-contact>p:not(.so-eyebrow){max-width:610px;margin:22px auto 0;font-size:14px}.so-contact .so-actions{justify-content:center}.so-page .so-contact .so-note{font-size:11px}.so-page .so-contact h2{font-size:clamp(25px,3.5vw,43px)}
@media(max-width:1000px){.so-hero__grid{grid-template-columns:1fr;gap:30px}.so-hero__copy{max-width:720px}.so-hero__visual img{height:auto;aspect-ratio:16/9}.so-hero__terms{margin-top:20px}.so-story__grid{gap:32px}.so-plan__price,.so-plan__details{padding:30px}.so-plan__details ul{grid-template-columns:1fr}.so-faq{gap:30px}.so-process ol{grid-template-columns:1fr 1fr}.so-page h1{font-size:40px}}
@media(max-width:650px){.so-page{padding-top:74px}.so-wrap{width:88%}.so-hero{padding-top:32px}.so-page h1{font-size:clamp(27px,6.5vw,38px);line-height:1.7}.so-page .so-service-name{font-size:11px}.so-page .so-lead{font-size:13px}.so-actions{gap:18px}.so-page .so-button{padding:14px 18px;font-size:13px}.so-page .so-hero__terms{font-size:10px}.so-spec-strip{margin-top:32px;font-size:9px;letter-spacing:.08em;padding-block:18px}.so-spec-strip span{gap:7px}.so-section{padding-block:56px}.so-section-head{display:block;margin-bottom:28px}.so-section-head>p{margin-top:18px;max-width:none;font-size:13px}.so-page .so-eyebrow{margin-bottom:14px;font-size:10px}.so-samples{grid-template-columns:1fr;gap:38px}.so-sample__image{margin-bottom:18px}.so-page .so-sample h3{font-size:21px}.so-story__grid,.so-plan,.so-faq{grid-template-columns:1fr}.so-story__grid{gap:32px}.so-plan__price{border-right:0;border-bottom:1px solid var(--so-line);padding:28px}.so-plan__details{padding:28px}.so-options dl{grid-template-columns:1fr}.so-options dl>div{gap:12px;font-size:12px}.so-process ol{grid-template-columns:1fr;gap:28px;margin-top:30px}.so-faq{gap:24px}.so-contact{padding:36px 20px}.so-contact .so-actions{flex-direction:column;gap:12px}.so-contact .so-button{width:100%}.so-page .so-note{font-size:11px}.so-page figcaption{font-size:9px}.so-page figcaption span{font-size:9px}}
.so-inquiry{border-top:1px solid var(--so-line)}.so-inquiry__intro{max-width:760px;margin:0 auto 36px;text-align:center}.so-inquiry__intro>p:not(.so-eyebrow){margin-top:20px;font-size:14px}.so-inquiry__form{max-width:900px;margin:auto;padding:40px;background:var(--so-panel);border:1px solid var(--so-line);border-radius:4px}.so-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.so-field--wide{grid-column:1/-1}.so-field label{display:block;font-size:13px;font-weight:500;color:var(--so-ink)}.so-field .wpcf7-form-control-wrap{display:block;margin-top:9px}.so-field input,.so-field select,.so-field textarea{display:block;width:100%;max-width:100%;min-height:48px;padding:12px 14px;border:1px solid #657184;border-radius:3px;background:#080e18;color:#f3f2ef;font:400 16px/1.6 'Noto Sans JP',sans-serif;color-scheme:dark}.so-field textarea{resize:vertical;min-height:180px}.so-field input::placeholder,.so-field textarea::placeholder{color:#a6b2c0;opacity:1}.so-field input:focus,.so-field select:focus,.so-field textarea:focus{outline:2px solid var(--so-gold);outline-offset:3px}.so-form-consent{margin-top:28px;font-size:13px;line-height:1.9}.so-form-consent .wpcf7-list-item{margin:0}.so-form-consent label{display:flex;align-items:flex-start;gap:12px}.so-form-consent input{width:19px;height:19px;margin-top:3px;flex-shrink:0;accent-color:var(--so-gold)}.so-page .so-form-consent a{color:var(--so-gold);text-decoration:underline;text-underline-offset:4px}.so-form-submit{margin-top:28px;text-align:center}.so-form-submit input[type=submit]{border:0;border-radius:3px;background:var(--so-gold);color:#11151c;padding:17px 30px;font:700 15px/1.6 'Noto Sans JP',sans-serif;cursor:pointer;max-width:100%}.so-form-submit input[type=submit]:hover{background:#f6d7a5}.so-form-submit input[type=submit]:focus-visible{outline:3px solid white;outline-offset:4px}.so-form-submit input[type=submit]:disabled{opacity:.55;cursor:wait}.so-inquiry .wpcf7-not-valid-tip{font-size:13px;color:#ffb6b6;margin-top:7px}.so-inquiry .wpcf7-response-output{padding:16px!important;margin:24px 0 0!important;color:#f3f2ef;font-size:14px}.so-inquiry .wpcf7-spinner{display:block;margin:12px auto 0}.so-inquiry .wpcf7-spinner:not(.submitting *){height:0}.so-inquiry .wpcf7 form.submitting .wpcf7-spinner{height:24px}
@media(max-width:650px){.so-inquiry{padding-top:85px}.so-page .so-inquiry h2{font-size:24px;letter-spacing:0}.so-inquiry__form{padding:24px 18px}.so-form-grid{grid-template-columns:1fr;gap:22px}.so-inquiry__intro{text-align:left}.so-form-submit input[type=submit]{width:100%}.so-field label{font-size:12px}}
@media(prefers-reduced-motion:reduce){.so-page *{transition:none!important;scroll-behavior:auto!important}}
