/* Studio GO / a paper journal about making a useful website. */
:root{--paper:#ffffff;--ink:#002664;--accent:#00999a;--line:#d5dce8;--muted:#52647a;--shadow:#001a47;--gutter:clamp(20px,3.75vw,72px);--ease:cubic-bezier(.22,1,.36,1);--bar:72px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 14px/1.9 "Noto Sans JP","Yu Gothic",sans-serif;-webkit-font-smoothing:antialiased}
body::after{content:"";position:fixed;inset:0;z-index:60;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' d='M0 0h150v150H0z'/%3E%3C/svg%3E")}
::selection{background:var(--accent);color:var(--paper)}
p,h1,h2,h3,h4,figure,ul,ol,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit;text-decoration:none;text-underline-offset:5px}
button{font:inherit;color:inherit;cursor:pointer}
img{display:block;max-width:100%;height:auto}
svg{display:block}
small{font-size:inherit}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
button:disabled{cursor:default}
[id]{scroll-margin-top:calc(var(--bar) + 20px)}
.inner,.r1-wrap,.cover-grid{width:calc(100% - var(--gutter)*2);max-width:1600px;margin-inline:auto}
.group-bar{border-bottom:1px solid var(--line);font-size:10px;line-height:1.6}
.group-bar>.inner{display:flex;align-items:center;justify-content:space-between;min-height:30px}
.group-brand:hover{color:var(--accent)}
.group-menu{position:relative;z-index:90}
.group-menu summary{list-style:none;display:flex;gap:15px;align-items:center;cursor:pointer;padding-block:6px}
.group-menu summary::-webkit-details-marker{display:none}
.group-menu summary>span{color:var(--accent)}
.group-menu ul{position:absolute;top:100%;right:0;min-width:270px;max-width:calc(100vw - 38px);background:var(--paper);padding:22px;border:1px solid var(--ink)}
.group-menu li+li{margin-top:13px}
.group-menu a:hover{color:var(--accent)}
.group-menu a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--accent)}
.journal-header{position:sticky;top:0;z-index:80;background:var(--paper);border-bottom:1px solid var(--ink)}
.journal-header>.inner{display:flex;gap:25px;align-items:center;min-height:72px;padding-block:8px}
.logo{display:inline-flex;align-items:center}
.logo--with-mark{gap:10px;flex:0 0 auto}
.logo-service-mark{width:40px;height:auto}
.logo-service-text{display:flex;flex-direction:column;line-height:1.15}
.logo-service-text>b{display:flex;flex-direction:column;font:800 31px/1.05 "Barlow Condensed",sans-serif;letter-spacing:-.015em}
.logo-pre{font:600 8px/1.5 "Noto Sans JP",sans-serif;letter-spacing:.08em}
.logo-service-text>small{font-size:7px;letter-spacing:.04em;line-height:1.5}
.gnav{flex:1;font-size:11px;font-weight:600}
.gnav ul{display:flex;gap:clamp(14px,1.7vw,30px);align-items:center}
.gnav ul a{display:block;padding-block:8px;border-bottom:1px solid transparent}
.gnav ul a:hover,.gnav ul a:focus-visible{border-color:var(--accent);color:var(--accent)}
.gnav-cta{display:none!important}
.header-tel{flex:0 0 auto;display:flex;align-items:center;white-space:nowrap}
.phone-copy{display:flex;flex-direction:column;gap:4px}
.phone-copy b{font:600 19px/1.2 "Barlow Condensed",sans-serif}
.phone-copy small{font-size:9px;line-height:1.3}
.phone-icon{display:none}
.menu-btn{display:none}
.btn,.vh-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 22px;border:1px solid var(--ink);font-size:13px;font-weight:600;line-height:1.7;transition:background-color .2s,color .2s,box-shadow .2s}
.btn--primary,.vh-btn{background:var(--accent);color:var(--paper);box-shadow:5px 5px 0 var(--shadow);border-color:var(--ink)}
.btn--primary:hover,.vh-btn:hover{background:#003583;box-shadow:2px 2px 0 var(--shadow)}
.btn--primary:active,.vh-btn:active{box-shadow:none}
.btn--ghost:hover{background:var(--ink);color:var(--paper)}
.journal-header .header-consult{min-height:36px;padding:8px 14px;background:var(--paper);color:var(--ink);font-size:11px;box-shadow:none;white-space:nowrap}
.journal-header .header-consult:hover{color:var(--accent);border-color:var(--accent)}
/* Cover: the offer sits beside the headline, without a decorative photograph. */
.sg-cover{padding-top:48px;padding-bottom:0}
.cover-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(290px,.85fr);gap:50px;align-items:center}
.ds2-hero-kicker{display:flex;gap:22px;align-items:center;font-size:12px;font-weight:600;line-height:1.6;margin-bottom:24px}
.ds2-hero-kicker>span{padding-left:22px;border-left:1px solid var(--line);font-size:11px;font-weight:400}
.cover-heading{font-size:clamp(45px,5.4vw,86px);line-height:1.4;font-weight:900;letter-spacing:-.065em;word-break:keep-all}
.cover-line{display:block;white-space:nowrap}
.cover-heading .cover-line:last-child{font-size:1.07em}
.ds2-hero-lead{font-size:15px;line-height:2.1;font-weight:600;max-width:530px;margin-top:25px}
.cover-offer{padding-left:36px;border-left:1px solid var(--line);align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.sg-hero-free{font-size:15px;font-weight:600;line-height:1.4;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:23px}
.sg-hero-free b{display:block;font-size:clamp(68px,7vw,112px);font-weight:900;line-height:1.1;letter-spacing:-.09em;color:var(--accent)}
.vh-btn{width:100%;gap:18px;padding:18px 16px;font-size:14px}
.vh-btn>span{font-size:21px;line-height:1}
.sg-hero-paid{margin-top:24px;font-size:11px;line-height:2.1}
.sg-hero-paid>span{display:block;font-weight:600;font-size:11px;margin-bottom:4px}
.sg-hero-paid b{font-size:15px;font-weight:900;letter-spacing:-.02em}
.tax-in{font-size:11px;color:var(--muted);font-weight:400;letter-spacing:0}
.sg-hero-paid>small:last-child{font-size:10px;color:var(--muted)}
.vh-foot{padding-block:30px 25px;border-bottom:4px solid var(--ink);margin-top:40px}
.vh-scroll{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:600}
.vh-scroll i{display:block;width:15px;height:15px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);transform:rotate(45deg);margin-right:5px;margin-top:-7px}
/* Sections borrow the company journal's large folios and restrained horizontal rules. */
.sec,.r1-section{padding-block:88px}
.sec-head,.r1-section-head,.db-section-head{display:grid;grid-template-columns:100px minmax(0,1fr);column-gap:28px;align-items:start;margin-bottom:40px}
.ds2-chapter{grid-column:1;grid-row:1/4;align-self:start;display:block;font:600 88px/.95 "Barlow Condensed",sans-serif;letter-spacing:-.045em}
.eyebrow,.r1-kicker{font-size:12px;font-weight:600;line-height:1.7;grid-column:2;margin-bottom:10px}
.sec-head h2,.r1-section-head h2,.db-section-head h2{grid-column:2;font-size:clamp(29px,3.05vw,46px);font-weight:900;line-height:1.55;letter-spacing:-.045em;max-width:1050px}
.sec-head>p:not(.r1-kicker):not(.sg-plans-free),.r1-section-head>p:not(.r1-kicker),.db-section-head>p{grid-column:2;margin-top:18px;max-width:710px;font-size:13px;line-height:2.1}
.sec--alt{background:#e6eaf0}
.heading-phrase{display:inline-block;white-space:nowrap;vertical-align:baseline}
:is(h1,h2,h3,blockquote){word-break:keep-all;overflow-wrap:anywhere;text-wrap:balance}
.type-mask{display:block;overflow:hidden;padding:.07em 0;margin:-.07em 0}
.type-glyph{display:inline-block;vertical-align:baseline}
.sg-works{display:grid;grid-template-columns:1fr 1fr;gap:44px 32px}
.sg-works>li:first-child{grid-column:1/-1}
.sg-work{display:block}
.sg-work-img{display:block;overflow:hidden;border:1px solid var(--ink);background:var(--ink)}
.sg-work-img img{width:100%;aspect-ratio:16/9;object-fit:contain;object-position:center}
.work-caption{display:grid;grid-template-columns:1fr auto;align-items:end;padding-block:18px 20px;border-bottom:1px solid var(--ink);gap:6px 16px}
.sg-work-kind{grid-column:1;font-size:10px;font-weight:600;color:var(--muted)}
.work-caption>b{grid-column:1;font-size:25px;font-weight:900;line-height:1.6;letter-spacing:-.04em}
.sg-work-go{grid-column:2;grid-row:1/3;font-size:11px;white-space:nowrap}
.sg-work:hover .sg-work-go,.sg-work:focus-visible .sg-work-go{color:var(--accent);text-decoration:underline}
.sg-works>li:first-child .sg-work{display:grid;grid-template-columns:minmax(0,3.2fr) minmax(200px,1fr);align-items:stretch}
.sg-works>li:first-child .work-caption{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;border-top:1px solid var(--ink);padding:32px 0 32px 30px}
.sg-works>li:first-child .work-caption>b{font-size:32px;margin-block:2px 25px}
.sg-works>li:first-child .sg-work-go{padding-top:18px;width:100%;border-top:1px solid var(--line)}
.sg-works-note{font-size:11px;line-height:2;margin-top:24px;border-left:2px solid var(--accent);padding-left:15px;max-width:800px}
.mt-m{margin-top:30px}
#works .mt-m{text-align:right}
#works .btn--ghost{min-height:42px;font-size:11px;padding:10px 20px}
#proof{padding-top:0}
#proof .r1-wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:0 50px}
#proof .r1-section-head{grid-column:1/-1;padding-top:30px;border-top:1px solid var(--ink)}
.r1-more-links{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:0 28px;grid-column:2;grid-row:2}
.r1-more-links>a{display:flex;align-items:center;min-height:95px;padding-block:20px;border-top:1px solid var(--ink);font-weight:600;font-size:14px;line-height:1.8}
.r1-more-links>a:hover{color:var(--accent)}
.proof-sheet{grid-column:1;grid-row:2;min-width:0}
.ds2-demo-label{font-size:12px;line-height:1.8;margin-bottom:12px}
.ds2-screen{border:1px solid var(--ink);background:var(--paper)}
.ds2-screen-bar{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--ink);padding:12px 16px;font-size:10px;line-height:1.8}
.ds2-screen-bar small{font-size:9px;color:var(--muted);white-space:nowrap}
.ds2-site-finished{padding:20px 25px 0}
.ds2-mini-nav{display:flex;justify-content:space-between;align-items:center;gap:14px;padding-bottom:15px;border-bottom:2px solid var(--ink);font-size:9px}
.ds2-mini-nav img{width:122px;height:auto}
.ds2-site h3{font-size:clamp(35px,4.3vw,65px);line-height:1.5;letter-spacing:-.06em;margin-block:24px 27px}
.ds2-site h3>span:not(.type-mask):not(.type-glyph){color:var(--accent)}
.ds2-site .mini-ai{color:var(--paper);background:var(--accent);padding:0 .1em;border-radius:2px}
.ds2-mini-services{display:grid;grid-template-columns:1.5fr 1fr 1fr;font-size:9px;line-height:1.8;border-top:1px solid var(--ink)}
.ds2-mini-services>span{padding:12px 6px 12px 0}
.ds2-demo-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px;font-size:10px;line-height:1.8}
.motion-control{border:0;border-bottom:1px solid var(--line);background:transparent;padding:4px 0;font-size:10px;white-space:nowrap}
.motion-control:hover{color:var(--accent)}
body:not(.js-ready) .motion-control{display:none}
.db-web-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.db-web-services>article{border-top:1px solid var(--ink);padding-top:20px;min-width:0}
.db-web-services h3{font-size:23px;line-height:1.6;letter-spacing:-.035em;margin-top:24px;font-weight:900}
.db-web-services article>p{font-size:12px;line-height:2;margin-top:12px}
.db-web-services article>a{display:inline-block;margin-top:18px;border-bottom:1px solid var(--ink);font-size:12px;font-weight:600;padding-block:4px}
.db-web-services article>a:hover{color:var(--accent);border-color:var(--accent)}
.sg05-screen,.sg05-map,.sg05-line{height:235px;border:1px solid var(--ink);background:var(--paper);position:relative;overflow:hidden}
.sg05-bar,.sg05-map>small,.sg05-line>small{display:block;padding:9px 14px;border-bottom:1px solid var(--line);font-size:9px;font-weight:400;line-height:1.6;text-align:left}
.sg05-screen-face{padding:15px 18px 0}
.s6-site-preview-header{display:flex;justify-content:space-between;align-items:center;gap:10px;font:800 23px/1 "Barlow Condensed",sans-serif;border-bottom:2px solid var(--ink);padding-bottom:13px}
.s6-site-preview-header>span{font:600 8px/1.5 "Noto Sans JP",sans-serif}
.sg05-screen-face>strong{display:block;font-size:22px;line-height:1.6;margin-top:17px;max-width:280px;letter-spacing:-.04em}
.sg05-screen-menu{position:absolute;bottom:0;left:18px;right:18px;display:flex;justify-content:space-between;font-size:9px;border-top:1px solid var(--line);padding-block:10px}
.sg05-screen-menu>span:last-child{color:var(--accent)}
.sg05-map{text-align:center;background-color:#e6eaf0;background-image:linear-gradient(35deg,transparent 48%,#f6f3ed 48%,#f6f3ed 54%,transparent 54%),linear-gradient(100deg,transparent 40%,#f6f3ed 40%,#f6f3ed 46%,transparent 46%)}
.sg05-map>small{background:var(--paper)}
.sg05-map>div{font-size:55px;line-height:1.1;color:var(--accent);margin-top:15px}
.sg05-map>b{display:block;font-size:15px;margin-top:6px}
.sg05-map>p{font-size:10px;margin-top:5px}
.sg05-map>span{display:inline-block;font-size:10px;border-bottom:1px solid var(--ink);margin-top:10px}
.sg05-line>b{display:block;font-size:19px;margin:18px 19px 0}
.sg05-line>p{font-size:10px;margin:8px 19px 14px}
.sg05-line>span{display:block;border-block:1px solid var(--line);padding-block:9px;margin-inline:19px;font:600 20px/1.5 "Barlow Condensed",sans-serif;word-spacing:14px}
.sg05-line>strong{display:block;font-size:10px;color:var(--accent);margin:13px 19px}
.r1-roles{padding-top:0}
.r1-roles .r1-wrap{border-top:1px solid var(--ink);padding-top:30px}
.r1-roles-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}
.r1-role{border-top:3px solid var(--ink);padding-top:25px}
.r1-role-label{font-size:11px;color:var(--accent);font-weight:600}
.r1-role h3{font-size:25px;font-weight:900;line-height:1.6;letter-spacing:-.035em;margin-block:10px 20px}
.r1-role li{position:relative;border-top:1px solid var(--line);padding:15px 0 15px 18px;font-size:13px;line-height:2}
.r1-role li::before{content:"";width:4px;height:4px;background:var(--accent);position:absolute;left:0;top:27px}
.r1-flow{background:var(--ink);color:var(--paper)}
.r1-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #77756d;margin-top:45px}
.r1-steps>li{border-right:1px solid #77756d;padding:28px 25px 12px;min-width:0}
.r1-steps>li:first-child{padding-left:0}
.r1-steps>li:last-child{border:0;padding-right:0}
.r1-step-number{font:600 78px/1 "Barlow Condensed",sans-serif;color:#2cb5b6;letter-spacing:-.04em}
.r1-steps h3{font-size:21px;line-height:1.7;font-weight:900;margin-top:22px;letter-spacing:-.04em}
.r1-steps p{font-size:12px;line-height:2.2;margin-block:14px 22px}
.r1-step-note{display:block;padding-top:15px;border-top:1px solid #77756d;font-size:10px;color:#e6eaf0}
.r3-flow-more{background:var(--ink);color:var(--paper);width:100%;max-width:none;padding:0 var(--gutter) 36px;text-align:right}
.r1-text-link{font-size:12px;display:inline-block;border-bottom:1px solid currentColor;padding-bottom:5px}
.r1-text-link:hover{color:#2cb5b6}
/* Free proof first; net prices lead, gross prices are separate quiet annotations. */
#plans{padding-top:75px}
#plans .sec-head{margin-bottom:38px}
#plans .ds2-chapter{grid-row:1/5}
.sg-plans-free{grid-column:2;display:flex;align-items:baseline;gap:22px;font-size:25px;font-weight:900;line-height:1.6;margin-block:8px 25px}
.sg-plans-free>b{font-size:90px;font-weight:900;line-height:1.15;color:var(--accent);letter-spacing:-.075em}
#plans h2{font-size:31px;line-height:1.7}
.sg-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.sg-plan{display:flex;flex-direction:column;min-width:0;position:relative;border-top:3px solid var(--ink);padding-top:26px}
.sg-plan.is-rec{border-top-color:var(--accent)}
.sg-plan-rec{align-self:flex-start;background:var(--accent);color:var(--paper);font-size:10px;font-weight:600;padding:1px 10px;line-height:1.7;margin-top:-48px;margin-bottom:28px}
.sg-plan h3{font-size:24px;font-weight:900;line-height:1.6;letter-spacing:-.04em}
.sg-plan-catch{font-size:11px;line-height:1.8;margin-top:8px}
.sg-plan-price{margin-top:26px;border-top:1px solid var(--line);padding-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.sg-plan-price dt{font-size:10px;font-weight:600;margin-bottom:8px;white-space:nowrap;letter-spacing:-.035em}
.sg-plan-price dd{font-size:12px;line-height:1.3;white-space:nowrap}
.sg-plan-price .en{font:600 clamp(32px,3.7vw,58px)/1 "Barlow Condensed",sans-serif;letter-spacing:-.025em}
.sg-plan-price .tax-in{display:block;font-size:10px;margin-top:7px;line-height:1.6;white-space:nowrap}
.sg-plan-spec{margin-block:28px 24px;flex:1;border-top:1px solid var(--line)}
.sg-plan-spec li{padding-block:15px;border-bottom:1px solid var(--line);font-size:12px;line-height:1.9}
.sg-plan-spec li>span{display:block;font-size:10px;color:var(--muted);margin-bottom:4px}
.sg-plan-spec li>small{font-size:10px;color:var(--muted)}
.sg-plan>.btn{width:100%;font-size:12px;min-height:52px}
.sg-plans-note{font-size:11px;line-height:2.1;margin-top:35px;max-width:1050px}
.sg-btns{display:flex;gap:15px;flex-wrap:wrap}
.sg-btns .btn{font-size:11px;min-height:42px;padding:10px 18px}
#faq{background:var(--paper);border-top:1px solid var(--line)}
.faq{margin-left:128px}
.faq details{border-top:1px solid var(--ink)}
.faq details:last-child{border-bottom:1px solid var(--ink)}
.faq summary{position:relative;list-style:none;padding:24px 50px 24px 0;font-size:18px;font-weight:600;line-height:1.8;cursor:pointer}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"＋";color:var(--accent);position:absolute;right:0;top:24px;font-weight:400;font-size:22px}
.faq details[open] summary::after{content:"−"}
.faq details>div{font-size:13px;line-height:2.2;max-width:780px;padding:0 45px 27px 0}
.db-more{margin-top:30px;text-align:right;font-size:12px}
.db-more a{border-bottom:1px solid var(--ink);padding-bottom:5px}
.db-more a:hover{color:var(--accent)}
#connect{padding-top:0}
#connect .inner{border-top:1px solid var(--ink);padding-top:30px}
.db-connected{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.db-connected>a{border-top:1px solid var(--line);border-bottom:1px solid var(--ink);display:grid;grid-template-columns:50px 1fr;padding-block:25px;font-size:13px;line-height:1.8}
.db-connected b{display:block;font-size:27px;grid-column:2;margin-top:8px;font-weight:900;letter-spacing:-.04em}
.db-connected>a:hover b{color:var(--accent)}
.sg05-icon{grid-row:1/3;font-size:31px;line-height:1.4;color:var(--accent)}
.cta-band{background:var(--accent);color:var(--paper);padding-block:75px 85px}
.cta-band>.inner{display:grid;grid-template-columns:1.1fr .9fr;gap:60px}
.cta-band .ds2-chapter{font-size:68px;line-height:1;margin-bottom:27px;color:#7fd1d2}
.cta-band h2{font-size:clamp(31px,3.8vw,57px);font-weight:900;line-height:1.65;letter-spacing:-.055em}
.cta-band h2 .type-mask{display:block}
.cta-band .inner>div>p{font-size:13px;line-height:2.1;margin-top:22px;max-width:490px}
.cta-actions{align-self:center;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cta-actions>.btn--primary{grid-column:1/-1;background:var(--paper);color:var(--ink);border-color:var(--ink);font-size:25px;min-height:83px;box-shadow:7px 7px 0 var(--shadow)}
.cta-actions>.btn--primary:hover{background:#f5f7fa;box-shadow:2px 2px 0 var(--shadow)}
.cta-actions>.btn--primary:active{box-shadow:none}
.cta-actions>.btn--ghost,.cta-actions>.btn--line{border-color:#7fd1d2;font-size:12px;background:transparent;box-shadow:none;padding:14px 10px}
.cta-actions>.btn--ghost:hover,.cta-actions>.btn--line:hover{background:var(--paper);color:var(--accent)}
.cta-actions>.text-sub{grid-column:1/-1;font-size:11px;line-height:1.9;margin-top:0}
.site-footer{background:var(--ink);color:var(--paper);padding-top:64px}
.footer-top{display:grid;grid-template-columns:2.15fr 1fr 1.1fr .85fr;gap:35px;border-bottom:1px solid #77756d;padding-bottom:50px}
.footer-company-logo{max-width:220px;margin-bottom:28px}
.footer-brand>.logo:not(.footer-company-logo){display:flex;flex-direction:column;align-items:flex-start;line-height:1.2}
.footer-brand>.logo>b{font:800 38px/1.2 "Barlow Condensed",sans-serif;display:flex;flex-direction:column;letter-spacing:-.02em}
.footer-brand .logo-pre{color:#b8c4d6;letter-spacing:.06em;font-size:10px}
.footer-brand>.logo>small{font-size:9px;color:#b8c4d6;letter-spacing:.04em;margin-top:4px}
.footer-brand>p{font-size:13px;line-height:2.1;margin-top:24px}
address{font-size:10px;line-height:2.3;font-style:normal;margin-top:20px;max-width:390px}
address a{text-decoration:underline;text-decoration-color:#77756d}
.footer-col{font-size:11px;line-height:1.9}
.footer-col h4{font-size:11px;font-weight:600;margin-bottom:20px}
.footer-col li+li{margin-top:12px}
.footer-col li>a:hover,.footer-bottom a:hover{color:#7fd1d2}
.footer-gap{height:35px}
.footer-contact .btn{font-size:11px;min-height:46px;padding:12px 14px;width:100%;background:transparent;color:var(--paper);border-color:#8493a8;box-shadow:none;white-space:nowrap}
.footer-contact .btn:hover{background:var(--paper);color:var(--ink)}
.footer-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;padding-block:28px 35px;font-size:9px;line-height:1.9}
.footer-bottom ul{display:flex;flex-wrap:wrap;gap:8px 22px;max-width:870px}
.footer-bottom>p{white-space:nowrap;font-size:9px;color:#b8c4d6}
.w-sp-bar{display:none}
/* Text alone slides; photographs and other elements only fade. */
@keyframes type-set{from{transform:translateY(112%)}to{transform:translateY(0)}}
@keyframes paper-fade{from{opacity:0}to{opacity:1}}
.motion-enabled .typeset:not(.is-visible) .type-glyph{transform:translateY(112%)}
.motion-enabled .heading-phrase{clip-path:inset(-.08em -1px)}
.motion-enabled .typeset.is-visible .type-glyph{animation:type-set .85s var(--ease) both;animation-delay:calc(var(--glyph-i,0)*24ms)}
.motion-enabled .fade-in:not(.is-visible){opacity:0}
.motion-enabled .fade-in.is-visible{animation:paper-fade .85s ease both}
.is-paused .type-glyph{animation:none!important;transform:none!important}
.is-paused .fade-in{animation:none!important;opacity:1!important}
@media(min-width:1500px){.sg-plan-price .en{font-size:65px}.sg-plan-price dd{font-size:14px}}
@media(max-width:1099px){
 :root{--bar:68px}
 .journal-header>.inner{display:grid;grid-template-columns:minmax(0,1fr) 30px 96px 42px;gap:0 8px;min-height:68px;padding-block:8px}
 .journal-header .logo--with-mark{grid-column:1;grid-row:1;gap:8px;min-width:0}
 .logo-service-mark{width:31px}
 .logo-service-text>b{font-size:27px}
 .logo-pre{font-size:7px;letter-spacing:0;line-height:1.4}
 .logo-service-text>small{font-size:6px;letter-spacing:0;line-height:1.4}
 .header-tel{grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:center;height:36px;width:30px}
 .phone-copy{display:none}
 .phone-icon{display:block}
 .journal-header .header-consult{grid-column:3;grid-row:1;width:96px;height:36px;min-height:36px;padding:0;font-size:10px}
 .js-ready .menu-btn{grid-column:4;grid-row:1;display:flex;align-items:center;justify-content:center;width:42px;height:36px;border:0;background:transparent;font:600 14px/1 "Barlow Condensed",sans-serif;padding:0}
 .gnav{grid-column:1/-1;grid-row:2;width:100%;font-size:14px;padding:12px 0}
 .gnav ul{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}
 .gnav li{border-bottom:1px solid var(--line)}
 .gnav ul a{padding-block:13px}
 .js-ready .gnav{display:none;position:absolute;left:0;right:0;top:100%;max-height:calc(100dvh - 68px);overflow:auto;margin:0;padding:14px var(--gutter) 24px;border-bottom:1px solid var(--ink);background:var(--paper)}
 .js-ready .gnav.is-open{display:block}
 .gnav-cta{display:flex!important;margin-top:20px;box-shadow:none;max-width:350px;font-size:13px}
 .cover-grid{grid-template-columns:minmax(0,1.45fr) minmax(250px,.85fr);gap:30px}
 .cover-heading{font-size:clamp(34px,5vw,55px)}
 .cover-offer{padding-left:25px}
 .sg-hero-free{font-size:13px;gap:8px}
 .sg-hero-free>b{font-size:75px}
 .sg-plan-price{grid-template-columns:1fr;gap:20px}
 .sg-plan-price .en{font-size:52px}
 .sg-plan-price dt{font-size:11px}
 .sg-plan-price .tax-in{display:inline-block;margin-left:5px;font-size:10px}
 .sg-plan h3{font-size:21px}
 .footer-top{grid-template-columns:1.7fr 1fr 1fr;gap:30px}
 .footer-contact{grid-column:2/4}
 .footer-contact .btn{max-width:280px}
}
@media(max-width:760px){
 :root{--gutter:22px}
 body{font-size:13px}
 .inner,.r1-wrap,.cover-grid{max-width:100%}
 .group-bar{font-size:9px}
 .group-bar>.inner{min-height:28px}
 .group-menu summary{padding-block:5px;gap:11px}
 .sg-cover{padding-top:22px}
 .cover-grid{display:flex;flex-direction:column;align-items:stretch;gap:20px}
 .ds2-hero-kicker{font-size:10px;margin-bottom:14px;gap:15px}
 .ds2-hero-kicker>span{font-size:10px;padding-left:15px}
 .cover-heading{font-size:clamp(31px,10.4vw,62px);line-height:1.48;letter-spacing:-.065em}
 .ds2-hero-lead{font-size:12px;line-height:1.9;margin-top:13px;max-width:460px}
 .cover-offer{padding:0;border:0}
 .sg-hero-free{flex-wrap:nowrap;justify-content:flex-start;gap:19px;font-size:14px;margin-bottom:14px}
 .sg-hero-free>b{font-size:67px;line-height:1.1}
 .vh-btn{min-height:56px;font-size:13px;padding:15px 10px;gap:18px}
 .sg-hero-paid{font-size:10px;margin-top:14px;line-height:1.9}
 .sg-hero-paid>span{font-size:10px;display:inline;margin:0}
 .sg-hero-paid b{font-size:13px}
 .sg-hero-paid .tax-in{font-size:9px}
 .sg-hero-paid>small:last-child{font-size:9px;white-space:nowrap}
 .vh-foot{margin-top:22px;padding-block:0 19px;border-bottom-width:3px}
 .vh-scroll{font-size:10px}
 .vh-scroll i{width:12px;height:12px}
 .sec,.r1-section{padding-block:56px}
 .sec-head,.r1-section-head,.db-section-head{grid-template-columns:43px minmax(0,1fr);column-gap:16px;margin-bottom:28px}
 .ds2-chapter{font-size:55px;line-height:.95;grid-row:1/3}
 .eyebrow,.r1-kicker{font-size:10px;margin-bottom:10px}
 .sec-head h2,.r1-section-head h2,.db-section-head h2{font-size:27px;line-height:1.65;letter-spacing:-.055em}
 .sec-head>p:not(.r1-kicker):not(.sg-plans-free),.r1-section-head>p:not(.r1-kicker),.db-section-head>p{grid-column:1/-1;font-size:12px;line-height:2;margin-top:22px}
 .sg-works{grid-template-columns:minmax(0,1fr);gap:30px}
 .sg-works>li:first-child{grid-column:auto}
 .sg-works>li:first-child .sg-work{display:block}
 .work-caption,.sg-works>li:first-child .work-caption{display:grid;grid-template-columns:1fr auto;align-items:end;border-top:0;gap:3px 12px;padding:15px 0 18px}
 .sg-work-kind{font-size:9px}
 .work-caption>b,.sg-works>li:first-child .work-caption>b{font-size:23px;line-height:1.6;margin:0;grid-column:1/-1}
 .sg-work-go,.sg-works>li:first-child .sg-work-go{grid-row:1;grid-column:2;align-self:center;font-size:10px;padding:0;width:auto;border:0}
 .sg-works-note{font-size:10px;line-height:2;margin-top:22px;padding-left:12px}
 #works .btn--ghost{font-size:11px;min-height:44px;width:100%}
 #proof{padding-top:0}
 #proof .r1-wrap{display:flex;flex-direction:column;gap:0}
 #proof .r1-section-head{padding-top:24px}
 .proof-sheet{order:1}
 .r1-more-links{order:2;margin-top:28px;gap:0 20px}
 .r1-more-links>a{font-size:12px;min-height:78px;padding-block:17px}
 .ds2-demo-label{font-size:10px;line-height:1.8}
 .ds2-screen-bar{padding:9px 11px;font-size:9px;gap:10px}
 .ds2-screen-bar small{font-size:8px}
 .ds2-site-finished{padding:16px 17px 0}
 .ds2-mini-nav{font-size:8px;gap:12px;padding-bottom:12px}
 .ds2-mini-nav img{width:100px}
 .ds2-site h3{font-size:37px;line-height:1.5;margin-block:20px 23px}
 .ds2-mini-services{font-size:8px}
 .ds2-demo-foot{font-size:9px;gap:8px;margin-top:10px}
 .motion-control{font-size:9px}
 .db-web-services{grid-template-columns:minmax(0,1fr);gap:38px}
 .db-web-services>article{padding-top:18px}
 .db-web-services h3{font-size:23px;margin-top:21px}
 .db-web-services article>p{font-size:12px;margin-top:9px}
 .db-web-services article>a{font-size:12px;margin-top:13px;min-height:36px}
 .sg05-screen,.sg05-map,.sg05-line{height:230px}
 .sg05-screen-face>strong{max-width:250px}
 .r1-roles{padding-top:0}
 .r1-roles .r1-wrap{padding-top:24px}
 .r1-roles-grid{grid-template-columns:minmax(0,1fr);gap:35px}
 .r1-role{padding-top:20px}
 .r1-role h3{font-size:22px;margin-block:10px 17px;line-height:1.7}
 .r1-role li{font-size:12px;line-height:2;padding-block:13px}
 .r1-role li::before{top:25px}
 .r1-steps{grid-template-columns:minmax(0,1fr);margin-top:30px}
 .r1-steps>li,.r1-steps>li:first-child,.r1-steps>li:last-child{border-right:0;border-bottom:1px solid #77756d;padding:24px 0 24px 58px;position:relative}
 .r1-step-number{position:absolute;left:0;top:25px;font-size:43px;line-height:1}
 .r1-steps h3{font-size:20px;margin-top:0;line-height:1.8}
 .r1-steps p{font-size:12px;margin-block:10px 16px;line-height:2.1}
 .r1-step-note{font-size:10px;padding-top:12px}
 .r3-flow-more{max-width:none;padding:0 var(--gutter) 30px}
 .r1-text-link{font-size:11px;line-height:1.9}
 #plans{padding-top:55px}
 #plans .ds2-chapter{grid-row:1/3}
 .sg-plans-free{grid-column:1/-1;gap:18px;font-size:19px;margin-block:20px 23px;line-height:1.4}
 .sg-plans-free>b{font-size:76px;line-height:1.1}
 #plans h2{grid-column:1/-1;font-size:26px;line-height:1.7}
 #plans .sec-head>p:not(.sg-plans-free){margin-top:15px}
 .sg-plans{grid-template-columns:minmax(0,1fr);gap:48px}
 .sg-plan{padding-top:22px}
 .sg-plan h3{font-size:27px}
 .sg-plan-catch{font-size:12px}
 .sg-plan-price{grid-template-columns:1fr 1fr;gap:18px;margin-top:22px;padding-top:18px}
 .sg-plan-price dt{font-size:10px;margin-bottom:10px}
 .sg-plan-price .en{font-size:52px}
 .sg-plan-price .tax-in{display:block;font-size:11px;margin:8px 0 0;line-height:1.5}
 .sg-plan-spec{margin-block:24px 20px}
 .sg-plan-spec li{font-size:12px;padding-block:13px}
 .sg-plan-spec li>span{font-size:10px}
 .sg-plan-spec li>small{font-size:10px}
 .sg-plan-rec{font-size:10px;margin-top:-43px;margin-bottom:24px}
 .sg-plan>.btn{font-size:13px;min-height:54px}
 .sg-plans-note{font-size:11px;line-height:2.1;margin-top:30px}
 .sg-btns{display:grid;gap:13px}
 .sg-btns .btn{font-size:11px;min-height:44px}
 .faq{margin-left:0}
 .faq summary{padding:21px 32px 21px 0;font-size:15px;line-height:1.9}
 .faq summary::after{font-size:20px;top:22px}
 .faq details>div{font-size:12px;line-height:2.1;padding:0 24px 23px 0}
 .db-more{font-size:11px}
 #connect{padding-top:0}
 #connect .inner{padding-top:24px}
 .db-connected{grid-template-columns:minmax(0,1fr);gap:20px}
 .db-connected>a{grid-template-columns:40px 1fr;padding-block:20px;font-size:11px}
 .db-connected b{font-size:24px;line-height:1.8;margin-top:8px}
 .sg05-icon{font-size:27px}
 .cta-band{padding-block:50px 57px}
 .cta-band>.inner{grid-template-columns:minmax(0,1fr);gap:30px}
 .cta-band .ds2-chapter{font-size:53px;margin-bottom:21px}
 .cta-band h2{font-size:29px;line-height:1.7;letter-spacing:-.06em}
 .cta-band .inner>div>p{font-size:12px;line-height:2.1;margin-top:18px}
 .cta-actions{gap:14px 12px}
 .cta-actions>.btn--primary{min-height:76px;font-size:25px;box-shadow:6px 6px 0 var(--shadow);margin-bottom:5px}
 .cta-actions>.btn--ghost,.cta-actions>.btn--line{font-size:10px;min-height:47px;padding:12px 4px}
 .cta-actions>.text-sub{font-size:10px;margin-top:3px}
 .site-footer{padding-top:42px;padding-bottom:calc(55px + env(safe-area-inset-bottom))}
 .footer-top{grid-template-columns:1fr 1fr;gap:30px 25px;padding-bottom:34px}
 .footer-brand{grid-column:1/-1}
 .footer-company-logo{width:200px;margin-bottom:25px}
 .footer-brand>.logo>b{font-size:37px}
 .footer-brand>p{font-size:13px;margin-top:20px}
 address{font-size:10px;line-height:2.2;margin-top:18px}
 .footer-col{font-size:11px}
 .footer-col h4{font-size:10px;margin-bottom:18px}
 .footer-col li+li{margin-top:12px}
 .footer-contact{grid-column:1/-1}
 .footer-contact .btn{font-size:12px;min-height:48px;max-width:none}
 .footer-bottom{flex-direction:column;align-items:flex-start;gap:23px;font-size:9px;padding-block:24px}
 .footer-bottom ul{gap:9px 16px}
 .w-sp-bar{position:fixed;bottom:0;left:0;right:0;z-index:85;display:grid;grid-template-columns:1fr 1.5fr;background:var(--paper);border-top:1px solid var(--ink);padding:7px var(--gutter) calc(7px + env(safe-area-inset-bottom));gap:12px;box-shadow:0 -4px 0 #efece4b3}
 .w-sp-bar a{display:flex;align-items:center;justify-content:center;min-height:40px;line-height:1.5;font-size:11px;font-weight:600;border:1px solid var(--ink)}
 .w-sp-bar .is-primary{background:var(--accent);color:var(--paper)}
 .w-sp-bar a:hover{background:var(--ink);color:var(--paper)}
}
@media(max-width:390px){:root{--gutter:19px}.cover-heading{font-size:38px}.sg-plan-price .en{font-size:49px}.work-caption>b,.sg-works>li:first-child .work-caption>b{font-size:22px}}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation:none!important;transition:none!important}
 .type-glyph{transform:none!important}
 .fade-in{opacity:1!important}
 .motion-control{display:none}
}

/* SG2: shared spacing and controls, preserving Studio GO destinations. */
.journal-header>.inner{gap:22px;transition:min-height .25s,padding .25s}
.journal-header{transition:background-color .25s,border-color .25s}
.journal-header.is-scrolled{background:#f5f7fa;border-color:var(--line)}
.journal-header.is-scrolled>.inner{min-height:64px;padding-block:4px}
.journal-header .header-consult{display:inline-flex;flex:0 0 auto;gap:10px;padding:9px 12px;min-height:36px;font:600 11px/1.5 "Noto Sans JP",sans-serif;transition:color .25s,border-color .25s}
.journal-header .header-consult:active{background:var(--ink);color:var(--paper)}
@media(min-width:1100px){.gnav{margin-left:clamp(12px,calc(15vw - 150px),42px)}.gnav ul{gap:clamp(14px,1.3vw,24px)}}
/* Keep all six Studio GO entries on one line at 1024px. */
@media(min-width:1000px) and (max-width:1099px){
 .journal-header>.inner{display:flex;gap:16px;min-height:72px}
 .journal-header .logo--with-mark{flex:0 0 auto}.logo-service-mark{width:31px}
 .gnav,.js-ready .gnav{display:block;position:static;flex:1;width:auto;padding:0;margin-left:12px;font-size:10px}
 .gnav ul{display:flex;gap:14px;white-space:nowrap}
 .header-tel{width:auto;height:auto;flex:0 0 auto}.phone-copy{display:flex}.phone-icon{display:none}
 .phone-copy b{font-size:17px}.phone-copy small{font-size:8px}
 .journal-header .header-consult{width:auto;font-size:10px;padding:9px 10px}
 .menu-btn,.js-ready .menu-btn{display:none}
}
.ds2-site .sg2-mini-title{font-size:clamp(24px,2.8vw,43px);line-height:1.6;letter-spacing:-.06em;margin-block:20px 14px;color:var(--ink)}
.ds2-site .sg2-mini-line{display:block;white-space:nowrap;color:var(--ink)}
.ds2-site .mini-ai{display:inline-block;background:var(--accent);color:var(--paper);border-radius:0;padding:0 .12em;margin-right:.08em}
.sg2-mini-menu{width:42%;height:9px;border-block:1px solid var(--line)}
.sg2-mini-subtitle{font-size:11px;font-weight:600;line-height:1.9;max-width:32em}
.sg2-mini-button{display:table;margin-top:18px;padding:9px 10px;background:var(--accent);color:var(--paper);border:1px solid var(--ink);box-shadow:3px 3px 0 var(--shadow);font-size:9px;font-weight:800;line-height:1.8}
.ds2-site-finished{padding-bottom:25px}
.db-connected>a{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.db-connected b{margin:0;font-size:27px}
.db-connected>a>span{max-width:36em;font-size:14px;line-height:2}
.site-footer{background:var(--paper);color:var(--ink);padding:64px 0 20px}
.footer-top{grid-template-columns:2fr 1fr 1fr 1fr;gap:50px;border:0;padding-bottom:50px}
.footer-brand .logo-pre,.footer-brand>.logo>small{color:var(--muted)}
.footer-brand>p{font-size:17px;font-weight:600;line-height:1.9;margin-block:23px}
.footer-brand address{font-size:11px;line-height:2.3;max-width:100%;color:var(--ink)}
.footer-col{font-size:11px;line-height:1.9}
.footer-col h4{font-size:10px;color:var(--muted);font-weight:400;margin-bottom:13px}
.footer-col li+li{margin-top:9px}
.footer-gap{height:28px}
.site-footer a:hover,.site-footer a:focus-visible{color:var(--accent)}
.footer-contact .btn{color:var(--ink);border-color:var(--ink);font-size:11px;min-height:36px;box-shadow:none;padding:9px 12px}
.footer-contact .btn:hover{color:var(--accent);border-color:var(--accent);background:var(--paper)}
.footer-contact .btn:active{background:var(--ink);color:var(--paper)}
.footer-bottom{border-block:1px solid var(--ink);padding:20px 0;gap:25px;align-items:center;font-size:9px}
.footer-bottom ul{gap:10px 17px}.footer-bottom>p{color:var(--ink)}
@media(max-width:1099px){.footer-top{gap:32px;grid-template-columns:2fr 1fr 1fr}.footer-bottom{align-items:flex-start}}
@media(max-width:999px){.header-consult>span{display:none}}
@media(max-width:760px){
 .ds2-site .sg2-mini-title{font-size:26px;margin-block:20px 14px}.sg2-mini-subtitle{font-size:11px}.sg2-mini-button{font-size:9px}
 .db-connected b{font-size:24px}.db-connected>a>span{font-size:12px}
 .site-footer{padding:42px 0 calc(100px + env(safe-area-inset-bottom))}
 .footer-top{grid-template-columns:1fr 1fr;gap:30px 24px;padding-bottom:32px}
 .footer-brand{grid-column:1/-1}.footer-brand>p{font-size:16px;margin-top:20px;margin-bottom:19px}
 .footer-brand address{font-size:10px}.footer-col{font-size:10px}.footer-col h4{font-size:10px}
 .footer-contact{grid-column:1/-1}.footer-contact .btn{width:auto;min-height:36px}
 .footer-bottom{flex-direction:column;gap:17px;padding:19px 0}.footer-bottom ul{gap:10px 18px}
 .w-sp-bar{padding:10px 20px max(10px,env(safe-area-inset-bottom));gap:12px;grid-template-columns:1fr 1.25fr;box-shadow:none}
 .w-sp-bar a{min-height:54px;padding:11px 4px;background:var(--accent);color:var(--paper);border:1px solid var(--ink);box-shadow:3px 3px 0 var(--shadow);font-size:16px;font-weight:800;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
 .w-sp-bar a:is(:hover,:focus-visible){background:var(--accent);color:var(--paper);transform:translate(2px,2px);box-shadow:1px 1px 0 var(--shadow)}
 .w-sp-bar a:active{transform:translate(3px,3px);box-shadow:none}
}
@media(prefers-reduced-motion:reduce){
 .journal-header.is-scrolled{background:var(--paper);border-color:var(--ink)}
 .journal-header.is-scrolled>.inner{min-height:72px;padding-block:8px}
 .w-sp-bar a:is(:hover,:focus-visible,:active){transform:none;box-shadow:3px 3px 0 var(--shadow);background:#006f70}
}
@media(max-width:999px) and (prefers-reduced-motion:reduce){.journal-header.is-scrolled>.inner{min-height:68px}}

.ds2-site h3.sg2-mini-title>.sg2-mini-line{color:var(--ink)}
@media(min-width:1000px){.journal-header .gnav-cta{display:none!important}}
