@charset "UTF-8";
:root{--paper:#f8f8f5;--white:#fff;--ink:#20211f;--muted:#666963;--line:#dcded7;--soft:#eeefe9;--green:#057a55;--font:"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP","Yu Gothic",sans-serif;--en:"Helvetica Neue",Arial,sans-serif;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--font);font-size:15px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:700;line-height:1.55;letter-spacing:.025em}p{overflow-wrap:anywhere}button:disabled{cursor:default}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:6px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--green);outline-offset:3px}::selection{background:#d4e8d9}a:hover .arrow{transform:translate(3px,-3px)}[hidden]{display:none!important}.wrap{width:min(var(--max),calc(100% - 112px));margin-inline:auto}.section{padding-block:112px}.soft-section{background:var(--soft)}.arrow{display:inline-block;font-family:Arial,sans-serif;font-size:23px;line-height:1;transition:transform .2s}.eyebrow{font-family:var(--en);font-size:11px;line-height:1.5;font-weight:600;letter-spacing:.13em}.eyebrow span{color:var(--muted)}.small-note{font-size:12px;color:var(--muted);margin-top:16px}.skip-link{position:fixed;top:-80px;left:16px;padding:10px 20px;background:var(--ink);color:#fff;z-index:100}.skip-link:focus{top:12px}
.site-header{height:100px;margin-inline:56px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative;z-index:20}.wordmark{font-family:var(--en);font-size:32px;font-weight:850;letter-spacing:-.075em;line-height:1;display:inline-flex;align-items:baseline;gap:13px;white-space:nowrap}.wordmark small{font-size:9px;font-weight:500;letter-spacing:.06em}.wordmark-dot{margin-left:1px}.site-header nav{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:600}.site-header nav>a:not(.nav-contact){position:relative;padding:12px 0}.site-header nav>a:not(.nav-contact):after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:1px;background:var(--ink);transition:right .2s}.site-header nav>a:hover:after,.site-header nav>a[aria-current]:after{right:0}.nav-contact{background:var(--ink);color:white;display:flex;align-items:center;gap:28px;padding:13px 22px;border-radius:2px}.nav-contact .arrow{font-size:19px}.menu-toggle{display:none}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:44px;padding:17px 26px;min-height:60px;background:var(--ink);color:white;border:1px solid var(--ink);border-radius:2px;font-size:13px;font-weight:600;transition:background .2s}.button:hover{background:#41453e}.button-light{background:transparent;color:var(--ink)}.text-link{display:inline-flex;align-items:center;gap:24px;font-size:13px;font-weight:600;border:0;padding:0;background:transparent}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.circle-arrow{width:50px;height:50px;border:1px solid var(--line);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.circle-arrow .arrow{font-size:22px}
.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:32px;padding-top:70px;padding-bottom:92px;min-height:700px;position:relative}.hero .eyebrow{font-size:10px;letter-spacing:.12em;display:flex;align-items:center;gap:10px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--ink)}.hero h1{font-size:clamp(42px,4.8vw,69px);line-height:1.55;letter-spacing:.02em;margin:26px 0 16px;font-weight:800}.outline-word{-webkit-text-stroke:1px var(--ink);color:var(--paper)}.hero-sub{font-size:22px;font-weight:600;letter-spacing:.07em}.underlined{border-bottom:2px solid var(--ink);padding-bottom:6px}.hero-description{margin:26px 0 24px;color:#555951;font-size:13px;line-height:2.15}.hero .text-link{gap:25px}.hero-art{position:relative;display:flex;align-items:center;justify-content:center;padding-bottom:24px}.hero-disc{width:min(100%,455px);aspect-ratio:1;border-radius:50%;background:#eaece4;position:relative;display:grid;place-content:center;text-align:center;isolation:isolate}.hero-disc:before,.hero-disc:after{content:"";position:absolute;border:1px solid #daddd2;border-radius:50%;z-index:-1;inset:-17px}.hero-disc:after{inset:-35px;border-style:dashed;border-color:#e1e4da}.hero-disc img{width:280px;mix-blend-mode:multiply}.disc-label{position:absolute;top:34px;left:0;right:0;font:9px var(--en);letter-spacing:.25em}.disc-bottom{position:absolute;bottom:37px;left:0;right:0;font:9px var(--en);letter-spacing:.18em}.hero-cross{position:absolute;right:-10px;top:30px;font-size:45px;font-weight:200;line-height:1}.art-note{position:absolute;bottom:12px;right:12px;font-size:11px;line-height:2;letter-spacing:.07em}.art-note:before{content:"";width:45px;height:1px;background:var(--ink);position:absolute;left:-60px;top:12px}.scroll-note{position:absolute;bottom:26px;left:0;font:9px var(--en);letter-spacing:.13em;display:flex;align-items:center;gap:25px}.scroll-note span{font-size:22px}.hero-news{border-block:1px solid var(--line);padding-block:21px;display:flex;align-items:center;gap:34px;font-size:12px}.hero-news time{font-family:var(--en);color:var(--muted)}.hero-news>a{display:flex;flex:1;justify-content:space-between;align-items:center;gap:20px}.hero-news .arrow{font-size:20px}
.section-heading .eyebrow{margin-bottom:20px}.section-heading h2{font-size:35px;line-height:1.65}.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:45px}.section-top>.section-heading{margin:0}.section-top>p{font-size:13px;line-height:2.1;color:var(--muted)}.section-lead{margin-top:-14px;margin-bottom:38px;color:var(--muted);font-size:13px}.intro-section{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-block:125px}.intro-body{padding-top:3px;max-width:510px}.intro-body .large-copy{font-size:22px;font-weight:600;line-height:1.85;margin-bottom:25px}.intro-body>p:not(.large-copy){font-size:14px;line-height:2.2;color:#53594e;margin-bottom:20px}.intro-body .text-link{margin-top:12px}.service-row{display:grid;grid-template-columns:46px 1fr 1.1fr 50px;gap:28px;align-items:center;padding:42px 0;border-top:1px solid #cfd3c7;transition:padding .2s}.service-row:last-child{border-bottom:1px solid #cfd3c7}.service-row:hover{padding-inline:12px}.service-number{font:13px var(--en);color:var(--muted);align-self:start;padding-top:4px}.service-title .eyebrow{font-size:9px;margin-bottom:10px;color:#62685a}.service-title h3{font-size:23px;line-height:1.65}.service-description p{font-size:13px;line-height:2}.tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:17px}.tags span{font-size:10px;border:1px solid #d2d6ca;padding:2px 10px;border-radius:20px;color:#565e4c}.service-row .circle-arrow{border-color:#c3c9b9}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.project-art{height:250px;overflow:hidden;position:relative;transition:filter .3s;display:flex;align-items:center;justify-content:center}.project:hover .project-art{filter:brightness(.96)}.sakidori-art{gap:13px;background:#dfede4;color:#174d36;isolation:isolate}.sakidori-art>span{font:600 34px var(--en);letter-spacing:-.03em;z-index:1}.sakidori-art>img{z-index:1;width:54px}.sakidori-art .art-caption{display:block;font-family:var(--font);font-size:9px;font-weight:500;letter-spacing:.04em;margin-top:9px}.art-orbit{position:absolute;width:390px;height:390px;border:1px solid #c8decf;border-radius:50%;right:-130px;top:35px;z-index:-1;box-shadow:0 0 0 35px #d7e8dd}.brandline-art{color:#eee5d5;background:#292b28}.brandline-art .serif{font:35px Georgia,serif;z-index:1;letter-spacing:.01em}.brandline-art small{display:block;text-align:center;font:7px var(--en);letter-spacing:.28em;margin-top:17px}.brandline-art>i{position:absolute;font:240px Georgia,serif;right:14px;bottom:-62px;color:#343932}.ainavi-art{background:#e7e9e2;color:#323d29;flex-direction:column;align-items:flex-start;padding:25px;isolation:isolate}.ainavi-art .art-label{font:8px var(--en);letter-spacing:.17em;position:absolute;top:25px}.ainavi-art strong{font-size:24px;letter-spacing:-.05em;z-index:1}.ainavi-art strong span{font:700 31px var(--en);margin-inline:3px}.art-sub{font-size:10px;margin-top:9px;z-index:1}.art-grid{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 31px,#dce1d5 32px),repeating-linear-gradient(90deg,transparent,transparent 31px,#dce1d5 32px);z-index:-1}.project-caption{position:relative;padding:23px 0 0}.project-caption .eyebrow{font-size:9px;color:var(--muted)}.project-caption>.arrow{position:absolute;right:0;top:23px}.project-caption h3{font-size:21px;margin:9px 0 10px;letter-spacing:0}.project-caption p{font-size:12px;color:var(--muted);line-height:1.95;max-width:95%}.sakidori-strip{margin-top:46px;border-block:1px solid var(--line);padding-block:23px;display:flex;align-items:center;gap:36px}.strip-brand{display:flex;gap:10px;align-items:center;font:600 23px var(--en);letter-spacing:-.02em}.sakidori-strip>span:nth-child(2){flex:1;font-size:16px;font-weight:600}.sakidori-strip small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:3px}
.process-section{background:#252923;color:#f8f8f5}.process-section .eyebrow,.process-section .eyebrow span{color:#b3b9ab}.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);margin:55px 0 0;gap:0}.steps li{padding:0 25px;border-left:1px solid #51564b}.steps li:first-child{padding-left:0;border-left:0}.steps li:last-child{padding-right:0}.steps li>span{font:12px var(--en);color:#a5b095}.steps h3{font-size:17px;margin:25px 0 13px}.steps p{font-size:12px;line-height:2;color:#bfc5b7}.faq-section{display:grid;grid-template-columns:.8fr 1.4fr;gap:60px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;gap:16px;cursor:pointer;list-style:none;padding:24px 0;font-size:13px;font-weight:600}.faq-list summary::-webkit-details-marker{display:none}.faq-list .q{font:16px var(--en)}.faq-plus{margin-left:auto;font-size:20px;font-weight:400;flex-shrink:0;transition:transform .2s}.faq-list details[open] .faq-plus{transform:rotate(45deg)}.faq-list details p{padding:0 26px 25px 36px;font-size:13px;line-height:2;color:var(--muted)}.news-section{padding-top:15px}.news-row{display:grid;grid-template-columns:95px 65px 1fr 24px;gap:24px;align-items:center;padding:27px 0;border-top:1px solid var(--line)}.news-row:last-child{border-bottom:1px solid var(--line)}.news-row time{font:12px var(--en);color:var(--muted)}.news-tag{font:9px var(--en);letter-spacing:.06em;border:1px solid var(--line);border-radius:30px;padding:5px 12px;display:inline-block;text-align:center}.news-row h3{font-size:13px;font-weight:500;line-height:1.8}.news-row .arrow{font-size:19px}.contact-banner{background:#e7e9e1;padding-block:80px}.contact-inner{display:flex;justify-content:space-between;align-items:center;gap:40px}.contact-inner h2{font-size:38px;margin:17px 0}.contact-inner p:not(.eyebrow){color:#53594c;font-size:13px;line-height:2}.contact-round{width:160px;height:160px;flex-shrink:0;border:1px solid #a9b09e;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;font-size:12px;transition:background .2s}.contact-round .arrow{font-size:30px}.contact-round:hover{background:var(--ink);color:#fff}.site-footer{padding-block:60px 25px}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;align-items:start}.footer-top .wordmark{font-size:47px}.footer-top p{font-size:12px;line-height:2}.footer-top p span{display:block;margin-top:13px;font-size:11px;color:var(--muted)}.footer-top nav{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;font-size:11px}.footer-top nav a:hover{text-decoration:underline}.footer-bottom{display:flex;gap:28px;margin-top:55px;padding-top:24px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.footer-bottom small{margin-right:auto;font:10px var(--en)}.footer-bottom a:last-child{font-family:var(--en);letter-spacing:.08em}
.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:13px;font-size:10px;color:var(--muted);margin-bottom:65px}.breadcrumbs a:hover{text-decoration:underline}.page-intro{padding-top:26px;padding-bottom:70px}.page-intro h1{font-size:clamp(35px,4.7vw,62px);line-height:1.6;margin:22px 0 24px}.intro-copy{font-size:15px;line-height:2.1;color:#545b4d;max-width:650px}.page-intro+.section{padding-top:65px}.two-column{display:grid;grid-template-columns:1fr 1.2fr;gap:90px}.problem-list{margin:0;padding:0;list-style:none}.problem-list li{border-bottom:1px solid #ced4c4;padding:25px 0 25px 28px;font-size:15px;position:relative}.problem-list li:before{content:"↗";position:absolute;left:0}.problem-list li:first-child{padding-top:8px}.support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:50px}.support-grid article{border-top:1px solid var(--line);padding-top:25px}.support-grid h3{font-size:20px;margin:22px 0 14px}.support-grid p{font-size:13px;line-height:2;color:var(--muted)}.prose p{font-size:15px;line-height:2.2;color:#555d4c;margin-bottom:25px}.prose h2{font-size:30px;margin-bottom:25px}.prose .button{margin-top:12px}.prose .small-note{font-size:12px}.products-page-grid{padding-top:0!important}.product-detail{max-width:800px;padding-block:20px 60px;margin-bottom:40px;border-bottom:1px solid #ccd1c2;scroll-margin-top:50px}.product-detail h2{font-size:38px;margin:18px 0}.product-detail p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:2;max-width:650px}.product-detail .button{margin-top:26px}.other-projects{display:grid;grid-template-columns:1fr 1fr;gap:70px}.other-projects h3{font-size:24px;margin:15px 0}.other-projects p:not(.eyebrow){font-size:13px;color:var(--muted)}.about-message{display:grid;grid-template-columns:1fr 1.3fr;gap:100px;align-items:center}.about-logo{display:grid;place-items:center}.about-logo img{width:280px;mix-blend-mode:multiply}.about-message .eyebrow{font-size:11px;margin-bottom:25px}.company-table{margin:0}.company-table>div{display:grid;grid-template-columns:120px 1fr;border-bottom:1px solid var(--line);padding:23px 0;font-size:13px;gap:20px}.company-table>div:first-child{border-top:1px solid var(--line)}.company-table dt{color:var(--muted)}.company-table dd{margin:0}.article-page{max-width:900px;padding-top:26px;padding-bottom:100px}.article-meta{display:flex;gap:20px;align-items:center;font:12px var(--en);margin-bottom:25px}.article-page h1{font-size:36px;line-height:1.8}.article-body{border-top:1px solid var(--line);padding-top:50px;margin-top:40px;margin-bottom:70px}.article-body .text-link{margin-top:20px}.narrow{max-width:800px}.narrow h2{margin-top:30px}
.sakidori-hero{padding:26px 0 100px}.sakidori-hero-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:55px;align-items:center}.product-wordmark{display:flex;align-items:center;gap:13px;font:600 29px var(--en);letter-spacing:-.03em}.sakidori-hero h1{font-size:62px;line-height:1.6;margin:32px 0 25px}.sakidori-hero h1 span{color:var(--green)}.sakidori-hero .intro-copy{font-size:13px}.actions{display:flex;flex-wrap:wrap;gap:25px;align-items:center;margin-top:32px}.sakidori-page .button{background:var(--green);border-color:var(--green)}.sakidori-page .button:hover{background:#056647}.sakidori-soft{background:#eaf1e9}.sakidori-soft .support-grid article{border-color:#cbdac7}.reception-visual{height:490px;position:relative;background:#e5eee2;border-radius:3px;padding:35px 23px;margin-bottom:40px}.mini-site{background:#fff;width:90%;height:350px;border:1px solid #d9e2d4;border-radius:4px;overflow:hidden}.mini-browser{display:flex;height:30px;align-items:center;gap:4px;border-bottom:1px solid #e5e9e2;padding:0 10px}.mini-browser i{width:5px;height:5px;border-radius:50%;background:#d3d9ce}.mini-browser span{font:6px var(--en);letter-spacing:.15em;color:#8a9383;margin-left:10px}.mini-content{padding:25px 20px}.mini-wordmark{font:600 13px var(--en)}.mini-content strong{display:block;font-size:23px;line-height:1.65;margin:25px 0 18px}.mini-line{height:4px;width:100px;background:#e0e4dd;margin-top:7px}.mini-line.short{width:70px}.mini-pill{display:inline-block;border:1px solid #d7ded1;font-size:7px;padding:5px 10px;margin-top:20px}.chat-preview{position:absolute;right:15px;top:130px;width:250px;background:white;box-shadow:0 15px 35px #22331718;border-radius:9px;overflow:hidden;border:1px solid #d0ddd0}.chat-preview-head{background:#1b563e;color:white;display:flex;align-items:center;gap:9px;padding:16px 13px}.chat-preview-head>span:nth-child(2){flex:1;font-size:11px;font-weight:600}.chat-preview-head small{display:block;font:8px var(--en);color:#bfddca;margin-top:3px}.chat-preview-body{padding:17px 14px 24px}.sample-tag{font-size:8px;color:#5e735a;display:block;text-align:center;margin-bottom:12px}.chat-preview-body p{font-size:10px;background:#f0f3ed;padding:13px;border-radius:2px 9px 9px;margin-bottom:14px}.chat-choice{display:flex;justify-content:space-between;align-items:center;border:1px solid #d4dfcd;font-size:9px;padding:10px 11px;margin-top:7px;border-radius:3px}.chat-choice b{color:#547e42;font-size:14px}.visual-caption{position:absolute;font-size:9px;bottom:-30px;left:0;right:0;text-align:center;color:var(--muted)}.three-steps{grid-template-columns:repeat(3,1fr)}.product-cta{padding-block:70px 100px;text-align:center;border-top:1px solid var(--line)}.product-cta img{margin:auto}.product-cta h2{font-size:35px;margin:28px 0}.product-cta .button{margin-inline:auto}
.contact-content{display:grid;grid-template-columns:.75fr 1.4fr;gap:90px;padding-bottom:100px}.contact-content aside h2{font-size:20px;margin-bottom:20px}.contact-content aside p{font-size:13px;color:var(--muted);line-height:2.1}.contact-aside-note{border-block:1px solid var(--line);padding-block:23px;margin:30px 0}.contact-aside-note .eyebrow{display:block;font-size:9px;margin-bottom:9px}.form-shell{background:white;padding:40px;border:1px solid var(--line)}.form-field{margin-bottom:25px}.form-field>label{display:block;font-size:13px;font-weight:600;margin-bottom:9px}.form-field label span{font-size:9px;font-weight:400;color:var(--muted);margin-left:9px;border:1px solid var(--line);padding:2px 5px}.form-field label .required{border-color:#b6beb0;color:#48563e}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid #d7dccf;border-radius:2px;background:var(--paper);color:var(--ink);padding:12px 14px;min-height:49px;font-size:14px}.form-field textarea{resize:vertical;min-height:160px}.form-field input::placeholder,.form-field textarea::placeholder{color:#858c7d;font-size:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field-help{display:block;font-size:10px;color:var(--muted);margin-top:5px}.checkbox-label{display:flex;align-items:flex-start;gap:10px;font-size:12px;margin:30px 0}.checkbox-label input{margin-top:6px;accent-color:var(--green);width:16px;height:16px;flex-shrink:0}.checkbox-label a{text-decoration:underline;text-underline-offset:4px}.form-shell .button{width:100%}.form-shell h2{font-size:24px;margin:20px 0}.form-shell section>p{font-size:13px;color:var(--muted)}#confirmation-values{margin-block:30px}#confirmation-values>div{border-top:1px solid var(--line);padding-block:15px}#confirmation-values dt{font-size:11px;color:var(--muted)}#confirmation-values dd{font-size:14px;margin:7px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
@media(min-width:1550px){.site-header{width:var(--max);margin:auto}.hero{padding-top:90px}.hero h1{font-size:72px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.site-header{margin-inline:32px}.site-header nav{gap:20px}.wordmark{font-size:28px}.wordmark small{display:none}.hero{gap:45px;min-height:650px}.hero h1{font-size:49px}.hero-art{padding-right:15px}.hero-disc img{width:230px}.hero-disc{max-width:350px}.hero-sub{font-size:19px}.hero-cross{right:-10px}.section{padding-block:85px}.intro-section{gap:60px}.service-row{grid-template-columns:30px 1fr 1fr 42px;gap:20px}.service-title h3{font-size:20px}.service-description p{font-size:12px}.circle-arrow{width:42px;height:42px}.project-art{height:210px}.sakidori-art>span{font-size:27px}.sakidori-art>img{width:42px}.brandline-art .serif{font-size:30px}.ainavi-art{padding:20px}.ainavi-art strong{font-size:19px}.ainavi-art strong span{font-size:24px}.two-column,.contact-content{gap:50px}.sakidori-hero-grid{gap:30px}.sakidori-hero h1{font-size:50px}.reception-visual{height:440px}.chat-preview{width:225px;top:120px}.section-heading h2{font-size:30px}.form-shell{padding:30px}.support-grid{gap:25px}.faq-section{gap:45px}.steps li{padding-inline:18px}.steps h3{font-size:15px}.hero-news{gap:22px}}
@media(max-width:800px){.site-header{height:80px}.site-header nav{gap:15px;font-size:11px}.nav-contact{padding:10px 14px;gap:12px}.hero{padding-top:50px;gap:35px;min-height:590px}.hero h1{font-size:40px;margin-top:22px}.hero .eyebrow{font-size:8px;letter-spacing:.07em}.hero-sub{font-size:16px}.hero-description{font-size:11px}.hero-disc img{width:190px}.hero-art{padding-right:7px}.disc-label{font-size:7px;top:20px;letter-spacing:.13em}.disc-bottom{font-size:7px;bottom:20px}.hero-cross{top:45px;font-size:30px}.art-note{font-size:9px;right:0;bottom:45px}.intro-section{gap:40px}.intro-body .large-copy{font-size:19px}.intro-body>p:not(.large-copy){font-size:13px}.service-row{grid-template-columns:25px 1fr 1fr 35px;gap:15px}.service-title h3{font-size:17px}.circle-arrow{width:35px;height:35px}.project-art{height:170px}.product-grid{gap:16px}.sakidori-art{gap:8px}.sakidori-art>span{font-size:21px}.sakidori-art>img{width:32px}.sakidori-art .art-caption{font-size:7px}.brandline-art .serif{font-size:24px}.ainavi-art{padding:12px}.ainavi-art strong{font-size:16px}.ainavi-art strong span{font-size:19px}.art-sub{font-size:8px}.project-caption h3{font-size:18px}.steps{grid-template-columns:1fr 1fr;gap:32px}.steps li:nth-child(3){border-left:0;padding-left:0}.footer-top{grid-template-columns:1fr 1fr}.footer-top nav{grid-column:1/-1;grid-template-columns:repeat(4,1fr)}.faq-section{grid-template-columns:1fr;gap:35px}.news-row{gap:14px;grid-template-columns:85px 60px 1fr 24px}.contact-inner h2{font-size:31px}.contact-round{width:130px;height:130px}.contact-content{grid-template-columns:1fr;gap:30px}.contact-content aside{max-width:600px}.contact-aside-note{margin-block:20px;padding-block:16px}.form-shell{padding:35px}.about-message{gap:40px}.support-grid{gap:20px}.support-grid h3{font-size:17px}.two-column{gap:40px;grid-template-columns:1fr 1.3fr}.sakidori-hero-grid{grid-template-columns:1fr}.sakidori-hero h1{font-size:56px}.reception-visual{width:min(540px,100%);margin:30px auto 10px;height:450px}.chat-preview{width:270px;right:25px}.mini-site{width:85%}.three-steps{grid-template-columns:1fr 1fr 1fr}.three-steps li:nth-child(3){border-left:1px solid #51564b;padding-left:18px}}
@media(max-width:640px){.wrap{width:calc(100% - 40px)}.section{padding-block:65px}.site-header{height:74px;margin-inline:20px}.wordmark{font-size:29px}.wordmark small{display:block;font-size:8px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;border:0;background:transparent;padding:9px;z-index:2}.menu-toggle span{width:24px;height:1px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.site-header nav{display:none;position:absolute;top:73px;left:-20px;right:-20px;background:var(--paper);border-bottom:1px solid var(--line);padding:25px 25px 30px;box-shadow:0 15px 20px #1b241010;flex-direction:column;align-items:stretch;gap:5px;font-size:14px}.site-header nav.open{display:flex}.site-header nav>a:not(.nav-contact){padding:12px 0}.nav-contact{margin-top:15px;padding:15px 20px;justify-content:space-between}.hero{grid-template-columns:1fr;padding-top:36px;padding-bottom:55px;gap:30px;min-height:auto}.hero .eyebrow{font-size:8px;letter-spacing:.1em}.hero h1{font-size:clamp(38px,10.3vw,60px);line-height:1.55;margin:21px 0 15px}.hero-sub{font-size:18px}.hero-description{font-size:12px;margin-top:25px;line-height:2.1}.hero .text-link{font-size:12px}.hero-art{padding:20px 20px 50px;min-height:340px;justify-content:flex-end}.hero-disc{width:270px;margin-right:15px}.hero-disc img{width:195px}.hero-disc:before{inset:-12px}.hero-disc:after{inset:-25px}.disc-label{font-size:7px;top:20px}.disc-bottom{bottom:24px}.art-note{bottom:0;right:5px;font-size:9px}.hero-cross{left:5px;right:auto;top:35px}.scroll-note{bottom:22px;font-size:8px}.hero-news{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;padding-block:18px;font-size:11px}.hero-news .eyebrow{font-size:9px}.hero-news time{font-size:10px}.hero-news>a{grid-column:1/-1;font-size:11px}.hero-news .arrow{font-size:18px}.intro-section{grid-template-columns:1fr;gap:32px}.section-heading .eyebrow{font-size:10px;margin-bottom:16px}.section-heading h2{font-size:28px;line-height:1.7}.intro-body{padding-top:0}.intro-body .large-copy{font-size:20px}.intro-body>p:not(.large-copy){font-size:13px}.section-top{align-items:flex-start;gap:24px;flex-direction:column;margin-bottom:32px}.section-top>p{font-size:12px}.section-top .text-link{font-size:11px}.service-row{grid-template-columns:25px 1fr 36px;gap:13px;padding-block:28px}.service-row:hover{padding-inline:0}.service-number{font-size:11px}.service-title{grid-column:2}.service-title .eyebrow{font-size:8px}.service-title h3{font-size:21px}.service-description{grid-column:2;grid-row:2}.service-description p{font-size:12px}.service-row>.circle-arrow{grid-column:3;grid-row:1}.tags{gap:5px;margin-top:12px}.tags span{font-size:9px;padding-inline:8px}.product-grid{grid-template-columns:1fr;gap:35px}.project-art{height:245px}.sakidori-art>span{font-size:40px}.sakidori-art>img{width:59px}.sakidori-art{gap:15px}.sakidori-art .art-caption{font-size:10px}.brandline-art .serif{font-size:40px}.brandline-art small{font-size:8px}.ainavi-art{padding:30px}.ainavi-art strong{font-size:29px}.ainavi-art strong span{font-size:34px}.art-sub{font-size:11px}.ainavi-art .art-label{top:28px}.project-caption{padding-top:18px}.project-caption h3{font-size:23px}.project-caption .eyebrow{font-size:9px}.project-caption>.arrow{top:20px}.project-caption p{font-size:12px;max-width:100%}.section-lead{font-size:12px;margin-top:-10px;margin-bottom:25px}.sakidori-strip{gap:18px;flex-wrap:wrap;margin-top:32px;padding-block:20px}.strip-brand{font-size:20px}.sakidori-strip>span:nth-child(2){flex-basis:100%;order:3;font-size:14px}.sakidori-strip>.circle-arrow{margin-left:auto}.steps{margin-top:35px;gap:25px 0}.steps li{padding-inline:15px}.steps h3{font-size:14px;margin-top:18px}.steps p{font-size:11px;line-height:1.95}.steps li:nth-child(even){padding-right:0}.faq-section{gap:30px}.faq-list summary{font-size:12px;gap:12px;padding-block:21px}.faq-list details p{font-size:12px;padding:0 20px 20px 29px}.faq-list .q{font-size:14px}.news-section{padding-top:0}.news-row{grid-template-columns:85px 60px 1fr 20px;gap:12px;padding-block:23px}.news-row h3{grid-column:1/4;grid-row:2;font-size:12px}.news-row>.arrow{grid-column:4;grid-row:2}.news-row time{font-size:11px}.news-tag{font-size:8px}.contact-banner{padding-block:50px}.contact-inner{gap:25px;align-items:flex-start;flex-direction:column}.contact-inner h2{font-size:27px}.contact-inner p:not(.eyebrow){font-size:12px}.contact-round{width:100%;height:auto;border-radius:0;border-inline:0;border-bottom:0;padding-top:25px;flex-direction:row;justify-content:space-between}.contact-round .arrow{font-size:27px}.contact-round:hover{background:transparent;color:var(--ink)}.site-footer{padding-top:40px;padding-bottom:100px}.footer-top{grid-template-columns:1fr;gap:25px}.footer-top .wordmark{font-size:43px}.footer-top nav{grid-template-columns:1fr 1fr;gap:15px;margin-top:4px}.footer-bottom{margin-top:30px;flex-wrap:wrap;gap:16px;font-size:9px}.footer-bottom small{flex-basis:100%}.footer-bottom a:last-child{margin-left:auto}.page-intro{padding-top:20px;padding-bottom:45px}.breadcrumbs{font-size:9px;gap:10px;margin-bottom:45px}.page-intro .eyebrow{font-size:10px}.page-intro h1{font-size:36px;margin-block:20px}.intro-copy{font-size:13px}.page-intro+.section{padding-top:45px}.two-column{grid-template-columns:1fr;gap:30px}.problem-list li{font-size:13px;padding-block:20px}.support-grid{grid-template-columns:1fr;gap:30px;margin-top:35px}.support-grid h3{font-size:21px;margin-block:15px 10px}.support-grid p{font-size:13px}.prose p{font-size:13px}.prose h2{font-size:26px}.button{font-size:12px;min-height:55px;padding:15px 20px;gap:24px}.product-detail{margin-bottom:20px;padding-bottom:40px}.product-detail h2{font-size:30px}.product-detail p:not(.eyebrow){font-size:13px}.other-projects{grid-template-columns:1fr;gap:35px}.other-projects h3{font-size:23px}.about-message{grid-template-columns:1fr;gap:40px}.about-logo img{width:200px}.company-table>div{grid-template-columns:85px 1fr;font-size:12px;gap:15px}.article-page{padding-top:20px;padding-bottom:65px}.article-page h1{font-size:26px}.article-body{padding-top:30px;margin-top:30px;margin-bottom:45px}.sakidori-hero{padding-top:20px;padding-bottom:65px}.sakidori-hero h1{font-size:48px;margin-block:25px}.product-wordmark{font-size:27px}.product-wordmark img{width:38px}.actions{gap:20px}.actions .button{width:100%}.actions .text-link{font-size:12px}.reception-visual{height:415px;padding:25px 15px;margin-top:10px}.mini-site{height:310px;width:92%}.mini-content{padding:22px 15px}.mini-content strong{font-size:19px}.chat-preview{width:210px;right:10px;top:130px}.chat-preview-body{padding:12px 12px 20px}.chat-choice{font-size:8px;padding:8px 10px}.chat-preview-head{padding:13px 12px}.visual-caption{font-size:8px;bottom:-28px}.three-steps{grid-template-columns:1fr;gap:30px}.three-steps li,.three-steps li:nth-child(3){border-left:0;border-top:1px solid #51564b;padding:22px 0 0}.three-steps li:first-child{border-top:0;padding-top:0}.three-steps h3{font-size:18px;margin-top:12px}.three-steps p{font-size:12px}.product-cta{padding-block:45px 65px}.product-cta h2{font-size:29px}.contact-content{padding-bottom:65px}.form-shell{padding:23px 19px}.form-grid{grid-template-columns:1fr;gap:0}.form-field input,.form-field select,.form-field textarea{font-size:16px}.form-field select{padding-left:8px}.contact-content aside h2{font-size:18px}.form-shell h2{font-size:21px}.small-note{font-size:10px}.hero-disc{max-width:calc(100% - 25px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.reception-contact>p:not(.eyebrow){font-size:14px;line-height:2;color:var(--muted)}.reception-contact>.button{margin-top:28px}.reception-contact h3{font-size:18px;margin-bottom:12px}.reception-contact .text-link{margin-top:18px}

/* Product portals and owner-supplied photography. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 30px}
.project-art{height:285px}.project-link{display:inline-block;margin-top:18px;border-bottom:1px solid var(--line);font-size:12px;font-weight:600;padding-bottom:4px}
.todo-art{background:#edf0db;gap:17px;color:#33422b}.todo-art img{width:100px;height:100px;object-fit:contain}.todo-art strong{font-size:27px;letter-spacing:-.03em}.todo-art div>span{display:block;font-size:11px;margin-top:8px}
.hero-photography{padding:12px 0 50px;display:block;align-self:center;min-width:0}.hero-photo{width:100%;height:470px;object-fit:cover;object-position:center;border-radius:2px;background:var(--soft)}
.photo-signature{position:absolute;bottom:12px;left:-23px;padding:15px 25px;background:var(--paper);display:flex;align-items:center;gap:20px}.photo-signature img{width:64px;height:64px;object-fit:contain}.photo-signature>span{font:9px/1.8 var(--en);letter-spacing:.14em}
.work-photo{margin:0 0 60px;overflow:hidden}.work-photo img{width:100%;height:330px;object-fit:cover;object-position:center 48%;background:var(--paper)}
.about-photo img{width:100%;height:440px;object-fit:cover;border-radius:2px;background:var(--paper)}
.official-product{display:flex;align-items:center;gap:35px;padding-top:0}.official-product h2{font:600 32px var(--en);margin-bottom:14px}.official-product .button{margin-top:25px}
.contact-frame{display:block;min-height:900px;height:1050px;margin-top:28px;background:white}.reception-contact .small-note a{text-decoration:underline;text-underline-offset:4px}.reception-contact .small-note .arrow{font-size:12px}
@media(max-width:900px){.hero-photo{height:400px}.project-art{height:240px}.todo-art{gap:10px}.todo-art img{width:75px;height:75px}.todo-art strong{font-size:23px}}
@media(max-width:640px){.product-grid{grid-template-columns:1fr;gap:35px}.project-art{height:245px}.hero-photography{padding:0 0 45px;min-height:0}.hero-photo{height:320px}.photo-signature{left:0;bottom:0;padding:12px 18px;gap:15px}.photo-signature img{width:50px;height:50px}.work-photo{margin-bottom:35px}.work-photo img{height:220px}.about-photo img{height:300px}.todo-art img{width:85px;height:85px}.todo-art strong{font-size:25px}.official-product{align-items:flex-start;gap:20px}.official-product>img{width:50px;height:50px}.official-product h2{font-size:26px}.official-product .button{padding-inline:14px;gap:15px}.contact-frame{height:1150px;min-height:950px}.reception-contact.form-shell{padding:22px 12px}}

/* A lighter, Japanese-first visual language. Brand marks identify the site and its products. */
:root{--paper:#ffffff;--white:#fff;--ink:#253c35;--muted:#5b7067;--line:#dce9e1;--soft:#f0f9f2;--green:#167253}
body{background:#fff;color:var(--ink)}
.wordmark{align-items:center;letter-spacing:-.055em;gap:10px}.wordmark .brand-icon{width:52px;height:52px;object-fit:contain;flex-shrink:0}.footer-top .wordmark{font-size:38px;gap:12px}.footer-top .brand-icon{width:64px;height:64px}
.eyebrow,.hero .eyebrow,.section-heading .eyebrow,.project-caption .eyebrow,.service-title .eyebrow,.page-intro .eyebrow{font-family:var(--font);font-size:11px;letter-spacing:.06em;color:#38745a;line-height:1.8}
.eyebrow span{color:#38745a}.status-dot{background:#479d77}
.hero h1{color:#253c35}.outline-word{color:#34845e;-webkit-text-stroke:0}.underlined{border-color:#b3dbc0}.hero-description,.intro-body>p:not(.large-copy),.intro-copy{color:#5b7067}
.hero-photo,.about-photo img,.work-photo img{border-radius:14px}.photo-signature{border:1px solid #e4eee6;border-radius:12px;box-shadow:0 8px 24px #3c724c08}.photo-signature>span{font-family:var(--font);font-size:11px;letter-spacing:.05em;line-height:1.9;color:#50715d}
.scroll-note{font-family:var(--font);font-size:11px;letter-spacing:.04em;color:#5b7067}.hero-news{border-color:#dce9e1}
.nav-contact,.button{background:#217555;border-color:#217555;color:#fff;border-radius:8px}.button:hover,.nav-contact:hover{background:#175e43}.button-light{background:white;color:#217555}.button-light:hover{background:#eff8f1}.circle-arrow{border-color:#cce4d3;background:#fff;color:#26734f}
.service-row,.service-row:last-child{border-color:#d2e6d7}.service-description p{color:#536b5e}.tags span{background:white;border-color:#d5e6d8;color:#4c6c58}.service-row:hover .circle-arrow{background:#dff2e4}
.process-section{background:#eff8fb;color:var(--ink)}.process-section .eyebrow,.process-section .eyebrow span{color:#386e79}.steps li{border-color:#cddfe5}.steps li>span{color:#3c7379}.steps h3{color:#28494b}.steps p{color:#516d72}
.sakidori-art{background:#e6f6ec;color:#195d40}.art-orbit{border-color:#cee7d8;box-shadow:0 0 0 35px #def0e4}.todo-art{background:#fff7d9;color:#5b602f}.brandline-art{background:#f8f0e3;color:#65553d}.brandline-art>i{color:#ecdfc9}.brandline-art small{font-family:var(--font);font-size:11px;letter-spacing:.08em}.ainavi-art{background:#e9f5fc;color:#325a69}.art-grid{background:repeating-linear-gradient(0deg,transparent,transparent 31px,#dcebf3 32px),repeating-linear-gradient(90deg,transparent,transparent 31px,#dcebf3 32px)}.ainavi-art .art-label{font-family:var(--font);font-size:11px;letter-spacing:.05em}.project-art{border-radius:12px}.project-link{color:#266d4e}
.sakidori-strip{background:#f6fbf7;padding-inline:22px;border-radius:12px;border-color:#dcece0}.contact-banner{background:#fff8e6}.contact-inner p:not(.eyebrow){color:#6b684f}.contact-round{background:#fffdf5;border-color:#ddd9bc;color:#5c6544}.contact-round:hover{background:#edf5df;color:#344c2e}.footer-bottom{color:#65786b}.footer-bottom a:last-child{font-family:var(--font)}
.news-tag{font-family:var(--font);color:#38745a;border-color:#d4e6d9;background:#f4faf5;white-space:nowrap}.news-row{grid-template-columns:95px 78px 1fr 24px}.news-row h3{color:var(--ink)}.form-shell{border-color:#dce9e1;border-radius:12px}.breadcrumbs{color:#65786b}
@media(max-width:1100px){.site-header nav{gap:18px}.site-header{gap:18px}.wordmark{font-size:26px}.wordmark .brand-icon{width:44px;height:44px}}
@media(min-width:641px) and (max-width:800px){.site-header nav{gap:12px;font-size:10px}.nav-contact{padding:10px 12px}.wordmark{font-size:23px;gap:6px}.wordmark .brand-icon{width:36px;height:36px}.site-header{gap:12px}.site-header .arrow{font-size:16px}}
@media(max-width:640px){.wordmark{font-size:28px;gap:9px}.wordmark .brand-icon{width:44px;height:44px}.footer-top .wordmark{font-size:34px}.footer-top .brand-icon{width:58px;height:58px}.hero .eyebrow,.hero-news .eyebrow,.section-heading .eyebrow,.service-title .eyebrow,.project-caption .eyebrow,.page-intro .eyebrow{font-size:11px}.hero-news{grid-template-columns:auto 1fr}.photo-signature>span{font-size:10px}.sakidori-strip{padding-inline:16px}.news-row{grid-template-columns:85px 78px 1fr 20px}.contact-round{background:transparent}.contact-round:hover{background:transparent;color:#344c2e}.three-steps li,.three-steps li:nth-child(3){border-color:#cddfe5}.scroll-note{font-size:10px}}

/* Small cues for navigation and reading; content never depends on animation. */
.site-header{position:sticky;top:0;background:rgba(255,255,255,.97);transition:box-shadow .2s ease,border-color .2s ease}
.site-header.is-scrolled{box-shadow:0 10px 22px -18px #204d3b55;border-bottom-color:#cce1d4}
.project{border-radius:12px;transition:transform .22s ease}.project-art{transition:box-shadow .25s ease,filter .25s ease}.project-caption .project-link{transition:color .2s ease,border-color .2s ease}
.button,.nav-contact,.circle-arrow,.contact-round{transition:background .2s ease,box-shadow .2s ease,transform .2s ease}
.news-row{transition:background .2s ease}.service-row{border-radius:8px;transition:background .2s ease,padding .2s ease}
.faq-list summary{transition:color .2s ease}.faq-list details[open]{background:#f6fbf8}.faq-list details[open] summary{color:#1c7251}
.project:focus-visible .project-art{box-shadow:0 10px 28px #245d3c20}.button:active,.nav-contact:active{transform:translateY(1px)}
@media(hover:hover) and (pointer:fine){.project:hover{transform:translateY(-4px)}.project:hover .project-art{filter:none;box-shadow:0 12px 30px #245d3c1a}.project:hover .project-link{border-color:#26734f}.button:hover,.nav-contact:hover{transform:translateY(-2px);box-shadow:0 6px 16px #20543d20}.news-row:hover{background:#f5faf7}.service-row:hover{background:#ffffffa8}.faq-list summary:hover{color:#1c7251}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.project:hover,.button:hover,.nav-contact:hover,.button:active,.nav-contact:active{transform:none!important}}
@media print{.site-header{position:static;box-shadow:none}}

/* Anonymous case studies emphasize purpose and scope, without substitute client images. */
.case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.case-card{display:flex;flex-direction:column;padding:30px 25px;border:1px solid var(--line);border-radius:12px;background:#f5faf7;transition:box-shadow .2s ease}.case-card:nth-child(2){background:#f1f8fc}.case-card:nth-child(3){background:#fffaf0}.case-card h3{font-size:21px;line-height:1.7;margin:18px 0 22px}.case-goal{font-size:13px;color:var(--muted);line-height:2}.case-goal>span{display:block;font-size:11px;color:#38745a;margin-bottom:5px}.case-card .tags{margin-top:22px;margin-bottom:28px}.case-card>.text-link{margin-top:auto;font-size:12px}.case-card:hover,.case-card:focus-visible{box-shadow:0 8px 26px #28573a12}.works-list{padding-bottom:100px}.case-detail{display:grid;grid-template-columns:1fr 1.25fr;gap:70px;padding:45px 0;border-top:1px solid var(--line);scroll-margin-top:120px}.case-detail h2{font-size:26px;margin-top:18px}.case-detail dl{margin:0}.case-detail dl>div+div{margin-top:24px}.case-detail dt{font-size:12px;font-weight:600;color:#38745a}.case-detail dd{margin:8px 0 0;font-size:14px;line-height:2;color:#536b5e}.case-detail .tags{margin-top:0}.team-columns{display:grid;grid-template-columns:1.2fr 1fr;gap:65px;margin-top:42px}.team-columns h3{font-size:21px;margin-bottom:23px}.team-partners{padding:30px;background:#f0f8fc;border-radius:12px}.team-partners p{font-size:14px;line-height:2;color:#536b5e}.team-partners ul{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none;margin:24px 0 0}.team-partners li{padding:5px 12px;background:white;border:1px solid #d6e7eb;border-radius:20px;font-size:12px}
@media(max-width:900px){.case-grid{gap:15px}.case-card{padding:23px 18px}.case-card h3{font-size:18px}.case-detail{gap:35px}.team-columns{gap:30px}}
@media(max-width:640px){.case-grid,.case-detail,.team-columns{grid-template-columns:1fr}.case-card{padding:26px 22px}.case-card h3{font-size:22px}.case-detail{gap:25px;padding:32px 0}.case-detail h2{font-size:24px}.case-detail dd{font-size:13px}.team-columns{gap:22px}.team-partners{padding:25px 22px}.team-columns h3{font-size:20px}.team-partners p{font-size:13px}.works-list{padding-bottom:65px}}

.team-enablement{margin-top:40px;padding:32px;border:1px solid var(--line);border-radius:12px;background:#f6fbf7}.team-enablement h3{font-size:23px;margin-bottom:18px}.team-enablement p{max-width:850px;font-size:14px;line-height:2.1;color:var(--muted)}.team-enablement .text-link{margin-top:22px}@media(max-width:640px){.team-enablement{padding:24px 22px;margin-top:26px}.team-enablement h3{font-size:20px}.team-enablement p{font-size:13px}}

/* Service illustrations stay decorative; headings and copy carry the meaning. */
.service-row{grid-template-columns:150px 1fr 1.1fr 50px;gap:26px}.service-illustration{position:relative;align-self:center}.service-illustration img{display:block;width:100%;height:auto}.service-illustration .service-number{position:absolute;left:13px;bottom:6px;font-size:10px;color:#4e7460;padding:0}.service-row:hover{padding-inline:0}
.team-diagram{margin:45px 0 50px;padding:38px 30px 30px;background:#f7fbf8;border:1px solid var(--line);border-radius:16px}.team-diagram figcaption{text-align:center;margin-bottom:36px}.team-diagram figcaption strong{display:block;font-size:24px;line-height:1.7}.team-diagram figcaption>span{display:block;margin-top:10px;font-size:13px;color:var(--muted)}.team-map{position:relative;display:grid;grid-template-columns:1fr 1.15fr 1fr;grid-template-areas:"internal customer urakata" "specialists specialists specialists";gap:38px 28px;align-items:center}.team-map:before{content:"";position:absolute;top:110px;left:15%;right:15%;height:2px;background:#b6d5c2}.team-node{position:relative;padding:25px 16px;text-align:center;background:#fff;border:1px solid #d7e8dc;border-radius:12px;min-width:0}.team-node-label{display:block;font-size:12px;font-weight:600;color:#477255}.team-node strong{display:block;font-size:17px;margin:8px 0}.team-node p{font-size:11px;line-height:1.9;color:var(--muted)}.team-customer{grid-area:customer;border:2px solid #8abc9a;background:#ecf7ed;padding-block:24px}.team-customer svg{display:block;margin:0 auto 10px}.team-customer strong{font-size:22px}.team-internal{grid-area:internal;background:#fffaf0}.team-urakata{grid-area:urakata;background:#eff8fc}.team-urakata img{margin:0 auto 7px;width:50px;height:50px;object-fit:contain}.team-specialists{grid-area:specialists;position:relative;padding-top:2px}.team-specialists:before{content:"";position:absolute;left:50%;top:-38px;width:2px;height:34px;background:#b6d5c2}.team-connection-label{text-align:center;font-size:12px;color:#577860;margin:8px 0 20px}.team-specialists ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.team-specialists li{display:grid;grid-template-columns:38px 1fr;align-content:center;gap:0 10px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px}.team-specialists li>span{grid-row:1/3;align-self:center;font-size:27px;text-align:center;color:#638c73}.team-specialists strong{font-size:14px}.team-specialists small{font-size:11px;color:var(--muted)}
@media(max-width:1100px){.service-row{grid-template-columns:110px 1fr 1fr 40px;gap:19px}.team-diagram{padding:30px 20px}.team-map{gap:30px 18px}.team-specialists ul{gap:12px}.team-specialists li{grid-template-columns:1fr;padding:16px;text-align:center}.team-specialists li>span{grid-row:auto;font-size:23px}.team-node strong{font-size:16px}.team-customer strong{font-size:20px}}
@media(max-width:800px){.service-row{grid-template-columns:85px 1fr 1fr 35px;gap:14px}.team-map{grid-template-columns:1fr 1fr;grid-template-areas:"customer customer" "internal urakata" "specialists specialists";gap:22px}.team-customer{width:min(340px,100%);justify-self:center}.team-map:before{top:180px;bottom:140px;height:auto;left:50%;right:auto;width:2px}.team-specialists{background:#f7fbf8}.team-specialists:before{display:none}.team-diagram figcaption strong{font-size:22px}}
@media(max-width:640px){.service-row{grid-template-columns:84px minmax(0,1fr) 35px;gap:15px 12px}.service-illustration{grid-column:1;grid-row:1;align-self:start;margin-top:5px}.service-title{grid-column:2;grid-row:1}.service-title h3{font-size:18px}.service-description{grid-column:1/-1;grid-row:2;padding-left:0}.service-row>.circle-arrow{grid-column:3;grid-row:1}.service-illustration .service-number{font-size:8px;left:8px;bottom:2px}.team-diagram{padding:25px 16px;margin:30px 0}.team-diagram figcaption{margin-bottom:25px}.team-diagram figcaption strong{font-size:20px}.team-diagram figcaption>span{font-size:12px}.team-map{grid-template-columns:minmax(0,1fr);grid-template-areas:"customer" "internal" "urakata" "specialists";gap:22px}.team-customer{width:100%}.team-map:before{top:80px;bottom:100px}.team-node{padding:22px 15px}.team-node strong{font-size:18px}.team-node p{font-size:12px}.team-specialists ul{grid-template-columns:minmax(0,1fr);gap:10px}.team-specialists li{grid-template-columns:38px 1fr;text-align:left;padding:15px 18px}.team-specialists li>span{grid-row:1/3}.team-specialists small{font-size:12px}.team-connection-label{font-size:11px}}

.ai-support{margin-top:36px;padding:28px 30px;background:#fff;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:30px}.ai-support h2{font-size:21px;margin:8px 0 12px}.ai-support p:not(.eyebrow){max-width:680px;font-size:13px;line-height:2;color:var(--muted)}.ai-support>.text-link{flex-shrink:0}.related-ai{padding-bottom:70px}.related-ai .ai-support{margin-top:0;background:#f2f8fc}@media(max-width:900px){.ai-support{align-items:flex-start;flex-direction:column;gap:20px}}@media(max-width:640px){.ai-support{padding:23px 20px}.ai-support h2{font-size:19px}.ai-support>.text-link{font-size:12px;gap:14px}.related-ai{padding-bottom:50px}}

.guide-art{flex-direction:column;align-items:flex-start;padding:32px;gap:22px}.line-guide-art{background:#edf8e9;color:#326345}.recruitment-guide-art{background:#eef0fc;color:#485780}.guide-art strong{font-size:27px;line-height:1.65;letter-spacing:.02em}.guide-art-label,.guide-art-sub{font-size:11px;letter-spacing:.04em}@media(max-width:900px){.guide-art{padding:24px;gap:18px}.guide-art strong{font-size:23px}}@media(max-width:640px){.guide-art{padding:28px}.guide-art strong{font-size:25px}}

/* Media uses the original social preview images from each site's source. */
.media-section{background:#f5f9fc}.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.media-card{background:white;border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column}.media-image{aspect-ratio:1280/670;background:white;border-bottom:1px solid var(--line);overflow:hidden}.media-image img{display:block;width:100%;height:100%;object-fit:contain}.media-card .project-caption{padding:24px;display:flex;flex-direction:column;flex:1}.media-card .project-caption>.arrow{top:22px;right:20px}.media-card .eyebrow{padding-right:20px}.media-card h3{font-size:21px;line-height:1.65}.media-card .project-caption p{margin-bottom:20px}.media-card .project-link{margin-top:auto;align-self:flex-start}.media-page-grid{padding-top:0}
@media(max-width:1000px){.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.media-grid{grid-template-columns:1fr;gap:26px}.media-card .project-caption{padding:24px}.media-card h3{font-size:22px}}
@media(max-width:1000px){.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;border:0;background:transparent;padding:9px;z-index:2}.menu-toggle span{width:24px;height:1px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:25px 25px 30px;box-shadow:0 15px 20px #1b241010;flex-direction:column;align-items:stretch;gap:5px;font-size:14px}.site-header nav.open{display:flex}.site-header nav>a:not(.nav-contact){padding:12px 0}.nav-contact{margin-top:15px;padding:15px 20px;justify-content:space-between}}

/* One restrained palette for the corporate site; original brand images retain their colors. */
:root{--paper:#fff;--white:#fff;--ink:#303733;--muted:#656c68;--line:#e0e4e1;--soft:#f5f6f5;--green:#3c6955}
body{color:var(--ink)}
.soft-section,.process-section,.media-section,.contact-banner{background:var(--soft);color:var(--ink)}
.hero h1,.steps h3,.news-row h3{color:var(--ink)}
.hero-description,.intro-body>p:not(.large-copy),.intro-copy,.service-description p,.steps p,.contact-inner p:not(.eyebrow),.team-partners p,.case-detail dd{color:var(--muted)}
.eyebrow,.eyebrow span,.hero .eyebrow,.section-heading .eyebrow,.project-caption .eyebrow,.service-title .eyebrow,.page-intro .eyebrow,.process-section .eyebrow,.process-section .eyebrow span,.steps li>span,.case-goal>span,.case-detail dt{color:var(--green)}
.outline-word,.project-link,.team-node-label,.team-connection-label{color:var(--green)}
.underlined,.service-row,.service-row:last-child,.steps li,.hero-news,.form-shell{border-color:var(--line)}
.sakidori-art,.todo-art,.brandline-art{background:#f3f5f3;color:var(--ink)}
.art-orbit{border-color:#e2e7e3;box-shadow:0 0 0 35px #edf0ed}.brandline-art>i{color:#e1e6e2}
.case-card,.case-card:nth-child(2),.case-card:nth-child(3),.team-partners,.team-diagram,.team-specialists,.team-enablement,.related-ai .ai-support,.faq-list details[open],.sakidori-strip{background:var(--soft);border-color:var(--line)}
.team-node,.team-internal,.team-urakata,.team-customer{background:#fff;border-color:var(--line)}
.team-customer{border-color:#a4b6ab}.team-map:before,.team-specialists:before{background:#cbd5ce}
.tags span,.team-partners li,.team-specialists li,.news-tag{background:#fff;border-color:var(--line);color:var(--muted)}
.nav-contact,.button{background:var(--green);border-color:var(--green)}
.button-light{background:#fff;color:var(--green)}
.circle-arrow,.contact-round{background:#fff;border-color:var(--line);color:var(--green)}
.contact-round:hover,.button-light:hover,.service-row:hover .circle-arrow{background:#edf1ee;color:var(--green)}
.service-illustration img{filter:grayscale(1)}
.business-group{margin-top:48px}.business-group+.business-group{margin-top:64px;padding-top:40px;border-top:1px solid var(--line)}
.business-group-heading{display:flex;align-items:baseline;gap:24px;margin-bottom:24px}.business-group-heading h3{font-size:22px}.business-group-heading p{font-size:13px;color:var(--muted)}
.business-section .product-grid,.business-section .media-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.business-section .project{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}
.business-section .project-art{height:auto;aspect-ratio:1280/670;border-radius:0;border-bottom:1px solid var(--line)}
.business-section .project-caption{padding:24px;display:flex;flex-direction:column;flex:1}
.business-section .project-caption>.arrow{top:22px;right:20px}.business-section .project-caption .eyebrow{padding-right:20px}
.business-section .project-caption h3{font-size:21px;line-height:1.65}.business-section .project-caption p{margin-bottom:20px}.business-section .project-link{align-self:flex-start;margin-top:auto}
.business-section .sakidori-art{gap:12px;font-size:32px}.business-section .sakidori-art img{width:44px;height:44px}.business-section .todo-art img{width:64px;height:64px}.business-section .todo-art strong{font-size:23px}.business-section .brandline-art .serif{font-size:36px}
.business-page{padding-top:0}.business-page .business-group:first-child{margin-top:0}
@media(max-width:1000px){.business-section .product-grid,.business-section .media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.business-section .product-grid,.business-section .media-grid{grid-template-columns:1fr}.business-group-heading{display:block}.business-group-heading p{margin-top:8px}.business-group{margin-top:32px}.business-group+.business-group{margin-top:40px;padding-top:30px}.business-section .project-art{min-height:180px}}

.news-date{font-family:var(--en);font-size:12px;color:var(--muted);white-space:nowrap}.article-meta{flex-wrap:wrap}.news-tag{font-size:10px}

/* Readable policy text without changing the site-wide prose style. */
.privacy-policy ul{padding-left:1.4em;margin:0 0 24px;list-style:disc;color:#545b4d;line-height:2}
.privacy-policy li{margin-bottom:.4em;font-size:14px}
.privacy-policy li a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
@media(max-width:640px){.privacy-policy li{font-size:13px}.privacy-policy h2{font-size:23px;overflow-wrap:anywhere}}
