:root{
  --yellow:#f3c85f;--yellow-2:#fff4cf;--orange:#ea7a2a;--brown:#5c3a20;--brown-2:#8b623d;--cream:#fffaf0;--paper:#fffdf8;--line:#ead9bc;--text:#2e261e;--muted:#675b50;--shadow:0 18px 45px rgba(91,62,30,.12);--radius:24px;--max:1180px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.8;background:var(--paper)}a{color:inherit}img,svg{max-width:100%}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,253,248,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(234,217,188,.8)}.header-inner{max-width:var(--max);margin:auto;padding:12px 18px;display:flex;align-items:center;gap:18px;justify-content:space-between}.logo{display:inline-flex;align-items:center;text-decoration:none;flex:0 0 auto}.logo img{display:block;width:auto;height:42px;max-width:220px;object-fit:contain}.nav{display:flex;gap:18px;font-size:.88rem;font-weight:700}.nav a{text-decoration:none}.nav-toggle{display:none;background:none;border:0;font-size:1.5rem;color:var(--brown)}.header-cta{display:flex;gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35em;padding:.9em 1.2em;border-radius:999px;border:2px solid transparent;text-decoration:none;font-weight:900;line-height:1.25;transition:.2s ease}.btn:hover{transform:translateY(-2px)}.btn--primary{background:linear-gradient(135deg,var(--orange),#ff9d33);color:#fff;box-shadow:0 10px 24px rgba(234,122,42,.25)}.btn--secondary{background:linear-gradient(135deg,#ffd966,var(--yellow));color:var(--brown);box-shadow:0 10px 24px rgba(243,200,95,.26)}.btn--ghost{background:#fff;border-color:var(--line);color:var(--brown)}.btn--dark{background:var(--brown);color:#fff}.btn--wide{width:100%;border:0;cursor:pointer;font-size:1rem}.section{padding:clamp(70px,9vw,118px) 18px}.section + .section{border-top:1px solid rgba(234,217,188,.45)}.container{max-width:var(--max);margin:auto}.section-head{max-width:850px;margin:0 auto 34px;text-align:center}.section-kicker{display:inline-flex;align-items:center;gap:.4em;color:var(--orange);font-weight:900;letter-spacing:.08em;font-size:.85rem;text-transform:uppercase}.section-title{font-size:clamp(1.75rem,4vw,3rem);line-height:1.35;margin:.3em 0;color:var(--brown)}.section-lead{font-size:1.04rem;color:var(--muted);margin:0}.hero{position:relative;overflow:hidden;padding:clamp(54px,8vw,100px) 18px 78px;background:radial-gradient(circle at 80% 10%,#fff 0 16%,transparent 36%),linear-gradient(135deg,#fff8df 0%,#fffdf8 55%,#fff4d2 100%)}.hero-inner{max-width:var(--max);margin:auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:34px;align-items:center}.eyebrow{display:inline-flex;padding:.45em .9em;background:#fff;border:1px solid var(--line);border-radius:999px;color:var(--brown);font-weight:900}.hero h1{font-size:clamp(2.15rem,5.8vw,4.75rem);line-height:1.18;margin:.28em 0;color:var(--brown);letter-spacing:-.04em}.hero h1 .accent,.accent{color:var(--orange)}.hero-lead{font-size:clamp(1rem,2vw,1.2rem);color:#51463c;max-width:760px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0}.badge-list{display:flex;gap:10px;flex-wrap:wrap;padding:0;margin:0;list-style:none}.badge-list li{background:#fff;border:1px solid var(--line);border-radius:999px;padding:.55em .85em;font-weight:800;color:var(--brown);font-size:.88rem}.hero-visual{position:relative;min-height:460px;border-radius:var(--radius);background:linear-gradient(160deg,#fff 0 45%,#ffeeb7 45% 100%);box-shadow:var(--shadow);overflow:hidden;padding:22px}.hero-visual .media{height:100%;min-height:360px}.hero-visual .mascot{position:absolute;left:12px;bottom:10px;width:142px}.drone-float{position:absolute;right:18px;top:24px;width:250px;filter:drop-shadow(0 18px 24px rgba(0,0,0,.18))}.grid{display:grid;gap:20px}.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid--6{grid-template-columns:repeat(6,minmax(0,1fr))}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:0 12px 32px rgba(91,62,30,.07)}.card h3{margin:.2em 0 .5em;color:var(--brown);font-size:1.18rem;line-height:1.45}.card p{margin:0;color:var(--muted)}.problem-card{position:relative;padding-left:58px}.problem-card:before{content:"✓";position:absolute;left:22px;top:26px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);color:var(--brown);font-weight:900}.proposal-card{padding:0;overflow:hidden}.proposal-card .body{padding:24px}.no{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:18px;background:var(--orange);color:#fff;font-weight:900;font-size:1.1rem}.point-list{padding:0;margin:16px 0 0;list-style:none}.point-list li{position:relative;padding-left:1.6em;margin:.4em 0;color:#4f4438;font-weight:700}.point-list li:before{content:"";position:absolute;left:.15em;top:.72em;width:.55em;height:.55em;border-radius:50%;background:var(--orange)}.media{margin:0;min-height:190px;border-radius:20px;overflow:hidden;background:#f8ead0;border:1px solid rgba(139,98,61,.16);position:relative}.media figcaption{position:absolute;left:12px;right:12px;bottom:12px;padding:.45em .65em;border-radius:14px;background:rgba(255,255,255,.86);font-weight:900;color:var(--brown);font-size:.84rem}.scene__art{position:absolute;inset:0;display:grid;place-items:center}.scene:before,.scene:after{content:"";position:absolute;inset:auto;background:rgba(255,255,255,.45);border-radius:999px}.scene:before{width:180px;height:180px;right:-44px;top:-54px}.scene:after{width:120px;height:120px;left:-34px;bottom:-44px}.scene--subdivision{background:linear-gradient(135deg,#dbeec9,#fff1bb)}.scene--handover{background:linear-gradient(135deg,#fff2d7,#f1e1c8)}.scene--construction{background:linear-gradient(135deg,#e9d3b7,#fff4d7)}.scene--inspection,.scene--checkpack{background:linear-gradient(135deg,#ead7bd,#fff6d8)}.scene--roof,.scene--roofwall{background:repeating-linear-gradient(135deg,#6a6f75 0 18px,#838990 18px 36px)}.scene--wall{background:repeating-linear-gradient(90deg,#e6ded2 0 28px,#d9cdbd 28px 56px)}.scene--attic{background:linear-gradient(135deg,#6e4c2f,#d8aa6d)}.scene--crawlspace{background:linear-gradient(180deg,#d9d0c2 0 42%,#b9b2a7 42% 100%)}.scene--crawlspace .scene__art:before{content:"";width:86%;height:34%;position:absolute;bottom:18%;left:7%;border-top:16px solid #8e8a82;border-left:12px solid #8e8a82;border-right:12px solid #8e8a82;background:linear-gradient(90deg,transparent 0 28%,rgba(255,255,255,.22) 28% 31%,transparent 31% 64%,rgba(255,255,255,.22) 64% 67%,transparent 67%)}.scene--editing,.scene--music,.scene--programming,.scene--website,.scene--design,.scene--ai,.scene--line,.scene--lp,.scene--sns,.scene--sorairo{background:linear-gradient(135deg,#1f2933,#667685)}.scene--line{background:linear-gradient(135deg,#d9ffe2,#78d98d)}.scene--corporate{background:linear-gradient(135deg,#d8e6ef,#b5c8d3)}.drone-svg{width:82%;max-width:260px;filter:drop-shadow(0 12px 18px rgba(0,0,0,.2))}.drone-svg--neo{max-width:205px}.mascot svg{filter:drop-shadow(0 12px 16px rgba(91,62,30,.16))}.feature-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.feature{background:linear-gradient(180deg,#fff,#fff8df);border:1px solid var(--line);border-radius:22px;padding:20px}.feature strong{display:block;color:var(--brown);font-size:1.1rem;margin-bottom:6px}.inspection-card .media{min-height:150px;margin-bottom:15px}.drone-card{text-align:center}.drone-card .media{min-height:145px;margin-bottom:14px}.service-card{display:flex;flex-direction:column;gap:14px}.service-card .media{min-height:150px}.service-card .btn{margin-top:auto}.flow{counter-reset:step;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}.flow-item{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px 14px;text-align:center}.flow-item strong{display:grid;place-items:center;margin:0 auto 9px;width:42px;height:42px;border-radius:50%;background:var(--yellow);color:var(--brown)}.faq-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.faq-item{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.faq-q{width:100%;border:0;background:#fff;padding:17px 18px;text-align:left;font-weight:900;color:var(--brown);display:flex;justify-content:space-between;gap:12px;cursor:pointer}.faq-a{display:none;padding:0 18px 18px;color:var(--muted)}.faq-item.is-open .faq-a{display:block}.faq-item.is-open .faq-q span:last-child{transform:rotate(45deg)}.contact-panel{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:28px;align-items:start;background:linear-gradient(135deg,#fff9df,#fff);border-radius:32px;border:1px solid var(--line);padding:30px;box-shadow:var(--shadow)}.contact-note{position:sticky;top:95px}.contact-note .mascot{width:170px;margin:20px auto}.contact-form{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:block;margin-bottom:14px}.field span{display:flex;gap:8px;align-items:center;font-weight:900;color:var(--brown);margin-bottom:6px}.field em{font-style:normal;background:var(--orange);color:#fff;border-radius:999px;padding:.1em .55em;font-size:.72rem}input,select,textarea{width:100%;border:1px solid #dcc6a4;border-radius:14px;padding:12px 13px;font:inherit;background:#fffdf8}textarea{resize:vertical}.privacy{display:flex;gap:9px;align-items:flex-start;font-size:.9rem;color:var(--muted);margin:8px 0 18px}.privacy input{width:auto;margin-top:.45em}.hp-field{position:absolute;left:-9999px}.error-text{display:block;color:#b00020;font-size:.84rem;margin-top:4px}.error-text.block{margin:8px 0}.form-error,.form-success{border-radius:18px;padding:18px;margin-bottom:18px}.form-error{background:#fff0f0;color:#9b1c1c;border:1px solid #ffc9c9}.form-success{background:#effaf0;color:#176326;border:1px solid #bdebc3}.footer{padding:44px 18px calc(92px + env(safe-area-inset-bottom));background:var(--brown);color:#fff}.footer .container{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.sticky-cta{display:none;position:fixed;z-index:80;left:0;right:0;bottom:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,253,248,.94);border-top:1px solid var(--line);backdrop-filter:blur(14px);gap:10px}.sticky-cta .btn{flex:1;font-size:.9rem;padding:.8em .75em}.cta-band{background:linear-gradient(135deg,var(--orange),#ffad34);color:#fff;border-radius:34px;padding:34px;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}.cta-band h2{margin:0 0 8px;font-size:clamp(1.5rem,3vw,2.5rem)}.cta-band p{margin:0;opacity:.95}.cta-band .btn{background:#fff;color:var(--brown)}
@media (max-width: 980px){.hero-inner,.contact-panel{grid-template-columns:1fr}.hero-visual{min-height:340px}.grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--6{grid-template-columns:repeat(3,minmax(0,1fr))}.flow{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.nav{position:fixed;left:12px;right:12px;top:64px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:var(--shadow);display:none;flex-direction:column}.nav.is-open{display:flex}.nav-toggle{display:block}.header-cta{display:none}.contact-note{position:static}.cta-band{grid-template-columns:1fr}.sticky-cta{display:flex}}
@media (max-width: 640px){.section{padding:64px 16px}.hero{padding:46px 16px 68px}.hero h1{font-size:2.25rem}.hero-actions .btn{width:100%}.grid--2,.grid--3,.grid--4{grid-template-columns:1fr}.related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.related-grid .card{padding:12px;border-radius:18px}.related-grid .media{min-height:96px;border-radius:14px}.related-grid h3{font-size:.96rem}.related-grid p{font-size:.82rem;line-height:1.6}.related-grid .btn{font-size:.8rem;padding:.65em}.marketing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.marketing-grid .card{padding:12px;border-radius:18px}.marketing-grid .media{min-height:96px;border-radius:14px}.marketing-grid h3{font-size:.94rem}.marketing-grid p{font-size:.82rem;line-height:1.6}.marketing-grid .btn{font-size:.75rem;padding:.65em}.grid--6{grid-template-columns:repeat(2,minmax(0,1fr))}.faq-list,.form-grid{grid-template-columns:1fr}.contact-panel{padding:18px;border-radius:24px}.contact-form{padding:16px}.hero-visual .mascot{width:112px}.drone-float{width:190px}.feature-strip{grid-template-columns:1fr}.footer .container{display:block}.logo img{height:34px;max-width:178px}.nav-toggle{margin-left:auto}}

/* content.php rich HTML support */
.rich-text p{margin:.2em 0 .9em}.rich-text p:last-child{margin-bottom:0}.rich-text ul,.rich-text ol{margin:.45em 0 .9em;padding-left:1.35em}.rich-text li{margin:.25em 0}.rich-text strong{color:var(--brown);font-weight:900}.rich-text em{font-style:normal;color:var(--orange);font-weight:900}.rich-text mark{background:linear-gradient(transparent 58%,rgba(244,200,81,.48) 58%);padding:0 .12em;color:inherit}.rich-text a{color:var(--orange);font-weight:900;text-decoration:underline;text-underline-offset:.16em}.card-text{color:var(--muted)}


/* content.php image field support */
.media--image{background:#f8ead0}.media--image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.media--fit-contain img{object-fit:contain;background:#fffaf0}.media--image:before,.media--image:after{display:none}.media--image figcaption{z-index:2}.mascot img{display:block;width:100%;height:auto;filter:drop-shadow(0 12px 16px rgba(91,62,30,.16))}

/* ONE STOP mobile/tablet image ratio fix */
@media (max-width: 980px){
  #onestop .onestop-grid .service-card .media{
    min-height:0;
    aspect-ratio:16 / 9;
  }
}
