@charset "UTF-8";
/*! © 2026 シンアイ株式会社（ShinAI Inc.）— https://shinai-inc.jp/start/
    このスタイルシートの設計・配色・寸法は当社の著作物です。
    無断での複製・転用を禁じます。出所の問い合わせ: contact@shinai-inc.jp */

:root{
  --paper:#f8f7f1;
  --sage-wash:#edf1e8;
  --warm-wash:#f6ede6;
  --card:#fffdf9;
  --ink:#3f3531;
  --ink-2:#5b504b;
  --muted:#736a66;
  --line:#e2dbd5;
  --line-soft:#ebe5df;
  --accent:#a65634;
  --accent-deep:#8f4829;
  --sage:#4f7348;
  --sage-soft:#b9c9b1;
  --chore:#e9e1d8;
  --chore-2:#dfd5cb;
  --value:#f2dccf;
  --grad-room:linear-gradient(100.4deg,#5b9530 0%,#7cb041 100%);
  --grad-next:linear-gradient(100.7deg,#b8623a 0%,#cc7d4a 100%);
  --grad-thread:linear-gradient(90deg,#9cbf7c 0%,#7cb041 38%,#cc7d4a 100%);
  --grad-cta:radial-gradient(120% 160% at 12% 0%,rgba(255,255,255,.55),rgba(255,255,255,0) 55%),linear-gradient(115deg,#fbe0e4 0%,#f5c6cf 55%,#efb3c0 100%);
  --cta-ink:#7d2842;
  --sans:"Yu Gothic","YuGothic","Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
  --latin:"Helvetica Neue",Arial,sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;font-weight:500;line-height:2;letter-spacing:.04em;-webkit-font-smoothing:antialiased;word-break:auto-phrase}
h1,h2,h3,p,figure,ol,ul,dl,dd{margin:0;padding:0}
ol,ul{list-style:none}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
a,button,summary{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}
::selection{background:#dfe8d4}
.br-pc{display:none}
.br-sp{display:none}
.nowrap{white-space:nowrap}

h1,h2{font-feature-settings:"palt";color:var(--ink)}
h2{font-size:clamp(28px,2.8vw,40px);font-weight:400;line-height:1.75;letter-spacing:.08em}
h3{font-size:18px;font-weight:600;line-height:1.7;letter-spacing:.06em}
.h-accent{color:var(--accent)}

.wrap{width:min(1120px,calc(100% - 112px));margin-inline:auto}
.section{padding-block:152px}
.section--sage{background:var(--sage-wash)}
.section--warm{background:var(--warm-wash)}
.section--rule{padding-top:128px;border-top:1px solid var(--line-soft)}
.split{display:grid;grid-template-columns:5fr 6fr;column-gap:clamp(40px,8%,112px);align-items:start}
.split--center{align-items:center}
.sticky{position:sticky;top:124px}
#work-title{font-size:clamp(26px,2.6vw,37px)}

.eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:28px;font-size:12px;letter-spacing:.14em;color:var(--muted)}
.eyebrow::before{content:"";flex:none;width:28px;height:1px;background:currentColor;opacity:.55}
.body{margin-top:30px;font-size:16px;line-height:2.1;color:var(--ink-2)}
.note{margin-top:14px;font-size:13px;line-height:1.9;color:var(--muted)}

.skip{position:fixed;top:-100px;left:16px;z-index:100;padding:10px 18px;border-radius:8px;background:var(--ink);color:#fff}
.skip:focus{top:12px}

.header{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;gap:40px;height:84px;padding-inline:max(28px,calc((100% - 1216px)/2));transition:height .45s var(--ease),background-color .45s var(--ease),box-shadow .45s var(--ease)}
.header.is-scrolled{height:68px;background:rgba(248,247,241,.9);-webkit-backdrop-filter:saturate(1.3) blur(12px);backdrop-filter:saturate(1.3) blur(12px);box-shadow:0 1px 0 var(--line-soft)}
.brand{display:block}
.brand .official-logo{width:auto;height:44px}
.desktop-nav{display:flex;gap:36px;margin-left:auto;font-size:13px;letter-spacing:.12em;color:var(--ink-2)}
.desktop-nav a{position:relative;padding-block:6px}
.desktop-nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.desktop-nav a:hover::after{transform:scaleX(1)}
.header-cta{display:inline-flex;align-items:center;gap:14px;padding:10px 20px 10px 22px;border:1px solid var(--line);border-radius:999px;font-size:13px;letter-spacing:.1em;transition:border-color .3s,color .3s,background-color .3s}
.header-cta:hover{border-color:var(--accent);color:var(--accent)}
.menu-button{display:none}
[hidden]{display:none!important}

.hero{display:flex;align-items:center;min-height:min(100svh,920px);padding-block:156px 112px}
.hero__grid{display:grid;grid-template-columns:1.2fr 1fr;column-gap:48px;align-items:center}
.hero__eyebrow{margin-bottom:36px}
.hero h1{font-size:clamp(38px,3.75vw,56px);font-weight:500;line-height:1.6;letter-spacing:.06em}
.hero h1>span{display:block;white-space:nowrap}
.hero h1>span+span{margin-top:.12em}
.hero h1 em{font-style:normal}
.hero h1>span:first-child em{color:#5b9530}
.hero h1>span:last-child em{color:#b8623a}
.hero__lead{margin-top:40px;font-size:17px;line-height:2.0503;color:var(--ink-2)}
.hero__sub{margin-top:12px;font-size:13px;letter-spacing:.1em;color:var(--muted)}
.hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px 34px;margin-top:48px}
.hero__art{margin-right:-24px;overflow:hidden;border-radius:28px;box-shadow:0 1px 0 rgba(63,53,49,.04),0 44px 80px -58px rgba(63,53,49,.4)}
.hero__art img{width:100%}

.primary-link,.contact-button{position:relative;isolation:isolate;overflow:hidden;border:1px solid rgba(207,110,138,.42);background:#f5c6cf;background-image:var(--grad-cta);background-size:160% 100%;background-position:0% 50%;color:var(--cta-ink);font-weight:600;box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 16px 30px -16px rgba(214,110,140,.6);transition:background-position .7s var(--ease),transform .4s var(--ease),box-shadow .4s var(--ease)}
.primary-link::before,.contact-button::before{content:"";position:absolute;inset:0 auto 0 -60%;z-index:-1;width:50%;background:linear-gradient(100deg,rgba(255,255,255,0),rgba(255,255,255,.55),rgba(255,255,255,0));transform:skewX(-18deg);transition:left .9s var(--ease)}
.primary-link:hover,.contact-button:hover{background-position:100% 50%;transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 22px 38px -16px rgba(214,110,140,.72)}
.primary-link:hover::before,.contact-button:hover::before{left:115%}
.primary-link>span,.contact-button>span:last-child{display:grid;place-items:center;flex:none;border-radius:50%;background:rgba(255,255,255,.72);color:var(--cta-ink);font-weight:500;line-height:1;transition:transform .4s var(--ease),background-color .3s}
.primary-link:hover>span,.contact-button:hover>span:last-child{transform:translate(2px,-2px);background:#fff}
.primary-link{display:inline-flex;align-items:center;gap:18px;padding:12px 12px 12px 30px;border-radius:999px;font-size:15px;letter-spacing:.0607em}
.primary-link>span{width:36px;height:36px;font-size:15px}
.text-link{display:inline-flex;align-items:center;gap:10px;padding-bottom:5px;border-bottom:1px solid var(--line);font-size:14px;letter-spacing:.08em;color:var(--ink-2);transition:color .3s,border-color .3s}
.text-link:hover{color:var(--accent);border-color:var(--accent)}

.art__frame{overflow:hidden;border-radius:24px;background:var(--paper)}
.art img{width:100%}
.art figcaption{margin-top:14px;text-align:center;font-size:13px;letter-spacing:.0204em;color:var(--muted)}

.day{margin-top:104px;padding:44px 48px 42px;border-radius:24px;background:var(--paper);box-shadow:0 1px 0 rgba(63,53,49,.04),0 30px 60px -44px rgba(63,53,49,.28)}
.day__title{display:flex;align-items:center;gap:12px;margin-bottom:30px;font-size:13px;letter-spacing:.14em;color:var(--muted)}
.day__title small{padding:1px 10px;border:1px solid var(--line);border-radius:999px;font-size:11px;letter-spacing:.1em}
.day__row{display:grid;grid-template-columns:92px 1fr;align-items:center;gap:20px}
.day__row+.day__row{margin-top:14px}
.day__label{font-size:13px;letter-spacing:.12em;color:var(--ink-2)}
.day__row--next .day__label{color:var(--sage)}
.day__bar{display:flex;gap:5px;height:64px}
.seg{display:flex;flex:1 1 0;align-items:center;justify-content:center;min-width:0;overflow:hidden;white-space:nowrap;border-radius:12px;font-size:13px;letter-spacing:.06em;color:var(--ink-2);transition:flex-grow 1.7s var(--ease),border-color .6s,opacity .6s}
.seg--chore{background:repeating-linear-gradient(135deg,var(--chore) 0 7px,var(--chore-2) 7px 14px)}
.seg--value{background:var(--value);color:var(--accent-deep);font-weight:600}
.seg--room{border:1.5px dashed var(--sage-soft);background:rgba(237,241,232,.55)}
.seg--room em{font-style:normal;font-size:20px;font-weight:600;letter-spacing:.24em;color:#5b9530}
.day__row--now .s1{flex-grow:2.2}
.day__row--now .s2{flex-grow:2}
.day__row--now .s3{flex-grow:2.6}
.day__row--now .seg--value{flex-grow:2.2}
.day__row--next .s1,.day__row--next .s2{flex-grow:1.1}
.day__row--next .seg--room{flex-grow:3.2}
.day__row--next .seg--value{flex-grow:3.6}
.day__row--next .seg{transition-delay:.6s}
.motion-ready .day.pending .day__row--next .s1{flex-grow:2.2}
.motion-ready .day.pending .day__row--next .s2{flex-grow:2}
.motion-ready .day.pending .day__row--next .seg--room{flex-grow:.0001;border-color:transparent;opacity:0}
.motion-ready .day.pending .day__row--next .seg--value{flex-grow:2.2}

.numbered{counter-reset:n;border-top:1px solid var(--line)}
.numbered>li{counter-increment:n;position:relative;padding:22px 0 22px 56px;border-bottom:1px solid var(--line);line-height:1.8009}
.numbered>li::before{content:counter(n,decimal-leading-zero);position:absolute;left:0;top:25px;font:500 13px/1.6 var(--latin);letter-spacing:.08em;color:var(--accent)}
.concerns>li{font-size:16px}
.conclusion{margin-top:40px;font-size:18px;line-height:1.95;letter-spacing:.06em}
.conclusion span{font-weight:600;color:var(--accent)}
.closeness>li{padding-block:26px}
.closeness>li::before{top:30px}
.closeness h3{font-size:19px}
.closeness p{margin-top:6px;font-size:14px;line-height:1.9;color:var(--ink-2)}

.work-list{border-top:1px solid var(--line)}
.work-item{border-bottom:1px solid var(--line)}
.work-item summary{display:grid;grid-template-columns:56px 1fr auto;grid-template-areas:"num title toggle" "num sum toggle";row-gap:2px;align-items:center;padding:26px 0;list-style:none;cursor:pointer}
.work-item summary::-webkit-details-marker{display:none}
.work-number{grid-area:num;align-self:start;padding-top:8px;font:500 13px/1.6 var(--latin);letter-spacing:.08em;color:var(--accent)}
.work-item h3{grid-area:title;font-size:20px}
.work-summary{grid-area:sum;font-size:14px;color:var(--ink-2)}
.toggle{grid-area:toggle;position:relative;width:38px;height:38px;margin-left:20px;border:1px solid var(--line);border-radius:50%;transition:background-color .3s,border-color .3s}
.toggle::before,.toggle::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1px;background:var(--ink-2);transform:translate(-50%,-50%)}
.toggle::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .45s var(--ease)}
.work-item summary:hover .toggle{border-color:var(--sage-soft)}
.work-item[open] .toggle{border-color:var(--sage-soft);background:var(--sage-wash)}
.work-item[open] .toggle::after{transform:translate(-50%,-50%) rotate(0)}
.work-detail{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin:0 0 30px;padding:26px 22px;border-radius:18px;background:var(--card);box-shadow:0 1px 0 rgba(63,53,49,.04),0 20px 40px -34px rgba(63,53,49,.3)}
.work-detail p{font-size:14px;line-height:1.95;letter-spacing:.02em;color:var(--ink-2)}
.work-detail strong{font-weight:600;color:var(--ink)}
.work-detail__arrow{font-size:18px;color:var(--accent)}
.tag{display:block;margin-bottom:6px;font-size:11px;letter-spacing:.1em;color:var(--muted)}
.tag--next{color:var(--sage)}

.thread{display:grid;gap:64px;margin-top:104px}
.thread__label{display:flex;align-items:center;gap:14px;margin-bottom:22px;font-size:13px;letter-spacing:.14em;color:var(--muted)}
.thread__brand{font:600 15px/1 var(--latin);letter-spacing:.04em;color:var(--ink)}
.thread__pieces{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.thread__pieces li{padding-top:18px;border-top:1.5px dashed #c5b9b0;font-size:15px;line-height:1.7;color:var(--ink-2)}
.thread__pieces small{display:block;margin-top:2px;font-size:12px;color:var(--muted)}
.thread__steps{position:relative;display:grid;grid-template-columns:repeat(5,1fr)}
.thread__steps::before{content:"";position:absolute;left:7px;right:0;top:6px;height:2px;border-radius:2px;background:var(--grad-thread);transform-origin:left;transition:transform 1.8s var(--ease) .3s}
.thread__steps li{position:relative;padding:36px 24px 0 0}
.thread__steps li::before{content:"";position:absolute;left:0;top:0;width:14px;height:14px;border:2px solid #8fb867;border-radius:50%;background:var(--sage-wash)}
.thread__steps li:nth-child(2)::before{border-color:#7cb041}
.thread__steps li:nth-child(3)::before{border-color:#a3a148}
.thread__steps li:nth-child(4)::before{border-color:#c08a47}
.thread__steps li:nth-child(5)::before{border-color:#cc7d4a;background:#cc7d4a}
.thread__steps h3{font-size:19px}
.thread__steps p{margin-top:8px;font-size:13.5px;line-height:1.9;color:var(--ink-2)}
.motion-ready .thread.pending .thread__steps::before{transform:scaleX(0)}
.thread__note{margin-top:-24px}

.company-foot{margin-top:120px}
.sub-h{font-size:22px;font-weight:500;line-height:1.7;letter-spacing:.08em}
.company-foot .body{margin-top:16px}
.kicker{margin-top:44px;font-size:12.5px;letter-spacing:.12em;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.chips li{padding:6px 14px;border:1px solid var(--line);border-radius:999px;background:var(--card);font-size:12.5px;line-height:1.7;color:var(--ink-2)}
.company-data{border-top:1px solid var(--line)}
.company-data div{display:grid;grid-template-columns:120px 1fr;padding:19px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.9}
.company-data dt{padding-top:2px;font-size:12.5px;letter-spacing:.12em;color:var(--muted)}
.company-data dd span{margin-left:8px;font-size:12px;color:var(--muted)}

.contact__grid{display:grid;grid-template-columns:5fr 6fr;column-gap:clamp(40px,7%,96px);align-items:center}
.contact__pre{margin-bottom:12px;font-size:13px;letter-spacing:.08em;color:var(--muted)}
.contact h2 em{font-style:normal;color:#b8623a}
.contact__facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}
.contact__facts li{padding:6px 16px;border-radius:999px;background:rgba(255,253,249,.75);font-size:13px;color:var(--ink-2)}
.contact__mail{margin-top:22px;font-size:13px;color:var(--muted)}
.contact__mail a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.contact__form{padding:44px 44px 38px;border-radius:26px;background:var(--card);box-shadow:0 1px 0 rgba(63,53,49,.04),0 36px 70px -48px rgba(143,72,41,.45)}

.lp-form{display:grid;gap:18px;text-align:left}
.lp-field{display:grid;gap:8px}
.lp-label{font-size:12.5px;letter-spacing:.08em;color:var(--ink-2)}
.lp-input{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:var(--paper);font:inherit;font-size:16px;line-height:1.7;color:var(--ink);transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background-color .2s}
.lp-input:focus{outline:none;border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px rgba(166,86,52,.14)}
.lp-textarea{min-height:120px;resize:vertical}
.lp-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.lp-chips__label{width:100%;font-size:11.5px;color:var(--muted)}
.lp-chip{padding:7px 14px;border:1px solid var(--line);border-radius:999px;background:transparent;font-size:12.5px;color:var(--accent-deep);cursor:pointer;transition:border-color .2s,background-color .2s}
.lp-chip:hover{border-color:var(--accent);background:var(--warm-wash)}
.lp-consent{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.8;color:var(--ink-2);cursor:pointer}
.lp-consent input{flex-shrink:0;margin-top:5px;accent-color:var(--accent)}
.lp-consent a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.lp-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.lp-error{margin:0;font-size:13px;line-height:1.8;color:#9b3a1f}
.lp-done{display:grid;justify-items:center;padding-block:12px 4px;text-align:center;scroll-margin-top:96px}
.lp-done__mark{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:var(--sage-wash)}
.lp-done__mark svg{width:44px;height:44px;fill:none;stroke:var(--sage);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.lp-done__mark circle{stroke:var(--sage-soft);stroke-width:1.6}
.lp-done__title{margin-top:22px;font-size:22px;font-weight:600;line-height:1.6;letter-spacing:.06em;color:var(--ink)}
.lp-done__title:focus{outline:none}
.lp-done__lead{margin-top:10px;font-size:14.5px;line-height:1.9;color:var(--ink-2)}
.lp-done__to{max-width:100%;margin-top:20px;padding:7px 20px;border:1px solid var(--line);border-radius:999px;background:var(--paper);font-size:13px;line-height:1.7}
.lp-done__email{color:var(--ink);font-family:var(--latin);letter-spacing:.02em;overflow-wrap:anywhere}
.lp-done__note{margin-top:22px;font-size:12px;line-height:1.8;color:var(--muted)}
.lp-done__note a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
@media (prefers-reduced-motion:no-preference){
  .lp-done:not([hidden]){animation:rise .9s var(--ease) both}
  .lp-done:not([hidden]) .lp-done__mark path{stroke-dasharray:40;stroke-dashoffset:40;animation:lp-draw .7s .35s var(--ease) forwards}
}
@keyframes lp-draw{to{stroke-dashoffset:0}}
.lp-turnstile{margin:2px 0 4px}
.contact-button{display:flex;align-items:center;justify-content:center;gap:16px;width:100%;margin-top:4px;padding:13px 14px 13px 30px;border:0;border-radius:999px;font-size:16px;line-height:1.4507;letter-spacing:.1em;cursor:pointer}
.contact-button>span:first-child{flex:1;text-align:center;padding-left:40px}
.contact-button>span:last-child{width:40px;height:40px;font-size:16px}
.contact-button:disabled{opacity:.6;cursor:default;transform:none}
.contact-button:disabled::before{display:none}

.footer{display:flex;align-items:center;gap:28px;padding:40px max(28px,calc((100% - 1120px)/2));border-top:1px solid var(--line-soft)}
.footer .official-logo{width:auto;height:36px}
.footer p{font-size:12px;letter-spacing:.12em;color:var(--muted)}
.footer__site{margin-left:auto;display:inline-flex;align-items:center;gap:8px;padding-bottom:3px;border-bottom:1px solid var(--line);font-size:12px;letter-spacing:.08em;color:var(--ink-2);transition:color .3s,border-color .3s}
.footer__site:hover{color:var(--accent);border-color:var(--accent)}
.footer small{font-size:11px;color:var(--muted)}
.back-top{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;color:var(--ink-2);transition:border-color .3s,color .3s}
.back-top:hover{border-color:var(--accent);color:var(--accent)}
.reading-progress{position:fixed;top:0;left:0;z-index:60;width:0;height:2px;background:linear-gradient(90deg,#7cb041,#cc7d4a)}

.reveal{opacity:1;transform:none}
.motion-ready .reveal{transition:opacity 1s var(--ease),transform 1s var(--ease)}
.motion-ready .reveal.pending{opacity:0;transform:translateY(18px)}
@media (prefers-reduced-motion:no-preference){
  .hero__eyebrow,.hero h1>span,.hero__lead,.hero__sub,.hero__actions,.hero__art{animation:rise 1.2s var(--ease) both}
  .hero h1>span:nth-child(1){animation-delay:.12s}
  .hero h1>span:nth-child(2){animation-delay:.24s}
  .hero__lead{animation-delay:.4s}
  .hero__sub{animation-delay:.48s}
  .hero__actions{animation-delay:.58s}
  .hero__art{animation-duration:1.6s;animation-delay:.2s}
}
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .hero h1 em,.contact h2 em,.seg--room em{-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
  .hero h1>span:first-child em,.seg--room em{background-image:var(--grad-room)}
  .hero h1>span:last-child em,.contact h2 em{background-image:var(--grad-next)}
}

@media (min-width:761px){.br-pc{display:inline}}

@media (max-width:1240px){
  .work-detail{grid-template-columns:1fr;gap:10px}
  .work-detail__arrow{transform:rotate(90deg);justify-self:start;margin-left:4px}
  .work-detail .br-pc{display:none}
}

@media (max-width:1024px){
  .hero{min-height:0}
  .hero__grid{grid-template-columns:1fr;row-gap:48px}
  .hero__art{max-width:640px;margin-right:0}
  .split,.contact__grid{grid-template-columns:1fr;row-gap:56px}
  .sticky{position:static}
  .work-detail{margin-left:0}
  .thread__steps{grid-template-columns:1fr;padding-left:34px}
  .thread__steps::before{left:6px;right:auto;top:6px;bottom:28px;width:2px;height:auto;background:linear-gradient(180deg,#9cbf7c 0%,#7cb041 38%,#cc7d4a 100%);transform-origin:top}
  .motion-ready .thread.pending .thread__steps::before{transform:scaleY(0)}
  .thread__steps li{padding:0 0 26px}
  .thread__steps li::before{left:-34px;top:6px}
  .thread__steps .br-pc{display:none}
}

@media (max-width:760px){
  .br-sp{display:inline}
  .line-gap{display:block;margin-top:1.15em;font-feature-settings:"palt";letter-spacing:.02em}
  html{scroll-padding-top:76px}
  body{font-size:15px}
  .wrap{width:calc(100% - 44px)}
  .section{padding-block:92px}
  h2{font-size:26px;line-height:1.75}
  #work-title{font-size:26px}
  #approach-title{font-size:min(26px,7.4vw)}
  .eyebrow{margin-bottom:20px;font-size:11.5px}
  .body{margin-top:20px;font-size:15px;line-height:2}
  .split,.contact__grid{row-gap:44px}

  .header{height:68px;gap:0;padding-inline:18px 14px}
  .header.is-scrolled{height:60px}
  .brand .official-logo{width:104px;height:auto}
  .desktop-nav,.header-cta{display:none}
  .menu-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:44px;height:44px;margin-left:auto;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;cursor:pointer}
  .menu-button span{width:16px;height:1px;background:var(--ink);transition:transform .3s var(--ease)}
  .menu-button[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
  .menu-button[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .mobile-nav{position:absolute;top:calc(100% + 4px);left:12px;right:12px;padding:8px 22px;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:0 24px 40px -28px rgba(63,53,49,.35)}
  .mobile-nav a{display:block;padding:14px 0;border-bottom:1px solid var(--line-soft);font-size:15px}
  .mobile-nav a:last-child{border:0;color:var(--accent)}

  .hero{padding-block:112px 72px}
  .hero__eyebrow{margin-bottom:24px;font-size:11px;letter-spacing:.06em}
  .hero__eyebrow::before{width:18px}
  .hero h1{font-size:min(8.6vw,40px);line-height:1.6;letter-spacing:.04em}
  .hero__lead{margin-top:26px;font-size:15px}
  .hero__sub{font-size:12.5px;letter-spacing:.06em}
  .hero__actions{gap:18px 26px;margin-top:32px}
  .primary-link{padding:10px 10px 10px 24px;font-size:14px}
  .primary-link>span{width:34px;height:34px}
  .hero__grid{row-gap:36px}
  .hero__art{margin-inline:-6px;border-radius:20px}

  .art__frame{border-radius:18px}
  .day{margin-top:56px;padding:26px 18px 24px;border-radius:20px}
  .day__title{margin-bottom:20px;font-size:12px}
  .day__row{grid-template-columns:1fr;gap:8px}
  .day__row+.day__row{margin-top:18px}
  .day__label{font-size:12px}
  .day__bar{gap:4px;height:52px}
  .seg{border-radius:9px;font-size:11.5px;letter-spacing:.02em}
  .seg--room em{font-size:16px;letter-spacing:.18em}

  .numbered>li{padding:14px 0 14px 42px}
  .numbered>li::before{top:16px;font-size:12px}
  .concerns>li{font-size:15px}
  .conclusion{margin-top:28px;font-size:16px}
  .closeness>li{padding-block:18px}
  .closeness>li::before{top:21px}
  .closeness h3{font-size:17px}

  .work-item summary{grid-template-columns:40px 1fr auto;padding:20px 0}
  .work-number{padding-top:6px;font-size:12px}
  .work-item h3{font-size:17px}
  .work-summary{font-size:13px;line-height:1.8}
  .toggle{width:34px;height:34px;margin-left:12px}
  .work-detail{grid-template-columns:1fr;gap:12px;margin-bottom:22px;padding:20px 20px}
  .work-detail__arrow{transform:rotate(90deg);justify-self:start;margin-left:4px}

  .thread{gap:48px;margin-top:64px}
  .thread__pieces{grid-template-columns:repeat(2,1fr);gap:18px 14px}
  .thread__pieces li{font-size:14px}
  .thread__steps h3{font-size:17px}
  .thread__steps p{margin-top:4px;font-size:13.5px}
  .thread__note{margin-top:-20px}

  .company-foot{margin-top:72px}
  .sub-h{font-size:19px}
  .kicker{margin-top:32px}
  .company-data div{grid-template-columns:96px 1fr;padding:15px 0;font-size:14px}

  .contact__form{margin-inline:-6px;padding:28px 20px 24px;border-radius:22px}
  .lp-done__title{font-size:20px}
  .contact__facts{margin-top:26px}

  .footer{flex-wrap:wrap;gap:14px 20px;padding:32px 22px}
  .footer p{order:3;width:100%;font-size:11px}
  .footer__site{margin-left:auto;font-size:11.5px}
}
@media (max-width:360px){
  .wrap{width:calc(100% - 36px)}
  .seg{font-size:10.5px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1!important;transform:none!important}
}
@media print{
  .header,.reading-progress,.back-top{display:none}
  .section{padding-block:40px;break-inside:avoid}
}

:root{--shinai-origin:"shinai-inc.jp | シンアイ株式会社 | 法人番号 9070001044403 | 2026"}
