:root{--paper:#f6f4ef;--paper2:#ebe8e1;--ink:#242321;--muted:#77736c;--red:#8d292a;--red-dark:#612123;--line:rgba(36,35,33,.17);--serif:"Noto Serif JP",serif;--sans:"Noto Sans JP",sans-serif;--page:clamp(22px,7vw,108px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:78px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.9 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}img,svg{max-width:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:1000;top:8px;left:8px;padding:10px 16px;background:var(--ink);color:#fff;transform:translateY(-150%)}.skip-link:focus{transform:none}
.site-header{height:78px;padding:0 var(--page);display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:20;left:0;right:0;top:0;color:white;border-bottom:1px solid rgba(255,255,255,.3)}.wordmark{display:inline-flex;align-items:center;gap:12px}.wordmark-mark{width:34px;height:34px;border:1px solid currentColor;display:grid;place-items:center;font:500 12px var(--serif);letter-spacing:.08em}.wordmark-type{display:flex;flex-direction:column;line-height:1.45}.wordmark-type b{font-size:11px;letter-spacing:.14em;font-weight:400}.wordmark-type strong{font-size:13px;letter-spacing:.07em;font-weight:600}.site-nav{display:flex;align-items:center;gap:clamp(12px,2vw,30px);font-size:12px;letter-spacing:.04em}.site-nav a{transition:opacity .2s}.site-nav a:hover{opacity:.65}.nav-contact{border:1px solid rgba(255,255,255,.55);padding:9px 13px}.menu-toggle{display:none}
.hero-scene{height:175vh;background:var(--red-dark)}.hero{height:100svh;min-height:690px;max-height:1050px;position:sticky;top:0;overflow:hidden;background:var(--red-dark);color:white;display:flex;align-items:center;padding:120px var(--page) 90px}.hero-field{position:absolute;inset:0 0 0 49%;overflow:hidden;background:var(--red);transform-origin:100% 50%;clip-path:polygon(9% 0,100% 0,100% 100%,0 100%)}.hero-field .field-word{position:absolute;right:-4vw;top:9%;font:500 clamp(80px,17vw,260px)/.9 var(--serif);letter-spacing:-.06em;color:rgba(255,255,255,.13);white-space:nowrap}.field-index{position:absolute;right:var(--page);bottom:13%;writing-mode:vertical-rl;font-size:11px;letter-spacing:.2em;color:rgba(255,255,255,.72)}.hero-copy{position:relative;z-index:2;width:min(690px,62%);padding-left:2vw}.eyebrow,.kicker{font-size:12px;letter-spacing:.16em;text-transform:uppercase}.eyebrow{margin:0 0 32px;color:rgba(255,255,255,.7)}.hero h1{font:500 clamp(42px,5.3vw,78px)/1.5 var(--serif);letter-spacing:.07em;margin:0 0 25px}.hero h1 span,.hero h1 em{display:block;font-style:normal}.hero h1 em{color:#edc9ba}.hero-lead{max-width:590px;color:rgba(255,255,255,.8);font-size:15px;line-height:2;margin:0 0 28px}.text-link{font-size:13px;letter-spacing:.1em;display:inline-flex;gap:20px;align-items:center;padding:0 0 7px;border-bottom:1px solid currentColor}.text-link span{font-size:18px}.hero-bottom{position:absolute;bottom:26px;left:var(--page);right:var(--page);display:flex;justify-content:space-between;color:rgba(255,255,255,.62);font-size:11px;letter-spacing:.17em}.scroll-cue{margin-left:auto;margin-right:auto}
.section-pad{padding-left:var(--page);padding-right:var(--page)}.section-label{font-size:11px;letter-spacing:.17em;color:var(--muted);display:flex;gap:20px;align-items:flex-start;white-space:nowrap}.section-label span:first-child{color:var(--red)}.intro{min-height:920px;padding-top:150px;padding-bottom:145px;display:grid;grid-template-columns:.7fr 2fr .9fr;gap:3vw;position:relative;overflow:hidden}.intro-marquee{grid-column:2/4;align-self:start;overflow:hidden;white-space:nowrap;color:rgba(141,41,42,.12);font:500 clamp(50px,9vw,130px)/1.1 var(--serif);letter-spacing:-.04em}.intro-main{grid-column:2;grid-row:2;max-width:770px}.intro h2,.message-body h2,.office h2,.faq h2{font:500 clamp(34px,4.2vw,59px)/1.6 var(--serif);letter-spacing:.04em;margin:0 0 36px}.intro h2 span{display:block}.accent,.services-head h2 em{color:var(--red);font-style:normal}.intro-copy{max-width:700px;color:#55534e;font-size:15px;line-height:2}.intro-copy p{margin:0 0 15px}.asset-diagram{grid-column:3;grid-row:2;align-self:center;border-left:1px solid var(--red);padding:12px 0 12px 20px;color:var(--red-dark);min-width:205px}.asset-diagram p{font:500 13px var(--sans);letter-spacing:.08em;margin:0 0 15px}.asset-diagram div{display:flex;align-items:center;gap:6px;font:500 15px var(--serif)}.asset-diagram div span{border-bottom:1px solid rgba(141,41,42,.4);padding-bottom:3px}.asset-diagram i{font-style:normal;color:var(--red);font-size:18px}.asset-diagram small{display:block;margin-top:12px;color:var(--muted);font-size:11px}.asset-diagram b{display:block;height:1px;width:46px;margin-top:18px;background:var(--red)}
.belief{height:310vh;position:relative;background:var(--red);color:#fff}.belief-stage{height:100svh;min-height:620px;max-height:1000px;position:sticky;top:0;overflow:hidden;padding:55px var(--page) 42px;display:flex;flex-direction:column;justify-content:center;background:var(--paper);color:var(--red-dark)}.belief-top,.belief-bottom{position:absolute;left:var(--page);right:var(--page);display:flex;justify-content:space-between;z-index:3;color:inherit;opacity:.7;font-size:11px;letter-spacing:.16em}.belief-top{top:34px}.belief-bottom{bottom:28px}.belief-pre{font-size:12px;letter-spacing:.17em;color:inherit;opacity:.8;margin:0 0 14px}.belief h2{position:relative;z-index:1;font:500 clamp(40px,6.2vw,87px)/1.5 var(--serif);letter-spacing:.06em;margin:0;max-width:1000px}.belief-intro{position:relative;z-index:1;max-width:500px;font-size:15px;line-height:2;margin:15px 0 0 auto;color:inherit;opacity:.82}.strength-panels{position:relative;z-index:2;width:min(700px,62%);height:210px;margin:22px 0 0 auto;border-top:1px solid currentColor}.strength-panel{padding:25px 0;display:grid;grid-template-columns:76px 1fr;gap:18px;border-bottom:1px solid currentColor}.strength-num{font:500 clamp(35px,5vw,64px)/1 var(--serif);color:var(--red)}.strength-panel h3{font:500 23px/1.45 var(--serif);margin:0 0 8px}.strength-panel p{font-size:14px;line-height:1.85;color:inherit;opacity:.8;margin:0}.belief-pagination{font-size:12px}.belief-pagination b{font:500 19px var(--serif);color:inherit;margin-right:4px}
.services{background:var(--paper2);padding-bottom:120px}.services-head{padding-top:140px;padding-bottom:75px;display:grid;grid-template-columns:.7fr 2fr;gap:3vw}.services-head .section-label{grid-row:1}.services-head>div:last-child{grid-column:2}.kicker{margin:0 0 24px;color:var(--red);font-weight:500}.services-head h2{font:500 clamp(36px,5vw,67px)/1.55 var(--serif);letter-spacing:.04em;margin:0 0 22px}.services-head h2 em{font-style:normal}.services-intro{max-width:760px;color:#5e5c57;font-size:15px;line-height:1.95;margin:0}.service-journey{height:410vh;position:relative}.service-stage{height:100svh;min-height:620px;position:sticky;top:0;overflow:hidden;background:var(--red-dark);color:#fff;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:70px var(--page)}.service-stage::before{content:"";position:absolute;inset:0 48% 0 0;background:var(--red)}.service-index{position:absolute;z-index:3;top:36px;left:var(--page);right:var(--page);display:flex;align-items:baseline;gap:10px;font-size:11px;letter-spacing:.16em;color:rgba(255,255,255,.7)}.service-index b{margin-left:auto;font:500 clamp(42px,7vw,94px)/1 var(--serif);color:#edc9ba}.service-index small{font-size:13px}.service-diagrams{position:relative;z-index:1;min-height:330px;display:grid;place-items:center;color:#f4dfd3}.service-diagram{grid-area:1/1;width:min(100%,570px);height:auto;max-height:60vh;overflow:visible}.service-diagram text{fill:currentColor}.service-panels{position:relative;z-index:2;min-height:300px;display:grid;place-items:center;padding:20px 0 20px 5vw}.service-panel{grid-area:1/1;width:min(100%,590px);padding:15px 0 28px 25px;border-left:1px solid rgba(255,255,255,.42)}.service-panel>span{font-size:12px;letter-spacing:.17em;color:#edc9ba}.service-panel h3{font:500 clamp(30px,3.5vw,48px)/1.5 var(--serif);margin:17px 0 18px}.service-panel p{font-size:15px;line-height:2;color:rgba(255,255,255,.82);margin:0}
.message-scene{height:190vh;background:var(--paper);position:relative}.message-stage{height:100svh;min-height:650px;position:sticky;top:0;overflow:hidden;display:grid;align-items:center}.message-thought{position:absolute;z-index:2;left:var(--page);top:50%;width:80%;transform:translateY(-50%);transform-origin:left center;color:var(--red);font:500 clamp(44px,8vw,112px)/1.45 var(--serif);letter-spacing:.04em}.message-content{position:relative;z-index:1;display:grid;grid-template-columns:.7fr 1.8fr;gap:3vw;align-items:start}.message-body{max-width:840px}.message-body h2{margin-bottom:26px}.message-body>p:not(.kicker){font-size:15px;line-height:2;color:#55534e;margin:0 0 17px}.signature{display:flex;flex-direction:column;align-items:flex-end;margin-top:28px;color:var(--red-dark)}.signature span{font-size:12px;letter-spacing:.12em}.signature strong{font:500 24px var(--serif);letter-spacing:.13em;margin-top:5px}
.office{background:var(--paper);padding-top:140px;padding-bottom:150px;display:grid;grid-template-columns:.7fr 2fr;gap:3vw}.office-layout{grid-column:2;display:grid;grid-template-columns:.8fr 1.5fr;gap:7vw}.office-heading h2{font-size:clamp(36px,4vw,55px)}.office-table{margin:0;border-top:1px solid var(--line)}.office-table div{display:grid;grid-template-columns:120px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}.office-table dt{font-size:13px;color:#716f69}.office-table dd{font-size:14px;line-height:1.9;margin:0;overflow-wrap:anywhere}.office-table dd small{display:block;font-size:13px;color:#777;margin-top:3px}.office-table a{border-bottom:1px solid #9b9992}
.recruit{background:var(--red-dark);color:#fff;padding:42px var(--page)}.recruit-inner{display:grid;grid-template-columns:1fr 2fr 45px;gap:28px;align-items:center;border-top:1px solid rgba(255,255,255,.3);border-bottom:1px solid rgba(255,255,255,.3);padding:24px 0}.recruit-inner>span{font-size:12px;letter-spacing:.16em;color:#e5c4b6}.recruit-inner p{font:400 16px/1.9 var(--serif);margin:0}.recruit-inner>a{height:42px;width:42px;border:1px solid rgba(255,255,255,.5);display:grid;place-items:center;font-size:18px}
.faq{padding-top:140px;padding-bottom:150px;display:grid;grid-template-columns:.7fr 2fr;gap:3vw}.faq-content{max-width:850px}.faq h2{font-size:clamp(36px,4vw,55px);margin-bottom:36px}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:38px 1fr 20px;gap:12px;align-items:center;padding:21px 0;font:500 15px/1.8 var(--serif)}.faq summary::-webkit-details-marker{display:none}.faq summary>span,.faq details>p b{font:13px var(--sans);color:var(--red)}.faq summary i{width:15px;height:15px;position:relative}.faq summary i::before,.faq summary i::after{content:"";position:absolute;background:var(--red);left:0;right:0;top:7px;height:1px}.faq summary i::after{transform:rotate(90deg);transition:transform .2s}.faq details[open] summary i::after{transform:rotate(0)}.faq details>p{display:grid;grid-template-columns:38px 1fr;gap:12px;font-size:14px;line-height:1.9;color:#5e5c58;margin:0;padding:0 0 22px}.faq details>p b{font-weight:400}
.contact{background:var(--paper2);padding-bottom:105px}.contact-top{padding-top:135px;display:grid;grid-template-columns:.7fr 2fr;gap:3vw}.contact-intro h2{font:500 clamp(35px,5vw,64px)/1.6 var(--serif);letter-spacing:.04em;margin:0 0 22px}.contact-intro>p:last-child{font-size:15px;color:#65635f;margin:0}.contact-form{margin:65px 0 0 25%;display:grid;grid-template-columns:1fr 1fr;gap:28px 35px}.form-field{display:flex;flex-direction:column;gap:8px}.form-field label{font-size:14px;letter-spacing:.04em}.form-field label b,.form-field label span{font-size:12px;font-weight:400;color:var(--red);margin-left:8px}.form-field input,.form-field textarea{border:0;border-bottom:1px solid #aaa79f;background:transparent;border-radius:0;padding:11px 0;color:var(--ink);outline:none;font-size:16px;resize:vertical}.form-field input:focus,.form-field textarea:focus{border-color:var(--red)}.form-field input::placeholder,.form-field textarea::placeholder{color:#aaa79f}.form-wide{grid-column:1/-1}.form-submit{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;margin-top:6px}.form-submit p{font-size:13px;color:#777;margin:0}.form-submit button{border:0;background:var(--red);color:#fff;padding:15px 23px;min-width:180px;cursor:pointer;letter-spacing:.1em;font-size:14px;display:flex;justify-content:space-between;align-items:center;transition:background .2s}.form-submit button:hover{background:var(--red-dark)}.form-submit button:disabled{opacity:.6;cursor:wait}.form-submit button span{font-size:17px}.form-status{grid-column:1/-1;color:var(--red-dark);font-size:14px}
.site-footer{background:#242321;color:#fff;padding:48px var(--page) 22px}.footer-main{display:flex;align-items:center;gap:5vw;padding-bottom:42px}.footer-english{font:12px/1.7 var(--serif);letter-spacing:.12em;color:#c6bdb2}.back-top{margin-left:auto;font-size:11px;letter-spacing:.15em;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:6px}.footer-bottom{border-top:1px solid rgba(255,255,255,.2);padding-top:16px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#aaa69e}.footer-bottom span{overflow-wrap:anywhere}
/* Scroll-linked states are enabled only when JavaScript is available and motion is allowed. */
.js-motion .hero-field{transform:scale(calc(1 - var(--hero-progress,0)*.48)) translateX(calc(var(--hero-progress,0)*-14vw));clip-path:polygon(calc(9% + var(--hero-progress,0)*16%) 0,100% 0,100% 100%,calc(var(--hero-progress,0)*12%) 100%)}.js-motion .hero h1 span:nth-child(1){transform:translateX(calc(var(--hero-progress,0)*-16px))}.js-motion .hero h1 span:nth-child(2){transform:translateX(calc(var(--hero-progress,0)*18px))}.js-motion .hero h1 em{transform:translateX(calc(var(--hero-progress,0)*-10px)) scale(calc(1 + var(--hero-progress,0)*.06))}.js-motion .hero h1 span:last-child{transform:translateX(calc(var(--hero-progress,0)*12px))}.js-motion .intro-marquee span{display:inline-block;transform:translateX(calc(var(--about-progress,0)*-22vw))}.js-motion .intro-main{transform:translateY(calc(var(--about-progress,0)*-24px))}.js-motion .asset-diagram{transform:translateY(calc(var(--about-progress,0)*36px))}.js-motion .strength-panel,.js-motion .service-panel,.js-motion .service-diagram{transition:transform .35s ease,opacity .35s ease,clip-path .35s ease}.js-motion .strength-panel:not(.is-active){position:absolute;inset:0;opacity:0;transform:translateY(24px);pointer-events:none}.js-motion .strength-panel.is-active{position:absolute;inset:0;opacity:1;transform:translateY(0)}.js-motion .service-diagram:not(.is-active),.js-motion .service-panel:not(.is-active){opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(18px);pointer-events:none}.js-motion .service-diagram.is-active,.js-motion .service-panel.is-active{opacity:1;clip-path:inset(0 0 0 0);transform:translateY(0)}.js-motion .message-thought{transform:translateY(-50%) scale(calc(1 + var(--message-progress,0)*.55))}.js-motion .message-body{transform:translateY(calc((1 - var(--message-progress,0))*35px))}
@media(max-width:900px){:root{--page:6vw}.site-nav{gap:12px;font-size:11px}.hero-copy{width:70%}.hero-field{left:44%}.intro{grid-template-columns:.5fr 1.8fr}.intro-marquee{grid-column:2}.intro-main{grid-column:2}.asset-diagram{grid-column:2;grid-row:3;justify-self:end;margin-top:20px}.services-head,.office,.faq,.contact-top{grid-template-columns:.5fr 1.8fr}.service-stage{padding-left:6vw;padding-right:6vw}.service-panel p{font-size:14px}.office-layout{gap:4vw}.contact-form{margin-left:18%}}
@media(max-width:700px){:root{--page:22px}html{scroll-padding-top:68px}.site-header{height:68px;padding:0 var(--page);background:var(--red-dark)}.wordmark{gap:8px}.wordmark-mark{width:30px;height:30px}.wordmark-type b{font-size:10px}.wordmark-type strong{font-size:12px}.menu-toggle{display:flex;width:42px;height:42px;flex-direction:column;justify-content:center;gap:6px;align-items:center;border:1px solid rgba(255,255,255,.5);background:transparent;color:white;position:relative;z-index:3}.menu-toggle>span:not(.sr-only){width:17px;height:1px;background:currentColor}.site-nav{position:absolute;top:67px;left:0;right:0;background:var(--red-dark);padding:8px var(--page) 20px;display:none;flex-direction:column;align-items:stretch;gap:0;font-size:14px}.site-nav.is-open{display:flex}.site-nav a{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.18);font-size:14px}.site-nav .nav-contact{border:0;padding:13px 0}.hero-scene{height:145vh}.hero{height:100svh;min-height:680px;max-height:none;display:flex;align-items:center;padding:112px var(--page) 76px}.hero-field{inset:0 0 0 14%;clip-path:polygon(22% 0,100% 0,100% 100%,0 100%)}.hero-field .field-word{top:12%;right:-20vw;font-size:29vw}.field-index{bottom:12%;right:18px;font-size:10px}.hero-copy{width:100%;padding:0;max-width:540px}.eyebrow{font-size:11px;margin-bottom:23px}.hero h1{font-size:clamp(38px,10.3vw,52px);line-height:1.55;letter-spacing:.045em;margin-bottom:17px}.hero-lead{font-size:14px;line-height:1.9;margin-bottom:22px}.text-link{font-size:13px}.hero-bottom{bottom:18px;font-size:10px}.hero-bottom>span:last-child{display:none}.section-label{font-size:10px;gap:13px}.intro{min-height:0;padding-top:95px;padding-bottom:100px;display:grid;grid-template-columns:1fr;gap:25px}.intro-marquee{grid-column:1;grid-row:2;margin:5px 0 0}.intro-marquee span{font-size:15vw}.intro-main{grid-column:1;grid-row:3}.intro h2{font-size:clamp(30px,8.2vw,43px);line-height:1.65;margin-bottom:22px}.intro-copy{font-size:14px;line-height:1.9}.asset-diagram{grid-column:1;grid-row:4;justify-self:start;margin:20px 0 0 10%;min-width:0}.belief{height:245vh}.belief-stage{height:100svh;min-height:650px;padding:40px var(--page)}.belief-top{top:22px}.belief-bottom{bottom:18px;font-size:10px}.belief-pre{font-size:11px}.belief h2{font-size:clamp(34px,9.6vw,48px);line-height:1.55}.belief-intro{font-size:14px;line-height:1.9;width:90%;margin-top:14px}.strength-panels{width:100%;height:225px;margin-top:25px}.strength-panel{grid-template-columns:52px 1fr;gap:10px;padding:20px 0}.strength-num{font-size:38px}.strength-panel h3{font-size:20px;margin-bottom:8px}.strength-panel p{font-size:14px;line-height:1.85}.services{padding-bottom:80px}.services-head{grid-template-columns:1fr;padding-top:95px;padding-bottom:40px;gap:24px}.services-head>div:last-child{grid-column:1}.services-head h2{font-size:clamp(31px,8.7vw,46px);line-height:1.6}.services-intro{font-size:14px;line-height:1.9}.service-journey{height:360vh}.service-stage{height:100svh;min-height:650px;padding:70px var(--page) 35px;display:flex;flex-direction:column;justify-content:center;gap:8px}.service-stage::before{inset:0 0 52% 0;clip-path:none}.service-index{top:20px;left:var(--page);right:var(--page);font-size:10px}.service-index b{font-size:57px}.service-diagrams{width:100%;min-height:200px;height:32vh}.service-diagram{width:100%;max-height:32vh}.service-panels{width:100%;min-height:235px;padding:8px 0 0}.service-panel{padding:11px 0 15px 16px}.service-panel>span{font-size:11px}.service-panel h3{font-size:clamp(25px,7vw,34px);margin:10px 0}.service-panel p{font-size:14px;line-height:1.8}.message-scene{height:165vh}.message-stage{min-height:680px}.message-content{grid-template-columns:1fr;gap:22px;padding-top:54px;padding-bottom:40px}.message-content .section-label{margin-bottom:0}.message-body h2{font-size:clamp(30px,8vw,43px);margin-bottom:20px}.message-body>p:not(.kicker){font-size:14px;line-height:1.9}.message-thought{width:90%;font-size:clamp(40px,10vw,60px)}.signature{margin-top:20px}.office{padding-top:95px;padding-bottom:100px;display:grid;grid-template-columns:1fr;gap:25px}.office-layout{grid-column:1;grid-template-columns:1fr;gap:20px}.office-heading h2{font-size:38px;margin:0}.office-table div{grid-template-columns:94px 1fr;gap:12px;padding:15px 0}.office-table dt{font-size:12px}.office-table dd{font-size:14px}.recruit{padding:25px var(--page)}.recruit-inner{grid-template-columns:1fr 40px;gap:8px 15px;padding:20px 0}.recruit-inner>span{grid-column:1/-1;font-size:11px}.recruit-inner p{font-size:14px}.faq{grid-template-columns:1fr;padding-top:95px;padding-bottom:100px;gap:25px}.faq h2{font-size:38px;margin-bottom:25px}.faq summary{grid-template-columns:28px 1fr 16px;font-size:14px;gap:9px;padding:19px 0}.faq details>p{grid-template-columns:28px 1fr;font-size:14px;gap:9px}.contact{padding-bottom:70px}.contact-top{grid-template-columns:1fr;padding-top:95px;gap:25px}.contact-intro h2{font-size:clamp(30px,8vw,43px);line-height:1.6}.contact-intro>p:last-child{font-size:14px}.contact-form{margin:38px 0 0;grid-template-columns:1fr;gap:22px}.form-wide{grid-column:auto}.form-submit{grid-template-columns:1fr;gap:15px}.form-submit p{font-size:13px}.form-submit button{width:100%;min-height:52px}.form-status{grid-column:auto}.site-footer{padding:36px var(--page) 18px}.footer-main{display:grid;grid-template-columns:1fr auto;gap:16px;padding-bottom:27px}.footer-main>.wordmark{grid-column:1/-1}.footer-english{font-size:11px}.back-top{align-self:end;font-size:10px}.footer-bottom{flex-direction:column;gap:8px;font-size:10px;line-height:1.7}}
@media(max-width:380px){:root{--page:20px}.hero h1{font-size:37px}.service-index b{font-size:49px}.office-table div{grid-template-columns:82px 1fr;gap:9px}.belief h2{font-size:34px}.strength-panel p{font-size:14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Keep every block in normal document flow if scripts are unavailable or motion is reduced. */
html:not(.js-motion) body{overflow-x:hidden}
html:not(.js-motion) .hero-scene{height:auto}
html:not(.js-motion) .hero{position:relative;height:100svh;min-height:690px}
html:not(.js-motion) .belief{height:auto}
html:not(.js-motion) .belief::after{display:none}
html:not(.js-motion) .belief-stage{position:relative;top:auto;height:auto;min-height:0;max-height:none;overflow:visible;padding-top:90px;padding-bottom:85px}
html:not(.js-motion) .belief-stage{background:var(--red);color:#fff}
html:not(.js-motion) .belief-intro{margin-left:0}
html:not(.js-motion) .strength-panels{height:auto;width:100%;margin:35px 0 0}
html:not(.js-motion) .strength-panel{position:relative;inset:auto;opacity:1;transform:none;pointer-events:auto}
html:not(.js-motion) .service-journey{height:auto}
html:not(.js-motion) .service-stage{position:relative;top:auto;height:auto;min-height:0;overflow:visible;display:block;padding-top:85px;padding-bottom:65px}
html:not(.js-motion) .service-index{position:relative;inset:auto;margin-bottom:25px}
html:not(.js-motion) .service-index b{font-size:48px}
html:not(.js-motion) .service-diagrams{display:flex;flex-direction:column;gap:20px;min-height:0}
html:not(.js-motion) .service-diagram{display:block;max-height:none;width:min(100%,540px);margin:0 auto;color:#f4dfd3}
html:not(.js-motion) .service-panels{display:block;min-height:0;padding:25px 0 0}
html:not(.js-motion) .service-panel{position:relative;inset:auto;width:100%;opacity:1;transform:none;clip-path:none;pointer-events:auto;margin:0 0 26px}
html:not(.js-motion) .message-scene{height:auto}
html:not(.js-motion) .message-stage{position:relative;top:auto;height:auto;min-height:0;overflow:visible;display:block;padding:95px 0}
html:not(.js-motion) .message-thought{display:none}
html:not(.js-motion) .message-body{opacity:1;transform:none}
.service-index b{transition:opacity .18s,transform .18s}
.js-motion .strength-num{color:color-mix(in srgb,var(--red) calc(100% - var(--belief-progress,0)*100%),#edc9ba calc(var(--belief-progress,0)*100%))}
.service-index b.is-changing{opacity:.35;transform:translateY(5px)}
.js-motion .service-panels{display:grid}
.js-motion .service-panel,.js-motion .service-diagram{grid-area:1/1}
.js-motion .office-layout,.js-motion .faq-content,.js-motion .contact-intro{transform:translateY(calc((.5 - var(--section-progress,0))*16px))}
.js-motion .recruit-inner{transform:translateX(calc((.5 - var(--recruit-progress,0))*22px))}
.js-motion .office,.js-motion .faq,.js-motion .contact{position:relative;isolation:isolate}

/* Revision 3: keep each still frame legible and each heading on deliberate breaks. */
.belief h2 span{display:block}
.js-motion .belief-top,.js-motion .belief-bottom,.js-motion .belief-pre,.js-motion .belief-intro,.js-motion .strength-panel p{opacity:1}
.js-motion .strength-num{color:color-mix(in srgb,var(--red) calc(100% - var(--belief-blend,0%)),#edc9ba var(--belief-blend,0%))}
.service-stage::before{inset:0 48% 0 0;background:var(--red);clip-path:none}
.service-panel .keep-together{white-space:nowrap}
.message-thought{z-index:3}
.js-motion .message-thought{transform:translateY(-50%) scale(calc(1 + var(--message-progress,0)*.55));opacity:clamp(0,calc(1 - var(--message-progress,0)*2.5),1)}
.js-motion .message-body{transform:translateY(calc((1 - var(--message-progress,0))*35px));opacity:clamp(0,calc((var(--message-progress,0) - .5)*3),1)}
.office-heading h2{white-space:nowrap;font-size:clamp(32px,3.2vw,48px)}
.js-motion .office::before,.js-motion .faq::before,.js-motion .contact::before{display:none}
.js-motion .message-thought{opacity:clamp(0,calc(1 - var(--message-progress,0)*2.5),1)}
.js-motion .message-body{opacity:clamp(0,calc((var(--message-progress,0) - .5)*3),1)}
.office-heading h2{font-size:clamp(30px,3vw,44px)}
.mobile-break{display:none}
.hero-field i{display:none}
@media(min-width:701px) and (max-width:900px){.service-stage{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.service-stage::before{inset:0 0 50% 0}.service-diagrams{min-height:0;max-height:46vh}.service-diagram{max-height:46vh}.service-panels{min-height:0;padding:0 0 0 2vw}.service-panel h3{font-size:clamp(28px,3vw,32px)}.office-layout{grid-template-columns:1fr;gap:22px}.office-heading h2{font-size:34px}}
@media(max-width:700px){.service-stage::before{inset:0 0 52% 0}.service-panel h3{font-size:clamp(25px,7vw,30px)}.office-heading h2{font-size:38px}.message-thought{width:calc(100% - 2*var(--page));font-size:clamp(30px,8vw,40px)}.mobile-break{display:initial}}
@media(max-width:380px){.contact-intro h2{font-size:30px}.services-head h2{font-size:30px}}

/* Revision 4: preserve complete service diagrams and reveal the message body as a timed step. */
.js-motion .message-body{opacity:0;transform:translateY(35px);transition:opacity .5s ease,transform .5s ease}
.js-motion .message-body.is-revealed{opacity:1;transform:translateY(0)}
@media(max-width:700px){.js-motion .service-diagram{transition:opacity .28s ease,transform .28s ease;clip-path:inset(0)}.js-motion .service-diagram:not(.is-active){opacity:0;transform:translateY(8px);clip-path:inset(0)}.js-motion .service-diagram.is-active{opacity:1;transform:translateY(0);clip-path:inset(0)}}

/* 送信ボタンを右寄せ（案内文を削除したため） */
.form-submit{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center}
.form-submit .form-status{flex-basis:100%}

/* ロゴ（名刺のロゴをSVG化。色は文字色に合わせる） */
.wordmark-mark{border:0;width:36px;height:40px;font-size:0;background:currentColor;-webkit-mask:url(assets/logo-mark.svg) center/contain no-repeat;mask:url(assets/logo-mark.svg) center/contain no-repeat}
@media(max-width:640px){.wordmark-mark{width:31px;height:35px}}
