/* Current YamashiroWorks LP: existing content, explicit hierarchy and action color. */
:root{--bg:#f7f7f5;--surface:#fff;--ink:#242128;--muted:#656169;--brand:#4b2633;--brand-deep:#351c25;--brand-tint:#f0e9ec;--action:#ffcd58;--action-hover:#f4ba35;--line:#ddd8db;--gutter:clamp(22px,5.5vw,84px);--max:1280px;--font:'Inter','Noto Sans JP',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.9 var(--font);-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.55}h2{font-size:clamp(28px,3vw,42px);font-weight:700;letter-spacing:-.025em}h3{font-size:20px;font-weight:700}em{font-style:normal}ul,ol{margin:0;padding:0;list-style:none}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}svg{display:block}button{font:inherit;cursor:pointer;color:inherit}[hidden]{display:none!important}::selection{background:var(--action);color:var(--ink)}a:focus-visible,button:focus-visible{outline:3px solid #ad627d;outline-offset:5px}.container{max-width:calc(var(--max) + var(--gutter)*2);margin:auto;padding-inline:var(--gutter)}.section{padding-block:82px}.section-label{font-size:12px;font-weight:500;letter-spacing:.06em;color:var(--brand);margin-bottom:23px}.small-note{font-size:12px;color:var(--muted);line-height:1.9}.section-top{display:flex;align-items:center;justify-content:space-between;gap:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:62px;padding:17px 27px;background:var(--action);color:var(--ink);border:1px solid var(--action);border-radius:4px;font-size:15px;font-weight:700;line-height:1.6;transition:background .2s,transform .2s}.button:hover{background:var(--action-hover);border-color:var(--action-hover);transform:translateY(-2px)}.button>span{font-size:24px;line-height:1}.main-button{min-width:350px}.skip-link{position:fixed;left:15px;top:10px;z-index:100;padding:10px 20px;background:white;color:var(--ink);transform:translateY(-170%)}.skip-link:focus{transform:none}
.site-header{height:82px;background:white;display:flex;align-items:center;justify-content:space-between;gap:30px;padding-inline:var(--gutter);position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;font-size:21px;font-weight:700;line-height:1;letter-spacing:-.8px;color:var(--brand)}.brand span{font-weight:400}.brand svg{width:29px;height:29px;margin-right:10px}#main-nav{display:flex;gap:30px;align-items:center;font-size:12px;font-weight:500}#main-nav>a{display:flex;align-items:center;min-height:44px}.header-cta{min-height:45px;font-size:12px;padding:10px 20px;gap:30px}.menu-toggle{display:none}
.opening{background:var(--brand);color:white;padding-top:42px}.opening-layout{max-width:calc(var(--max) + var(--gutter)*2);margin:auto;padding:0 var(--gutter);display:grid;grid-template-columns:1.08fr 1fr;gap:44px;align-items:center}.opening-copy{padding:12px 0 30px}.opening-label{font-size:13px;font-weight:500;line-height:1.9;letter-spacing:.02em;margin-bottom:24px;color:#eadde2}h1{font-size:clamp(35px,3.55vw,52px);line-height:1.55;letter-spacing:-.045em;font-weight:800}h1>span{display:block;white-space:nowrap}.opening-lead{font-size:17px;line-height:1.95;margin-top:25px;font-weight:500}.opening-note{font-size:13px;color:#eadde2;margin-top:13px;line-height:1.9}.opening-action{margin-top:29px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}.opening-detail{display:inline-flex;align-items:center;gap:25px;font-size:11px;min-height:40px;color:#e1cfd6}.opening-figure{background:white;color:var(--muted);padding:15px 15px 0;border-radius:2px}.opening-picture{display:block}.opening-picture img{width:100%;height:auto}.opening-figure figcaption{font-size:9px;text-align:center;padding:13px 3px;line-height:1.7}.opening-facts{display:grid;grid-template-columns:.9fr 1fr 1.2fr;gap:34px;padding:23px var(--gutter);max-width:calc(var(--max) + var(--gutter)*2);margin:30px auto 0;border-top:1px solid #755662;align-items:center}.opening-facts p{display:flex;gap:22px;align-items:center;line-height:1.6}.opening-facts p+p{border-left:1px solid #755662;padding-left:30px}.opening-facts p>span{font-size:11px;color:#e3d2d9;white-space:nowrap}.opening-facts strong{font-size:29px;font-weight:600;letter-spacing:-.035em;white-space:nowrap}.opening-facts small{font-size:13px;font-weight:400;letter-spacing:0;margin-left:5px}.opening-facts b{font-size:12px;font-weight:500}
.concerns-brief{background:white;padding-block:58px}.concerns-brief-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.concerns-brief h2{font-size:32px}.concerns-brief .section-label{margin-bottom:18px}.concerns-brief-copy ul{font-size:15px;line-height:2.2}.concerns-brief-copy li{position:relative;padding-left:20px}.concerns-brief-copy li:before{content:'—';position:absolute;left:0;color:#947985}.concerns-brief-copy>p{font-size:13px;margin-top:17px;color:var(--muted);line-height:2}
.service{background:var(--bg)}.service-heading{display:grid;grid-template-columns:1fr 1fr;gap:0 10%;align-items:end}.service-heading .section-label{grid-column:1/-1}.service-heading>p:last-child{font-size:15px;line-height:2}.service-list{display:grid;grid-template-columns:repeat(3,1fr);gap:5%;margin-top:40px;border-top:2px solid var(--brand)}.service-list article{padding-top:25px;position:relative}.service-list article:not(:last-child):after{content:'→';position:absolute;right:-11%;top:28px;font-size:22px;color:#b4a2aa}.chapter{display:block;font-size:34px;font-weight:600;color:var(--brand);letter-spacing:-.04em;line-height:1.3;margin-bottom:18px}.service-list h3{font-size:20px;margin-bottom:17px}.service-list p{font-size:13px;line-height:2;color:var(--muted)}.service-list ul{margin-top:19px;display:flex;flex-wrap:wrap;gap:4px 13px;font-size:11px;font-weight:500;color:var(--brand)}.service-summary{display:grid;grid-template-columns:.8fr 1.2fr;gap:35px;border-top:1px solid var(--line);padding-top:28px;margin-top:38px;align-items:center}.service-summary h3{font-size:25px}.service-summary p{font-size:14px;line-height:2}.service-action{text-align:center;margin-top:29px}.service-action .button{min-width:340px}
.approach{background:var(--brand-tint);padding-block:64px}.approach-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:9%;align-items:start}.approach h2{font-size:36px;color:var(--brand)}.approach-copy p{font-size:14px;line-height:2}.approach-copy p+p{margin-top:16px}.approach-copy p:nth-child(2){font-weight:600;color:var(--brand)}
.pricing{background:white}.pricing .section-top{margin-bottom:27px}.pricing .section-label{margin:0}.pricing-grid{display:grid;grid-template-columns:1fr 1.1fr;border:1px solid var(--line)}.pricing-grid>div:first-child{background:var(--brand-deep);color:white;padding:38px 42px}.pricing h2{font-size:36px}.price-category{font-size:12px;color:#e2d0d7;margin-top:27px}.price{display:flex;align-items:baseline;gap:12px;line-height:1.2;margin-top:10px}.price strong{font-size:clamp(68px,6vw,86px);font-weight:500;letter-spacing:-.055em}.price>span{font-size:22px}.price-note{font-size:12px;line-height:2;margin:21px 0 27px;color:#e2d0d7}.pricing .button{font-size:13px;width:100%;max-width:355px}.included{padding:38px 42px}.included h3{font-size:19px}.check-list{margin-top:18px}.check-list li{position:relative;font-size:14px;line-height:1.8;padding:12px 0 12px 25px;border-bottom:1px solid var(--line)}.check-list li:before{content:'✓';position:absolute;left:0;color:var(--brand);font-weight:600}.delivery{margin-top:27px}.delivery h3{font-size:18px}.delivery p{font-size:13px;line-height:1.95;margin-top:14px}.delivery p.small-note{font-size:11px}
.workflow{padding-block:65px;background:var(--bg)}.workflow .section-top{align-items:start}.workflow .section-top h2{font-size:32px}.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:5%;margin-top:35px}.timeline li{border-top:1px solid var(--line);padding-top:18px;display:grid;grid-template-columns:40px 1fr;gap:0 13px;align-items:baseline}.timeline li>span{font-size:27px;font-weight:600;color:var(--brand);grid-row:1/3}.timeline h3{font-size:20px}.timeline p{font-size:13px;line-height:2;margin-top:14px;grid-column:2;color:var(--muted)}
.faq{background:white;padding-block:72px}.faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:9%}.faq h2{font-size:32px}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-item button{display:grid;grid-template-columns:25px 1fr 20px;gap:13px;align-items:start;width:100%;background:none;border:0;padding:22px 0;text-align:left;font-size:14px;line-height:1.9;font-weight:500}.question-prefix{color:var(--brand);font-weight:700}.faq-toggle:before{content:'+';font-size:22px;line-height:1.3}.faq-item button[aria-expanded=true] .faq-toggle:before{content:'−'}.faq-answer{padding:0 28px 23px 38px;font-size:13px;line-height:2;color:var(--muted)}
.final-cta{background:var(--brand);color:white;padding-block:70px}.final-cta .section-label{color:#e2d0d7;text-align:center;margin-bottom:20px}.final-cta h2{text-align:center;font-size:clamp(30px,3.3vw,44px);line-height:1.6}.final-cta h2 em{color:white}.contact-bottom{display:flex;justify-content:center;align-items:center;gap:55px;margin-top:30px}.contact-bottom>p{font-size:14px;color:#e2d0d7}.contact-bottom .small-note{font-size:11px;color:#e2d0d7;margin-top:12px;text-align:center}.site-footer{padding:23px var(--gutter) 16px;background:#fff;color:var(--muted)}.footer-wordmark{font-size:19px;color:var(--ink);letter-spacing:-.03em}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-top:5px;font-size:10px}.footer-bottom small{margin-left:auto}.back-top{display:flex;align-items:center;min-height:44px}.mobile-cta{display:none}dialog{width:calc(100% - 40px);max-width:440px;border:1px solid var(--line);background:white;color:var(--ink);padding:30px}dialog::backdrop{background:#242128aa}dialog h2{font-size:22px}dialog p{font-size:14px;margin:18px 0}dialog .button{min-height:49px;margin-top:8px}.noscript-note{padding:15px;font-size:12px}.motion-ready .reveal{opacity:0;transform:translateY(14px);transition:opacity .55s,transform .55s}.motion-ready .reveal.is-visible{opacity:1;transform:none}
@media(max-width:1100px) and (min-width:768px){.opening-layout{gap:28px;grid-template-columns:1.1fr 1fr}.opening-label{font-size:11px}h1{font-size:35px}.opening-lead{font-size:14px}.opening-note{font-size:12px}.opening .main-button{min-width:0;width:100%;font-size:12px;padding-inline:19px}.opening-facts{gap:20px}.opening-facts p{display:block}.opening-facts p>span{display:block;margin-bottom:5px}.opening-facts p+p{padding-left:20px}.opening-facts b{font-size:11px}.brand{font-size:19px}#main-nav{gap:20px}.service-list h3{font-size:17px}.service-list p{font-size:12px}.approach h2{font-size:30px}.pricing-grid>div:first-child,.included{padding:30px}.pricing h2{font-size:30px}.pricing .button{font-size:12px;padding-inline:17px}.timeline{gap:3%}.timeline li{grid-template-columns:30px 1fr;gap:0 10px}.timeline h3{font-size:17px}.contact-bottom{gap:30px}.main-button{min-width:310px;font-size:13px}}
@media(max-width:767px){html{scroll-padding-top:78px}.section{padding-block:52px}.section-label{font-size:10px;margin-bottom:20px}h2{font-size:29px}.site-header{height:72px;gap:15px}.brand{font-size:19px}.brand svg{width:25px;margin-right:8px}.menu-toggle{display:flex;gap:12px;align-items:center;min-height:44px;padding:0;background:none;border:0;font-size:10px}.menu-toggle i{height:8px;width:20px;border-top:1px solid;border-bottom:1px solid}.js-ready #main-nav{display:none;position:absolute;top:72px;left:0;right:0;background:white;border-bottom:1px solid var(--line);padding:15px var(--gutter) 24px}.js-ready #main-nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:7px}body:not(.js-ready) .site-header{height:auto;padding-block:15px;flex-wrap:wrap}body:not(.js-ready) #main-nav{flex-wrap:wrap;font-size:10px;gap:10px}body:not(.js-ready) .menu-toggle{display:none}.opening{padding-top:27px}.opening-layout{display:flex;flex-direction:column;gap:20px;align-items:stretch}.opening-copy{padding:0}.opening-label{font-size:10px;line-height:1.9;margin-bottom:17px}h1{font-size:clamp(26px,7.2vw,40px);letter-spacing:-.045em;line-height:1.65}.opening-lead{font-size:14px;line-height:1.9;margin-top:20px}.opening-note{font-size:12px;line-height:1.9;margin-top:12px}.opening-action{margin-top:22px;gap:4px}.opening .main-button{width:100%;min-width:0;min-height:57px;padding:16px 18px;font-size:12px}.opening-detail{font-size:10px;min-height:36px}.opening-figure{padding:8px 8px 0}.opening-figure figcaption{font-size:8px;padding:9px 2px}.opening-facts{margin-top:22px;padding-block:16px 20px;display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}.opening-facts p{display:block}.opening-facts p:first-child{grid-row:1/3;align-self:center}.opening-facts p>span{font-size:9px;display:block;margin-bottom:5px}.opening-facts p+p{padding-left:16px}.opening-facts strong{font-size:29px}.opening-facts small{font-size:12px}.opening-facts b{font-size:10px;display:block}.concerns-brief{padding-block:39px}.concerns-brief-grid{display:block}.concerns-brief h2{font-size:27px}.concerns-brief-copy{margin-top:21px}.concerns-brief-copy ul{font-size:13px}.concerns-brief-copy>p{font-size:12px;margin-top:14px}.service-heading{display:block}.service-heading h2{font-size:28px}.service-heading>p:last-child{font-size:13px;margin-top:20px}.service-list{display:block;margin-top:26px;border-top:0;border-left:2px solid var(--line);margin-left:12px;padding-left:25px}.service-list article{padding:0 0 26px}.service-list article:last-child{padding-bottom:0}.chapter{font-size:20px;background:var(--bg);display:inline-block;margin:0 0 10px -39px;padding:2px 7px}.service-list article:not(:last-child):after{display:none}.service-list h3{font-size:20px;margin-bottom:12px}.service-list p{font-size:13px}.service-list ul{font-size:10px;gap:3px 10px;margin-top:13px}.service-summary{display:block;margin-top:25px;padding-top:22px}.service-summary h3{font-size:23px}.service-summary p{font-size:13px;margin-top:12px}.service-action{margin-top:23px}.service-action .button{width:100%;min-width:0;font-size:12px;padding-inline:18px;min-height:55px}.approach{padding-block:45px}.approach-grid{display:block}.approach h2{font-size:28px}.approach-copy{margin-top:22px}.approach-copy p{font-size:13px}.approach-copy p+p{margin-top:14px}.pricing .section-top{display:block;margin-bottom:22px}.pricing .section-label{margin-bottom:10px}.pricing .small-note{font-size:10px}.pricing-grid{display:block}.pricing-grid>div:first-child{padding:28px 24px}.pricing h2{font-size:31px}.price-category{margin-top:22px}.price strong{font-size:69px}.price>span{font-size:20px}.price-note{font-size:11px;margin-top:17px;margin-bottom:23px}.pricing .button{font-size:12px;min-height:55px;padding-inline:18px}.included{padding:27px 24px}.included h3{font-size:18px}.check-list{margin-top:14px}.check-list li{font-size:12px;padding:11px 0 11px 22px}.delivery{margin-top:23px}.delivery h3{font-size:17px}.delivery p{font-size:12px;margin-top:12px}.delivery p.small-note{font-size:10px}.workflow .section-top{display:block}.workflow .section-top h2{font-size:28px}.timeline{display:block;margin-top:25px}.timeline li{padding-top:18px;margin-top:22px;grid-template-columns:33px 1fr;gap:0 14px}.timeline li>span{font-size:24px}.timeline h3{font-size:20px}.timeline p{font-size:12px;margin-top:10px}.faq-grid{display:block}.faq h2{font-size:28px}.faq-list{margin-top:23px}.faq-item button{font-size:12px;grid-template-columns:22px 1fr 14px;gap:9px;padding:20px 0}.faq-answer{font-size:12px;padding:0 20px 20px 31px}.final-cta{padding-block:48px}.final-cta h2{font-size:clamp(23px,6.1vw,34px);line-height:1.75}.contact-bottom{display:block;margin-top:23px;text-align:center}.contact-bottom>p{font-size:12px;margin-bottom:24px}.final-cta .main-button{width:100%;min-width:0;min-height:57px;font-size:12px;padding-inline:18px}.contact-bottom .small-note{font-size:10px}.site-footer{padding-top:22px;padding-bottom:calc(20px + env(safe-area-inset-bottom))}.footer-wordmark{font-size:18px}.footer-bottom{flex-wrap:wrap;gap:7px;font-size:9px;padding-top:8px}.footer-bottom>p{width:100%}.footer-bottom small{margin:0}.back-top{margin-left:auto}.mobile-cta{display:block;position:fixed;bottom:0;left:0;right:0;z-index:35;background:white;border-top:1px solid var(--line);padding:8px 14px calc(8px + env(safe-area-inset-bottom));transition:transform .2s}.mobile-cta .button{width:100%;min-height:46px;padding:11px 18px;font-size:12px}.mobile-cta.is-hidden{transform:translateY(110%);pointer-events:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}}
/* Two user-supplied image slots. No generated or legacy artwork as fallback. */
.opening-layout{grid-template-columns:1.12fr 1fr;gap:48px}.opening-figure.image-slot{padding:0;border-radius:0;position:relative;overflow:hidden;background:#f0e9ec;align-self:center}.hero-main-visual{display:block;aspect-ratio:4/3}.hero-main-visual-image{width:100%;height:100%;aspect-ratio:4/3;object-fit:contain;object-position:center}.image-slot-placeholder{display:none}.image-slot[data-image-pending] img{visibility:hidden}.image-slot[data-image-pending] .image-slot-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;padding:24px;text-align:center;font-size:12px;line-height:1.8;color:#786d72}.finish-preview{background:var(--surface);padding-block:66px}.finish-preview h2{margin-bottom:18px}.finish-description{font-size:15px;line-height:2;max-width:740px}.finish-preview-figure{position:relative;max-width:1060px;margin:30px auto 0;background:var(--bg);overflow:hidden}.finish-preview-visual{display:block;aspect-ratio:4/3}.finish-preview-image{display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:contain;object-position:center}
@media(max-width:1100px) and (min-width:768px){.opening-layout{gap:27px;grid-template-columns:1.1fr 1fr}}
@media(max-width:767px){.opening-layout{gap:20px}.opening-figure.image-slot{align-self:stretch;margin-top:0}.hero-main-visual,.hero-main-visual-image{aspect-ratio:1122/1402}.hero-main-visual-image{object-position:center}.image-slot[data-image-pending] .image-slot-placeholder{font-size:11px}.finish-preview{padding-block:44px}.finish-preview h2{font-size:28px;margin-bottom:16px}.finish-description{font-size:13px;line-height:1.95}.finish-description br{display:none}.finish-preview-figure{margin-top:24px}.finish-preview-visual,.finish-preview-image{aspect-ratio:1122/1402}.finish-preview-image{object-position:center}}

/* Web motion: guide attention without changing content or layout. */
.motion-ready [data-motion]{opacity:0;transform:translateY(12px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);transition-delay:var(--motion-delay,0ms);will-change:opacity,transform}
.motion-ready [data-motion].is-visible{opacity:1;transform:none;will-change:auto}
.motion-ready [data-motion="wipe"]{opacity:1;transform:none;transition:none;will-change:auto}
.motion-ready [data-motion="wipe"]::after{content:'';position:absolute;z-index:2;inset:-1px;background:var(--surface);pointer-events:none;transform:scaleX(1);transform-origin:right;transition:transform 1.08s cubic-bezier(.22,1,.36,1);will-change:transform}
.motion-ready [data-motion="wipe"].is-visible::after{transform:scaleX(0);will-change:auto}
.motion-ready .hero-motion-item{opacity:0;transform:translateY(11px)}
.motion-ready .hero-motion-visual{opacity:0;clip-path:inset(0 100% 0 0)}
.motion-ready .hero-motion-ready .hero-motion-item{opacity:1;transform:none;transition:opacity .78s cubic-bezier(.22,1,.36,1),transform .78s cubic-bezier(.22,1,.36,1);transition-delay:calc(80ms + var(--hero-order)*95ms)}
.motion-ready .hero-motion-ready .hero-motion-visual{opacity:1;clip-path:inset(0);transition:opacity .75s ease-out,clip-path 1.05s cubic-bezier(.22,1,.36,1);transition-delay:620ms}
.button>span{transition:transform .22s cubic-bezier(.22,1,.36,1)}
@media(hover:hover){.button:hover>span{transform:translate(3px,-3px)}}
.button:focus-visible>span{transform:translate(3px,-3px)}
.button:active{transform:translateY(0)}
.button:active>span{transform:translate(1px,-1px)}
.faq-toggle{transform-origin:center;transition:transform .2s ease}
.faq-toggle:before,.faq-item button[aria-expanded=true] .faq-toggle:before{content:'+'}
.faq-item button[aria-expanded=true] .faq-toggle{transform:rotate(45deg)}

@media(max-width:767px){
  .motion-ready [data-motion]{transform:translateY(8px);transition-duration:.68s;transition-delay:min(var(--motion-delay,0ms),110ms)}
  .motion-ready [data-motion="wipe"]{transform:none}
  .motion-ready [data-motion="wipe"]::after{transform:scaleY(1);transform-origin:top;transition-duration:.9s}
  .motion-ready [data-motion="wipe"].is-visible::after{transform:scaleY(0)}
  .motion-ready .hero-motion-item{transform:translateY(8px)}
  .motion-ready .hero-motion-ready .hero-motion-item{transition-duration:.65s;transition-delay:calc(60ms + var(--hero-order)*75ms)}
  .motion-ready .hero-motion-visual{clip-path:inset(100% 0 0)}
  .motion-ready .hero-motion-ready .hero-motion-visual{transition-duration:.62s,.9s;transition-delay:500ms}
}

@media(prefers-reduced-motion:reduce){
  .motion-ready [data-motion],.motion-ready [data-motion="wipe"],.motion-ready .hero-motion-item,.motion-ready .hero-motion-visual{opacity:1;transform:none;clip-path:none;transition:none;will-change:auto}
  .motion-ready [data-motion="wipe"]::after{display:none}
  .button>span,.faq-toggle{transition:none}
}

/* Official YamashiroWorks mark: original colors are preserved. */
.brand{color:#043c6b}
.brand-mark{display:block;flex:0 0 auto;width:50px;height:25px;object-fit:contain;margin-right:10px}
@media(max-width:767px){.brand-mark{width:46px;height:23px;margin-right:8px}}

/* Advanced motion showcase. GSAP adds .advanced-motion only after loading. */
.reading-progress{position:absolute;z-index:3;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,#19c6cf,#043c6b);transform:scaleX(0);transform-origin:left center;pointer-events:none}
#main-nav>a:not(.button){position:relative}
#main-nav>a:not(.button)::after{content:'';position:absolute;left:0;right:0;bottom:4px;height:1px;background:#043c6b;transform:scaleX(0);transform-origin:right;transition:transform .35s cubic-bezier(.22,1,.36,1)}
#main-nav>a:not(.button).is-current::after{transform:scaleX(1);transform-origin:left}
.advanced-motion .hero-motion-item,.advanced-motion .hero-motion-visual{will-change:opacity,transform,clip-path}
.advanced-motion.advanced-desktop .service{overflow:visible}
.advanced-motion.advanced-desktop .service .container{background:var(--bg)}
.advanced-motion.advanced-desktop .service-list{--service-progress:0;position:relative;border-top-color:var(--line)}
.advanced-motion.advanced-desktop .service-list::before{content:'';position:absolute;z-index:2;left:0;right:0;top:-2px;height:2px;background:var(--brand);transform:scaleX(var(--service-progress));transform-origin:left center;pointer-events:none}
.advanced-motion.advanced-desktop .service-list article{transition:none!important;will-change:opacity,transform}
.advanced-motion [data-finish-visual]{transform-origin:center center;will-change:transform,clip-path}
.ai-process{perspective:700px}
.ai-process span{display:inline-block;backface-visibility:hidden}
.advanced-motion .timeline{--flow-progress:0;position:relative}
.advanced-motion .timeline::before{content:'';position:absolute;z-index:2;left:0;right:0;top:0;height:2px;background:var(--brand);transform:scaleX(var(--flow-progress));transform-origin:left center;pointer-events:none}
.advanced-motion .timeline li{position:relative;z-index:1}
.advanced-motion .timeline li>span{opacity:.45;transform:scale(.94);transform-origin:left center;transition:opacity .45s ease,transform .45s cubic-bezier(.22,1,.36,1)}
.advanced-motion .timeline li.flow-active>span{opacity:1;transform:scale(1.08)}

@media(max-width:1023px), (max-height:699px){
  .reading-progress{height:1px}
  .advanced-motion .timeline{padding-left:13px}
  .advanced-motion .timeline::before{left:0;right:auto;top:0;bottom:0;width:2px;height:auto;transform:scaleY(var(--flow-progress));transform-origin:center top}
}

@media(prefers-reduced-motion:reduce){
  .reading-progress{display:none}
  #main-nav>a:not(.button)::after{transition:none}
  .advanced-motion .timeline li>span{opacity:1;transform:none;transition:none}
}

/* Secondary routes to production samples and the motion demonstration. */
.showcase-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:1060px;margin:20px auto 0}
.showcase-link{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:68px;padding:14px 20px;border:1px solid #cbbdc3;border-left:4px solid var(--brand);background:var(--surface);color:var(--brand);font-size:14px;font-weight:700;box-shadow:0 7px 20px rgba(53,28,37,.06);transition:border-color .25s,box-shadow .25s,transform .25s cubic-bezier(.22,1,.36,1)}
.showcase-link span{font-size:21px;line-height:1;transition:transform .25s cubic-bezier(.22,1,.36,1)}
.showcase-link:hover{border-color:var(--brand);box-shadow:0 12px 28px rgba(53,28,37,.11);transform:translateY(-2px)}
.showcase-link:hover span,.showcase-link:focus-visible span{transform:translate(3px,-3px)}
@media(max-width:767px){.showcase-links{grid-template-columns:1fr;gap:9px;margin-top:16px}.showcase-link{width:100%;min-height:60px;padding:12px 16px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.showcase-link span{transition:none}}

/* 89件の見本へ案内する、明るい青緑のサイトカラー。 */
:root{--bg:#f3faf9;--surface:#fff;--ink:#17343b;--muted:#536c72;--brand:#087f86;--brand-deep:#07535d;--brand-tint:#e4f5f2;--action:#087f86;--action-hover:#076c73;--line:#cde2e1}
body{background:var(--bg)}
a:focus-visible,button:focus-visible{outline-color:#087f86}
.button{color:#fff;border-radius:8px}
.button:hover{color:#fff}
.site-header{box-shadow:0 5px 24px rgba(7,83,93,.05)}
#main-nav .nav-showcase{color:var(--brand);font-weight:800}
#main-nav .nav-showcase::after{transform:scaleX(1);background:var(--brand)}
.opening{background:linear-gradient(115deg,#e5f6f4 0%,#f3fbfa 62%,#d8f1ee 100%);color:var(--ink)}
.opening-label,.opening-note,.opening-detail{color:var(--brand-deep)}
.opening-facts{border-color:#b9d9d6}
.opening-facts p+p{border-color:#b9d9d6}
.opening-facts p>span{color:var(--brand-deep)}
.opening-action{gap:10px}
.opening-action .button{width:min(100%,370px)}
.opening-action .opening-samples{background:var(--brand);border-color:var(--brand);box-shadow:0 13px 28px rgba(8,127,134,.2)}
.opening-action .opening-consult{background:#fff;border-color:var(--brand);color:var(--brand);box-shadow:none}
.opening-action .opening-consult:hover{background:#e1f2ef;color:var(--brand)}
.opening-figure{border:1px solid #c5e0dd;border-radius:12px;box-shadow:0 24px 50px rgba(7,83,93,.11)}
.concerns-brief-copy li:before{color:var(--brand)}
.service-list article:not(:last-child):after{color:#8ab9b8}
.price-category,.price-note{color:#d3eeee}
.final-cta .section-label,.contact-bottom>p,.contact-bottom .small-note{color:#d3eeee}
.showcase-link{border-color:#bcd9d7;border-left-color:var(--brand);color:var(--brand);box-shadow:0 7px 20px rgba(7,83,93,.06)}
.showcase-link:hover{box-shadow:0 12px 28px rgba(7,83,93,.12)}
.showcase-link.sample-list-link{background:#e1f5f1;font-size:17px;min-height:76px}
.reading-progress{background:linear-gradient(90deg,#83d8cf,#087f86)}
@media(max-width:767px){.opening-action .button{width:100%}.showcase-link.sample-list-link{font-size:14px;min-height:68px}}
