@charset "UTF-8";:root{--ink: #27302f;--muted: #697370;--line: #dce2df;--soft: #f4f6f4;--accent: #47716d;--accent-dark: #315651;--white: #fff;--max: 1180px;--gutter: clamp(1.25rem, 4vw, 4rem);--sans: -apple-system, blinkmacsystemfont, "Hiragino Sans", "Yu Gothic", meiryo, sans-serif;--serif: georgia, "Yu Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--white);font-family:var(--sans);font-size:1rem;line-height:1.9;text-rendering:optimizelegibility}img{display:block;max-width:100%}a{color:inherit}a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.container{width:min(100%,calc(var(--max) + 2 * var(--gutter)));margin:0 auto;padding-inline:var(--gutter)}.skip-link{position:fixed;z-index:100;top:.5rem;left:.5rem;padding:.6rem 1rem;color:var(--white);background:var(--accent-dark);transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{background:#fffffff5}.header-inner{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:5.4rem}.brand{width:fit-content;font-family:var(--serif);font-size:1.125rem;font-weight:600;letter-spacing:.015em;text-decoration:none}.desktop-nav{display:flex;gap:clamp(1.4rem,2.7vw,2.5rem)}.desktop-nav a{padding:.65rem 0;color:#48514f;font-size:.9rem;font-weight:600;letter-spacing:.04em;text-decoration:none}.menu-toggle,.mobile-nav{display:none}.header-contact{justify-self:end;padding:.54rem 1.1rem;color:var(--white);background:var(--accent);font-size:.84rem;font-weight:600;letter-spacing:.04em;text-decoration:none}.desktop-nav a:hover{color:var(--accent)}.hero{display:grid;grid-template-columns:max(var(--gutter),calc((100% - var(--max)) / 2)) minmax(0,35rem) minmax(0,1fr);min-height:42rem;border-block:1px solid var(--line)}.hero-copy{grid-column:2;display:flex;flex-direction:column;justify-content:center;padding:clamp(4.5rem,8vw,8rem) clamp(3rem,5vw,5rem) clamp(4.5rem,8vw,8rem) 0}.hero-brand{margin:0 0 2.5rem;color:var(--accent);font-family:var(--serif);font-size:.78rem;letter-spacing:.12em}.hero h1,.section h2,.contact h2{font-family:var(--serif);font-weight:600;letter-spacing:.018em}.hero h1{margin:0;font-size:clamp(2.6rem,3.85vw,3.65rem);line-height:1.38}.hero-title-line{display:block}.hero-title-line:first-child,.hero-title-nowrap{white-space:nowrap}.hero-lead{margin:1.8rem 0 0;font-size:clamp(1.15rem,1.5vw,1.4rem);font-weight:650;line-height:1.7}.hero-description{max-width:34rem;margin:1.2rem 0 2rem;color:var(--muted);font-size:1rem}.button{display:inline-flex;gap:1.6rem;align-items:center;width:fit-content;padding:.78rem 1.2rem;color:var(--white);background:var(--accent);border:1px solid var(--accent);font-size:.84rem;font-weight:600;text-decoration:none}.button:hover{color:var(--accent);background:var(--white)}.hero-note{margin:1rem 0 0;color:var(--muted);font-size:.78rem}.hero-photo{position:relative;min-width:0;min-height:42rem;margin:0;overflow:hidden;background:#dbe1de;grid-column:3}.hero-photo:after{position:absolute;inset:0;background:linear-gradient(180deg,transparent 65%,rgb(26 39 37 / 20%));content:""}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.62) contrast(.96) brightness(1.02)}.hero-photo figcaption{position:absolute;z-index:1;right:clamp(1.4rem,4vw,3rem);bottom:1.5rem;left:clamp(1.4rem,4vw,3rem);display:flex;justify-content:space-between;color:#ffffffe0;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}@media(min-width:1440px){.hero{grid-template-columns:max(var(--gutter),calc((100% - 1320px)/2)) minmax(0,42rem) minmax(0,1fr)}}.section{padding:clamp(6rem,9vw,9rem) 0}.section-heading{max-width:40rem;margin-bottom:clamp(3rem,5vw,5rem)}.section-heading>div{display:block;margin-top:1.6rem}.section-label{margin:0;color:var(--accent);font-size:.75rem;font-weight:650;letter-spacing:.1em;text-transform:uppercase}.section h2,.contact h2{margin:0;font-size:clamp(2.1rem,3vw,3rem);line-height:1.5}.section-heading>div>p,.section-heading-stacked>div>p{max-width:31rem;margin:1rem 0 0;color:var(--muted);font-size:.94rem}.problem-list{display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:0;border-top:1px solid var(--ink);list-style:none}.problem-list li{display:grid;grid-template-columns:2.5rem 1fr;gap:1rem;min-height:15rem;padding:1.4rem 1.8rem 2.2rem 0;border-bottom:1px solid var(--line)}.problem-list li:not(:nth-child(3n+1)){padding-left:1.5rem;border-left:1px solid var(--line)}.problem-list li>span{color:var(--accent);font-size:.75rem;font-weight:650}.problem-list h3{margin:1.6rem 0 .9rem;font-family:var(--serif);font-size:1.38rem;font-weight:600;letter-spacing:.012em;line-height:1.55}.heading-chunk{display:inline-block}.problem-list p{max-width:17rem;margin:0;color:var(--muted);font-size:.92rem;font-weight:450;line-height:1.85}.services{padding-block:clamp(5.5rem,7vw,7rem);background:var(--soft)}.services-layout{display:grid;grid-template-columns:minmax(16rem,.8fr) minmax(30rem,1.2fr);gap:clamp(4rem,7vw,7rem)}.section-heading-stacked{display:block;margin:0}.section-heading-stacked>div{display:block;margin-top:1.6rem}.section-heading-stacked h2{margin-top:0}.section-heading-stacked>div>p{margin-top:1.2rem}.section-heading-stacked>div>.services-motto{margin-top:1.6rem;color:var(--ink);font-family:var(--serif);font-size:1.45rem;font-weight:600;letter-spacing:.012em;line-height:1.6}.section-heading-stacked>div>.services-intro{margin-top:.7rem;font-size:.94rem;line-height:1.85}.service-list{margin:0;padding:0;border-top:1px solid var(--ink);list-style:none}.service-list li{display:grid;grid-template-columns:3.5rem 1fr;gap:1.5rem;padding:1.5rem 0;border-bottom:1px solid var(--line)}.service-list>li>span{color:var(--accent);font-size:.75rem}.service-list h3{margin:0 0 .25rem;font-size:1.05rem;font-weight:650}.service-list p{margin:0;color:var(--muted);font-size:.92rem}.works{padding-block:clamp(7.5rem,11vw,11rem)}.works-heading{margin-bottom:3.5rem}.work-case{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(18rem,.35fr);gap:clamp(3rem,6vw,6rem);align-items:center}.work-visual{position:relative;display:block;min-height:39rem;padding:clamp(2.8rem,5vw,5rem);color:var(--ink);background:#e4eae7;text-decoration:none}.work-browser{width:91%;aspect-ratio:1.62 / 1;overflow:hidden;background:var(--white);box-shadow:0 1.8rem 4rem #1e312f33}.work-browser img{width:100%;height:100%;object-fit:cover;object-position:center top}.work-phone{position:absolute;right:clamp(1.1rem,3vw,3rem);bottom:clamp(2.5rem,5vw,4.5rem);width:clamp(8rem,20%,10.5rem);aspect-ratio:.56 / 1;padding:.42rem;overflow:hidden;background:#202726;border-radius:1.25rem;box-shadow:0 1.4rem 3rem #19292752}.work-phone img{width:100%;height:100%;object-fit:cover;object-position:center top;border-radius:.88rem}.preview-label{position:absolute;bottom:1rem;left:1.3rem;color:#52605d;font-size:.75rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase}.work-copy h3{margin:.65rem 0 1.4rem;font-family:var(--serif);font-size:clamp(2.2rem,3.2vw,3.2rem);font-weight:500}.work-copy>p:not(.work-type,.work-scope){margin:0;color:#4e5856;font-size:1rem}.work-type{margin:0;color:var(--accent);font-size:.75rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase}.work-scope{margin:1.5rem 0;color:var(--muted);font-size:.8rem;line-height:2}.text-link{display:inline-block;padding-bottom:.25rem;border-bottom:1px solid var(--ink);font-size:.86rem;font-weight:650;text-decoration:none}.approach{padding-block:clamp(7.5rem,10vw,10rem);background:var(--soft)}.approach-layout{display:grid;grid-template-columns:minmax(21rem,.85fr) minmax(32rem,1.15fr);gap:clamp(4rem,8vw,8rem);align-items:center}.approach-copy h2{margin:2rem 0 1.6rem}.approach-title-line{display:block}.approach-title-phrase{display:inline-block}.approach-copy>p:not(.section-label){max-width:35rem;margin:0 0 1rem;color:var(--muted);font-size:.96rem}.approach-copy .approach-lead{margin-bottom:1.25rem;color:var(--ink);font-size:1.1rem;font-weight:650}.comparison{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center;margin:0}.compare-panel>p{display:flex;justify-content:space-between;margin:0 0 .65rem;font-size:.75rem}.compare-panel>p b{color:var(--accent);text-transform:uppercase}.compare-panel>p span{color:var(--muted)}.site-sample{height:16rem;overflow:hidden;background:var(--white);border:1px solid #d5dbd8;box-shadow:0 1rem 2.2rem #293a3714}.old-site{padding:1.2rem;font-family:serif}.old-site strong{display:block;color:#3c6692;font-size:.85rem}.old-site>span{display:block;margin:.6rem 0;padding:.25rem;background:#d5e3ed;font-size:.65rem}.old-site img{width:100%;height:7rem;object-fit:cover;filter:saturate(.7)}.old-site small{display:block;margin-top:.7rem;font-size:.65rem}.new-site{position:relative}.new-site:after{position:absolute;inset:0;background:linear-gradient(90deg,rgb(26 35 33 / 55%),transparent);content:""}.new-site img{width:100%;height:100%;object-fit:cover}.new-site div{position:absolute;z-index:1;top:50%;left:1.4rem;display:flex;flex-direction:column;color:var(--white);transform:translateY(-50%)}.new-site small{font-size:.6rem;letter-spacing:.08em}.new-site strong{margin:.7rem 0 1rem;font-family:var(--serif);font-size:1.25rem;font-weight:500;line-height:1.45}.new-site span{width:fit-content;padding-bottom:.1rem;border-bottom:1px solid;font-size:.65rem}.compare-arrow{color:var(--accent);font-size:1.2rem}.comparison figcaption{grid-column:1 / -1;margin-top:.2rem;color:var(--muted);font-size:.75rem;text-align:right}.price{border-bottom:1px solid var(--line)}.price-layout{display:grid;grid-template-columns:minmax(15rem,.72fr) minmax(30rem,1.28fr);gap:clamp(4rem,8vw,8rem);align-items:start}.price-heading h2{margin:1.6rem 0 0}.price-details{padding-top:1.8rem;border-top:1px solid var(--ink)}.price-amount{margin:0;font-family:var(--serif);font-size:clamp(2.7rem,4.5vw,4.2rem);font-weight:600;letter-spacing:.015em;line-height:1.25}.price-limit{width:fit-content;margin:1.5rem 0 0;color:var(--accent);font-size:.82rem;font-weight:650;letter-spacing:.08em}.price-note{max-width:38rem;margin:1.5rem 0 0;color:var(--muted);font-size:1rem;line-height:1.9}.flow-list{display:grid;grid-template-columns:repeat(5,1fr);margin:0;padding:0;border-top:1px solid var(--ink);list-style:none}.flow-list li{position:relative;min-height:9rem;padding:1.25rem 1rem;border-bottom:1px solid var(--line)}.flow-list li+li{border-left:1px solid var(--line)}.flow-list li:not(:last-child):after{position:absolute;top:50%;right:-.35rem;z-index:1;width:.7rem;height:.7rem;background:var(--white);border-top:1px solid var(--accent);border-right:1px solid var(--accent);content:"";transform:rotate(45deg)}.flow-list span{color:var(--accent);font-size:.75rem;font-weight:650}.flow-list strong{display:block;margin-top:2.7rem;font-size:.94rem;font-weight:650}.contact{padding:clamp(7rem,10vw,10rem) 0 3rem;background:#edf2ef}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:5rem clamp(5rem,9vw,9rem)}.contact-copy h2{margin:2rem 0 1.3rem}.contact-copy>p:last-child{margin:0;color:var(--muted);font-size:1rem}.contact-nowrap{white-space:nowrap}.contact-action{align-self:center}.contact-button{display:flex;justify-content:space-between;align-items:center;width:100%;padding:1rem 1.2rem;color:var(--white);background:var(--accent);border:1px solid var(--accent);font-size:.95rem;font-weight:650;text-decoration:none}.contact-button:hover{color:var(--accent);background:var(--white)}.line-contact{margin-top:.8rem}.contact-line-button{color:var(--accent);background:transparent}.contact-line-button:hover{color:var(--white);background:var(--accent)}.line-qr{display:grid;grid-template-columns:9.5rem minmax(0,1fr);gap:1rem;align-items:center;margin-top:1rem}.line-qr img{width:9.5rem;height:9.5rem}.line-qr p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.7}.is-hidden{display:none}.mail-address{display:inline-block;margin-top:1.2rem;font-family:var(--serif);font-size:clamp(1.15rem,1.7vw,1.5rem);text-decoration-thickness:1px;text-underline-offset:.3rem}.contact-action>p{margin:.9rem 0 0;color:var(--muted);font-size:.78rem}.about-compact{grid-column:1 / -1;display:grid;grid-template-columns:22fr 33fr 45fr;gap:clamp(2rem,4vw,4.5rem);align-items:start;padding-top:3rem;border-top:1px solid #cfd8d4}.about-heading h3{margin:0;font-size:1rem;font-weight:650;letter-spacing:.01em;white-space:nowrap}.about-compact .about-motto{margin:0;color:var(--ink);font-family:var(--serif);font-size:clamp(2.1rem,3.5vw,3rem);font-weight:600;letter-spacing:.015em;line-height:1.5}.about-motto-line{display:block}.about-motto-line>span{display:inline-block}.about-compact p{margin:0;color:var(--muted);font-size:.94rem}.about-description>p+p{margin-top:1.25rem}.creator{margin-top:2rem}.about-compact .creator-role{color:var(--accent);font-size:.75rem;font-weight:650;letter-spacing:.08em}.about-compact .creator-name{margin-top:.35rem;color:var(--ink);font-size:.98rem;font-weight:650}footer{padding:1.5rem 0;color:#727b79;background:#f0f4f1;border-top:1px solid var(--line)}.footer-inner{display:flex;gap:2rem;justify-content:space-between;align-items:center}.footer-inner a{color:var(--ink);font-family:var(--serif);text-decoration:none}.footer-inner a:not(:first-child){font-family:var(--sans);font-size:.75rem;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.25rem}.footer-inner p{margin:0;font-size:.75rem}.legal-header .header-inner{grid-template-columns:1fr auto}.legal-home-link{font-size:.9rem;font-weight:600;text-decoration:none}.legal-main{border-top:1px solid var(--line)}.legal-content{max-width:54rem;padding-block:clamp(5rem,9vw,8rem)}.legal-label{margin:0 0 1.4rem;color:var(--accent);font-size:.75rem;font-weight:650;letter-spacing:.1em;text-transform:uppercase}.legal-content h1{margin:0;font-family:var(--serif);font-size:clamp(2.2rem,5vw,3.8rem);font-weight:600;letter-spacing:.018em;line-height:1.45}.legal-content h1 span{display:inline-block}.legal-intro{margin:1.5rem 0 0;color:var(--muted);font-size:1rem}.legal-sections{margin-top:clamp(3.5rem,7vw,5.5rem);border-top:1px solid var(--ink)}.legal-sections section{display:grid;grid-template-columns:minmax(10rem,.34fr) minmax(0,.66fr);gap:clamp(2rem,6vw,5rem);padding:2rem 0;border-bottom:1px solid var(--line)}.legal-sections h2{margin:0;font-size:1rem;font-weight:650;letter-spacing:.01em}.legal-sections p{margin:0;color:var(--muted);font-size:.94rem}.legal-sections p+p{margin-top:.8rem}.legal-sections a{color:var(--ink);text-underline-offset:.25rem}.legal-date{margin:2rem 0 0;color:var(--muted);font-size:.82rem;text-align:right}.legal-footer .footer-inner{justify-content:space-between}@media(max-width:960px){.header-inner{grid-template-columns:auto 1fr auto}.desktop-nav{justify-self:center;gap:clamp(.8rem,2vw,1.3rem)}.desktop-nav a{font-size:.82rem}.problem-list{grid-template-columns:repeat(2,minmax(0,1fr))}.problem-list li:not(:nth-child(3n+1)){padding-left:0;border-left:0}.problem-list li:nth-child(2n){padding-left:1.5rem;border-left:1px solid var(--line)}.hero{grid-template-columns:1.08fr .92fr;min-height:38rem}.hero-copy,.hero-photo{grid-column:auto}.hero-copy{padding:4.5rem 2.5rem 4.5rem var(--gutter)}.hero h1{font-size:2.35rem}.hero-lead{font-size:1.05rem}.hero-photo{min-height:38rem}.section-heading>div>p{margin-top:1rem}.services-layout,.approach-layout,.price-layout{grid-template-columns:1fr;gap:3.5rem}.work-case{grid-template-columns:1fr}.work-copy{max-width:34rem}.flow-list{grid-template-columns:repeat(5,1fr)}.contact-layout{gap:3rem}.line-qr{grid-template-columns:8.75rem minmax(0,1fr)}.line-qr img{width:8.75rem;height:8.75rem}.about-compact .about-motto{font-size:1.65rem}}@media(max-width:767px){.header-inner{grid-template-columns:1fr auto auto;gap:.5rem}.desktop-nav{display:none}.menu-toggle{display:inline-grid;place-items:center;width:2.75rem;height:2.75rem;padding:0;color:var(--ink);background:transparent;border:1px solid var(--line);cursor:pointer}.menu-icon,.menu-icon:before,.menu-icon:after{display:block;width:1.15rem;height:1px;background:currentcolor;content:"";transition:transform .16s ease,opacity .16s ease}.menu-icon:before{transform:translateY(-.35rem)}.menu-icon:after{transform:translateY(.29rem)}.menu-toggle[aria-expanded=true] .menu-icon{background:transparent}.menu-toggle[aria-expanded=true] .menu-icon:before{transform:translateY(.05rem) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-icon:after{transform:translateY(-.02rem) rotate(-45deg)}.mobile-nav{position:absolute;z-index:20;top:calc(100% - .35rem);right:var(--gutter);left:var(--gutter);display:grid;padding:.75rem;background:var(--white);border:1px solid var(--line);box-shadow:0 1rem 2.5rem #27302f24}.mobile-nav[hidden]{display:none}.mobile-nav a{display:flex;align-items:center;min-height:2.75rem;padding-inline:.8rem;border-bottom:1px solid var(--line);font-size:.9rem;font-weight:600;text-decoration:none}.mobile-nav a:last-child{justify-content:center;margin-top:.75rem;color:var(--white);background:var(--accent);border-bottom:0}.hero-photo:after{background:linear-gradient(180deg,transparent 45%,rgb(26 39 37 / 88%))}.line-qr{display:none}.flow-list{grid-template-columns:1fr}.flow-list li{min-height:7rem}.flow-list li+li{border-left:0}.flow-list li:not(:last-child):after{top:auto;right:50%;bottom:-.35rem;transform:translate(50%) rotate(135deg)}.brand,.text-link,.mail-address{display:inline-flex;align-items:center;min-height:2.75rem}}@media(max-width:680px){.header-inner{min-height:4.5rem}.hero{display:flex;flex-direction:column;min-height:0;border-top:1px solid var(--line)}.hero-copy{order:2;padding:3.8rem var(--gutter) 4.5rem}.hero-photo{min-height:20rem}.hero-photo figcaption{flex-wrap:wrap;gap:.75rem;font-size:.7rem}.hero-photo figcaption span:last-child{text-align:right}.hero h1{font-size:clamp(2.1rem,9.5vw,2.5rem);line-height:1.42}.hero-lead{font-size:1.05rem}.hero-brand{margin-bottom:1.7rem}.section{padding:5.5rem 0}.section-heading,.section-heading-stacked{display:block;margin-bottom:2.8rem}.section-heading>div,.section-heading-stacked>div{margin-top:1.5rem}.section h2,.contact h2{font-size:clamp(1.85rem,8vw,2.4rem)}.problem-list{grid-template-columns:1fr}.problem-list li{grid-template-columns:2rem 1fr;min-height:0;padding:1.2rem 0 1.8rem}.problem-list li:not(:nth-child(3n+1)){padding-left:0;border-left:0}.problem-list li:nth-child(2n){padding-left:0;border-left:0}.problem-list h3{margin-top:.7rem;font-size:1.28rem}.problem-list p{margin-top:0}.service-list li{grid-template-columns:2.3rem 1fr;gap:.8rem}.work-visual{min-height:23rem;padding:1.5rem 1rem 3.8rem}.work-browser{width:94%}.work-phone{right:.6rem;bottom:1.8rem;width:6.4rem;padding:.3rem;border-radius:.9rem}.work-phone img{border-radius:.62rem}.comparison{grid-template-columns:1fr}.compare-arrow{transform:rotate(90deg);text-align:center}.site-sample{height:15rem}.price-amount{font-size:clamp(2.45rem,12vw,3.2rem)}.contact-layout{grid-template-columns:1fr;gap:3.5rem}.about-compact{grid-template-columns:1fr;gap:1.5rem}.about-compact .about-motto{font-size:2rem}.footer-inner{display:grid;gap:.2rem}.legal-sections section{grid-template-columns:1fr;gap:.7rem}.legal-date{text-align:left}}@media(max-width:360px){.header-contact{padding-inline:.8rem}.hero-photo{min-height:17rem}.hero-photo figcaption span:last-child{display:none}.hero h1{font-size:2rem}.button{gap:.8rem;padding-inline:.9rem;font-size:.78rem}.work-visual{min-height:21rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media(forced-colors:active){.button,.header-contact{border:1px solid buttontext}}
