/* ANASTASIS · Wa-Modern corporate website, 2026 */
:root{--paper:#faf9f6;--cream:#f2f0ea;--white:#fff;--ink:#151515;--muted:#65625e;--line:#dcd9d3;--red:#b9191e;--bright:#e22026;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK JP","Noto Serif JP",serif;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans CJK JP","Meiryo",sans;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:94px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.9}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit}::selection{background:var(--red);color:#fff}.wrap{width:min(1360px,calc(100% - 112px));margin-inline:auto}.skip-link{position:absolute;z-index:120;top:-80px;left:12px;padding:8px 16px;background:#fff;color:#000}.skip-link:focus{top:12px}.site-header{height:98px;position:relative;z-index:80;background:rgba(250,249,246,.97);border-bottom:1px solid rgba(20,20,20,.1);transition:height .35s var(--ease),background .35s;backdrop-filter:blur(15px)}.site-header.scrolled{height:80px;background:rgba(250,249,246,.94);position:sticky;top:0}.header-inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:28px}.identity{display:flex;flex-direction:column;align-items:flex-start;flex-shrink:0;gap:1px}.identity img{width:193px;height:auto}.identity span{font-size:7px;letter-spacing:.31em;color:#666;padding-left:4px;font-weight:700}.global-nav{display:flex;align-items:center;gap:clamp(15px,2.1vw,37px);font-size:11px;font-weight:700;letter-spacing:.055em}.global-nav>a:not(.nav-service){position:relative;padding:16px 0;white-space:nowrap}.global-nav>a:not(.nav-service):after{content:"";position:absolute;left:0;right:100%;height:1px;background:var(--red);bottom:11px;transition:right .3s}.global-nav>a:hover:after{right:0}.global-nav .nav-service{white-space:nowrap;background:var(--ink);color:white;border:1px solid var(--ink);padding:14px 17px;transition:.3s}.global-nav .nav-service span{color:#eb6868;margin-left:17px;font-size:18px}.global-nav .nav-service:hover{background:var(--red);border-color:var(--red)}.menu-toggle{display:none;background:none;border:0;cursor:pointer;padding:18px}.menu-toggle span{display:block;height:2px;width:25px;background:var(--ink);margin:6px 0;transition:.3s}
/* Hero */
.hero{position:relative;overflow:hidden;background:#faf9f6;min-height:clamp(680px,calc(100svh - 100px),880px);display:flex;flex-direction:column}.hero-noise{position:absolute;inset:0;pointer-events:none;opacity:.38;background-image:radial-gradient(#c8c4bb .38px,transparent .38px);background-size:7px 7px;mask-image:linear-gradient(135deg,transparent 16%,black 75%)}.hero:before{content:"";position:absolute;top:0;right:31%;height:100%;border-left:1px solid #e6e3dd}.hero-grid{display:grid;grid-template-columns:55% 45%;align-items:center;flex:1;min-height:640px;position:relative;z-index:1}.hero-content{position:relative;z-index:2;padding:82px 0 90px}.kicker,.section-kicker{font-size:10px;font-weight:750;letter-spacing:.22em;display:flex;align-items:center;gap:22px;margin:0 0 41px}.kicker{color:#383633}.line-mark{width:32px;height:1px;background:var(--red)}.dot-divider{font-size:14px;font-weight:300;color:var(--red)}.hero-heading{font:500 clamp(38px,4.35vw,72px)/1.61 var(--serif);letter-spacing:.065em;margin:0;white-space:nowrap}.hero-heading span{color:var(--red)}.hero-en{font:400 12px/1.5 Georgia,serif;letter-spacing:.33em;margin:30px 0 28px;color:#383533}.hero-description{font-size:13px;line-height:2.35;color:#4b4845;margin:0 0 35px;letter-spacing:.028em}.hero-actions{display:flex;gap:16px;flex-wrap:wrap}.btn{border:1px solid transparent;min-height:56px;display:inline-flex;align-items:center;justify-content:space-between;gap:36px;padding:14px 26px;font-size:12px;font-weight:700;letter-spacing:.05em;transition:transform .3s var(--ease),background .25s,color .25s,border-color .25s}.btn:hover{transform:translateY(-3px)}.btn span{font-size:22px;font-weight:300;line-height:1}.btn-red{color:#fff;background:var(--red)}.btn-red:hover{background:#841014}.btn-line{border-color:#797670;background:transparent}.btn-line:hover{background:var(--ink);color:#fff;border-color:var(--ink)}.btn-dark{color:#fff;background:var(--ink)}.btn-dark:hover{background:var(--red)}
.hero-art{height:min(640px,68vw);min-height:520px;position:relative;align-self:center;margin-top:-12px}.art-field{position:absolute;inset:42px 0 42px 4%;display:grid;place-items:center;isolation:isolate}.art-field:before{content:"";position:absolute;width:78%;aspect-ratio:1;border-radius:50%;background:#edeae3;opacity:.8;z-index:-2}.art-field:after{content:"";position:absolute;inset:13% 8%;border:1px solid rgba(26,26,26,.08);transform:rotate(45deg)}.art-sun{width:58%;aspect-ratio:1;border-radius:50%;background:#c52026;box-shadow:inset -35px -32px 80px #920c14,2px 11px 85px rgba(185,25,30,.11);transform:translate(2%,3%);animation:sunBreathe 9s ease-in-out infinite}.enso{position:absolute;inset:3%;width:94%;height:94%;color:#1b1a19;opacity:.96;animation:ensoRotate 60s linear infinite}.art-ring{position:absolute;border:1px solid rgba(32,28,25,.14);border-radius:50%}.ring-one{width:94%;height:94%}.ring-two{width:106%;height:106%;border-style:dotted;opacity:.45}.art-character{position:absolute;color:rgba(255,255,255,.93);font:400 clamp(100px,11vw,182px)/1 var(--serif);transform:translate(-1%,-4%);text-shadow:0 2px 2px rgba(0,0,0,.04)}.art-seal{position:absolute;right:10%;bottom:17%;writing-mode:vertical-rl;border:1px solid var(--red);background:var(--red);color:white;padding:7px 5px;font-size:11px;letter-spacing:.25em}.art-caption-top{position:absolute;top:31px;right:0;text-align:right;font:10px/1.65 Georgia,serif;letter-spacing:.21em;z-index:3}.art-caption-bottom{position:absolute;bottom:4px;left:11%;right:0;display:flex;align-items:center;justify-content:space-between;font:9px/1.4 Georgia,serif;letter-spacing:.17em}.hero-bottom{height:56px;border-top:1px solid #cfcac1;display:flex;align-items:center;justify-content:space-between;font-size:9px;font-weight:700;letter-spacing:.18em;z-index:1}.hero-bottom a{display:flex;align-items:center;gap:24px}.scroll-arrow{color:var(--red);font-size:20px}.black-strip{height:56px;overflow:hidden;background:#161616;color:#f5f3ef;display:flex;align-items:center}.strip-track{width:max-content;display:flex;align-items:center;gap:50px;animation:marquee 39s linear infinite;white-space:nowrap;font:10px Georgia,serif;letter-spacing:.31em}.strip-track i{font:normal 21px var(--serif);color:#e44c4c}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes ensoRotate{to{transform:rotate(360deg)}}@keyframes sunBreathe{50%{transform:translate(2%,3%) scale(1.035)}}
/* General editorial sections */
.section{padding:clamp(95px,10vw,170px) 0}.section-kicker{margin:0 0 33px;font-size:10px;letter-spacing:.15em;color:#69645f;font-weight:600}.section-kicker span{font:10px Georgia,serif;letter-spacing:.23em;color:var(--red);font-weight:bold}.large-heading{font:500 clamp(34px,3.7vw,61px)/1.67 var(--serif);letter-spacing:.08em;margin:0}.large-heading em{font-style:normal;color:var(--red)}.section-side{display:flex;flex-direction:column;align-items:flex-start}.side-index{color:var(--red);font:11px Georgia,serif;letter-spacing:.2em}.vertical-copy{font:normal 17px/2.5 var(--serif);letter-spacing:.2em;writing-mode:vertical-rl;margin:110px 0 0 15px}.intro-section{background:var(--paper)}.intro-layout{display:grid;grid-template-columns:27% 73%;gap:0}.intro-main{max-width:835px}.intro-main .large-heading{margin-bottom:48px}.body-copy{font-size:14px;letter-spacing:.05em;line-height:2.5;max-width:660px;color:#56534f}.intro-sign{display:flex;gap:24px;align-items:center;margin-top:65px;font:10px Georgia,serif;letter-spacing:.22em;color:#605c55}.red-line{display:block;width:45px;height:1px;background:var(--red)}
/* Services */
.business-section{background:#f1efea;position:relative;overflow:hidden}.business-section:before{content:"";position:absolute;inset:0;opacity:.2;pointer-events:none;background:repeating-linear-gradient(90deg,transparent,transparent 68px,#d8d5cd 69px,#d8d5cd 70px)}.section-heading-row{display:flex;align-items:end;justify-content:space-between;gap:40px;position:relative;margin-bottom:54px}.section-heading-aside{font-size:12px;line-height:2.2;color:#69645e;max-width:320px;margin:0 0 13px}.business-grid{display:grid;grid-template-columns:1.27fr 1fr 1fr;gap:17px;position:relative}.business-card{height:530px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:36px 34px;transition:transform .55s var(--ease),box-shadow .4s}.business-card:hover{transform:translateY(-9px);box-shadow:0 26px 36px rgba(0,0,0,.1)}.feature-card{color:#fff;background:#171718}.feature-card:after{content:"";position:absolute;width:320px;aspect-ratio:1;border-radius:50%;border:1px solid rgba(255,255,255,.2);top:80px;right:-95px}.feature-card:before{content:"";position:absolute;width:210px;aspect-ratio:1;background:var(--red);border-radius:50%;right:-48px;top:112px;opacity:.95;filter:drop-shadow(0 0 44px rgba(168,0,0,.1))}.business-no{font:10px Georgia,serif;letter-spacing:.25em;z-index:1}.feature-card .business-no{color:#e6c9c7}.business-card-content{position:relative;z-index:2}.business-card h3{font:500 clamp(22px,2vw,31px)/1.57 var(--serif);letter-spacing:.05em;margin:0 0 21px}.feature-card h3 span{font:400 clamp(31px,2.4vw,41px)/1.6 Georgia,serif;letter-spacing:.02em;color:#f0dfdc}.business-card p{font-size:12px;line-height:2.2;margin:0;max-width:380px}.feature-card p{color:#ddd9d7;padding-right:44px}.feature-orbit{position:absolute;top:111px;right:8%;height:170px;width:170px;display:grid;place-items:center;z-index:1}.orbit-core{font:42px Georgia,serif;letter-spacing:-.04em;color:#fff}.orbit-core span{font-size:24px;color:#f9b5b4;margin:0 8px}.circle-link{height:55px;width:55px;border-radius:50%;display:grid;place-items:center;border:1px solid #fff;font-size:22px;margin-top:30px;transition:.3s}.circle-link:hover{color:var(--ink);background:#fff;transform:rotate(45deg)}.standard-card{background:#fff;border:1px solid #dedbd4}.standard-card h3{font-size:clamp(22px,2vw,28px)}.standard-card p{color:#645f58}.standard-card .business-no{color:var(--red)}.text-arrow{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #cbc7c1;margin-top:33px;padding-top:18px;font-size:12px;font-weight:700}.text-arrow span{font-size:22px;color:var(--red);transition:transform .3s}.text-arrow:hover span{transform:translate(4px,-4px)}.service-glyph{height:182px;position:relative}.glyph-ai{display:flex;align-items:center;justify-content:center;gap:17px}.glyph-ai span{height:78px;width:78px;border-radius:50%;border:1px solid #d8d5d0;position:relative}.glyph-ai span:nth-child(2){background:var(--red);border-color:var(--red);margin-left:-53px}.glyph-ai span:nth-child(3){height:30px;width:30px;border-color:var(--ink);margin-left:-70px;margin-top:85px}.glyph-connection{display:flex;align-items:center;justify-content:center}.glyph-connection:before,.glyph-connection:after{content:"";position:absolute;width:128px;height:1px;background:#c9c5c0;transform:rotate(40deg)}.glyph-connection:after{transform:rotate(-40deg)}.glyph-connection span{position:absolute;background:#fff;width:22px;height:22px;border-radius:50%;border:1px solid #292725;z-index:1}.glyph-connection span:nth-child(1){top:27px;left:calc(50% - 10px);background:var(--red);border-color:var(--red)}.glyph-connection span:nth-child(2){bottom:25px;left:26%}.glyph-connection span:nth-child(3){bottom:25px;right:26%}
/* POA immersive */
.poa-section{background:#aa1820;color:#fff;position:relative;overflow:hidden}.poa-section:before{content:"";position:absolute;left:0;top:0;bottom:0;width:50%;background:repeating-linear-gradient(0deg,transparent,transparent 6px,rgba(255,255,255,.018) 7px)}.poa-layout{min-height:660px;display:grid;grid-template-columns:minmax(0,49fr) minmax(0,51fr);align-items:center;gap:2%;padding:115px 0}.poa-visual{height:450px;display:grid;place-items:center;position:relative}.poa-visual:before{content:"";width:350px;height:350px;border-radius:50%;background:#fbf8f1;box-shadow:0 0 0 55px rgba(255,255,255,.07);position:absolute}.poa-visual img{width:340px;height:265px;object-fit:contain;filter:grayscale(1) brightness(0);position:relative;z-index:2}.poa-orbit{position:absolute;width:435px;height:435px;border:1px solid rgba(255,255,255,.3);border-radius:50%;animation:ensoRotate 55s linear infinite}.poa-orbit:before{content:"";position:absolute;left:45%;top:-4px;height:8px;width:8px;border-radius:50%;background:#fff}.poa-side{position:absolute;bottom:0;font:10px Georgia,serif;letter-spacing:.22em}.poa-content{padding:45px 0 45px 45px;position:relative;z-index:1}.section-kicker.inverted{color:#f3dada}.section-kicker.inverted span{color:#fff}.poa-content h2{font:500 clamp(38px,3.7vw,60px)/1.72 var(--serif);letter-spacing:.06em;margin:0 0 33px}.poa-content h2 em{font-style:normal;color:#ffd6d6}.poa-content p:not(.section-kicker){font-size:13px;line-height:2.55;color:#f6dddd;max-width:520px}.outline-white{margin-top:35px;border:1px solid rgba(255,255,255,.72);padding:13px 23px;display:inline-flex;justify-content:space-between;align-items:center;gap:90px;font-size:12px;font-weight:700;transition:.3s}.outline-white span{font-size:22px}.outline-white:hover{background:#fff;color:var(--red)}
/* Process */
.approach-section{background:#fbfaf8}.approach-heading{max-width:730px;margin-bottom:65px}.approach-heading>p:last-child{font-size:13px;color:#5c5853;margin-top:25px}.steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #c9c5be;border-bottom:1px solid #c9c5be}.step{padding:46px 45px 50px 10px;min-height:275px;display:grid;grid-template-columns:76px 1fr;gap:10px}.step+.step{border-left:1px solid #ccc8c0;padding-left:38px}.step-num{font:500 65px/1 var(--serif);color:var(--red)}.step small{font:10px Georgia,serif;letter-spacing:.2em;color:var(--red)}.step h3{font:500 22px/1.7 var(--serif);margin:17px 0 13px}.step p{font-size:12px;line-height:2.2;color:#66615c;margin:0}
/* Company & CTA */
.company-preview{padding:120px 0;background:#f0eee8;border-top:1px solid #ddd8d0}.company-preview-layout{display:grid;grid-template-columns:minmax(0,52fr) minmax(0,48fr);gap:10%;align-items:center}.company-preview-copy{font-size:13px;line-height:2.35;color:#625f5a;max-width:500px;margin:32px 0}.mini-company{padding-right:15%;}.mini-company>div{border-bottom:1px solid #c9c5be;display:grid;grid-template-columns:115px 1fr;padding:20px 0;gap:18px;font-size:12px}.mini-company>div:first-child{border-top:1px solid #c9c5be}.mini-company span{color:#8a211f;font-weight:700}.mini-company strong{font-weight:500}.contact-banner{background:#161616;color:#fff;position:relative;overflow:hidden}.contact-banner-inner{min-height:430px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2;padding:72px 0}.contact-banner h2{font:500 clamp(37px,4.2vw,66px)/1.55 var(--serif);margin:0 0 19px;letter-spacing:.08em}.contact-banner h2 em{color:#f35b61;font-style:normal}.contact-banner p:not(.section-kicker){font-size:12px;line-height:2.2;color:#bfbeba}.contact-circle{height:190px;width:190px;border-radius:50%;border:1px solid #cf353b;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:15px;font-size:14px;transition:background .4s,transform .4s;flex-shrink:0;margin-right:8%}.contact-circle b{font-size:30px;font-weight:300}.contact-circle:hover{background:var(--red);transform:scale(1.07)}.banner-watermark{position:absolute;right:20%;top:-160px;color:rgba(255,255,255,.026);font:500 600px var(--serif);pointer-events:none}
/* Footer */
.site-footer{background:#faf9f6}.footer-top{padding:80px 0 95px;display:flex;justify-content:space-between;gap:80px}.footer-brand img{width:224px;height:auto}.footer-brand p{font:500 17px var(--serif);margin:25px 0 6px}.footer-brand small{font:9px Georgia,serif;letter-spacing:.23em;color:var(--muted)}.footer-nav{display:flex;gap:clamp(70px,8vw,145px)}.footer-nav>div{display:flex;flex-direction:column;gap:15px}.footer-nav b{font:10px Georgia,serif;color:var(--red);letter-spacing:.2em;margin-bottom:6px}.footer-nav a{font-size:12px}.footer-nav a:hover{color:var(--red)}.footer-bottom{border-top:1px solid #d6d2cc;display:flex;justify-content:space-between;gap:10px;padding:27px 0;font-size:10px;color:#79746d;letter-spacing:.04em}
/* Subpages */
.subhero{background:#f2f0eb;overflow:hidden;position:relative;border-bottom:1px solid #dad5cd}.subhero-inner{height:390px;display:flex;align-items:center;justify-content:space-between;position:relative}.subhero h1{font:500 clamp(40px,4.7vw,75px)/1.6 var(--serif);letter-spacing:.13em;margin:0 0 13px}.subhero p:last-child{font-size:13px;color:#6c675f}.subhero-art{position:absolute;right:4%;top:5%;height:375px;width:375px;display:grid;place-items:center}.subhero-art div{width:300px;height:300px;background:var(--red);border-radius:50%;box-shadow:0 0 0 22px rgba(185,25,30,.07)}.subhero-art span{position:absolute;font:230px var(--serif);color:rgba(255,255,255,.82)}.detail-section{background:#fbfaf7}.detail-layout{display:grid;grid-template-columns:minmax(0,31fr) minmax(0,69fr);gap:15px}.detail-side{padding-right:50px}.detail-heading{font:500 clamp(26px,2.9vw,44px)/1.65 var(--serif);letter-spacing:.1em;margin:0 0 25px}.detail-side>p:last-child{font-size:12px;line-height:2.2;color:var(--muted)}.detail-main{padding-right:3%}.profile-table{margin:0}.profile-table>div{display:grid;grid-template-columns:180px 1fr;align-items:start;border-bottom:1px solid #d6d1c9;padding:22px 0;min-height:70px;gap:20px}.profile-table>div:first-child{border-top:1px solid #d6d1c9}.profile-table dt{font-size:12px;color:#85726c}.profile-table dd{font-size:13px;line-height:2.1;margin:0}.profile-table a,.privacy-body a{border-bottom:1px solid var(--red)}.purpose-section{background:#f0eee8}.purpose-layout{display:grid;grid-template-columns:minmax(0,46fr) minmax(0,54fr);gap:3%}.purpose-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.purpose-grid article{background:white;min-height:220px;padding:30px}.purpose-grid b{font:15px Georgia,serif;color:var(--red)}.purpose-grid h3{font:500 20px/1.5 var(--serif);margin:32px 0 10px}.purpose-grid p{font-size:11px;line-height:2.2;color:#68635d}.sub-cta{background:#171717;color:white;padding:54px 0}.sub-cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px}.sub-cta h2{font:400 26px/1.5 var(--serif)}.contact-panel{background:#181818;color:white;padding:45px;margin-bottom:22px}.panel-label{font:11px Georgia,serif;color:#e36565;letter-spacing:.2em}.phone-number{display:flex;justify-content:space-between;align-items:center;gap:20px;font:500 clamp(28px,4vw,55px)/1.5 Georgia,serif;letter-spacing:.02em;margin:24px 0}.phone-number span{color:#e35859}.contact-panel p{color:#d4d1cd;font-size:12px;line-height:2.2}.contact-panel.light{background:#f0eee9;color:var(--ink)}.contact-panel.light p{color:#605b55}.contact-panel.light h3{font:500 23px/1.5 var(--serif);margin:28px 0 11px}.contact-panel.light .btn{margin-top:24px}.contact-address{display:grid;grid-template-columns:100px 1fr;gap:10px;padding:35px 4px;font-size:12px}.contact-address span{color:var(--red);font-weight:700}.contact-address p{margin:0}.privacy-body{font-size:13px;line-height:2.4;color:#57534d}.privacy-body>p:first-child{font-size:14px;margin:0 0 48px}.privacy-body h2{font:500 22px/1.6 var(--serif);margin:38px 0 7px;color:var(--ink)}.privacy-body .policy-date{font-size:11px;margin-top:60px;color:#8b857e}
/* Scroll motion */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s var(--ease),transform 1s var(--ease)}.reveal.is-visible{opacity:1;transform:none}.delay-1{transition-delay:.15s}.delay-2{transition-delay:.27s}.delay-3{transition-delay:.4s}
@media(max-width:1190px){.wrap{width:min(1100px,calc(100% - 72px))}.global-nav{gap:14px;font-size:10px}.identity img{width:170px}.global-nav .nav-service{padding:12px}.hero-heading{font-size:clamp(34px,4.3vw,58px)}.hero-art{min-height:440px}.business-grid{grid-template-columns:1.1fr 1fr 1fr}.business-card{padding:27px 25px}.step{grid-template-columns:50px 1fr;padding-right:19px}.step+.step{padding-left:25px}.step-num{font-size:52px}}
@media(max-width:920px){html{scroll-padding-top:76px}.wrap{width:calc(100% - 48px)}.site-header,.site-header.scrolled{height:78px;position:sticky;top:0}.identity img{width:174px}.menu-toggle{display:block;z-index:91}.global-nav{position:absolute;top:78px;right:0;left:0;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border-bottom:1px solid #d4cec6;padding:10px 24px 27px;transform:translateY(-18px);opacity:0;visibility:hidden;transition:.25s;max-height:calc(100dvh - 78px);overflow:auto;box-shadow:0 20px 30px rgba(0,0,0,.08)}.global-nav.is-open{visibility:visible;transform:translateY(0);opacity:1}.global-nav>a:not(.nav-service){padding:14px 5px;border-bottom:1px solid #e9e5e0;font-size:13px}.global-nav .nav-service{margin-top:18px;font-size:13px;padding:10px 18px;text-align:center}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.hero{min-height:0}.hero-grid{grid-template-columns:1fr;min-height:0}.hero-content{padding:100px 0 30px}.hero-heading{font-size:clamp(44px,6.5vw,70px)}.hero-art{height:520px;min-height:0;width:min(520px,100%);margin:0 auto}.art-field{inset:30px 20px 38px}.art-character{font-size:132px}.hero:before{right:40%}.business-grid{grid-template-columns:1fr 1fr}.feature-card{grid-column:span 2;height:445px}.standard-card{height:455px}.feature-orbit{top:100px;right:14%}.poa-layout{grid-template-columns:1fr;gap:5px;padding:70px 0}.poa-visual{height:360px}.poa-visual:before{height:275px;width:275px}.poa-orbit{height:350px;width:350px}.poa-visual img{width:280px}.poa-side{bottom:-5px}.poa-content{padding:45px 20px 50px}.steps{grid-template-columns:1fr}.step,.step+.step{border-left:0;border-bottom:1px solid #d3d0c9;padding:35px 0;grid-template-columns:80px 1fr;min-height:0}.step:last-child{border-bottom:0}.company-preview-layout{grid-template-columns:1fr;gap:70px}.mini-company{padding-right:0}.detail-layout{grid-template-columns:1fr;gap:45px}.detail-side{padding-right:0}.purpose-layout{grid-template-columns:1fr;gap:48px}.subhero-art{right:-45px;opacity:.6}}
@media(max-width:600px){.wrap{width:calc(100% - 36px)}.site-header,.site-header.scrolled{height:70px}.global-nav{top:70px;max-height:calc(100dvh - 70px)}.identity img{width:149px}.identity span{font-size:6px}.menu-toggle{padding:10px 4px}.hero-content{padding:79px 0 12px}.kicker{font-size:9px;gap:12px;margin-bottom:32px}.line-mark{width:20px}.hero-heading{font-size:clamp(28px,7.9vw,46px);line-height:1.7;letter-spacing:.016em;white-space:normal}.hero-en{font-size:9px;letter-spacing:.2em;margin:22px 0}.hero-description{font-size:12px;line-height:2.15}.desktop{display:none}.btn{min-height:52px;gap:12px;padding:13px 15px;font-size:11px}.hero-actions{gap:9px}.hero-art{width:100%;height:360px}.art-field{inset:14px 26px 20px}.art-character{font-size:100px}.art-caption-top{top:4px;right:5px;font-size:7px}.art-caption-bottom{font-size:7px;left:6px;right:2px}.hero-bottom{height:53px;font-size:8px}.hero-bottom span:last-child{display:none}.black-strip{height:49px}.section{padding:83px 0}.intro-layout{grid-template-columns:1fr;gap:38px}.section-side{flex-direction:row;justify-content:space-between}.vertical-copy{writing-mode:initial;margin:0;font-size:12px}.section-kicker{font-size:9px;gap:12px;margin-bottom:24px}.section-kicker span{font-size:9px}.large-heading{font-size:clamp(29px,8vw,42px);line-height:1.78;letter-spacing:.04em}.intro-main .large-heading{margin-bottom:24px}.body-copy{font-size:12px;line-height:2.4}.intro-sign{margin-top:45px;font-size:8px;gap:12px}.red-line{width:23px}.section-heading-row{display:block;margin-bottom:30px}.section-heading-aside{margin-top:22px;font-size:11px}.business-grid{grid-template-columns:1fr}.feature-card{grid-column:span 1;height:490px}.standard-card{height:440px}.business-card{padding:28px}.business-card h3{font-size:25px}.feature-orbit{right:8%}.poa-layout{padding:35px 0 70px}.poa-visual{height:345px}.poa-content{padding:27px 0 0}.poa-content h2{font-size:clamp(29px,8vw,44px)}.poa-content p:not(.section-kicker){font-size:12px}.poa-visual img{width:250px}.poa-visual:before{height:260px;width:260px}.poa-orbit{height:310px;width:310px}.poa-side{font-size:8px;text-align:center}.outline-white{gap:48px}.approach-heading{margin-bottom:35px}.step,.step+.step{grid-template-columns:57px 1fr;gap:5px}.step-num{font-size:44px}.step h3{font-size:20px}.company-preview{padding:80px 0}.company-preview-layout{gap:55px}.mini-company>div{grid-template-columns:89px 1fr;gap:10px}.contact-banner-inner{min-height:500px;align-items:flex-start;flex-direction:column;justify-content:center;padding:65px 0;gap:25px}.contact-banner h2{font-size:42px}.contact-circle{height:130px;width:130px;margin:0 0 0 auto;font-size:12px}.banner-watermark{right:0;top:-30px;font-size:350px}.footer-top{padding:65px 0;flex-direction:column;gap:50px}.footer-nav{gap:55px;flex-wrap:wrap}.footer-bottom{flex-direction:column;align-items:flex-start;gap:8px;font-size:9px}.subhero-inner{height:290px}.subhero h1{font-size:44px}.subhero-art{height:270px;width:270px;right:-120px;opacity:.37}.subhero-art div{width:225px;height:225px}.subhero-art span{font-size:175px}.profile-table>div{grid-template-columns:115px 1fr;padding:20px 0;gap:12px}.profile-table dd{font-size:12px;overflow-wrap:anywhere}.purpose-grid{grid-template-columns:1fr}.purpose-grid article{min-height:175px}.purpose-grid h3{margin-top:20px}.sub-cta .wrap{align-items:flex-start;flex-direction:column}.sub-cta h2{font-size:21px}.contact-panel{padding:29px}.phone-number{font-size:clamp(26px,7.5vw,40px)}.contact-address{grid-template-columns:70px 1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Anastasis / 立ち上がるという理念 */
.hero-heading{font-size:clamp(36px,4.1vw,66px)}
.hero-description{max-width:650px}
.company-belief{background:#fff;padding:100px 0;border-top:1px solid #e5e1db}
.company-belief h2{font:500 clamp(38px,4.2vw,64px)/1.6 var(--serif);letter-spacing:.08em;margin:0 0 28px}
.company-belief h2 em{color:var(--red);font-style:normal}
.company-belief p:last-child{max-width:750px;color:#57524c;line-height:2.5;font-size:14px}
.inquiry-section{background:#f3f0eb;}
.inquiry-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:8%}
.inquiry-lead{font-size:13px;line-height:2.35;color:#514e4a;max-width:460px}
.inquiry-note,.form-small{font-size:11px;line-height:2;color:#77726d;margin-top:24px}
.inquiry-form{background:#fff;border:1px solid #dedad3;padding:clamp(25px,4vw,55px);box-shadow:0 22px 55px rgba(0,0,0,.035)}
.form-row{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}
.form-row label{font-size:12px;font-weight:700;letter-spacing:.055em}
.form-row label b{font-size:10px;background:#bb1d23;color:#fff;padding:2px 7px;margin-left:10px;font-weight:500}
.form-row input,.form-row select,.form-row textarea{appearance:none;-webkit-appearance:none;width:100%;background:#faf9f7;color:#1a1a1a;border:1px solid #d6d1c9;border-radius:0;padding:15px 16px;font:14px/1.7 var(--sans);min-height:55px;transition:border-color .2s,box-shadow .2s}
.form-row textarea{resize:vertical;min-height:180px}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:2px solid rgba(185,25,30,.17);outline-offset:1px;border-color:var(--red)}
.form-consent{display:flex;align-items:flex-start;gap:12px;font-size:12px;line-height:1.9;margin:12px 0 25px;cursor:pointer}
.form-consent input{width:19px;height:19px;flex:0 0 19px;margin-top:4px;accent-color:var(--red)}
.form-consent a{color:var(--red);text-decoration:underline;text-underline-offset:3px}
.form-submit{border:0;cursor:pointer;width:100%;text-align:left;justify-content:space-between}
.form-feedback{padding:17px 20px;margin-bottom:20px;background:#f6fbf7;border-left:4px solid #2c7b4a;font-size:13px;line-height:1.9}
.form-feedback.is-error{background:#fff5f4;border-color:#ad2227}
.form-honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
@media(max-width:920px){.inquiry-layout{grid-template-columns:1fr;gap:40px}}
@media(max-width:600px){.hero-heading{font-size:clamp(28px,7.4vw,43px)}.company-belief{padding:75px 0}.company-belief h2{font-size:clamp(29px,7.9vw,43px)}.inquiry-form{padding:22px}.inquiry-note{margin-top:10px}}


/* Japanese knowledge / Japan-born AI vision, phase 2 */
.hero-subline{display:inline-block;margin-top:17px;color:#a21b20;font-size:clamp(11px,1.08vw,14px);font-weight:700;letter-spacing:.045em}
.jpai-section{position:relative;isolation:isolate;overflow:hidden;background:#111311;color:#f9f8f5;padding:clamp(92px,10vw,158px) 0 105px}
.jpai-section:before{content:"";position:absolute;inset:0;opacity:.27;z-index:-2;background:repeating-linear-gradient(0deg,transparent 0,transparent 71px,#52534e 72px),repeating-linear-gradient(90deg,transparent 0,transparent 71px,#52534e 72px)}
.jpai-ambient{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:-1}.jpai-circle{display:block;position:absolute;border-radius:50%;aspect-ratio:1}.circle-a{width:min(45vw,610px);right:-10%;top:-15%;border:1px solid rgba(204,41,44,.4);box-shadow:0 0 0 65px rgba(147,24,25,.04),0 0 0 130px rgba(147,24,25,.025)}.circle-b{width:18vw;left:-11%;bottom:2%;background:radial-gradient(circle,#a21c21,transparent 69%);opacity:.14;filter:blur(35px)}
.jpai-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.65fr);gap:8%;align-items:center}.jpai-section .section-kicker{color:#aaa6a0}.jpai-section .section-kicker span{color:#ff7c75}.jpai-state{display:inline-flex;align-items:center;gap:9px;border:1px solid #5d5350;padding:5px 14px;color:#dbd1cc;font-size:10px;letter-spacing:.13em;margin:0 0 24px}.jpai-state span{width:6px;height:6px;background:#ca282b;border-radius:50%}.jpai-title-area h2{font:500 clamp(42px,5.3vw,82px)/1.5 var(--serif);letter-spacing:.095em;margin:0}.jpai-title-area h2 em{font-style:normal;color:#eb494c}.jpai-lead{font-size:clamp(13px,1.3vw,16px);line-height:2.3;color:#c7c6c0;margin-top:32px}.jpai-lead strong{color:#fff;font-weight:600}
.jpai-quote{min-height:370px;position:relative;border-left:1px solid #52534e;padding:50px 0 35px 45px;display:flex;flex-direction:column;justify-content:center}.jpai-quote-ring{width:245px;height:245px;position:absolute;top:4%;right:3%;border:4px solid #a31a1c;border-right-color:transparent;border-bottom-width:2px;border-radius:50%;transform:rotate(-21deg);opacity:.7;animation:aiEnso 30s linear infinite}.jpai-quote-ring span{font:500 80px var(--serif);display:grid;place-items:center;height:100%;color:#5b2424;transform:rotate(21deg)}@keyframes aiEnso{to{transform:rotate(339deg)}}.jpai-quote>p{position:relative;font:500 clamp(27px,3.15vw,48px)/1.27 Georgia,serif;letter-spacing:.12em;margin:0;color:#f9f6ef}.jpai-quote small{font:9px Georgia,serif;letter-spacing:.13em;color:#b9afa8;margin-top:35px;position:relative}
.jpai-divider{height:1px;background:linear-gradient(90deg,#d84849,#343631 85%);margin:70px 0 50px}.jpai-explanation{display:grid;grid-template-columns:26% 1fr;gap:7%;margin-bottom:78px}.jpai-index{font:11px Georgia,serif;letter-spacing:.22em;color:#f28282}.jpai-index i{font-style:normal;display:block;margin-top:16px;color:#97948e}.jpai-explanation h3{font:500 clamp(25px,3.2vw,47px)/1.75 var(--serif);letter-spacing:.045em;margin:-13px 0 26px}.jpai-explanation p{font-size:13px;line-height:2.3;color:#c6c1bd;max-width:750px;margin:0}.jpai-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#58504e;border:1px solid #58504e}.jpai-card{background:#171a18;padding:34px clamp(22px,3.1vw,48px) 42px;min-height:365px;position:relative;transition:background .45s,transform .45s}.jpai-card:hover{background:#202522}.jpai-card-no{font:10px Georgia,serif;letter-spacing:.22em;color:#e78a8a}.jpai-card-glyph{display:block;font:400 74px/1.4 var(--serif);color:#7d3132;opacity:.78;margin:29px 0 16px}.jpai-card h3{font:500 clamp(19px,1.7vw,27px)/1.65 var(--serif);margin:0 0 18px;letter-spacing:.04em}.jpai-card p{margin:0;color:#bcb9b3;font-size:12px;line-height:2.16}.jpai-footnote{font-size:10px;line-height:1.85;color:#aaa59e;margin-top:25px}
.trust-section{background:#f5f2ec;padding:clamp(85px,9vw,140px) 0;position:relative}.trust-section:before{content:"";width:9px;top:0;bottom:0;background:#bd1d23;position:absolute;left:0}.trust-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.05fr);gap:11%;align-items:start}.trust-intro h2{font:500 clamp(27px,3.1vw,48px)/1.7 var(--serif);letter-spacing:.05em;margin:0 0 33px}.trust-intro h2 em{color:var(--red);font-style:normal}.trust-intro>p:not(.section-kicker){color:#625d57;font-size:13px;line-height:2.3}.trust-link{display:inline-flex;gap:24px;align-items:center;border-bottom:1px solid #ad2226;color:#9d1519;font-size:12px;font-weight:700;padding:12px 0 8px;margin-top:22px}.trust-link span{font-size:20px}.trust-principles{border-top:1px solid #cbc5be}.trust-principles>div{display:flex;gap:25px;border-bottom:1px solid #cbc5be;padding:24px 0}.trust-num{display:grid;place-items:center;flex:0 0 42px;height:42px;border:1px solid #beaa9d;color:#aa1a20;font:500 22px var(--serif)}.trust-principles h3{font:600 17px/1.65 var(--serif);margin:0 0 8px}.trust-principles p{color:#65605b;font-size:12px;line-height:2;margin:0}.trust-note{margin-top:18px!important;color:#807b75!important;font-size:10px!important;line-height:1.85!important}.company-ai-note{background:#151817;color:#fff;padding:70px 0}.company-ai-note>.wrap{display:grid;grid-template-columns:.8fr 1fr;gap:9%;align-items:center}.company-ai-note span{color:#eb6c70;letter-spacing:.2em;font:10px Georgia,serif}.company-ai-note h2{font:500 clamp(24px,2.4vw,37px)/1.65 var(--serif);letter-spacing:.05em;margin:20px 0 0}.company-ai-note p{font-size:13px;line-height:2.25;color:#d8d4ce}.company-ai-note small{color:#aca7a0;font-size:10px}
@media(max-width:920px){.jpai-top{grid-template-columns:1fr;gap:0}.jpai-quote{min-height:250px;margin-top:30px;padding:36px 24px;border-top:1px solid #5d5452;border-left:0}.jpai-quote-ring{width:220px;height:220px;right:9%;top:0}.jpai-quote>p{font-size:36px}.jpai-explanation{grid-template-columns:1fr;gap:22px}.jpai-explanation h3{margin:0 0 16px}.trust-layout{grid-template-columns:1fr;gap:45px}.company-ai-note>.wrap{grid-template-columns:1fr;gap:20px}}
@media(max-width:650px){.hero-subline{font-size:11px;line-height:2;max-width:310px}.jpai-section{padding:75px 0 72px}.jpai-title-area h2{font-size:clamp(33px,8.7vw,50px)}.jpai-lead{font-size:12px}.jpai-quote{padding:30px 0;min-height:220px}.jpai-quote>p{font-size:31px}.jpai-quote-ring{width:180px;height:180px}.jpai-divider{margin:42px 0 34px}.jpai-explanation{margin-bottom:45px}.jpai-explanation h3{font-size:clamp(22px,6.8vw,32px)}.jpai-explanation p{font-size:12px}.jpai-cards{grid-template-columns:1fr}.jpai-card{min-height:0;padding:24px 29px 30px}.jpai-card-glyph{font-size:51px;margin:12px 0}.jpai-card h3{font-size:22px}.jpai-card p{font-size:12px}.trust-section{padding:75px 0}.trust-intro h2{font-size:27px}.trust-principles>div{gap:15px}.company-ai-note{padding:65px 0}.company-ai-note h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){.jpai-quote-ring{animation:none}}
