@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;600;700;800&display=swap');
:root{--paper:#f6f6f0;--white:#fff;--ink:#222720;--gray:#73776f;--line:#d9dcd1;--lime:#d6ed55;--deep:#2e493e;--sans:'DM Sans','Noto Sans JP',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);font:14px/1.95 var(--sans);color:var(--ink);-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button{color:inherit}img{width:100%;display:block;object-fit:cover}ul,ol{list-style:none;margin:0;padding:0}::selection{background:var(--lime);color:var(--ink)}:focus-visible{outline:3px solid #5c7918;outline-offset:5px}.wrap{width:min(1264px,89%);margin-inline:auto}.narrow{width:min(840px,89%);margin-inline:auto}.preview-bar{background:#232b23;color:#ebf0e0;font-size:10px;line-height:1.5;letter-spacing:.05em;text-align:center;padding:6px 18px}.preview-bar a{border-bottom:1px solid #9dafa0;margin-left:20px}.skip{position:fixed;top:8px;left:-1000px;z-index:150;background:var(--lime);padding:10px 20px}.skip:focus{left:15px}.header{background:var(--paper);position:sticky;top:0;z-index:40;border-bottom:1px solid var(--line)}.header-inner{height:90px;display:flex;justify-content:space-between;align-items:center;gap:35px}.brand{display:flex;align-items:center;gap:19px;flex-shrink:0}.brand img{width:153px;height:27px;object-fit:contain}.brand span{border-left:1px solid #b9beb4;font-size:10px;line-height:1.6;padding-left:18px;letter-spacing:.05em}.nav{display:flex;gap:29px;align-items:center}.nav>a{font-size:12px;line-height:1.5;white-space:nowrap}.nav>a:not(.nav-contact){position:relative}.nav>a:not(.nav-contact)::after{content:'';position:absolute;bottom:-9px;left:0;width:0;height:2px;background:var(--ink);transition:width .2s}.nav>a:hover::after,.nav>a[aria-current=page]::after{width:100%}.nav .nav-contact{background:var(--ink);color:white;padding:14px 22px;display:flex;gap:30px;align-items:center;border-radius:3px}.nav .nav-contact span{font-size:17px}.nav .new{position:relative}.nav .new::before{content:'';width:5px;height:5px;background:#729300;position:absolute;right:-9px;top:-2px;border-radius:50%}.menu-toggle{display:none;border:1px solid var(--line);background:none;padding:9px 12px;font-size:11px}.label{font-size:11px;font-weight:500;letter-spacing:.14em;display:flex;gap:12px;align-items:center;line-height:1.6;text-transform:uppercase}.label::before{content:'';display:block;width:6px;height:6px;background:currentColor;border-radius:50%}.label.no-dot::before{display:none}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;min-height:54px;padding:13px 24px;border:1px solid var(--ink);background:var(--ink);color:white;font-size:13px;border-radius:3px;line-height:1.7;transition:background .2s,transform .2s}.button::after{content:'↗';font-size:20px;line-height:1}.button:hover{background:#41513b;transform:translateY(-2px)}.button.light{background:transparent;color:var(--ink);border-color:#a8b1a0}.button.light:hover{background:#e8eecf}.button.lime{background:var(--lime);border-color:var(--lime);color:var(--ink)}.button.lime:hover{background:#e4f58b}.text-link{font-size:12px;display:inline-flex;gap:30px;align-items:center;border-bottom:1px solid currentColor;padding:8px 0}.text-link::after{content:'↗';font-size:20px}.section{padding:100px 0}.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:45px}.section-top h2{font-size:37px;letter-spacing:-.02em;margin-top:19px;line-height:1.6;font-weight:600}.section-top p{max-width:410px;font-size:13px;color:var(--gray);line-height:2.1}.fine{font-size:11px;color:var(--gray);line-height:1.9}.body{font-size:14px;line-height:2.2;color:#646d5f}.big-title{font-family:var(--sans);font-size:clamp(62px,8vw,115px);letter-spacing:-.065em;font-weight:500;line-height:1.1}.tag{display:inline-block;padding:4px 10px;border:1px solid var(--line);font-size:10px;line-height:1.5;border-radius:2px}.home-hero{padding:65px 0 43px}.hero-layout{display:grid;grid-template-columns:1fr 1.03fr;gap:35px;align-items:start}.hero-copy{padding-top:37px;position:relative;z-index:2}.hero-copy h1{font-size:clamp(54px,5.6vw,84px);line-height:1.55;letter-spacing:-.065em;font-weight:600;margin:30px -30px 25px 0}.hero-copy .switch-word{position:relative;display:inline-block}.switch-word::after{content:'';position:absolute;bottom:8px;left:0;right:0;height:15px;background:var(--lime);z-index:-1}.hero-copy .intro{font-size:13px;line-height:2.2;margin-bottom:30px}.hero-actions{display:flex;align-items:center;gap:22px}.hero-actions .text-link{font-size:11px;gap:14px}.hero-art{height:590px;position:relative;margin-right:0}.hero-photo{position:absolute;right:0;top:0;width:86%;height:445px;overflow:hidden;border-radius:3px}.hero-photo img{height:100%;object-position:56% center}.hero-caption{position:absolute;right:18px;top:20px;writing-mode:vertical-rl;color:white;font-size:10px;letter-spacing:.18em;text-shadow:0 1px 4px #2229}.hero-art .graphic-float{position:absolute;bottom:24px;left:0;width:72%;height:220px;transform:rotate(-6deg);box-shadow:0 7px 30px #151e1918;border:8px solid white;border-radius:2px}.graphic-float img{height:100%;object-position:center}.switch-stamp{position:absolute;right:-7px;bottom:22px;width:132px;height:132px;border-radius:50%;background:var(--lime);display:flex;flex-direction:column;justify-content:center;align-items:center;transform:rotate(12deg);font-size:10px;letter-spacing:.1em;border:1px solid #bdcf4b}.switch-stamp strong{font-size:30px;letter-spacing:-.04em;font-weight:600;line-height:1.7}.hero-bottom{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.12em;padding-top:22px}.hero-services{display:flex;gap:20px;font-size:10px}.scroll-link{display:flex;gap:15px;align-items:center}.news-line{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 0;display:flex;align-items:center;gap:32px;font-size:12px}.news-line .news-tag{background:var(--lime);padding:2px 9px;border-radius:2px;font-size:10px}.news-line .news-arrow{margin-left:auto;font-size:23px}.intro-section{padding:95px 0 75px}.intro-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px}.intro-grid h2{font-size:35px;font-weight:600;line-height:1.8;letter-spacing:.02em}.intro-grid .body{max-width:620px}.intro-grid .label{margin-bottom:25px}.intro-sign{margin-top:23px;font-size:11px;letter-spacing:.1em}.selected{padding-top:20px}.works-grid{display:grid;grid-template-columns:1fr 1fr;gap:43px 34px}.work-card{display:block;border:0;padding:0;background:none;text-align:left;width:100%;color:var(--ink)}.work-card[hidden]{display:none}.work-img{aspect-ratio:1.46;overflow:hidden;background:#e6e9df;border-radius:3px;position:relative}.work-img img{width:100%;height:100%;transition:transform .5s}.work-card:hover .work-img img{transform:scale(1.045)}.work-img .work-open{position:absolute;right:16px;bottom:16px;background:white;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font-size:20px;transition:transform .2s}.work-card:hover .work-open{transform:rotate(45deg)}.work-info{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-top:17px}.work-info h3{font-size:16px;line-height:1.7;font-weight:500}.work-info>span{font-size:10px;color:var(--gray);white-space:nowrap}.work-card .fine{margin-top:5px}.works-end{display:flex;justify-content:flex-end;margin-top:38px}.service-overview{background:#e9ecdf}.service-overview .section-top h2{font-size:39px}.service-list{border-top:1px solid #bdc5b4}.service-row{display:grid;grid-template-columns:45px 1fr 1fr 45px;align-items:center;gap:20px;padding:27px 0;border-bottom:1px solid #bdc5b4;transition:padding .2s}.service-row:hover{padding-left:12px;padding-right:12px}.service-row .number{font-size:11px;color:#78816e}.service-title{font-size:29px;line-height:1.4;font-weight:500;letter-spacing:-.035em}.service-title small{display:block;font-size:10px;letter-spacing:.03em;margin-top:6px;font-weight:400}.service-row p{font-size:12px;line-height:2;color:#66725e}.circle-arrow{width:42px;height:42px;border:1px solid #b0bca6;border-radius:50%;display:grid;place-items:center;font-size:22px}.service-row:hover .circle-arrow{background:var(--ink);color:white;border-color:var(--ink)}.new-badge{font-size:9px;letter-spacing:.05em;border-radius:2px;background:var(--lime);padding:3px 7px;vertical-align:middle;margin-left:12px}.web-feature{background:var(--deep);color:white;position:relative;overflow:hidden}.web-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.web-feature h2{font-size:38px;line-height:1.75;font-weight:500;margin:24px 0}.web-feature p{font-size:13px;line-height:2.2;color:#ced8cb;margin-bottom:30px}.price-mini{display:flex;gap:30px;margin:25px 0 32px}.price-mini div{border-top:1px solid #789581;padding-top:12px;min-width:160px}.price-mini span{font-size:11px;color:#d2dfcb;display:block}.price-mini strong{font-size:36px;font-weight:500;letter-spacing:-.05em}.price-mini small{font-size:12px;letter-spacing:0}.mock-browser{border:7px solid #f6f6ef;border-top-width:25px;background:white;box-shadow:18px 22px 0 #1c382d;transform:rotate(3deg);border-radius:5px;position:relative}.mock-browser::before{content:'•••';position:absolute;top:-24px;left:7px;font-size:13px;letter-spacing:2px;color:#8d9785}.mock-browser img{width:100%;height:315px;object-fit:cover;object-position:top}.web-feature .feature-tag{margin-top:25px;font-size:10px;letter-spacing:.15em;color:#dce6d4;display:flex;gap:20px}.about-home{display:grid;grid-template-columns:1.1fr 1fr;gap:95px;align-items:center}.about-photo{aspect-ratio:1.17}.about-photo img{height:100%;border-radius:3px}.about-home h2{font-size:35px;line-height:1.8;margin:20px 0 25px}.about-home .body{margin-bottom:25px}.contact-banner{background:var(--lime);padding:70px 0}.contact-banner-inner{display:flex;justify-content:space-between;align-items:center;gap:45px}.contact-banner h2{font-size:38px;line-height:1.7;font-weight:500;margin-top:13px}.contact-banner p{font-size:12px;margin-top:16px}.contact-banner .button{min-width:235px}.footer{padding:55px 0 25px}.footer-main{display:flex;justify-content:space-between;gap:50px;margin-bottom:50px}.footer-brand img{width:180px;height:32px;object-fit:contain;margin-bottom:22px}.office-info{font-size:11px;line-height:2;color:var(--gray)}.footer-nav{display:flex;gap:65px}.footer-nav ul{display:grid;align-content:start;gap:11px;font-size:12px}.footer-nav .muted-link{font-size:10px;color:var(--gray)}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;font-size:10px;color:var(--gray);display:flex;justify-content:space-between;gap:25px}.footer-bottom a{text-decoration:underline;text-underline-offset:3px}.page-head{padding:65px 0 60px}.breadcrumbs{font-size:10px;display:flex;gap:12px;color:var(--gray);margin-bottom:45px}.page-head .page-title{display:flex;justify-content:space-between;align-items:flex-end;gap:40px}.page-head .page-title p{max-width:410px;font-size:13px;color:var(--gray);line-height:2.1}.page-head h1 small{display:block;font-size:16px;letter-spacing:.05em;font-weight:500;margin-top:22px}.page-head .big-title{font-size:90px}.filter-bar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:36px}.filter-bar button{border:1px solid #cbd0c1;border-radius:2px;padding:9px 20px;background:none;font-size:11px;line-height:1.6}.filter-bar button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.filter-status{font-size:11px;color:var(--gray);margin-bottom:25px}.portfolio{padding-top:0}.work-modal{width:min(1000px,92%);max-height:90vh;border:0;padding:0;background:var(--paper);color:var(--ink);border-radius:4px;overflow:auto}.work-modal::backdrop{background:#121c17bd}.modal-close{position:sticky;top:14px;float:right;margin:14px 14px -56px 0;z-index:2;width:42px;height:42px;border:0;border-radius:50%;background:white;font-size:24px;box-shadow:0 2px 12px #0002}.modal-img{height:min(58vh,550px);width:100%;object-fit:contain;background:#e9ece3}.modal-content{padding:30px 40px 40px}.modal-content h2{font-size:25px;margin:12px 0}.modal-content p{font-size:13px;color:var(--gray);margin-bottom:15px}.service-detail{padding:65px 0;border-top:1px solid var(--line)}.service-detail .detail-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:75px;align-items:center}.detail-image{aspect-ratio:1.25;background:#e4e7dc}.detail-image img{height:100%;border-radius:3px}.detail-copy .label{margin-bottom:24px}.detail-copy h2{font-size:32px;margin-bottom:20px}.detail-copy .body{margin-bottom:22px}.deliverables{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}.detail-link{margin-top:10px}.service-detail:nth-child(even){background:#e9ecdf}.service-detail .detail-grid.reverse .detail-image{order:2}.service-detail .detail-grid.reverse .detail-copy{order:1}.workflow{background:#e9ecdf}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.steps li{border-top:1px solid #b9c3ae;padding-top:18px}.steps span{font-size:12px;color:#7e8a71}.steps h3{font-size:17px;margin:17px 0 12px;font-weight:500}.steps p{font-size:12px;color:#66725f;line-height:2}.web-hero{padding:55px 0 75px}.web-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}.web-hero h1{font-size:47px;line-height:1.7;font-weight:600;letter-spacing:-.025em;margin:24px 0}.web-hero .body{font-size:13px;max-width:540px;margin-bottom:27px}.web-hero .mock-browser{transform:rotate(2deg);box-shadow:14px 15px 0 #e0e7c6;border-color:white;margin-right:15px}.web-hero .mock-browser img{height:330px}.web-hero .label{font-size:10px}.web-hero .price-mini{gap:30px;margin-bottom:30px}.web-hero .price-mini div{border-color:var(--line);min-width:170px}.web-hero .price-mini span{color:var(--gray)}.web-hero .price-mini strong{font-size:35px}.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.problem-grid article{border-top:1px solid #bcc6ae;padding-top:24px}.problem-grid .num{font-size:11px;color:var(--gray)}.problem-grid h3{font-size:20px;margin:18px 0 14px}.problem-grid p{font-size:12px;color:#66725e}.web-benefits{background:#e9ecdf}.sample-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.sample-card{display:block}.sample-screen{position:relative;aspect-ratio:1.64;overflow:hidden;border:1px solid var(--line);background:#e5e8dc}.sample-screen img{height:100%;object-position:top;transition:transform .6s}.sample-card:hover img{transform:scale(1.04)}.sample-card .sample-index{position:absolute;left:14px;top:14px;background:white;font-size:10px;padding:4px 10px}.sample-card h3{font-size:19px;font-weight:500;margin:18px 0 5px;display:flex;justify-content:space-between}.sample-card h3::after{content:'↗';font-size:24px}.sample-card p{font-size:12px;color:var(--gray)}.pricing{background:var(--deep);color:white}.pricing .section-top p{color:#cbdbc6}.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.price-card{padding:35px;background:var(--paper);color:var(--ink);border-radius:3px}.price-card .price-type{font-size:12px;letter-spacing:.08em}.price-card h3{font-size:18px;margin-top:12px;font-weight:500}.price-card .amount{font-size:56px;line-height:1.4;letter-spacing:-.04em;margin:20px 0 6px}.price-card .amount small{font-size:15px;letter-spacing:0}.price-card .tax{font-size:11px;color:var(--gray);margin-bottom:24px}.checklist{border-top:1px solid var(--line);padding-top:20px;display:grid;gap:12px;font-size:12px}.checklist li{display:flex;gap:12px;align-items:baseline}.checklist li::before{content:'✓';color:#53662a}.pricing .pricing-note{margin-top:25px;font-size:11px;color:#d6e0ce;line-height:2}.option-list{margin-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:0 55px}.option-list article{border-bottom:1px solid var(--line);padding:24px 0;display:grid;grid-template-columns:1fr auto;gap:12px 20px}.option-list h3{font-size:16px;font-weight:500}.option-list strong{font-size:14px;font-weight:500;white-space:nowrap}.option-list p{grid-column:1/-1;font-size:12px;color:var(--gray)}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;padding:24px 45px 24px 0;cursor:pointer;font-size:15px;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';font-size:24px;position:absolute;right:7px;top:16px}.faq-list details[open] summary::after{content:'−'}.faq-list details p{font-size:13px;line-height:2.1;color:var(--gray);padding:0 40px 25px 0}.about-lead{padding:0 0 80px}.about-cover{height:450px;overflow:hidden;border-radius:3px}.about-cover img{height:100%;object-position:center 55%}.about-philosophy{display:grid;grid-template-columns:1fr 1fr;gap:85px}.about-philosophy h2{font-size:45px;line-height:1.8;font-weight:500}.about-philosophy .body p+p{margin-top:22px}.team-list{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.team-member{border-top:1px solid #b4bfa6;padding-top:25px}.team-member .initial{font-size:75px;line-height:1;letter-spacing:-.06em;color:#849477;margin-bottom:33px}.team-member h3{font-size:21px;font-weight:500}.team-member .en{font-size:11px;color:var(--gray);margin:8px 0 14px;letter-spacing:.04em}.team-member .role{font-size:12px}.office-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px}.office-table{display:grid;grid-template-columns:100px 1fr;margin:0;font-size:13px}.office-table dt,.office-table dd{padding:19px 0;border-bottom:1px solid var(--line);margin:0}.office-table dt{color:var(--gray)}.office-table dd a{text-decoration:underline;text-underline-offset:4px}.font-band{border-top:1px solid var(--line);padding:35px 0;display:flex;justify-content:space-between;align-items:center;gap:30px}.font-band h3{font-size:22px;font-weight:500}.font-band p{font-size:12px;color:var(--gray);margin-top:10px}.font-band .font-links{display:flex;gap:25px;flex-shrink:0}.contact-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:95px}.contact-side{position:sticky;top:120px;align-self:start}.contact-side h2{font-size:27px;margin-bottom:25px;font-weight:500;line-height:1.8}.contact-side .body{font-size:12px}.contact-direct{margin-top:35px;padding-top:25px;border-top:1px solid var(--line)}.contact-direct a{display:block;font-size:20px;letter-spacing:-.02em;margin-bottom:8px}.contact-direct small{font-size:11px;display:block;color:var(--gray)}.preview-note{padding:16px 19px;background:#e9ecdf;border-left:3px solid #9caa6e;font-size:11px;line-height:1.9;margin-bottom:30px}.form{display:grid;gap:22px}.field{display:grid;gap:10px}.field label{font-size:12px;font-weight:500}.field label span{font-size:9px;padding:1px 5px;background:#e6eccd;margin-left:13px}.field input,.field select,.field textarea{width:100%;background:#fff;border:1px solid #cfd5c4;border-radius:3px;padding:14px 16px;color:var(--ink);min-height:51px;font-size:14px}.field textarea{min-height:160px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.check{display:flex;align-items:start;gap:11px;font-size:12px}.check input{accent-color:var(--deep);margin-top:5px}.check a{text-decoration:underline}.form .button{justify-content:center;gap:35px}.form .fine{margin-top:-8px}.confirm-box{background:#e9ecdf;padding:26px;border-radius:3px;margin-top:20px}.confirm-box[hidden]{display:none}.confirm-box h3{font-size:20px;margin-bottom:15px}.confirm-box .confirm-dl{margin:20px 0;display:grid;grid-template-columns:85px 1fr;font-size:12px;gap:12px}.confirm-dl dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.confirm-dl dt{color:var(--gray)}.confirm-box .button{font-size:12px}.mobile-contact{display:none}.back-to-top{font-size:10px;letter-spacing:.1em;display:flex;align-items:center;gap:12px}.reveal{animation:fade .65s both}@keyframes fade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.hero-copy h1{font-size:88px}.hero-art{height:640px}.hero-photo{height:490px}.hero-art .graphic-float{height:230px}.home-hero{padding-top:75px}}
@media(max-width:1100px){.nav{gap:19px}.nav>a{font-size:11px}.brand span{display:none}.hero-copy h1{font-size:64px}.hero-art{height:530px}.hero-photo{height:390px}.hero-art .graphic-float{height:190px}.switch-stamp{width:110px;height:110px}.switch-stamp strong{font-size:25px}.web-feature-grid{gap:45px}.web-feature h2{font-size:31px}.about-home{gap:50px}.contact-layout{gap:55px}.section{padding:80px 0}.intro-grid{gap:45px}.web-hero-grid{gap:35px}.web-hero h1{font-size:38px}.web-hero .price-mini{gap:20px}.web-hero .price-mini div{min-width:145px}.web-hero .price-mini strong{font-size:30px}.service-detail .detail-grid{gap:45px}.hero-actions{gap:18px}.hero-actions .button{padding:13px 20px;gap:25px}}
@media(max-width:760px){html{scroll-padding-top:90px}.wrap,.narrow{width:88%}.preview-bar{font-size:8px;padding:6px 12px}.preview-bar a{margin-left:12px}.header-inner{height:72px}.brand img{width:132px;height:24px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:18px 6% 28px;border-bottom:1px solid var(--line);box-shadow:0 12px 15px #2222;gap:0}.nav.open{display:flex;flex-direction:column;align-items:stretch}.nav>a{padding:15px 0;font-size:13px}.nav .new::before{right:auto;left:78px;top:16px}.nav .nav-contact{margin-top:15px;padding:16px 20px;justify-content:space-between}.nav>a:not(.nav-contact)::after{display:none}.section{padding:60px 0}.section-top{display:block;margin-bottom:30px}.section-top h2{font-size:28px;margin-top:16px}.section-top>p{margin-top:20px;font-size:12px}.section-top>.text-link{margin-top:20px}.label{font-size:10px;letter-spacing:.11em}.button{font-size:12px;padding:13px 20px;gap:30px;min-height:51px}.home-hero{padding:30px 0 28px}.hero-layout{grid-template-columns:1fr;gap:25px}.hero-copy{padding-top:14px}.hero-copy h1{font-size:56px;line-height:1.55;margin:25px 0 19px;letter-spacing:-.06em}.hero-copy .intro{font-size:12px;line-height:2.2;margin-bottom:25px}.hero-actions{gap:21px}.hero-actions .button{padding:12px 19px;gap:21px}.hero-actions .text-link{font-size:10px;gap:9px}.hero-art{height:405px;margin-top:8px}.hero-photo{width:88%;height:300px}.hero-art .graphic-float{width:72%;height:150px;bottom:20px;left:0;border-width:5px}.switch-stamp{width:88px;height:88px;right:-4px;bottom:17px;font-size:8px}.switch-stamp strong{font-size:23px}.hero-caption{font-size:8px;right:13px;top:15px}.hero-bottom{padding-top:9px;font-size:8px}.hero-services{gap:13px;font-size:8px}.hero-bottom>.scroll-link{display:none}.news-line{align-items:start;gap:12px;position:relative;flex-wrap:wrap;padding:19px 0;font-size:11px}.news-line>.label{font-size:9px;margin-right:3px;margin-top:3px}.news-line>.news-arrow{position:absolute;right:0;bottom:14px}.news-line>.news-text{width:90%;font-size:11px;margin-top:2px}.intro-section{padding:60px 0 55px}.intro-grid{grid-template-columns:1fr;gap:26px}.intro-grid h2{font-size:28px;line-height:1.8}.intro-grid .label{margin-bottom:20px}.body{font-size:13px;line-height:2.15}.intro-sign{font-size:10px}.selected{padding-top:0}.works-grid{grid-template-columns:1fr;gap:30px}.work-img{aspect-ratio:1.4}.work-info{margin-top:14px;gap:10px}.work-info h3{font-size:14px}.work-info>span{font-size:9px}.work-card .fine{font-size:10px}.work-img .work-open{width:33px;height:33px;font-size:18px;bottom:12px;right:12px}.works-end{margin-top:28px}.service-overview .section-top h2{font-size:29px}.service-row{grid-template-columns:25px 1fr 35px;gap:13px;padding:23px 0}.service-title{font-size:25px}.service-title small{font-size:9px}.service-row p{grid-column:2;font-size:11px}.service-row .circle-arrow{grid-column:3;grid-row:1/3;width:34px;height:34px;font-size:20px}.service-row .number{font-size:10px;align-self:start;padding-top:4px}.new-badge{font-size:8px;margin-left:8px}.web-feature-grid{grid-template-columns:1fr;gap:38px}.web-feature h2{font-size:29px;margin:22px 0}.web-feature p{font-size:12px}.price-mini{gap:25px;margin:22px 0 26px}.price-mini div{min-width:135px}.price-mini strong{font-size:32px}.price-mini small{font-size:11px}.mock-browser{margin:0 15px 12px 3px;box-shadow:10px 13px 0 #1c382d;transform:rotate(2deg)}.mock-browser img{height:230px}.web-feature .feature-tag{font-size:9px;gap:14px;margin-top:23px}.about-home{grid-template-columns:1fr;gap:32px}.about-home h2{font-size:28px;margin-top:16px}.about-photo{aspect-ratio:1.3}.contact-banner{padding:48px 0}.contact-banner-inner{display:block}.contact-banner h2{font-size:29px;margin-top:17px}.contact-banner p{font-size:11px}.contact-banner .button{margin-top:25px;min-width:220px}.footer{padding:40px 0 90px}.footer-main{display:block;margin-bottom:30px}.footer-brand img{width:155px;height:28px;margin-bottom:19px}.footer-nav{margin-top:35px;justify-content:space-between;gap:30px}.footer-nav ul{font-size:11px;gap:12px}.footer-bottom{display:block;font-size:9px}.footer-bottom>div{margin-top:15px;display:flex;justify-content:space-between;gap:20px}.page-head{padding:35px 0 42px}.breadcrumbs{font-size:9px;margin-bottom:30px}.page-head .page-title{display:block}.page-head .big-title{font-size:65px}.page-head h1 small{font-size:14px;margin-top:14px}.page-head .page-title p{font-size:12px;margin-top:25px}.filter-bar{gap:8px;margin-bottom:20px}.filter-bar button{font-size:10px;padding:9px 13px}.filter-status{font-size:10px;margin-bottom:24px}.portfolio{padding-top:0}.modal-content{padding:25px}.modal-content h2{font-size:21px}.modal-content p{font-size:12px}.modal-img{height:300px}.service-detail{padding:45px 0}.service-detail .detail-grid{grid-template-columns:1fr;gap:28px}.service-detail .detail-grid.reverse .detail-image,.service-detail .detail-grid.reverse .detail-copy{order:initial}.detail-copy h2{font-size:27px}.detail-copy .label{margin-bottom:16px}.detail-copy .body{font-size:12px}.steps{grid-template-columns:1fr 1fr;gap:28px 22px}.steps h3{font-size:16px;margin-top:13px}.steps p{font-size:11px}.web-hero{padding:32px 0 60px}.web-hero-grid{grid-template-columns:1fr;gap:37px}.web-hero h1{font-size:34px;margin-top:20px;line-height:1.7}.web-hero .body{font-size:12px}.web-hero .price-mini strong{font-size:30px}.web-hero .price-mini div{min-width:140px}.web-hero .mock-browser img{height:250px}.web-hero .mock-browser{margin-top:5px}.problem-grid{grid-template-columns:1fr;gap:28px}.problem-grid article{padding-top:20px}.problem-grid h3{font-size:20px;margin:12px 0}.sample-grid{grid-template-columns:1fr;gap:30px}.sample-card h3{font-size:17px;margin-top:15px}.sample-card p{font-size:11px}.pricing-grid{grid-template-columns:1fr;gap:20px}.price-card{padding:27px}.price-card .amount{font-size:48px}.price-card h3{font-size:17px}.checklist{font-size:11px;gap:11px}.option-list{grid-template-columns:1fr}.option-list article{gap:9px 12px}.option-list h3{font-size:15px}.option-list strong{font-size:12px}.option-list p{font-size:11px}.faq-list summary{font-size:13px;padding:21px 35px 21px 0}.faq-list details p{font-size:12px;padding-right:15px}.about-lead{padding-bottom:50px}.about-cover{height:260px}.about-philosophy{grid-template-columns:1fr;gap:26px}.about-philosophy h2{font-size:33px}.team-list{grid-template-columns:1fr;gap:30px}.team-member{position:relative;min-height:130px;padding-left:90px}.team-member .initial{position:absolute;left:0;top:22px;font-size:54px}.team-member h3{font-size:20px}.team-member .en{margin:5px 0 10px}.office-grid{grid-template-columns:1fr;gap:30px}.office-table{grid-template-columns:80px 1fr;font-size:12px}.office-table dd{padding-left:10px}.font-band{display:block;padding:30px 0}.font-band h3{font-size:20px}.font-band .font-links{flex-wrap:wrap;gap:25px;margin-top:20px}.font-band p{font-size:11px}.contact-layout{grid-template-columns:1fr;gap:38px}.contact-side{position:static}.contact-side h2{font-size:26px;margin-bottom:20px}.contact-direct{margin-top:25px;padding-top:20px}.contact-direct a{font-size:18px}.preview-note{font-size:10px;margin-bottom:24px}.field input,.field select,.field textarea{font-size:16px}.form-row{grid-template-columns:1fr;gap:22px}.check{font-size:11px}.confirm-box{padding:22px}.confirm-box .confirm-dl{grid-template-columns:65px 1fr;gap:11px;font-size:11px}.mobile-contact{display:block;position:fixed;bottom:0;left:0;right:0;background:var(--paper);padding:8px 6%;border-top:1px solid var(--line);z-index:35}.mobile-contact .button{width:100%;min-height:43px;padding:8px 20px}.contact-page .mobile-contact{display:none}.contact-page .footer{padding-bottom:30px}}
.detail-copy h2{text-wrap:balance}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
