@font-face{font-family:'Noto Sans JP';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/sotonoz/noto-400.woff2') format('woff2')}
@font-face{font-family:'Noto Sans JP';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/sotonoz/noto-500.woff2') format('woff2')}
@font-face{font-family:'Noto Sans JP';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/sotonoz/noto-700.woff2') format('woff2')}
@font-face{font-family:'Noto Sans JP';font-style:normal;font-weight:900;font-display:swap;src:url('/assets/sotonoz/noto-900.woff2') format('woff2')}
:root{--blue:#0646ea;--ink:#111820;--white:#fff;--pale:#eff5ff;--muted:#536074;--line:#d7dfe9;color:var(--ink);background:#fff;font-family:'Noto Sans JP',sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}h1,h2,h3,p,figure,dl,dd,ul,ol{margin:0}ul,ol{list-style:none;padding:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}img{display:block}a{color:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #f3a500;outline-offset:4px}.skip{position:fixed;z-index:100;left:16px;top:-80px;background:#fff;padding:12px}.skip:focus{top:10px}
.hero-inner{position:relative;overflow:hidden;max-width:640px;margin:auto;display:grid;grid-template-areas:"header" "copy" "visual" "action"}.header{grid-area:header;position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;height:37px;padding:0 16px;border-bottom:.7px solid var(--blue);background:#fff}.header p{font-size:11px;font-weight:700;line-height:16px;width:88px}.header img,footer>img{object-fit:fill}.hero-copy{grid-area:copy;position:relative;z-index:1;margin:18px 20px 0;display:flex;flex-direction:column;align-items:flex-start;background:#fff}.hero-copy .eyebrow{margin-bottom:9px;display:flex;align-items:center;gap:8px;font-size:13px;line-height:20px}.hero-copy .eyebrow:before{content:"";width:18px;height:2px;background:var(--blue);flex:none}.eyebrow{font-size:15px;font-weight:900;line-height:22px;color:var(--blue)}h1{font-weight:900;letter-spacing:0}h1>span{display:block;font-size:clamp(2rem,9.5vw,2.625rem);line-height:1.23;white-space:nowrap}h1>strong{display:block;font-size:clamp(1.5rem,8.35vw,2.1875rem);line-height:1.35;font-weight:900;color:#fff;background:var(--blue);padding:2px 8px 5px;margin-top:5px;width:max-content;white-space:nowrap;letter-spacing:-.025em}.hero-description{margin-top:12px;font-size:14px;font-weight:500;line-height:22px;color:var(--muted)}.plan{width:390px;display:flex;flex-direction:column}.plan img{width:100%;height:auto;flex:none}.hero-visual{grid-area:visual;position:relative;height:clamp(200px,56vw,250px);margin-top:8px;overflow:hidden}.hero-plan{position:absolute;left:0;top:50%;transform:translateY(-52%);width:100%}.hero-accent{position:absolute;right:0;bottom:8px;top:auto}.hero-action{grid-area:action;position:relative;z-index:2;background:linear-gradient(to bottom,transparent 20px,#fff 20px);margin-top:-20px;padding:0 20px 14px;display:flex;flex-direction:column;gap:8px}.hero-action .cta{min-height:52px;border:1px solid #fff}.hero-action .cta-arrow{color:#a8bfff}.cta{border:0;border-radius:0;position:relative;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;padding:10px 38px 10px 14px;color:#fff;background:var(--blue);font-size:16px;font-weight:700;line-height:24px;white-space:nowrap;text-decoration:none;transition:filter .15s}.cta:hover{filter:brightness(.92)}.cta--black{background:var(--ink)}.cta--white{background:#fff;color:var(--ink)}.cta-arrow{font-size:25px;line-height:28px;position:absolute;right:14px;top:10px}.cta-note{font-size:12px;line-height:20px;color:var(--muted);text-align:center}
.section-inner{max-width:640px;margin:auto;padding:32px 16px;display:flex;flex-direction:column;gap:20px}.section-heading{position:relative;min-height:64px;padding-left:94px}.section-heading:before{content:'';position:absolute;left:81px;top:0;height:62px;width:.7px;background:var(--blue)}.section-number{position:absolute;left:-1.2px;top:-1.2px}.section-heading h2{font-size:23px;font-weight:900;line-height:31px}.section-description{font-size:14px;line-height:24px;color:var(--muted)}.problems .section-inner{gap:16px}.problem-list{display:flex;flex-direction:column}.problem-row{display:flex;gap:16px;align-items:center;padding:16px 0;border-bottom:.7px solid var(--line)}.problem-row:first-child{padding-top:0}.problem-row>img{flex:none}.problem-row>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.problem-row p{font-size:13px;line-height:20px;color:var(--muted)}.problem-row h3{font-size:16px;line-height:25px;font-weight:700}.time-panel{padding:16px;background:var(--pale);display:flex;flex-direction:column;gap:8px}.time-panel h3{font-size:20px;line-height:30px;font-weight:900;color:var(--blue)}.time-panel p{font-size:14px;font-weight:500;line-height:23px}.sample-grid{display:flex;flex-direction:column;gap:20px}.render-sample{position:relative}.render-image{width:100%;aspect-ratio:358/155.5;overflow:hidden}.render-image img{width:100%;height:auto}.render-label{position:absolute;left:6px;top:6px;background:var(--blue);color:#fff;padding:4px 8px;font-size:11px;line-height:16px;font-weight:700}.drawing-samples{display:grid;grid-template-columns:1fr 1fr;gap:10px}.drawing-samples figure{min-width:0}.drawing-samples figcaption{font-size:11px;line-height:18px;color:var(--muted);font-weight:500;margin-top:6px}.plan-sample,.elevation-sample{height:auto;aspect-ratio:174/105;position:relative;overflow:hidden}.sample-plan{position:absolute;width:100%;top:-86.6667%}.elevation-sample>img{width:100%;height:100%;object-fit:contain}.sample-value{display:flex;flex-direction:column;gap:6px}.sample-value h3{font-size:22px;line-height:32px;font-weight:900}.sample-value p{font-size:13px;line-height:22px;color:var(--muted)}
.benefits{background:var(--pale)}.benefits .section-inner{gap:16px}.benefit-row{display:flex;align-items:center;gap:20px;padding:16px 0;border-bottom:.7px solid var(--line)}.benefit-row:first-child{padding-top:0}.benefit-row:last-child{padding-bottom:0;border:0}.benefit-row>img{flex:none}.benefit-row>div{min-width:0;display:flex;flex-direction:column;gap:6px}.benefit-row h3{font-size:18px;line-height:27px;font-weight:700}.benefit-row p{font-size:13px;line-height:22px;color:var(--muted)}.conditions{font-size:11px;line-height:18px;color:var(--muted)}.team{background:var(--blue);color:#fff}.team .section-heading:before{background:#fff}.team-copy{font-size:14px;line-height:24px;font-weight:500}.team-diagram{display:grid;grid-template-columns:128px 34px minmax(0,1fr);gap:14px;align-items:center}.team-diagram ul{display:flex;flex-direction:column;gap:12px}.team-diagram li{border:1px solid #fff;border-radius:18px;padding:7px;font-size:13px;line-height:20px;text-align:center;font-weight:700}.rule-output{display:flex;flex-direction:column;align-items:center;gap:8px}.rule-output p{font-size:15px;line-height:24px;font-weight:700;text-align:center;white-space:nowrap}.team-value{font-size:21px;line-height:32px;font-weight:900}.trial-card{border:1px solid var(--blue);padding:16px;display:flex;flex-direction:column;gap:16px}.trial-card>h3{font-size:15px;line-height:24px;color:var(--blue)}.trial-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-bottom:16px;border-bottom:.7px solid var(--line)}.trial-facts>div{display:flex;flex-direction:column;gap:6px;text-align:center}.trial-facts dt{font-size:12px;line-height:19px;font-weight:700}.trial-facts dd{font-size:24px;line-height:36px;font-weight:900;color:var(--blue);white-space:nowrap}.trial-facts>div:first-child dd{font-size:20px}.trial-label{font-size:14px;line-height:22px;font-weight:700}.trial-checks{font-size:14px;line-height:27px;font-weight:500}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.step-number{display:block;color:var(--blue);font-weight:900;font-size:27px;line-height:36px;margin-bottom:8px}.steps h3{font-size:16px;line-height:25px;margin-bottom:6px}.steps p{font-size:12px;line-height:20px;color:var(--muted)}.faq .section-inner{gap:16px}.faq-item{padding:16px 0;border-bottom:.7px solid var(--line)}.faq-item:first-child{padding-top:0}.faq-item dt,.faq-item dd{display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px}.faq-item dt{font-size:16px;line-height:28px;font-weight:700;margin-bottom:10px}.faq-item dt>span{font-size:22px;color:var(--blue)}.faq-item dd{font-size:14px;line-height:24px;color:var(--muted)}.faq-item dd>span{font-size:22px;line-height:26px;font-weight:700}
.closing{background:var(--blue);color:#fff}.closing-inner{position:relative;overflow:hidden;padding:32px 16px;max-width:640px;margin:auto;display:flex;flex-direction:column;gap:16px}.closing-inner>h2,.closing-copy,.closing-note,.closing .cta{position:relative;z-index:1}.closing-plan{position:absolute;left:118px;top:-145px}.closing-accent{position:absolute;left:0;top:0}.closing-cover{position:absolute;left:0;top:0;width:318px;height:206px;background:var(--blue)}.closing-lower{position:absolute;left:0;top:206px;width:100%;height:calc(100% - 206px);background:var(--blue)}.closing h2{font-size:38px;line-height:48px;font-weight:900}.closing-copy{font-size:16px;line-height:26px;font-weight:500}.closing-note{font-size:12px;line-height:20px}footer{padding:24px;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--muted)}footer>p{font-size:10px;line-height:18px}.footer-links{display:flex;gap:12px;align-items:center;font-size:12px;line-height:20px}.footer-links a{text-decoration:none}.footer-links a:hover{text-decoration:underline}dialog{border:0;padding:32px 24px;max-width:calc(100% - 32px);width:420px;color:var(--ink)}dialog::backdrop{background:#11182088}.dialog-close{position:absolute;right:8px;top:4px;border:0;background:none;font-size:28px;width:40px;height:40px}dialog h2{font-size:19px;line-height:30px;margin:10px 0 16px}dialog p{font-size:14px;line-height:24px}.notice-back{margin-top:24px;min-height:44px;padding:8px 24px;border:0;background:var(--blue);color:#fff}
@media(max-width:374px){.section-heading{padding-left:86px}.section-heading:before{left:76px}.section-heading h2{font-size:21px}.cta{font-size:14px;padding-left:8px;padding-right:32px}.cta-arrow{right:10px}.problem-row{gap:12px}.problem-row h3{font-size:15px}.benefit-row{gap:14px}.benefit-row h3{font-size:16px}.team-diagram{grid-template-columns:108px 34px minmax(0,1fr);gap:8px}.rule-output p{font-size:13px}.team-value{font-size:18px}.trial-facts{gap:4px}.trial-facts dd{font-size:21px}.trial-facts>div:first-child dd{font-size:17px}.steps{gap:10px}.steps h3{font-size:14px}.closing-copy{font-size:14px}.time-panel h3{font-size:18px}}
@media(min-width:641px) and (max-width:899px){body{background:var(--pale)}main,footer{max-width:640px;margin:auto;background:#fff}.hero-copy{margin:24px 32px 0}.hero-visual{height:270px}.hero-action{padding:0 32px 20px}.section-inner{padding:40px 32px}.closing-plan{left:330px}}
@media(min-width:900px){.hero-inner,.section-inner,.closing-inner{max-width:1080px}.hero-inner{min-height:560px;grid-template-columns:56% 44%;grid-template-rows:64px auto 1fr;grid-template-areas:"header header" "copy visual" "action visual"}.header{height:64px;padding:0 40px}.header p{width:auto;font-size:14px}.header img{width:102px;height:auto}.hero-copy{margin:52px 0 0 40px;max-width:none;gap:0;align-self:start}.hero-copy .eyebrow{margin-bottom:14px;font-size:16px;line-height:24px}.eyebrow{font-size:18px;line-height:28px}h1>span{font-size:clamp(44px,4.6vw,58px);line-height:1.3}h1>strong{font-size:clamp(38px,4.1vw,48px);line-height:1.45}.hero-description{margin-top:20px;font-size:16px;line-height:27px}.hero-visual{height:auto;min-height:420px;margin:16px 0 16px 24px;align-self:stretch}.hero-plan{width:540px;left:0;right:auto;top:50%;transform:translateY(-50%)}.hero-accent{left:auto;right:-30px;top:auto;bottom:44px}.hero-action{position:relative;left:auto;right:auto;bottom:auto;width:400px;max-width:calc(100% - 40px);margin:28px 0 32px 40px;align-self:start;padding:0;min-height:0;gap:12px;background:transparent}.section-inner{padding:64px 40px;gap:32px}.section-heading{min-height:70px;padding-left:108px}.section-heading:before{left:87px;height:64px}.section-heading h2{font-size:28px;line-height:36px}.section-description{font-size:16px;line-height:28px}.problems .section-inner{gap:32px}.problem-list{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.problem-row,.problem-row:first-child{padding:16px 0 24px;align-items:flex-start;gap:16px}.problem-row h3{font-size:18px;line-height:29px}.problem-row p{font-size:14px;line-height:24px}.time-panel{padding:24px 32px;flex-direction:row;align-items:center;justify-content:space-between}.time-panel h3{font-size:26px;line-height:38px}.time-panel p{font-size:16px;line-height:27px}.samples .section-inner{display:grid;grid-template-columns:1fr 1fr;gap:32px 48px}.samples .section-heading{grid-column:1}.samples .section-description{grid-column:2;align-self:center}.sample-grid{grid-column:1/-1;display:grid;grid-template-columns:1.15fr 1fr;gap:24px;align-items:center}.drawing-samples{gap:16px}.drawing-samples figcaption{font-size:12px;line-height:20px}.sample-value h3{font-size:26px;line-height:38px}.sample-value p{font-size:15px;line-height:26px}.samples .cta{max-width:440px;align-self:center;justify-self:end}.benefits .section-inner{gap:32px}.benefit-list{display:grid;grid-template-columns:1fr 1fr;gap:0 64px}.benefit-row,.benefit-row:first-child,.benefit-row:last-child{padding:24px 0;border-bottom:.7px solid var(--line)}.benefit-row h3{font-size:21px;line-height:32px}.benefit-row p{font-size:15px;line-height:26px}.conditions{font-size:12px;line-height:20px}.team .section-inner{display:grid;grid-template-columns:1fr 1fr;gap:28px 64px}.team .section-heading{grid-column:1}.team-copy{grid-column:1;font-size:16px;line-height:29px}.team-diagram{grid-column:2;grid-row:1/3;max-width:420px;align-self:center}.team-value{grid-column:1/-1;text-align:center;font-size:28px;line-height:40px;margin-top:8px}.trial .section-inner{display:grid;grid-template-columns:1fr 1fr;gap:28px 48px}.trial .section-heading{grid-column:1}.trial .section-description{grid-column:2;align-self:center}.trial-card{padding:24px;grid-column:1;grid-row:2/5;gap:20px}.trial-card>h3{font-size:18px;line-height:28px}.trial-facts{padding-bottom:20px}.trial-facts dt{font-size:14px;line-height:24px}.trial-facts dd{font-size:30px;line-height:42px}.trial-facts>div:first-child dd{font-size:25px}.trial-label,.trial-checks{font-size:16px;line-height:28px}.steps{grid-column:2;gap:20px;align-self:center}.steps h3{font-size:18px;line-height:28px}.steps p{font-size:14px;line-height:24px}.trial .cta{grid-column:2;align-self:end}.trial .cta-note{grid-column:2}.faq .section-inner{gap:32px;display:grid;grid-template-columns:340px 1fr}.faq-item{padding:24px 0}.faq-item dt{font-size:18px;line-height:30px}.faq-item dd{font-size:16px;line-height:28px}.closing-inner{padding:64px 40px;gap:24px}.closing h2{font-size:48px;line-height:60px}.closing-copy{font-size:18px;line-height:30px}.closing .cta{max-width:440px}.closing-note{font-size:13px;line-height:22px}.closing-plan{left:auto;right:-40px;top:-150px;width:650px}.closing-accent{left:320px;top:0}.closing-cover{width:620px;height:100%;}.closing-lower{display:none}footer{padding:40px;gap:12px}footer>p{font-size:12px;line-height:20px}.footer-links{font-size:14px;line-height:24px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.benefit-title-line{display:block;white-space:nowrap;font-size:min(1em,calc((100vw - 130px)/9));letter-spacing:0}

@font-face{font-family:'Noto Sans JP';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/sotonoz/noto-price-400.woff2') format('woff2');unicode-range:U+2C,U+35,U+5186,U+5225,U+7A0E,U+8FBC,U+FF08,U+FF09}
@font-face{font-family:'Noto Sans JP';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/sotonoz/noto-price-500.woff2') format('woff2');unicode-range:U+2C,U+35,U+5186,U+5225,U+7A0E,U+8FBC,U+FF08,U+FF09}
@font-face{font-family:'Noto Sans JP';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/sotonoz/noto-price-700.woff2') format('woff2');unicode-range:U+2C,U+35,U+5186,U+5225,U+7A0E,U+8FBC,U+FF08,U+FF09}
@font-face{font-family:'Noto Sans JP';font-style:normal;font-weight:900;font-display:swap;src:url('/assets/sotonoz/noto-price-900.woff2') format('woff2');unicode-range:U+2C,U+35,U+5186,U+5225,U+7A0E,U+8FBC,U+FF08,U+FF09}

.trial-price{padding:16px;background:var(--pale);display:flex;flex-direction:column;gap:4px}.trial-price-label{font-size:13px;line-height:22px;font-weight:700}.trial-price-main{display:flex;align-items:baseline;gap:6px;white-space:nowrap;color:var(--blue)}.trial-price-main strong{font-size:44px;line-height:1.25;letter-spacing:-.025em;font-weight:900;font-variant-numeric:tabular-nums}.trial-price-main>span{font-size:14px;line-height:24px;font-weight:700}.trial-price-tax{font-size:14px;line-height:24px;color:var(--muted)}
@media(max-width:374px){.trial-price{padding:12px}.trial-price-main strong{font-size:38px}.trial-price-main>span{font-size:13px}}

/* Only intentional interaction feedback; buttons never drift on their own. */
@media(prefers-reduced-motion:no-preference){
 .cta{transition:filter .18s ease}
 .cta-arrow{transition:transform .25s cubic-bezier(.22,1,.36,1)}
 .cta:active .cta-arrow{transform:translateX(2px)}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .cta:hover .cta-arrow{transform:translateX(4px)}
 .cta:active .cta-arrow{transform:translateX(2px)}
}

/* Reserve the original logo footprint while using its true intrinsic dimensions. */
.header>img,footer>img{width:85px;height:auto}
@media(min-width:900px){.header>img{width:102px}}
/* Comfortable touch targets and a bounded, scrollable notice on small screens. */
.footer-links a{display:inline-flex;align-items:center;min-height:44px}
.dialog-close{width:44px;height:44px}
dialog{max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain}
body:has(dialog[open]){overflow:hidden}
