
:root{--accent:#126959;--muted:#56647a;--line:#dce2e9}html{scroll-padding-top:110px}body{background:#fff;color:#152d4c;line-height:1.8}body::before{display:none}a:focus-visible,summary:focus-visible{outline:3px solid #dc791b;outline-offset:5px}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:#fff;padding:12px}.skip-link:focus{top:10px}.container{width:min(1160px,calc(100% - 64px))}.web-hero{background:linear-gradient(180deg,#fff 0%,#f2f5f7 65%);padding:64px 0 0;overflow:hidden}.topbar .container{width:min(1120px,calc(100% - 2rem))}.web-hero .eyebrow{white-space:nowrap}.hero-grid{align-items:start}.hero-grid{grid-template-columns:1.15fr 1fr;gap:28px;align-items:center}.hero-copy .hero-kicker{font-size:12px;font-weight:700;margin:30px 0 12px;letter-spacing:.05em}.hero-copy h1{font-size:clamp(30px,3.25vw,46px);line-height:1.65;letter-spacing:-.045em;margin:0 0 22px;font-weight:900}.hero-copy h1 em{font-style:normal;color:var(--accent);text-decoration:underline;text-decoration-color:#c1ded5;text-decoration-thickness:9px;text-underline-offset:1px;text-decoration-skip-ink:none}.hero-copy .hero-description{font-size:14px;line-height:2.1}.hero-actions{align-items:center;gap:20px;margin-top:26px}.button-primary,.button-light{border-radius:6px;gap:16px;font-size:13px;padding:16px 20px;box-shadow:none}.text-link{font-weight:700;font-size:12px;padding:10px 0}.hero-copy .local-note{font-size:11px;margin-top:20px;color:#647285}.hero-visual{height:456px;position:relative;background:radial-gradient(ellipse at 55% 54%,#dceae5 0%,#e7efea 57%,transparent 58%)}.visual-title{position:absolute;top:14px;left:28px;font-size:10px;letter-spacing:.18em;color:#577367}.visual-title span{display:block;font-size:16px;font-weight:700;letter-spacing:.05em;margin-top:6px}.desktop-mock{position:absolute;top:112px;left:4px;width:81%;height:265px;background:white;border:7px solid #243c56;border-radius:10px;box-shadow:0 25px 38px #253c561c;transform:rotate(-4deg)}.browser-bar{height:23px;background:#edf0f3;display:flex;align-items:center;gap:4px;padding:0 9px}.browser-bar i{width:4px;height:4px;background:#9babb7;border-radius:50%}.browser-bar span{font-size:7px;margin-left:14px;letter-spacing:.1em}.mock-body{padding:12px 15px}.mock-brand{font-size:10px;font-weight:700;margin-bottom:8px;color:#294b43}.mock-landscape{height:109px;background:#dce6d5;position:relative;overflow:hidden;padding:13px}.mock-landscape>span{position:relative;z-index:2;font-family:serif;font-size:18px;line-height:1.5}.mock-sun{position:absolute;width:43px;height:43px;background:#f5d998;border-radius:50%;right:45px;top:12px}.mock-hill{position:absolute;right:-20px;bottom:-65px;width:220px;height:150px;background:#7e9d8d;border-radius:50%;transform:rotate(-18deg)}.mock-lines{height:18px;margin:12px 0;background:repeating-linear-gradient(to bottom,#d8dfdf 0,#d8dfdf 3px,transparent 3px,transparent 8px);width:85%}.mock-tiles{display:flex;gap:8px}.mock-tiles i{height:25px;background:#eee9df;width:30%}.phone-mock{position:absolute;right:6px;top:88px;width:156px;height:308px;background:#fff;border:6px solid #223a53;border-radius:26px;transform:rotate(6deg);box-shadow:0 20px 30px #142a5126}.phone-notch{height:10px;width:54px;border-radius:0 0 9px 9px;background:#223a53;margin:auto}.phone-content{padding:13px 9px}.phone-content .mock-brand{font-size:9px}.phone-content .mock-brand span{float:right}.phone-photo{background:linear-gradient(140deg,#dce6d5 55%,#9bb29f 55%);padding:13px 10px;font-family:serif;font-size:20px;line-height:1.45;margin-bottom:12px}.phone-content>strong{font-size:9px}.phone-content .mock-lines{margin:6px 0 12px}.mock-contact{font-size:8px;background:#255c4d;color:white;display:flex;justify-content:space-around;padding:8px 0;border-radius:3px}.visual-tag{position:absolute;background:white;padding:9px 14px;border-radius:6px;box-shadow:0 8px 22px #1b395015;font-size:12px;font-weight:700}.visual-tag span{color:var(--accent);margin-right:8px}.tag-one{top:77px;left:0}.tag-two{right:18px;bottom:34px}.visual-caption{position:absolute;bottom:0;left:30px;font-size:10px;color:#6e7c86}.hero-points{margin-top:48px;border-top:1px solid #d6dfe3;display:grid;grid-template-columns:repeat(3,1fr);padding:22px 0;gap:20px}.hero-points>span{color:#719285;font-family:serif;font-size:19px;display:flex;align-items:center;gap:20px}.hero-points strong{font-family:'Noto Sans JP',sans-serif;font-size:13px;color:#33465b}.section{padding:80px 0;border:0}.section-head{margin-bottom:32px}.section-head>span{font-size:11px;color:var(--accent);letter-spacing:.16em}.section-head h2{font-size:32px;line-height:1.6;letter-spacing:-.025em;margin:12px 0}.section-head p{font-size:14px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{border:1px solid var(--line);border-radius:10px;padding:25px 26px;display:flex;flex-direction:column}.service-card:nth-child(-n+3){border-top:3px solid #264867}.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.service-number{font-family:Georgia,serif;font-size:29px;color:#8097a8}.service-category{font-size:11px;background:#eff3f6;padding:4px 10px;border-radius:4px;font-weight:700}.service-card h3{font-size:18px;line-height:1.8;margin:0 0 14px}.service-card p{font-size:13px;color:var(--muted);margin:0 0 22px;line-height:2}.service-examples{border-top:1px solid var(--line);padding-top:15px;font-size:10px;color:#586d80;margin-top:auto}.ai-card{background:#f1f7f3}.ai-card .service-category{background:#deeee4;color:#286149}.fineprint{font-size:11px;color:#687487;margin:20px 0 0}.change-section,.flow-section{background:#f4f6f8}.comparison{border-top:1px solid #d6dfe5}.comparison-heading,.comparison-row{display:grid;grid-template-columns:1fr 1fr}.comparison-heading{font-size:12px;font-weight:700;letter-spacing:.1em}.comparison-heading>span{padding:18px 28px;color:#627082}.comparison-heading>span:last-child{color:var(--accent);background:#e5efea}.comparison-heading small{margin-left:18px;letter-spacing:0;font-weight:400}.comparison-row{border-top:1px solid #d6dfe5}.comparison-row p{margin:0;padding:24px 28px;font-size:14px;color:#687386;position:relative}.comparison-row p:last-child{font-weight:700;color:#214e43;background:#edf5f0;padding-left:42px}.change-arrow{position:absolute;left:-13px;top:22px;background:white;width:28px;height:28px;border-radius:50%;text-align:center;color:var(--accent)}.mobile-label{display:none}.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.price-card{border:1px solid #cbd6df;border-radius:10px;padding:32px}.price-label{font-size:11px;color:var(--muted)}.price-card h3{font-size:20px;margin:10px 0 16px}.price{font-family:Arial,sans-serif;font-weight:700;font-size:46px;line-height:1.5}.price small{font-family:'Noto Sans JP',sans-serif;font-size:17px;margin-right:10px}.price>span{font-size:19px}.tax-note{font-size:11px;color:var(--muted);margin:6px 0 24px}.price-card ul{padding-left:20px;font-size:13px;line-height:2.3}.price-note{font-size:11px;color:var(--muted);padding-top:16px;border-top:1px solid var(--line);margin-bottom:0}.production{background:#f1f5f7}.estimate{font-size:26px;font-weight:700;line-height:69px}.flow-grid{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin:0;padding:0}.flow-grid li{border-top:1px solid #bfccd7;padding-top:18px}.flow-grid li>span{font-family:Georgia,serif;color:#6c9184;font-size:28px}.flow-grid h3{font-size:18px;margin:10px 0}.flow-grid p{font-size:13px;color:var(--muted);margin:0}.faq-layout{display:grid;grid-template-columns:1fr 1.65fr;gap:40px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;list-style:none;padding:22px 0;font-weight:700;font-size:14px;display:flex;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}summary>span{color:var(--accent);flex-shrink:0}details[open] summary>span{transform:rotate(45deg)}details>p{margin:0 0 22px;font-size:13px;color:var(--muted);line-height:2}.contact-section{background:#143456;color:white;padding:64px 0}.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.contact-eyebrow{font-size:10px;letter-spacing:.15em;color:#abc6cf}.contact-inner h2{font-size:32px;line-height:1.6;margin:16px 0}.contact-inner p{font-size:13px;color:#d3dfe8}.contact-actions{min-width:290px;text-align:center}.contact-actions .button-light{width:100%;min-height:60px}.contact-phone{display:block;font-family:Arial,sans-serif;font-size:28px;margin-top:18px;letter-spacing:.05em}.contact-phone small{display:block;font-family:'Noto Sans JP',sans-serif;font-size:11px;letter-spacing:0}.footer{padding:36px 0}.footer-inner{display:flex;justify-content:space-between;gap:30px}.footer-inner strong{font-family:Georgia,serif;font-size:26px;color:#19395e}.footer-inner p{font-size:11px}.footer nav{display:flex;gap:20px;flex-wrap:wrap;align-content:center;font-size:11px}.mobile-contact{display:none}
@media(max-width:1050px){.hero-grid{grid-template-columns:1.1fr .9fr;gap:12px}.hero-copy h1{font-size:35px}.hero-visual{transform:scale(.9);transform-origin:center}.service-card{padding:22px 18px}.service-card h3{font-size:16px}.estimate{font-size:22px}}
@media(max-width:800px){.container{width:calc(100% - 40px)}.hero-grid{grid-template-columns:1fr}.web-hero{padding-top:36px}.hero-copy h1{font-size:clamp(28px,5.7vw,42px)}.hero-visual{width:min(480px,100%);margin:16px auto 0;transform:none;height:420px}.hero-points{margin-top:20px;gap:12px}.hero-points>span{gap:8px;font-size:16px}.hero-points strong{font-size:11px}.service-grid{grid-template-columns:repeat(2,1fr)}.pricing-grid{grid-template-columns:1fr}.faq-layout{grid-template-columns:1fr;gap:0}.contact-inner{flex-direction:column;align-items:stretch}.contact-actions{min-width:0;max-width:420px}.footer-inner{flex-direction:column;gap:10px}.flow-grid{gap:20px}.comparison-row p{font-size:12px;padding:20px}.comparison-heading>span{padding:16px 20px}}
@media(max-width:520px){html{scroll-padding-top:92px}.container{width:calc(100% - 36px)}.hero-copy .hero-kicker{font-size:10px;margin-top:24px}.hero-copy h1{font-size:clamp(25px,6.8vw,35px)}.hero-copy .hero-description{font-size:12px}.hero-copy .hero-description br{display:none}.hero-actions{gap:12px}.hero-actions .button-primary{font-size:12px;width:100%}.text-link{font-size:11px}.hero-copy .local-note{font-size:10px}.hero-visual{height:375px;margin-top:10px}.visual-title{left:14px;top:12px}.visual-title span{font-size:13px}.desktop-mock{top:109px;height:218px;width:83%;border-width:5px}.mock-body{padding:8px}.mock-landscape{height:90px}.mock-tiles{display:none}.phone-mock{width:130px;height:271px;top:79px;right:5px;border-width:5px}.phone-photo{font-size:17px;padding:10px}.phone-content{padding:12px 7px}.phone-content .mock-brand{font-size:7px}.phone-content>strong{font-size:8px}.mock-contact{font-size:7px}.tag-one{top:69px;font-size:10px;padding:7px 10px}.tag-two{bottom:3px;font-size:10px;padding:7px 10px;right:0}.visual-caption{bottom:-14px;left:0;font-size:9px}.hero-points{grid-template-columns:1fr;gap:7px;padding:20px 0;margin-top:30px}.hero-points>span{gap:18px;font-size:14px}.hero-points strong{font-size:12px}.section{padding:52px 0}.section-head h2{font-size:26px}.section-head p{font-size:12px}.service-grid{grid-template-columns:1fr;gap:16px}.service-card{padding:24px}.service-card h3{font-size:20px}.service-card p{font-size:13px}.card-top{margin-bottom:14px}.comparison-heading{display:none}.comparison-row{grid-template-columns:1fr;margin-top:14px;border:1px solid #d6dfe5;border-radius:6px;overflow:hidden}.comparison{border:0}.comparison-row p,.comparison-row p:last-child{padding:16px 18px;font-size:13px}.mobile-label{display:block;font-size:9px;letter-spacing:.1em;margin-bottom:5px}.change-arrow{display:none}.price-card{padding:24px}.price-card h3{font-size:18px}.price{font-size:40px}.estimate{font-size:21px;line-height:1.7;margin:22px 0}.flow-grid{grid-template-columns:1fr;gap:26px}.flow-grid li{position:relative;padding-left:46px}.flow-grid li>span{position:absolute;left:0;top:19px}.flow-grid h3{margin:4px 0 10px;font-size:17px}summary{font-size:13px}.contact-section{padding:48px 0}.contact-inner h2{font-size:26px}.contact-inner{gap:20px}.footer{padding-bottom:100px}.footer nav{gap:16px}.mobile-contact{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 2fr;z-index:50;padding:9px 12px calc(9px + env(safe-area-inset-bottom));background:#fff;gap:8px;box-shadow:0 -3px 20px #122f5314}.mobile-contact a{font-size:12px;font-weight:700;padding:12px 5px;text-align:center;border:1px solid #cbd6df;border-radius:5px}.mobile-contact a:last-child{background:#15385c;color:#fff;border-color:#15385c}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
