@charset "UTF-8";
:root{--ink:#142e46;--blue:#075eaa;--cyan:#00a3dd;--muted:#617181;--pale:#f0f6fa;--line:#dce6ed}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--ink);font-family:"Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;line-height:1.9;letter-spacing:.025em;background:#fff}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #00a3dd;outline-offset:5px}a{transition:opacity .2s,background .2s}a:hover{opacity:.78}.wrap{width:min(1160px,calc(100% - 96px));margin-inline:auto}.skip{position:fixed;top:-100px;background:#fff;padding:10px;z-index:10}.skip:focus{top:0}.header{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:12px;font-size:27px;line-height:1.4;font-weight:800;letter-spacing:.08em}.brand small{display:block;font-size:9px;font-weight:500;letter-spacing:.04em;margin-top:3px}.logo{width:47px;height:46px;overflow:hidden;display:block;position:relative}.logo img{position:absolute;width:77px;max-width:none;left:-15px;top:-7px}nav{display:flex;align-items:center;gap:27px;font-size:12px;font-weight:700}.nav-contact{padding:12px 20px;background:var(--blue);color:white;border-radius:4px}.nav-contact span{margin-left:18px}.hero{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;min-height:655px;gap:35px;padding-block:48px 85px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.17em;color:var(--blue);margin:0 0 20px}.hero-tag{font-size:13px;margin-bottom:17px}h1{font-size:clamp(30px,3.12vw,43px);line-height:1.65;letter-spacing:.025em;margin:0 0 24px;font-weight:800;white-space:nowrap}h1 span{color:var(--blue);background:linear-gradient(transparent 77%,#d9edf7 77%)}.hero-lead{font-size:18px;font-weight:700;line-height:1.85;margin-bottom:17px}.muted{color:var(--muted);font-size:13px}.actions{display:flex;align-items:center;gap:28px;margin-top:30px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;padding:17px 25px;background:var(--blue);color:white;border-radius:4px;font-size:13px;font-weight:700;box-shadow:0 6px 15px #075eaa16}.button span{font-size:19px;line-height:1}.text-link{font-size:12px;font-weight:700}.text-link span{margin-left:16px}.tiny{color:var(--muted);font-size:10px;margin-top:13px}.hero-art{height:490px;position:relative;background:radial-gradient(ellipse at center,#dceff9, #f0f8fc 59%,#fff 72%);isolation:isolate}.hero-art:before{content:"";position:absolute;width:370px;height:370px;border:1px solid #c4e3f2;border-radius:50%;left:30px;top:60px;z-index:-1}.art-label{position:absolute;font-size:11px;top:0;left:60px;letter-spacing:.1em}.poster{position:absolute;top:55px;left:8px;width:238px;height:320px;background:#0663ab;transform:rotate(-9deg);padding:25px;color:white;box-shadow:0 20px 35px #07396325;overflow:hidden}.poster>span{font-size:8px;letter-spacing:.16em}.poster-circle{width:170px;height:170px;position:absolute;border-radius:50%;background:#ffdc84;right:-22px;top:65px}.poster-circle:after{content:"";width:97px;height:97px;border-radius:50%;position:absolute;background:#f5af6d;left:26px;top:43px}.poster b{position:relative;display:block;font-size:27px;line-height:1.7;margin-top:45px;letter-spacing:.08em}.poster i{position:relative;display:block;font-size:8px;font-style:normal;letter-spacing:.16em;margin-top:14px}.poster-lines{border-top:1px solid #ffffff75;margin-top:24px;width:85px}.web-mock{position:absolute;width:249px;height:198px;background:white;right:-5px;top:105px;transform:rotate(7deg);border-radius:5px;box-shadow:0 17px 35px #07396325;overflow:hidden;padding:34px 19px 12px}.browser-dots{position:absolute;left:0;top:0;background:#ecf0f4;width:100%;font-size:7px;color:#a5b4c0;letter-spacing:2px;padding:3px 10px}.web-mock small{font-size:7px;letter-spacing:.13em}.web-mock strong{display:block;font-size:17px;line-height:1.7;margin-top:7px}.web-block{display:flex;gap:7px;margin-top:12px}.web-block span{width:56px;height:30px;background:#e2eff5}.web-block span:nth-child(2){background:#9cc8dc}.web-block span:nth-child(3){background:#eee1c7}.mock-button{background:var(--blue);height:8px;width:52px;margin-top:10px}.menu-mock{position:absolute;bottom:22px;right:48px;width:172px;height:220px;background:#fffdf5;transform:rotate(10deg);padding:22px;text-align:center;box-shadow:0 12px 30px #07396320}.menu-mock small{display:block;font-size:8px;letter-spacing:.2em}.menu-mock b{font:33px Georgia,serif;letter-spacing:.09em}.menu-line{border-top:1px solid #a0b7b7;margin-top:12px}.menu-mock p{font-size:11px;line-height:1.9;margin:13px 0}.menu-mock>span{font-size:6px;letter-spacing:.1em}.art-note{position:absolute;bottom:-13px;right:55px;font-size:9px;color:var(--muted)}.art-cross{position:absolute;bottom:73px;left:35px;font-size:42px;font-weight:200;color:var(--cyan)}.service-band{background:var(--blue);color:white}.service-band>div{display:flex;align-items:center;justify-content:space-between;padding-block:21px;gap:15px;font-size:11px;letter-spacing:.14em}.service-band i{font-style:normal;color:#7ac7e6;font-size:17px}.section{padding-block:100px}.concerns{display:grid;grid-template-columns:1fr 1.45fr;gap:85px}h2{font-size:30px;line-height:1.7;letter-spacing:.055em;margin:0 0 25px}h3{font-size:17px;line-height:1.8;margin:0 0 17px}.concerns ul{list-style:none;padding:0;margin:4px 0}.concerns li{font-size:13px;border-bottom:1px solid var(--line);padding:15px 0;display:flex;align-items:baseline;gap:16px}.concerns li:before{content:"✓";color:var(--blue);font-size:15px;font-weight:700}.services{background:var(--pale)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:40px}.section-heading h2{margin-bottom:0}.section-heading>.muted{margin-bottom:4px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-grid article{background:white;border-radius:5px;padding:30px 25px}.service-grid article>p:not(.eyebrow){font-size:12px;color:var(--muted);margin-bottom:24px}.service-grid .eyebrow{font-size:9px;margin-top:25px;margin-bottom:12px}.service-grid h3{font-size:16px}.service-icon{height:92px;background:#e9f2f8;display:flex;align-items:center;justify-content:center;font-size:49px;font-weight:700;color:var(--blue);gap:35px}.service-icon span{font-size:27px;font-weight:400}.menu-icon{background:#f3f1e9;font-size:25px;font-family:Georgia,serif;color:#566d62}.web-icon{font-size:30px;background:#e6f4f5;color:#207b86}.uses{border-top:1px solid var(--line);padding-top:17px;color:var(--muted);font-size:10px;line-height:2}.service-footnote{font-size:10px;color:var(--muted);margin:22px 0 0}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:43px;margin-top:55px}.values article>span{font-size:39px;color:#99c5df;font-family:Georgia,serif;line-height:1;display:block;padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:24px}.values p{font-size:12px;color:var(--muted)}.estimate{margin-top:65px;border-radius:5px;background:var(--pale);padding:35px 40px;display:flex;justify-content:space-between;align-items:center;gap:25px}.estimate .eyebrow{margin-bottom:10px;font-size:9px}.estimate h3{font-size:19px;margin-bottom:10px}.estimate p:not(.eyebrow){font-size:12px;color:var(--muted);margin-bottom:0}.flow{background:#f8fafb}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:45px}.steps article{border-top:2px solid #b9d7e9;padding-top:23px}.steps span{font-size:11px;font-weight:700;color:var(--blue);letter-spacing:.12em}.steps h3{font-size:15px;margin-top:13px}.steps p{font-size:12px;color:var(--muted)}.faq{display:grid;grid-template-columns:1fr 1.8fr;gap:50px}.faq details{border-bottom:1px solid var(--line)}.faq details:first-child{border-top:1px solid var(--line)}.faq summary{position:relative;list-style:none;cursor:pointer;font-size:13px;font-weight:700;padding:21px 30px 21px 35px}.faq summary::-webkit-details-marker{display:none}.faq summary:before{content:"Q";position:absolute;left:0;color:var(--blue);font-family:Georgia,serif;font-size:19px;top:16px}.faq summary:after{content:"＋";position:absolute;right:0;color:var(--blue)}.faq details[open] summary:after{content:"−"}.faq details p{font-size:12px;color:var(--muted);padding:0 25px 10px 35px}.contact{background:var(--blue);color:white;text-align:center;padding:75px 0 65px;position:relative;overflow:hidden}.contact:before,.contact:after{content:"";position:absolute;pointer-events:none;width:500px;height:500px;border:1px solid #ffffff18;border-radius:50%;top:-60px;left:-320px}.contact:after{left:auto;right:-270px;top:80px}.contact .eyebrow{color:#b3dff5;font-size:10px}.contact h2{font-size:36px}.contact p:not(.eyebrow){font-size:13px;line-height:2.2;margin-bottom:30px}.button-white{color:var(--blue);background:white;min-width:350px;padding:20px 28px}.email{display:block;width:fit-content;margin:21px auto 3px;font-size:15px;letter-spacing:.08em}.contact small{font-size:10px;color:#cae4f3}footer{display:flex;align-items:center;gap:25px;padding-block:30px;position:relative}.footer-brand{font-size:20px;font-weight:800;letter-spacing:.1em}footer p{font-size:10px;color:var(--muted)}footer small{margin-left:auto;font-size:10px;color:var(--muted)}.back-top{font-size:21px;margin-left:20px} @media(min-width:1500px){.hero{min-height:710px}}@media(max-width:1050px){.wrap{width:calc(100% - 60px)}nav{gap:16px}nav>a:nth-child(2){display:none}.hero{gap:15px;grid-template-columns:1.1fr 1fr}h1{font-size:32px}.hero-art{transform:scale(.88);transform-origin:center}.service-grid{gap:13px}.service-grid article{padding:22px 18px}.service-grid h3{font-size:14px}.concerns{gap:40px}.values{gap:25px}.steps{gap:20px}.steps h3{font-size:13px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header{min-height:85px;gap:10px}.brand{font-size:23px;gap:8px}.brand small{font-size:8px}.logo{width:38px;height:40px}.logo img{width:66px;left:-13px;top:-6px}nav>a:not(.nav-contact){display:none}.nav-contact{font-size:10px;padding:10px 12px}.nav-contact span{margin-left:8px}.hero{grid-template-columns:1fr;padding-top:35px;padding-bottom:45px;gap:25px;min-height:0}.hero .eyebrow{font-size:9px;margin-bottom:20px}.hero-tag{font-size:12px}h1{font-size:clamp(25px,6.4vw,39px);line-height:1.7;white-space:normal}.hero-lead{font-size:16px}.muted{font-size:12px}.actions{gap:22px}.button{padding:16px 20px;gap:25px;font-size:12px}.hero-art{height:430px;max-width:420px;width:100%;margin:0 auto;transform:scale(.9);margin-block:-3px -17px}.art-label{left:35px;font-size:10px}.poster{width:210px;height:290px;top:45px;left:10px}.poster b{font-size:23px}.web-mock{width:215px;height:185px;top:95px;right:0}.menu-mock{right:33px;bottom:0;width:155px;height:205px}.art-note{bottom:-28px;right:38px}.art-cross{left:30px;bottom:25px}.hero-art:before{width:315px;height:315px}.service-band>div{justify-content:center;flex-wrap:wrap;gap:8px 15px;padding-block:16px;font-size:8px;letter-spacing:.07em}.service-band i:last-of-type{display:none}.service-band span:last-child{display:none}.section{padding-block:65px}h2{font-size:26px}.concerns{grid-template-columns:1fr;gap:20px}.concerns li{font-size:12px;padding-block:14px;gap:12px}.concerns .muted br{display:none}.section-heading{display:block;margin-bottom:30px}.section-heading>.muted{margin-top:20px}.service-grid{grid-template-columns:1fr;gap:20px}.service-grid article{padding:26px}.service-grid h3{font-size:18px}.service-grid article>p:not(.eyebrow){font-size:13px}.service-icon{height:100px}.uses{font-size:11px}.values{grid-template-columns:1fr;gap:25px;margin-top:35px}.values article{display:grid;grid-template-columns:45px 1fr;column-gap:18px}.values article>span{grid-row:1/3;font-size:32px;border:0;padding:5px 0;margin:0}.values h3{font-size:17px;margin-bottom:7px}.values p{margin-top:0;font-size:13px}.estimate{margin-top:40px;padding:28px 23px;display:block}.estimate h3{font-size:17px}.estimate .button{margin-top:25px}.steps{grid-template-columns:1fr;gap:15px;margin-top:30px}.steps article{padding-top:18px}.steps h3{font-size:16px;margin-block:8px}.steps p{font-size:13px;margin-top:0}.faq{grid-template-columns:1fr;gap:10px}.faq summary{font-size:12px;padding-block:19px}.contact{padding-block:60px 50px}.contact h2{font-size:30px}.contact .eyebrow{font-size:8px}.button-white{min-width:0;width:100%;max-width:350px;font-size:11px;padding:19px 16px;gap:14px}footer{flex-wrap:wrap;gap:5px 20px;padding-block:25px}footer p{width:100%;order:3;margin-top:2px}footer small{font-size:9px}.back-top{margin-left:5px}.footer-brand{font-size:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}a{transition:none}}
.faq details p{color:var(--ink);font-size:14px;font-weight:500;line-height:2}
