:root{--bg:#fffdf9;--ink:#111;--muted:#5f5b53;--line:#151515;--yellow:#f5c51f;--paper:#fffefb;--soft:#f5f0e7;--sand:#ead19a;--shadow:0 26px 80px rgba(29,24,13,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Zen Kaku Gothic New,Hiragino Sans,Yu Gothic,sans-serif;letter-spacing:.04em;overflow-x:hidden}a{color:inherit;text-decoration:none}.site-header{position:fixed;z-index:80;top:0;left:0;width:100%;height:88px;padding:24px 4.8vw;display:flex;align-items:center;gap:38px;background:linear-gradient(180deg,rgba(255,253,249,.96),rgba(255,253,249,.72),rgba(255,253,249,0));backdrop-filter:blur(10px);opacity:0;pointer-events:none;transform:translateY(-12px);transition:opacity .45s ease,transform .45s ease}body.is-scrolled .site-header{opacity:1;pointer-events:auto;transform:translateY(0)}.logo{margin-right:auto;line-height:.9}.logo strong{display:block;font-size:40px;font-weight:900;letter-spacing:-.055em}.logo span{display:block;font-size:12px;letter-spacing:.5em;text-align:center;margin-top:8px}.nav{display:flex;gap:36px}.contact,.nav{font-size:14px;font-weight:800}.contact{border:2px solid var(--line);border-radius:999px;padding:13px 24px;background:#fff}.contact span{display:inline-block;width:10px;border:3px solid #333;border-radius:50%;background:var(--yellow);margin-right:10px}.menu{width:54px;height:54px;border:2px solid var(--line);border-radius:16px;background:#fff;display:grid;place-content:center;gap:6px}.menu i{display:block;width:22px;height:2px;background:#111}.section{position:relative;min-height:100vh;padding:128px 6vw;border-bottom:1px solid hsla(0,0%,8%,.07)}.hero-full{border-bottom:0;display:grid;isolation:isolate}.hero-full:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:18vh;background:linear-gradient(to bottom,rgba(255,253,249,0),var(--bg));pointer-events:none;z-index:5}.hero-full-image{display:block;transform-origin:center top;will-change:transform;filter:drop-shadow(0 24px 56px rgba(28,22,10,.04));position:relative;z-index:1}.hero-motion{position:absolute;inset:0;z-index:3;pointer-events:none;mix-blend-mode:multiply}.hero-sand-line{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.hero-sand-line path{fill:none;stroke-linecap:round;stroke-linejoin:round}.hero-sand-line-back path{stroke:rgba(224,186,91,.24);stroke-width:104;stroke-dasharray:9 18;filter:blur(1.4px)}.hero-sand-line-front path{stroke:rgba(246,197,31,.18);stroke-width:44;stroke-dasharray:2 24;filter:blur(.5px)}.hero-particles{position:absolute;inset:0}.sand-speck{position:absolute;display:block;border-radius:999px;background:#e5c070;box-shadow:0 1px 0 hsla(0,0%,8%,.22);opacity:.74;will-change:transform,opacity}.sand-speck.is-fine{width:3px;height:3px;background:#d8bd82;opacity:.5;box-shadow:none}.sand-speck.is-yellow{width:7px;height:7px;background:var(--yellow);border:1px solid hsla(0,0%,8%,.35);opacity:.86}.sand-speck.is-stone{width:11px;height:8px;background:#fffdf7;border:1.5px solid hsla(0,0%,8%,.46);border-radius:58% 42% 54% 46%;opacity:.82}.sand-chip{position:absolute;width:14px;height:14px;background:var(--yellow);border:2px solid #141414;transform:rotate(14deg);opacity:.9;will-change:transform}.hero-scroll{position:absolute;left:50%;bottom:3.2vw;z-index:6;transform:translateX(-50%);font-size:11px;letter-spacing:.28em;color:#777;font-weight:900}.hero-scroll:after{content:"";display:block;width:1px;height:28px;background:#999;margin:8px auto 0}.section-head{display:flex;align-items:center;gap:16px;margin-bottom:34px}.number{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(245,197,31,.28);color:#d7a000;font-weight:900}.section-head p{font-size:13px;font-weight:900;letter-spacing:.18em;margin:0}.section-copy h2,.section-title{font-size:clamp(30px,3vw,48px);line-height:1.55;margin:0 0 28px}.section-copy p{max-width:650px;line-height:2.18;font-weight:700;color:#222}.greeting-grid,.message-grid{display:grid;grid-template-columns:.88fr 1.12fr;align-items:center;gap:7vw}.blank-illustration{height:300px;border:1.8px solid rgba(0,0,0,.14);border-radius:10px;background:hsla(0,0%,100%,.56);box-shadow:var(--shadow);position:relative}.blank-illustration span{position:absolute;border-radius:50%;background:#fff;border:2px solid #222}.blank-illustration span:first-child{width:86px;height:86px;right:17%;top:24%;background:#f8f4eb}.blank-illustration span:nth-child(2){width:16px;height:16px;right:13%;top:57%;background:var(--yellow)}.blank-illustration span:nth-child(3){width:42px;height:42px;left:16%;bottom:20%;background:#fff}.services{min-height:92vh}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:62px}.service-card{position:relative;min-height:330px;padding:42px;border:1.8px solid rgba(0,0,0,.18);border-radius:14px;background:hsla(0,0%,100%,.82);box-shadow:var(--shadow);overflow:hidden;backdrop-filter:blur(6px)}.service-card:before{content:"";position:absolute;right:-18px;top:-20px;width:130px;height:80px;background:radial-gradient(circle,#f1d58d 0 1.5px,transparent 2.4px);background-size:18px 18px;opacity:.45}.service-card h3{margin:28px 0 16px}.service-card p{line-height:1.9;font-weight:700}.service-card a{position:absolute;right:28px;bottom:24px;font-size:24px}.mini-illust{height:104px;position:relative}.mini-box{width:82px;height:74px;background:#fbf8f1;border:2px solid #222;transform:skewY(4deg)}.mini-box:before{content:"";position:absolute;left:22px;top:-9px;width:38px;height:13px;border:2px solid #222;border-radius:50%;background:#111}.mini-stairs i{position:absolute;bottom:0;width:46px;background:#fbf8f1;border:2px solid #222}.mini-stairs i:first-child{height:28px;left:0}.mini-stairs i:nth-child(2){height:56px;left:42px}.mini-stairs i:nth-child(3){height:84px;left:84px;background:var(--yellow)}.mini-shield{width:92px;height:96px;border:3px solid #333;border-radius:42px 42px 48px 48px;background:#fff}.mini-shield:after{content:"✓";position:absolute;left:25px;top:20px;color:#e0a900;font-size:42px;font-weight:900}.outline-button{display:inline-flex;align-items:center;gap:20px;margin-top:24px;border:2px solid var(--line);border-radius:999px;padding:14px 28px;background:#fff;font-weight:900}.portrait-card{justify-self:center;width:min(520px,88%);height:360px;border:1.8px solid rgba(0,0,0,.18);border-radius:12px;background:#fffdf8;box-shadow:var(--shadow);transform:rotate(-2deg);position:relative}.portrait-line{position:absolute;left:50%;top:52%;width:160px;height:220px;border:3px solid #222;border-top:0;border-radius:0 0 80px 80px;transform:translate(-50%,-50%)}.portrait-line:before{content:"";position:absolute;left:22px;top:-95px;width:110px;height:110px;border:3px solid #222;border-radius:50%;background:#fffdf8}.portrait-card p{position:absolute;right:35px;bottom:24px;font-family:cursive;font-size:22px;color:#5b5247}.sns{min-height:76vh}.footer{min-height:56vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:120px 6vw 48px;position:relative}.footer-logo{font-size:66px;font-weight:900;line-height:.9;color:#4b4b4b}.footer-logo span{display:block;text-align:center;font-size:22px;font-weight:700;letter-spacing:.3em}.footer nav{display:flex;gap:44px;margin:58px 0 22px;font-size:13px;font-weight:800}.footer small{color:#777}
@media(max-width:900px){.site-header{height:72px;padding:18px 5vw}.contact,.nav{display:none}.logo strong{font-size:31px}.section{padding:96px 6vw}.hero-full{min-height:86svh}.hero-full-image{width:152vw;margin-left:-26vw}.hero-sand-line{transform:scale(1.45);transform-origin:center top}.hero-scroll{bottom:22px}.greeting-grid,.message-grid,.service-grid{grid-template-columns:1fr}.blank-illustration{height:200px}.footer nav{flex-wrap:wrap;justify-content:center;gap:20px}.footer-logo{font-size:48px}}@media (prefers-reduced-motion:reduce){.hero-motion{display:none}}.cube-journey{position:fixed;inset:0;z-index:34;pointer-events:none;overflow:visible}.travel-cube{--size:28px;position:absolute;left:72vw;top:30vh;width:var(--size);height:var(--size);transform-style:preserve-3d;transform:translateZ(0) rotateX(58deg) rotate(-18deg);filter:drop-shadow(0 18px 18px rgba(48,36,8,.16));will-change:transform,opacity}.cube-face{position:absolute;display:block;border:1.6px solid rgba(17,17,17,.86);background:var(--yellow)}.cube-front{height:var(--size);top:0;background:#f5c51f}.cube-front,.cube-top{width:var(--size);left:0}.cube-top{height:13px;top:-13px;background:#ffe07a;transform:skewX(-45deg);transform-origin:bottom left}.cube-side{width:13px;height:var(--size);right:-13px;top:0;background:#dba900;transform:skewY(-45deg);transform-origin:top left}.cube-trail{position:absolute;inset:0;overflow:visible;pointer-events:none}.trail-dot{position:absolute;width:5px;height:5px;border-radius:50%;background:rgba(245,197,31,.74);border:1px solid hsla(0,0%,8%,.18);transform:translate(-50%,-50%);opacity:0}.trail-dot.is-stone{width:7px;height:5px;border-radius:55% 45% 58% 42%;background:#fffdf7;border-color:hsla(0,0%,8%,.36)}.trail-dot.is-fine{width:3px;height:3px;background:#d7bd7e;border:0;opacity:0}.hero-full.is-cube-active .hero-full-image{filter:drop-shadow(0 30px 66px rgba(28,22,10,.065))}.service-card.is-visited{transform:translateY(-8px) rotate(-.4deg);box-shadow:0 34px 90px rgba(48,36,8,.13)}.service-card.is-visited:after{content:"";position:absolute;right:28px;top:26px;width:42px;height:42px;border-radius:50%;background:radial-gradient(circle,rgba(245,197,31,.42) 0 2px,transparent 3px);background-size:10px 10px;opacity:.8;animation:sandPulse 1.4s ease-out both}@keyframes sandPulse{0%{transform:scale(.5);opacity:0}45%{opacity:.9}to{transform:scale(1.4);opacity:.18}}@media(max-width:900px){.travel-cube{--size:22px;left:66vw;top:31vh}.cube-top{height:10px;top:-10px}.cube-side{width:10px;right:-10px}.trail-dot{width:4px;height:4px}}@media (prefers-reduced-motion:reduce){.cube-journey{display:none!important}}.build-cube{position:absolute;left:0;top:0;width:28px;height:28px;background:#fffdf7;border:2px solid rgba(17,17,17,.82);border-radius:4px;box-shadow:12px 18px 30px rgba(41,31,12,.1);will-change:transform,opacity;transform-origin:center center}.build-cube:before{content:"";position:absolute;left:-2px;top:-12px;width:28px;height:10px;background:#fff8e6;border:2px solid rgba(17,17,17,.82);border-bottom:0;border-radius:4px 4px 0 0;transform:skewX(-36deg);transform-origin:bottom left}.build-cube:after{content:"";position:absolute;right:-12px;top:-2px;width:10px;height:28px;background:#eee5d2;border:2px solid rgba(17,17,17,.82);border-left:0;border-radius:0 4px 4px 0;transform:skewY(-36deg);transform-origin:top left}.build-cube.is-yellow{background:var(--yellow)}.build-cube.is-yellow:before{background:#ffe27c}.build-cube.is-yellow:after{background:#d8aa13}.build-cube.is-white{background:#fffdf7}.build-cube.is-white:before{background:#fff8e6}.build-cube.is-white:after{background:#eee5d2}.card-build-field{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.card-cube{position:absolute;left:0;top:0;width:20px;height:20px;background:#fffdf7;border:1.8px solid hsla(0,0%,8%,.7);border-radius:4px;box-shadow:9px 13px 22px rgba(60,40,5,.075);will-change:transform,opacity}.card-cube:before{content:"";position:absolute;left:-2px;top:-9px;width:20px;height:7px;background:#fff8e6;border:1.8px solid hsla(0,0%,8%,.7);border-bottom:0;border-radius:4px 4px 0 0;transform:skewX(-36deg);transform-origin:bottom left}.card-cube:after{content:"";position:absolute;right:-9px;top:-2px;width:7px;height:20px;background:#eee5d2;border:1.8px solid hsla(0,0%,8%,.7);border-left:0;border-radius:0 4px 4px 0;transform:skewY(-36deg);transform-origin:top left}.card-cube.is-yellow{background:var(--yellow)}.card-cube.is-yellow:before{background:#ffe27c}.card-cube.is-yellow:after{background:#d8aa13}.card-cube.is-white{background:#fffdf7}.card-cube.is-white:before{background:#fff8e6}.card-cube.is-white:after{background:#eee5d2}.service-card>:not(.card-build-field){position:relative;z-index:1}.service-card.is-visited{transition:box-shadow .45s ease,transform .45s ease}@media(max-width:900px){.build-cube{width:20px;height:20px;border-width:1.6px}.build-cube:before{width:20px;height:7px;top:-9px;border-width:1.6px}.build-cube:after{width:7px;height:20px;right:-9px;border-width:1.6px}.card-cube{height:16px}.card-cube,.card-cube:before{width:16px;border-width:1.5px}.card-cube:before{height:6px;top:-8px}.card-cube:after{width:6px;height:16px;right:-8px;border-width:1.5px}}.build-cube,.card-cube{background:var(--yellow)!important;box-shadow:0 16px 34px rgba(84,58,0,.14),inset 0 1px 0 hsla(0,0%,100%,.34)!important;transform-origin:center center!important}.cube-journey{z-index:36}.trail-dot{background:rgba(218,173,20,.5)!important}.service-card.is-visited:after{opacity:.42}@media(max-width:900px){.build-cube{width:24px!important;height:24px!important;border-radius:5px!important}.card-cube{width:18px!important;height:18px!important;border-radius:4px!important}}.build-cube-wrap{position:absolute;left:0;top:0;width:36px;height:36px;will-change:transform,opacity;transform-origin:center center;pointer-events:none}.build-cube-wrap .build-cube{left:0!important;top:0!important}.build-cube,.card-cube{background:#f5c51f!important;border:2px solid hsla(0,0%,8%,.78)!important;border-radius:7px!important;box-shadow:0 18px 36px rgba(84,58,0,.13),inset 0 1px 0 hsla(0,0%,100%,.38)!important}.build-cube:after,.build-cube:before,.card-cube:after,.card-cube:before{content:none!important;display:none!important}.build-cube{width:36px!important;height:36px!important}.card-cube{width:24px!important;height:24px!important}.travel-cube{display:none!important}.trail-dot{background:rgba(218,173,20,.38)!important}@media(max-width:900px){.build-cube-wrap{width:23px;height:23px}.build-cube{width:23px!important;height:23px!important;border-radius:5px!important;box-shadow:0 12px 24px rgba(84,58,0,.17),inset 0 1px 0 hsla(0,0%,100%,.45)!important}.card-cube{width:18px!important;height:18px!important;border-radius:4px!important}}.services{min-height:105vh;overflow:hidden;isolation:isolate;background:linear-gradient(180deg,#fffdf9,#fff9ee 42%,#fffdf9)}.services-bg{position:absolute;inset:-14vh -8vw -10vh -8vw;z-index:0;pointer-events:none;overflow:hidden}.services-bg-image{position:absolute;left:50%;top:50%;width:124vw;min-width:1600px;height:auto;transform:translate3d(-50%,-50%,0) scale(1.08);opacity:.64;filter:saturate(.98) contrast(.98) brightness(1.03);will-change:transform}.services-bg-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,253,249,.96) 0,rgba(255,253,249,.58) 22%,rgba(255,253,249,.34) 52%,rgba(255,253,249,.72) 100%),linear-gradient(180deg,var(--bg) 0,rgba(255,253,249,0) 22%,rgba(255,253,249,0) 75%,var(--bg) 100%)}.services>.section-head,.services>.section-title,.services>.service-grid{position:relative;z-index:2}.services .section-head{margin-bottom:18px}.services .section-title{max-width:740px}.service-grid{align-items:stretch}.service-card{background:hsla(0,0%,100%,.72)!important;backdrop-filter:blur(13px) saturate(1.05);border-color:rgba(0,0,0,.13)!important}.service-card:before{opacity:.28!important}.services:before{content:"";position:absolute;left:8vw;right:8vw;top:118px;height:1px;background:linear-gradient(90deg,transparent,rgba(17,17,17,.1),transparent);z-index:1}@media(max-width:900px){.services{min-height:120vh}.services-bg{inset:-8vh -34vw -8vh -34vw}.services-bg-image{width:190vw;min-width:980px;opacity:.46}.services-bg-overlay{background:linear-gradient(180deg,rgba(255,253,249,.94),rgba(255,253,249,.52) 48%,rgba(255,253,249,.96))}}.site-header{opacity:1!important;pointer-events:auto!important;transform:none!important;background:linear-gradient(180deg,rgba(255,253,249,.94),rgba(255,253,249,.38),rgba(255,253,249,0))!important}.hero-full{align-items:start}.hero-full-image{width:100vw;height:auto;min-height:100svh;object-position:center top}.hero-copy-overlay{z-index:10;top:clamp(170px,22vh,250px);pointer-events:auto}.hero-copy-overlay h1{font-size:clamp(46px,5.2vw,76px);line-height:1.35}.hero-copy-overlay .lead{line-height:2.1;margin:0}.hero-copy-overlay .text-link{margin-top:42px}.hero-motion{z-index:60}.hero-particles{opacity:.62}.hero-full:before{content:"";position:absolute;z-index:6;left:0;top:0;bottom:0;width:48%;background:linear-gradient(90deg,rgba(255,253,249,.84),rgba(255,253,249,.62) 45%,rgba(255,253,249,0));pointer-events:none}@media(max-width:900px){.site-header{height:72px}.hero-full{min-height:100svh;padding:0;align-items:start}.hero-full-image{position:absolute;inset:0;width:175vw;height:100svh;max-width:none;object-fit:cover;object-position:62% 50%}.hero-full:before{width:100%;background:linear-gradient(180deg,rgba(255,253,249,.96),rgba(255,253,249,.82) 34%,rgba(255,253,249,.2) 72%,rgba(255,253,249,.88))}.hero-copy-overlay{left:6vw;right:6vw;top:112px;width:auto}.hero-copy-overlay h1{font-size:clamp(38px,11vw,80px);line-height:1.28;margin-bottom:18px}.hero-copy-overlay .lead{font-size:14px;line-height:1.9}.hero-copy-overlay .text-link{margin-top:28px;font-size:15px}.hero-scroll{bottom:24px}}.hero-full{min-height:100svh;padding:0;background:#fffdf9}.hero-bg-picture,.hero-full{display:block;overflow:hidden}.hero-bg-picture{position:absolute;inset:0;z-index:1}.hero-full-image{width:100%;height:100%;object-fit:cover;object-position:center center;margin:0;max-width:none;filter:none;transform-origin:center center}.hero-copy-overlay{position:absolute;z-index:8;left:4.8vw;top:24vh;width:min(560px,42vw);padding:0;color:var(--ink)}.hero-copy-overlay .eyebrow{display:none}.hero-copy-overlay h1{font-size:clamp(44px,5.2vw,74px);line-height:1.34;margin:0 0 28px;letter-spacing:.01em}.hero-copy-overlay .lead{font-size:16px;font-weight:800;max-width:520px}.hero-copy-overlay .text-link{margin-top:38px}.hero-motion{z-index:10}.cube-journey{z-index:14}.hero-scroll{z-index:18}@media(max-width:760px){.hero-full{min-height:100svh;height:100svh}.hero-full:before{content:"";position:absolute;left:0;right:0;bottom:0;height:46vh;z-index:4;pointer-events:none;background:linear-gradient(180deg,rgba(255,253,249,0),rgba(255,253,249,.92) 42%,rgba(255,253,249,.98))}.hero-full-image{object-fit:cover;object-position:center top;transform-origin:center top}.hero-copy-overlay{left:6vw;right:6vw;top:auto;bottom:8.5vh;width:auto;z-index:9}.hero-copy-overlay h1{font-size:clamp(34px,10.8vw,48px);line-height:1.34;margin-bottom:18px}.hero-copy-overlay .lead{font-size:13.5px;line-height:1.85;max-width:92vw}.hero-copy-overlay .text-link{margin-top:24px;font-size:15px;gap:18px}.hero-copy-overlay .text-link:before{width:118px;height:3px;bottom:-7px}.hero-copy-overlay .text-link span{width:36px;height:36px}.hero-scroll{display:none}}@media(max-width:390px){.hero-copy-overlay{bottom:6vh}.hero-copy-overlay h1{font-size:33px}.hero-copy-overlay .lead{font-size:12.5px}}@media(max-width:760px){.hero-full:before{content:none!important;display:none!important}.hero-full:after{height:12vh!important;z-index:5!important;background:linear-gradient(180deg,rgba(255,253,249,0),rgba(255,253,249,.86))!important}.hero-copy-overlay{text-shadow:0 2px 18px rgba(255,253,249,.85),0 1px 0 rgba(255,253,249,.74)}.hero-copy-overlay .lead{text-shadow:0 2px 16px rgba(255,253,249,.9),0 1px 0 rgba(255,253,249,.8)}.hero-full-image{object-position:center top!important;filter:none!important}.cube-journey{z-index:16;mix-blend-mode:multiply}.build-cube,.build-cube-wrap{width:18px!important;height:18px!important}.build-cube{border-radius:4px!important;border-width:1.6px!important;box-shadow:0 10px 22px rgba(84,58,0,.12),inset 0 1px 0 hsla(0,0%,100%,.34)!important}.trail-dot{display:none!important}.cube-journey{z-index:11;opacity:.95}.footer,.greeting,.message,.services,.sns{isolation:isolate}.footer>*,.greeting .greeting-grid,.greeting .section-head,.message .message-grid,.message .section-head,.services .section-head,.services .section-title,.services .service-grid,.sns .section-head,.sns .section-title{position:relative;z-index:20}.build-cube{opacity:.88}}.lower-main{padding-top:96px;background:linear-gradient(180deg,#fffdf9,#fff9ed 48%,#fffdf9)}.lower-hero{min-height:42vh;display:grid;align-items:end;padding:112px 6vw 72px;position:relative;overflow:hidden}.lower-hero:before{content:"";position:absolute;width:360px;height:360px;right:-120px;top:40px;border-radius:50%;background:radial-gradient(circle,rgba(245,180,28,.22),rgba(245,180,28,0) 67%);pointer-events:none}.lower-hero .eyebrow{letter-spacing:.18em;text-transform:uppercase;color:#9a6a00;font-size:12px;font-weight:700;margin:0 0 22px}.lower-hero h1{font-size:clamp(38px,7vw,86px);line-height:1.05;letter-spacing:-.06em;margin:0 0 24px}.lower-hero .lead{font-size:clamp(15px,2vw,19px);line-height:2;max-width:760px;color:#4a4338;margin:0}.breadcrumb{position:absolute;left:6vw;top:96px;font-size:13px;color:#7d7364;display:flex;gap:10px;align-items:center;z-index:2}.breadcrumb a{color:#26231f;text-decoration:none;border-bottom:1px solid rgba(38,35,31,.22)}.lower-section{padding:72px 6vw;border-top:1px solid rgba(38,35,31,.08)}.lower-section.is-white{background:hsla(0,0%,100%,.62)}.lower-container{max-width:1080px;margin:0 auto}.lower-narrow{max-width:820px;margin:0 auto}.lower-heading{font-size:clamp(28px,4vw,52px);line-height:1.22;letter-spacing:-.05em;margin:0 0 30px}.lower-text{font-size:16px;line-height:2.15;color:#4b453c;margin:0 0 20px}.lower-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.flow-card,.info-card,.link-card{background:hsla(0,0%,100%,.78);border:1px solid rgba(38,35,31,.1);border-radius:26px;padding:28px;box-shadow:0 20px 60px rgba(44,30,8,.06)}.flow-card h3,.info-card h3,.link-card h3{font-size:20px;margin:0 0 14px;letter-spacing:-.03em}.flow-card p,.info-card p,.link-card p{font-size:14px;line-height:1.9;color:#5b5347;margin:0}.flow-list{display:grid;gap:14px;counter-reset:flow}.flow-card{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start}.flow-card:before{counter-increment:flow;content:counter(flow,decimal-leading-zero);width:48px;height:48px;border-radius:15px;background:#f4b51d;color:#1f1b14;display:grid;place-items:center;font-weight:800;font-size:13px}.lower-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}.lower-button{display:inline-flex;align-items:center;gap:14px;border:1px solid rgba(38,35,31,.16);border-radius:999px;padding:14px 22px;text-decoration:none;color:#222;background:#fff;font-weight:700}.lower-button:hover{transform:translateY(-2px);box-shadow:0 14px 35px rgba(54,38,10,.1)}.quote-box{font-size:clamp(24px,4vw,42px);line-height:1.55;letter-spacing:-.05em;background:#1f1b14;color:#fff9ed;border-radius:34px;padding:46px;position:relative;overflow:hidden}.quote-box span{color:#f4b51d}.company-table{width:100%;border-collapse:collapse;background:hsla(0,0%,100%,.7);border-radius:26px;overflow:hidden;border:1px solid rgba(38,35,31,.1)}.company-table td,.company-table th{padding:20px 24px;border-bottom:1px solid rgba(38,35,31,.08);text-align:left;vertical-align:top;line-height:1.8}.company-table th{width:180px;color:#766b5c;font-size:13px;letter-spacing:.08em}.company-table tr:last-child td,.company-table tr:last-child th{border-bottom:0}.legal-text h2{font-size:24px;margin:42px 0 14px}.legal-text li,.legal-text p{line-height:2;color:#4b453c}@media(max-width:760px){.lower-main{padding-top:74px}.lower-hero{padding:96px 6vw 56px;min-height:36vh}.breadcrumb{top:78px;font-size:12px}.lower-section{padding:52px 6vw}.flow-card,.lower-grid{grid-template-columns:1fr}.quote-box{padding:30px;border-radius:24px}.company-table td,.company-table th{display:block;width:auto;padding:16px 18px}.company-table th{padding-bottom:4px;border-bottom:0}.company-table td{padding-top:4px}}.footer-logo,.logo{display:inline-flex;align-items:center;line-height:1}.logo img{display:block;width:clamp(126px,13.5vw,184px);height:auto}.footer-logo img{display:block;width:clamp(148px,16vw,214px);height:auto}.site-header{gap:30px}.contact{border:0;background:var(--yellow);box-shadow:0 14px 34px rgba(245,197,31,.28)}.contact span{width:14px;height:10px;border:2px solid #211713;border-radius:2px;background:transparent;position:relative;margin-right:9px}.contact span:after,.contact span:before{content:"";position:absolute;top:2px;width:8px;height:2px;background:#211713}.contact span:before{left:0;transform:rotate(34deg);transform-origin:left center}.contact span:after{right:0;transform:rotate(-34deg);transform-origin:right center}.top-greeting,.top-message,.top-services,.top-sns{min-height:auto;border-bottom:0;background:var(--bg)}.top-message{padding:42px 4vw 52px}.message-panel{position:relative;overflow:hidden;max-width:1280px;margin:0 auto;padding:58px clamp(28px,7vw,108px);border:1px solid rgba(245,197,31,.28);border-radius:30px;background:radial-gradient(circle at 1% 2%,rgba(245,197,31,.18) 0 48px,transparent 49px),radial-gradient(circle at 98% 84%,rgba(245,197,31,.16) 0 58px,transparent 59px),linear-gradient(135deg,#fff8e7,#fffdfa 48%,#fff9ee);box-shadow:0 24px 68px rgba(58,43,10,.07)}.message-panel:after,.message-panel:before{content:"";position:absolute;pointer-events:none;border-radius:999px}.message-panel:before{left:26px;top:46px;width:10px;height:10px;background:rgba(245,197,31,.42)}.message-panel:after{right:68px;bottom:32px;width:86px;height:86px;border:2px dotted rgba(245,197,31,.45)}.section-head-inline{margin:0 0 22px}.section-head-inline .number{width:auto;height:auto;background:none;color:#efa900;font-size:22px;letter-spacing:.05em}.section-head-inline p{color:#e3a600;font-size:11px;letter-spacing:.22em}.message-panel-grid{display:grid;grid-template-columns:.88fr 1fr;gap:clamp(32px,6vw,92px);align-items:center}.message-panel .section-copy h2{margin:0;font-size:clamp(29px,3vw,44px);line-height:1.72;letter-spacing:.08em}.message-panel-grid>p{margin:0;max-width:620px;color:#2a2622;font-weight:800;line-height:2.2}.top-services{padding:46px 6vw 64px;background:radial-gradient(circle at 12% 22%,rgba(245,197,31,.09) 0 110px,transparent 111px),var(--bg)}.top-services .services-bg{display:none!important}.top-services:before{display:none}.section-head-centered{justify-content:center;margin-bottom:10px!important}.section-head-centered .number{width:auto;height:auto;background:none;color:#efa900;font-size:23px;letter-spacing:.05em}.section-head-centered p{color:#e3a600;font-size:11px;letter-spacing:.22em}.top-services .section-title{position:relative;width:fit-content;max-width:100%;margin:0 auto;padding:0 clamp(28px,6vw,100px);text-align:center;font-size:clamp(28px,3.1vw,42px);line-height:1.5}.top-services .section-title:after,.top-services .section-title:before{content:"";position:absolute;top:50%;width:clamp(56px,11vw,190px);border-top:2px dotted rgba(245,197,31,.55)}.top-services .section-title:before{right:100%}.top-services .section-title:after{left:100%}.top-service-grid{max-width:980px;margin:58px auto 0;gap:30px}.top-service-grid .service-card{min-height:310px;padding:40px 34px 34px;border-radius:20px;background:hsla(0,0%,100%,.88)!important;text-align:center;transition:transform .4s ease,box-shadow .4s ease,border-color .4s ease}.top-service-grid .service-card:before{display:none}.top-service-grid .service-card:hover{transform:translateY(-8px);border-color:rgba(245,197,31,.38)!important;box-shadow:0 26px 70px rgba(48,36,8,.13)}.top-service-grid .service-card h3{margin:22px 0 16px;min-height:2.6em;font-size:20px;line-height:1.55;letter-spacing:.05em}.top-service-grid .service-card a{display:grid;place-items:center;right:24px;bottom:22px;width:40px;height:40px;border-radius:50%;background:var(--yellow);color:#211713;font-size:20px;font-weight:900;box-shadow:0 12px 26px rgba(245,197,31,.25)}.top-card-icon{position:relative;width:92px;height:88px;margin:0 auto}.top-card-icon i,.top-card-icon span{position:absolute;display:block}.icon-education span{left:21px;top:6px;width:58px;height:38px;border:2px solid #222;border-radius:4px;background:#fffdf9}.icon-education span:before{content:"";position:absolute;left:10px;top:10px;width:18px;height:14px;border-radius:50%;background:var(--yellow)}.icon-education span:after{content:"";position:absolute;right:8px;top:12px;width:18px;height:2px;background:#222;box-shadow:0 8px 0 rgba(34,34,34,.55)}.icon-education i{bottom:4px;width:18px;height:18px;border:2px solid #222;border-radius:50%}.icon-education i:nth-child(2){left:14px}.icon-education i:nth-child(3){left:37px}.icon-education i:nth-child(4){left:60px}.icon-education i:after{content:"";position:absolute;left:50%;top:17px;width:2px;height:18px;background:#222}.icon-hr span{left:50%;top:18px;width:46px;height:46px;border-radius:50%;background:var(--yellow);transform:translateX(-50%)}.icon-hr span:after,.icon-hr span:before{content:"";position:absolute;left:50%;top:50%;width:90px;height:2px;background:#222;opacity:.48;transform:translate(-50%,-50%)}.icon-hr span:after{transform:translate(-50%,-50%) rotate(90deg)}.icon-hr i{width:22px;height:22px;border:2px solid #222;border-radius:50%;background:#fffdf9}.icon-hr i:nth-child(2){left:0;top:4px}.icon-hr i:nth-child(3){right:0;top:4px}.icon-hr i:nth-child(4){left:0;bottom:4px}.icon-hr i:nth-child(5){right:0;bottom:4px}.icon-security span{left:17px;top:2px;width:58px;height:66px;border:3px solid #222;border-radius:28px 28px 32px 32px;background:#fffdf9}.icon-security span:before{top:22px;width:28px;height:22px;border:2px solid #222;border-radius:3px;background:var(--yellow)}.icon-security span:after,.icon-security span:before{content:"";position:absolute;left:50%;transform:translateX(-50%)}.icon-security span:after{top:14px;width:18px;height:14px;border:2px solid #222;border-bottom:0;border-radius:10px 10px 0 0}.icon-security i{display:none}.top-greeting{padding:56px 6vw 70px;background:radial-gradient(circle at 4% 70%,rgba(245,197,31,.23) 0 14px,transparent 15px),radial-gradient(circle at 0 74%,rgba(245,197,31,.09) 0 90px,transparent 91px),var(--bg)}.greeting-feature{position:relative;display:grid;grid-template-columns:.86fr 1.14fr;align-items:center;gap:clamp(32px,4.5vw,72px);max-width:1160px;margin:0 auto;padding:46px 46px 46px 60px;overflow:hidden;border-radius:34px;background:linear-gradient(135deg,#fff8e6,#fffdfa 48%,#fff5dc);box-shadow:0 24px 70px rgba(41,31,12,.09)}.greeting-feature:before{content:"";position:absolute;right:40px;top:44px;width:140px;height:140px;border:2px dotted rgba(245,197,31,.52);border-radius:50%}.greeting-feature:after{content:"";position:absolute;right:-40px;bottom:-46px;width:160px;height:160px;border-radius:50%;background:rgba(245,197,31,.13)}.greeting-copy{position:relative;z-index:2}.greeting-copy h2{margin:0 0 22px;font-size:clamp(30px,3.2vw,46px);line-height:1.45;letter-spacing:.06em}.greeting-copy p{margin:0;color:#2f2923;font-weight:800;line-height:2.05}.interview-button{display:inline-flex;align-items:center;gap:24px;margin-top:30px;padding:15px 28px;border-radius:999px;background:var(--yellow);color:#211713;font-size:14px;font-weight:900;box-shadow:0 14px 30px rgba(245,197,31,.24)}.interview-button span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:hsla(0,0%,100%,.46)}.greeting-photo{position:relative;z-index:2;display:block;height:360px;overflow:hidden;border-radius:28px;box-shadow:0 18px 42px rgba(27,22,16,.13)}.greeting-photo img{width:100%;height:100%;object-fit:cover;object-position:center center;transform:scale(1.01);transition:transform .65s cubic-bezier(.2,.8,.2,1)}.greeting-photo:hover img{transform:scale(1.055)}.top-sns{padding:40px 6vw 74px;background:radial-gradient(circle at 4% 40%,rgba(245,197,31,.15) 0 78px,transparent 79px),var(--bg)}.sns-layout{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:230px 1fr;gap:42px;align-items:center}.sns-title h2{margin:0;font-size:clamp(28px,3vw,40px)}.instagram-mark{position:relative;display:inline-block;width:56px;height:56px;flex:0 0 auto;border-radius:18px;background:radial-gradient(circle at 28% 110%,#ffdc80 0 18%,#fd1d1d 42%,#833ab4 72%,#405de6 100%);box-shadow:0 12px 22px rgba(193,82,126,.18)}.instagram-mark:before{content:"";position:absolute;inset:13px;border:3px solid #fff;border-radius:10px}.instagram-mark:after{content:"";position:absolute;left:50%;top:50%;width:11px;height:11px;border:3px solid #fff;border-radius:50%;transform:translate(-50%,-50%);box-shadow:13px -13px 0 -5px #fff}.top-footer{min-height:auto;display:block;padding:58px 6vw 24px;border-top:1px solid rgba(30,23,17,.08)}.footer-inner{display:grid;grid-template-columns:minmax(210px,1fr) 2.1fr auto;gap:54px;max-width:1180px;margin:0 auto;align-items:start}.footer-brand p{max-width:270px;margin:22px 0 0;color:#4f4941;font-size:13px;font-weight:800;line-height:2}.footer-nav{display:grid!important;grid-template-columns:repeat(3,1fr);gap:36px!important;margin:0!important;font-size:13px!important}.footer-nav div{display:grid;gap:12px;align-content:start}.footer-nav strong{margin-bottom:6px;color:#211713;font-size:13px}.footer-nav a{color:#5c554d}.footer-instagram{display:grid;place-items:center;width:58px;height:58px;border:1px solid rgba(30,23,17,.12);border-radius:50%;background:#fff;box-shadow:0 14px 34px rgba(35,27,18,.06)}.footer-instagram .instagram-mark{width:30px;height:30px;border-radius:9px}.footer-instagram .instagram-mark:before{inset:7px;border-width:2px;border-radius:6px}.footer-instagram .instagram-mark:after{width:5px;height:5px;border-width:2px;box-shadow:7px -7px 0 -3px #fff}.footer-bottom{display:flex;justify-content:space-between;gap:24px;max-width:1180px;margin:46px auto 0;padding-top:22px;border-top:1px solid rgba(30,23,17,.08);color:#777;font-size:12px}.footer-bottom a{font-weight:800}@media(max-width:900px){.logo img{width:132px}.top-message{padding:34px 5vw 46px}.message-panel{padding:38px 24px;border-radius:24px}.message-panel-grid{grid-template-columns:1fr;gap:22px}.top-services{padding:40px 6vw 54px}.top-services .section-title{padding:0;text-align:left}.top-services .section-title:after,.top-services .section-title:before{display:none}.section-head-centered{justify-content:flex-start}.top-service-grid{grid-template-columns:1fr;margin-top:36px}.top-service-grid .service-card{text-align:left;min-height:280px;padding:34px 28px 32px}.top-card-icon{margin:0}.top-greeting{padding:42px 5vw 56px}.greeting-feature{grid-template-columns:1fr;padding:34px 24px 24px;border-radius:26px}.greeting-photo{height:300px;order:-1;border-radius:22px}.top-sns{padding:36px 5vw 56px}.sns-layout{grid-template-columns:1fr;gap:28px}.footer-inner{grid-template-columns:1fr;gap:34px}.footer-nav{grid-template-columns:1fr!important;gap:28px!important}.footer-instagram{width:54px;height:54px}.footer-bottom{flex-direction:column;margin-top:34px}}.top-services .section-title{margin-bottom:14px}.top-services .section-title+.section-copy,.top-services .section-title+p{text-align:center}.top-service-grid{max-width:1080px;gap:32px}.top-service-grid .service-card{display:flex;flex-direction:column;align-items:center;min-height:440px;padding:34px 28px 24px;border:1px solid rgba(30,23,17,.1)!important;border-radius:26px;background:linear-gradient(180deg,hsla(0,0%,100%,.98),rgba(255,253,249,.96))!important;box-shadow:0 18px 48px rgba(35,27,18,.08);overflow:hidden;transition:box-shadow .35s ease,border-color .35s ease,background .35s ease}.top-service-grid .service-card:after{left:-22px;top:22px;width:130px;height:130px;border-radius:50%;background:rgba(245,197,31,.08)}.top-service-grid .service-card:after,.top-service-grid .service-card:before{content:"";position:absolute;transition:transform .45s ease,opacity .35s ease}.top-service-grid .service-card:before{display:block;right:26px;top:26px;width:64px;height:64px;background:radial-gradient(circle,rgba(245,197,31,.5) 0 1.4px,transparent 1.9px);background-size:12px 12px;opacity:.48}.top-service-grid .service-card.is-visited{transform:none;box-shadow:0 18px 48px rgba(35,27,18,.08)}.top-service-grid .service-card.is-visited:after{content:none}.top-service-grid .service-card:focus-within,.top-service-grid .service-card:hover{border-color:rgba(245,197,31,.34)!important;background:linear-gradient(180deg,#fffefc,#fff8ea)!important;box-shadow:0 26px 74px rgba(48,36,8,.14)}.top-service-grid .service-card:focus-within:after,.top-service-grid .service-card:hover:after{transform:scale(1.08)}.top-service-grid .service-card:focus-within:before,.top-service-grid .service-card:hover:before{transform:translateY(-4px);opacity:.72}.service-card-no{position:absolute;top:26px;left:28px;color:#efae00;font-size:15px;font-weight:900;letter-spacing:.08em}.service-card-orbit{position:absolute;inset:auto auto 28px 22px;width:100px;height:100px;border:2px dotted rgba(245,197,31,.26);border-radius:50%;opacity:.55;transform:translate(-45%,-2%)}.service-card-icon-shell{position:relative;display:grid;place-items:center;width:124px;height:124px;margin:22px auto 12px;border-radius:50%;background:linear-gradient(180deg,#fff,#fffaf0);box-shadow:inset 0 0 0 1px rgba(30,23,17,.06);transition:transform .4s ease,box-shadow .4s ease,background .4s ease}.top-service-grid .service-card:focus-within .service-card-icon-shell,.top-service-grid .service-card:hover .service-card-icon-shell{transform:translateY(-4px) scale(1.03);background:linear-gradient(180deg,#fffdf8,#fff4d4);box-shadow:0 18px 34px rgba(245,197,31,.18),inset 0 0 0 1px rgba(245,197,31,.16)}.top-service-grid .top-card-icon{margin:0}.top-service-grid .service-card h3{min-height:auto;margin:10px 0 0;font-size:19px;line-height:1.6;text-align:center}.service-card-line{width:38px;height:3px;margin:16px 0 18px;border-radius:999px;background:rgba(245,197,31,.92)}.top-service-grid .service-card p{margin:0;color:#302a24;font-size:14px;line-height:2;text-align:center}.service-card-points{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:20px 0 22px;padding:0;list-style:none}.service-card-points li{display:inline-flex;align-items:center;min-height:30px;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid rgba(30,23,17,.08);color:#5c544a;font-size:12px;font-weight:800;letter-spacing:.02em;box-shadow:0 6px 16px rgba(30,23,17,.04);transition:transform .35s ease,opacity .35s ease,border-color .35s ease,box-shadow .35s ease}.top-service-grid .service-card:focus-within .service-card-points li,.top-service-grid .service-card:hover .service-card-points li{transform:translateY(-2px);border-color:rgba(245,197,31,.28);box-shadow:0 10px 22px rgba(245,197,31,.1)}.service-card-link{position:relative!important;right:auto!important;bottom:auto!important;margin-top:auto;display:flex!important;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:10px 10px 10px 22px;border-radius:999px;background:#fff;border:1px solid rgba(30,23,17,.1);box-shadow:0 12px 28px rgba(35,27,18,.06);color:#211713!important;font-size:14px!important;font-weight:900;transition:background .35s ease,border-color .35s ease,box-shadow .35s ease,transform .35s ease}.service-card-link span{display:block}.service-card-link i{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--yellow);box-shadow:0 12px 26px rgba(245,197,31,.24);font-style:normal;font-size:18px}.top-service-grid .service-card:focus-within .service-card-link,.top-service-grid .service-card:hover .service-card-link{background:#1d1813;border-color:#1d1813;color:#fffef8!important;box-shadow:0 18px 36px rgba(35,27,18,.15)}.top-footer{padding-bottom:96px}.footer-bottom{padding-bottom:12px}@media(max-width:900px){.top-service-grid{gap:18px}.top-service-grid .service-card{min-height:unset;padding:32px 24px 22px;text-align:left;align-items:flex-start}.service-card-no{top:22px;left:24px}.service-card-icon-shell{width:108px;height:108px;margin:20px 0 10px}.top-service-grid .service-card h3,.top-service-grid .service-card p{text-align:left}.service-card-points{justify-content:flex-start;margin:18px 0 20px}.service-card-link{padding-left:18px}.service-card-orbit{width:76px;height:76px;left:auto;right:18px;bottom:18px;transform:none}.top-footer{padding-bottom:118px}}.footer-bottom,.footer-inner{position:relative;z-index:60}.section-head-centered .number,.section-head-inline .number{position:relative;display:inline-flex;align-items:center;padding-left:24px}.section-head-centered .number:after,.section-head-centered .number:before,.section-head-inline .number:after,.section-head-inline .number:before{content:"";position:absolute;left:0;top:50%;width:12px;height:12px;border-radius:3px;background:var(--yellow);box-shadow:0 6px 14px rgba(245,197,31,.18);transform:translateY(-50%);animation-duration:1.1s;animation-timing-function:cubic-bezier(.2,.8,.2,1);animation-fill-mode:both}.section-head-centered .number:before,.section-head-inline .number:before{opacity:.68;animation-name:sectionCubeMergeA}.section-head-centered .number:after,.section-head-inline .number:after{opacity:1;animation-name:sectionCubeMergeB}@keyframes sectionCubeMergeA{0%{transform:translate(-10px,-50%) scale(.82);opacity:0}45%{transform:translate(4px,-50%) scale(1);opacity:.72}to{transform:translateY(-50%) scale(1);opacity:.68}}@keyframes sectionCubeMergeB{0%{transform:translate(10px,-50%) scale(.82);opacity:0}45%{transform:translate(-2px,-50%) scale(1);opacity:1}to{transform:translateY(-50%) scale(1);opacity:1}}.top-service-grid .build-cube-wrap,.top-service-grid .card-build-field,.top-service-grid .card-cube{display:none!important}.top-service-grid .service-card{align-items:stretch}.top-service-grid .service-card h3,.top-service-grid .service-card p{text-wrap:pretty}.top-service-grid .service-card h3{min-height:3.2em}.top-service-grid .service-card p{min-height:6.2em}.top-service-grid .service-card .service-card-link{margin-top:8px}.top-service-grid .service-card:focus-within .service-card-link i,.top-service-grid .service-card:hover .service-card-link i{transform:translateX(3px)}@media(max-width:900px){.section-head-centered .number,.section-head-inline .number{padding-left:22px}.top-service-grid .service-card h3,.top-service-grid .service-card p{min-height:auto}}.section-head-centered .number,.section-head-inline .number{padding-left:0!important}.section-head-centered .number:after,.section-head-centered .number:before,.section-head-inline .number:after,.section-head-inline .number:before{content:none!important;display:none!important;animation:none!important}.top-service-grid .service-card{display:flex!important;flex-direction:column!important}.top-service-grid .service-card .service-card-link{position:relative!important;inset:auto!important;display:grid!important;grid-template-columns:minmax(0,1fr) 42px!important;align-items:center!important;gap:12px!important;width:100%!important;min-height:62px!important;height:auto!important;margin-top:auto!important;padding:10px 10px 10px 18px!important;overflow:hidden}.top-service-grid .service-card .service-card-link span{display:block!important;min-width:0!important;margin:0!important;white-space:nowrap!important;writing-mode:horizontal-tb!important;text-orientation:mixed!important;line-height:1.2!important;letter-spacing:.02em!important}.top-service-grid .service-card .service-card-link i{display:grid!important;place-items:center!important;width:42px!important;min-width:42px!important;height:42px!important;margin:0!important}.top-service-grid .service-card .service-card-points{margin-bottom:18px!important}.top-service-grid .service-card p{margin-bottom:0!important}@media(max-width:900px){.top-service-grid .service-card .service-card-link{grid-template-columns:minmax(0,1fr) 40px!important;min-height:58px!important;padding:10px 10px 10px 16px!important}.top-service-grid .service-card .service-card-link i{width:40px!important;min-width:40px!important;height:40px!important}}.top-service-grid{max-width:1020px!important;gap:26px!important}.top-service-grid .service-card{min-height:332px!important;padding:28px 26px 24px!important;align-items:center!important;justify-content:flex-start!important;border-radius:24px!important}.top-service-grid .service-card:before{right:22px!important;top:22px!important;width:52px!important;height:52px!important;opacity:.32!important}.top-service-grid .service-card:after{left:-28px!important;top:-10px!important;width:118px!important;height:118px!important;opacity:.65!important}.top-service-grid .service-card .service-card-link,.top-service-grid .service-card .service-card-orbit,.top-service-grid .service-card .service-card-points{display:none!important}.top-service-grid .service-card .service-card-no{position:static!important;display:block;margin:0 0 14px;text-align:center;font-size:14px!important}.top-service-grid .service-card .service-card-icon-shell{width:104px!important;height:104px!important;margin:0 auto 18px!important}.top-service-grid .service-card h3{min-height:3.1em!important;margin:0!important;font-size:18px!important;line-height:1.55!important;text-align:center!important}.top-service-grid .service-card .service-card-line{margin:14px auto 16px!important}.top-service-grid .service-card p{min-height:auto!important;margin:0 auto!important;max-width:252px;font-size:14px!important;line-height:1.9!important;text-align:center!important}.service-card-arrow{position:absolute;right:20px;bottom:18px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#fff;border:1px solid rgba(30,23,17,.1);color:#211713;font-size:20px;font-weight:900;box-shadow:0 10px 24px rgba(35,27,18,.08);transition:transform .35s ease,background .35s ease,border-color .35s ease,box-shadow .35s ease;z-index:3}.top-service-grid .service-card:focus-within .service-card-arrow,.top-service-grid .service-card:hover .service-card-arrow{transform:translateX(3px);background:var(--yellow);border-color:rgba(245,197,31,.55);box-shadow:0 14px 28px rgba(245,197,31,.2)}@media(max-width:900px){.top-service-grid{gap:16px!important}.top-service-grid .service-card{min-height:280px!important;padding:24px 22px 22px!important;align-items:center!important}.top-service-grid .service-card .service-card-no{margin-bottom:12px!important}.top-service-grid .service-card .service-card-icon-shell{width:96px!important;height:96px!important;margin-bottom:16px!important}.top-service-grid .service-card h3,.top-service-grid .service-card p{text-align:center!important}.service-card-arrow{right:16px;bottom:16px;width:40px;height:40px}}.top-service-grid .service-card{min-height:318px!important;padding:26px 24px 82px!important;border-color:rgba(30,23,17,.12)!important}.top-service-grid .service-card:before{background:radial-gradient(circle,#f5c400 0 1.6px,transparent 2px)!important;background-size:12px 12px!important;opacity:.5!important}.top-service-grid .service-card:after{background:rgba(245,196,0,.1)!important;opacity:1!important}.top-service-grid .service-card:focus-within,.top-service-grid .service-card:hover{border-color:rgba(245,196,0,.55)!important;background:linear-gradient(180deg,#fffefc,#fff7db)!important;box-shadow:0 24px 60px rgba(48,36,8,.13)!important}.top-service-grid .service-card .service-card-no{color:#e2a700!important}.top-service-grid .service-card .service-card-line{background:#f5c400!important}.top-service-grid .service-card .service-card-icon-shell{background:linear-gradient(180deg,#fffefa,#fff6d8)!important}.top-service-grid .service-card:focus-within .service-card-icon-shell,.top-service-grid .service-card:hover .service-card-icon-shell{background:linear-gradient(180deg,#fffbe8,#ffe580)!important;box-shadow:0 18px 32px rgba(245,196,0,.24),inset 0 0 0 1px rgba(245,196,0,.22)!important}.top-service-grid .service-card p{max-width:250px!important}.service-card-arrow{right:18px!important;bottom:18px!important;width:44px!important;height:44px!important;background:#f5c400!important;border:0!important;box-shadow:0 12px 26px rgba(245,196,0,.28)!important}.top-service-grid .service-card:focus-within .service-card-arrow,.top-service-grid .service-card:hover .service-card-arrow{background:#efbb00!important;box-shadow:0 14px 30px rgba(245,196,0,.34)!important}@media(max-width:900px){.top-service-grid .service-card{min-height:272px!important;padding:22px 20px 76px!important}.service-card-arrow{right:14px!important;bottom:14px!important;width:42px!important;height:42px!important}}.top-service-grid{max-width:1040px!important;gap:24px!important}.top-service-grid>.service-card{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;min-height:286px!important;padding:26px 24px 30px!important;text-decoration:none!important;color:inherit!important;cursor:pointer}.top-service-grid>.service-card:before{right:20px!important;top:18px!important;width:48px!important;height:48px!important;opacity:.42!important}.top-service-grid>.service-card:after{left:-32px!important;top:-8px!important;width:114px!important;height:114px!important}.top-service-grid>.service-card .service-card-no{position:static!important;margin:0 0 12px!important}.top-service-grid>.service-card .service-card-icon-shell{width:96px!important;height:96px!important;margin:0 auto 16px!important}.top-service-grid>.service-card h3{margin:0 auto!important;max-width:11.5em;min-height:3.2em!important;font-size:18px!important;line-height:1.5!important;letter-spacing:.02em!important;text-align:center!important}.top-service-grid>.service-card .service-card-line{margin:14px auto!important}.top-service-grid>.service-card p{max-width:15em!important;margin:0 auto!important;font-size:14px!important;line-height:1.85!important;text-align:center!important}.top-service-grid>.service-card .service-card-arrow,.top-service-grid>.service-card .service-card-link,.top-service-grid>.service-card .service-card-orbit,.top-service-grid>.service-card .service-card-points{display:none!important}@media(max-width:900px){.top-service-grid{gap:16px!important}.top-service-grid>.service-card{min-height:unset!important;padding:24px 20px!important}.top-service-grid>.service-card h3{max-width:11em;min-height:auto!important;font-size:17px!important}.top-service-grid>.service-card p{max-width:14.5em!important;font-size:13px!important}}:root{--ease-brand:cubic-bezier(.16,1,.3,1)}.hero-copy-overlay{will-change:transform,opacity,filter}.hero-copy-overlay .lead,.hero-copy-overlay .text-link,.hero-copy-overlay h1{will-change:transform,opacity,filter,letter-spacing}.hero-copy-overlay h1{text-wrap:balance}.hero-copy-overlay .lead{text-wrap:pretty}.hero-copy-overlay .text-link{position:relative;isolation:isolate;transition:transform .45s var(--ease-brand),color .45s var(--ease-brand)}.hero-copy-overlay .text-link span{position:relative;flex:0 0 auto;transition:transform .45s var(--ease-brand),box-shadow .45s var(--ease-brand)}.hero-copy-overlay .text-link:focus-visible,.hero-copy-overlay .text-link:hover{transform:translateY(-2px)}.hero-copy-overlay .text-link:focus-visible span,.hero-copy-overlay .text-link:hover span{transform:translateX(4px);box-shadow:0 12px 28px rgba(245,197,31,.25)}.contact,.footer-bottom a,.footer-nav a,.interview-button,.service-card{transition:transform .45s var(--ease-brand),box-shadow .45s var(--ease-brand),border-color .45s var(--ease-brand),background .45s var(--ease-brand),color .45s var(--ease-brand),opacity .45s var(--ease-brand)}.footer-bottom a:focus-visible,.footer-bottom a:hover,.footer-nav a:focus-visible,.footer-nav a:hover{color:#211713;transform:translateX(3px)}.footer-experience{position:relative;min-height:clamp(420px,58vh,620px);padding:clamp(104px,14vw,180px) 6vw clamp(82px,10vw,130px);display:grid;justify-items:center;align-content:center;overflow:hidden;background:linear-gradient(180deg,#fffdf9,#fffaf0 45%,#fffdf9);border-top:1px solid rgba(30,23,17,.06);isolation:isolate}.footer-experience:before{content:"";position:absolute;inset:16% 8vw auto;height:1px;background:linear-gradient(90deg,transparent,rgba(30,23,17,.1),transparent);opacity:.65}.footer-experience:after{content:"";position:absolute;left:50%;bottom:-170px;width:min(760px,112vw);height:340px;border-radius:50%;background:radial-gradient(circle,rgba(245,197,31,.18),rgba(245,197,31,0) 66%);transform:translateX(-50%);pointer-events:none;z-index:-1}.footer-experience-sand{position:relative;width:min(520px,84vw);height:190px;margin:0 auto -86px}.footer-sand-dot{position:absolute;width:10px;height:10px;border-radius:3px;background:var(--yellow);box-shadow:0 8px 22px rgba(245,197,31,.16);opacity:.9;transform:translateZ(0);will-change:transform,opacity,filter}.footer-sand-dot:first-child{left:3%;top:70%}.footer-sand-dot:nth-child(2){left:9%;top:45%}.footer-sand-dot:nth-child(3){left:16%;top:62%}.footer-sand-dot:nth-child(4){left:24%;top:34%}.footer-sand-dot:nth-child(5){left:31%;top:75%}.footer-sand-dot:nth-child(6){left:39%;top:48%}.footer-sand-dot:nth-child(7){left:46%;top:28%}.footer-sand-dot:nth-child(8){left:52%;top:68%}.footer-sand-dot:nth-child(9){left:59%;top:42%}.footer-sand-dot:nth-child(10){left:66%;top:72%}.footer-sand-dot:nth-child(11){left:73%;top:36%}.footer-sand-dot:nth-child(12){left:80%;top:58%}.footer-sand-dot:nth-child(13){left:86%;top:31%}.footer-sand-dot:nth-child(14){left:91%;top:67%}.footer-sand-dot:nth-child(15){left:96%;top:48%}.footer-sand-dot:nth-child(16){left:50%;top:88%}.footer-experience-mark{position:relative;display:grid;grid-template-columns:repeat(2,22px);gap:9px;justify-content:center;margin:0 auto 34px;opacity:0;transform:translateY(18px) scale(.96);will-change:transform,opacity,filter}.footer-experience-mark span{display:block;width:22px;height:22px;border-radius:6px;background:#17130f;box-shadow:0 14px 28px rgba(35,27,18,.1)}.footer-experience-mark span:nth-child(4){background:var(--yellow);box-shadow:0 16px 32px rgba(245,197,31,.22)}.footer-experience-message{max-width:760px;margin:0 auto;color:#17130f;font-size:clamp(20px,2.4vw,34px);line-height:1.95;letter-spacing:.055em;font-weight:800;text-align:center;text-wrap:balance;opacity:0;transform:translateY(22px);filter:blur(8px);will-change:transform,opacity,filter,letter-spacing}.top-footer{border-top:0;background:#fffdf9}.footer-logo img{transition:transform .5s var(--ease-brand),filter .5s var(--ease-brand)}.footer-logo:focus-visible img,.footer-logo:hover img{transform:translateY(-2px);filter:drop-shadow(0 12px 22px rgba(35,27,18,.1))}.footer-instagram:focus-visible,.footer-instagram:hover{transform:translateY(-4px);border-color:rgba(245,197,31,.34);box-shadow:0 20px 42px rgba(245,197,31,.16)}@media(max-width:760px){.hero-copy-overlay h1{text-wrap:balance}.hero-copy-overlay .lead{max-width:88vw}.footer-experience{min-height:430px;padding:92px 6vw 86px}.footer-experience-sand{width:92vw;height:164px;margin-bottom:-72px}.footer-sand-dot{width:8px;height:8px;border-radius:2px}.footer-experience-mark{grid-template-columns:repeat(2,18px);gap:8px;margin-bottom:28px}.footer-experience-mark span{width:18px;height:18px;border-radius:5px}.footer-experience-message{font-size:18px;line-height:2.05;letter-spacing:.035em;text-align:left}}@media (prefers-reduced-motion:reduce){.footer-experience-mark,.footer-experience-message,.footer-sand-dot{opacity:1!important;transform:none!important;filter:none!important}}.build-cube-wrap{width:28px!important;height:28px!important}.build-cube,.card-cube{background:linear-gradient(180deg,#f6cf42,#f5c51f)!important;box-shadow:0 14px 28px rgba(84,58,0,.12),inset 0 1px 0 hsla(0,0%,100%,.28)!important}.trail-dot{background:rgba(218,173,20,.34)!important}@media(max-width:900px){.build-cube,.build-cube-wrap{width:18px!important;height:18px!important}.build-cube{box-shadow:0 10px 20px rgba(84,58,0,.14),inset 0 1px 0 hsla(0,0%,100%,.3)!important}.build-cube,.card-cube{border-radius:4px!important}.card-cube{width:16px!important;height:16px!important}}.cube-journey{z-index:30}.build-cube,.build-cube-wrap,.card-cube{width:22px!important;height:22px!important}.build-cube,.card-cube{background:linear-gradient(180deg,rgba(246,207,66,.96),rgba(245,197,31,.96))!important;border:0!important;outline:0!important;border-radius:4px!important;box-shadow:0 10px 20px rgba(84,58,0,.08),inset 0 1px 0 hsla(0,0%,100%,.22)!important}.trail-dot{background:rgba(218,173,20,.24)!important;border:0!important;box-shadow:none!important}@media(max-width:900px){.build-cube,.build-cube-wrap,.card-cube{width:16px!important;height:16px!important}.build-cube,.card-cube{border-radius:4px!important;box-shadow:0 8px 16px rgba(84,58,0,.08),inset 0 1px 0 hsla(0,0%,100%,.2)!important}}.cube-journey{mix-blend-mode:multiply}.hero-full .build-cube,.hero-full .card-cube{filter:saturate(1.04)}.build-cube,.card-cube{width:24px!important;height:24px!important;border-radius:5px!important}@media(max-width:900px){.build-cube,.card-cube{width:17px!important;height:17px!important}}.top-service-grid>.service-card{transform-origin:center center;transition:transform .38s var(--ease-brand),box-shadow .38s var(--ease-brand),border-color .38s ease!important}.top-service-grid>.service-card:focus-visible,.top-service-grid>.service-card:hover{transform:translateY(-7px) scale(1.025)!important}.activity-mark{position:relative;display:grid!important;grid-template-columns:repeat(3,12px);align-items:end;justify-content:center;gap:5px;width:54px;height:54px;margin:0!important;padding:10px 7px;border:2px solid #222;border-radius:14px;background:#fffdf8;box-shadow:5px 5px 0 rgba(245,197,31,.34)}.activity-mark>i{position:static!important;display:block!important;width:12px!important;border-radius:6px 6px 2px 2px;background:#f5c51f;transform:none!important}.activity-mark>i:first-child{height:16px}.activity-mark>i:nth-child(2){height:28px}.activity-mark>i:nth-child(3){height:21px}@media(max-width:1100px) and (min-width:761px){}@media(max-width:760px){.top-service-grid>.service-card:focus-visible,.top-service-grid>.service-card:hover{transform:translateY(-4px) scale(1.012)!important}}@media (prefers-reduced-motion:reduce){.top-service-grid>.service-card:focus-visible,.top-service-grid>.service-card:hover{transform:none!important}}@media(min-width:1360px){}@media(min-width:761px) and (max-width:1359px){}@media(max-width:1040px){}@media(max-width:760px){}@media (prefers-reduced-motion:reduce){}.service-intro{max-width:720px;margin:24px auto 0;text-align:center}.service-intro-copy{margin:0;color:#211d19;font-size:clamp(18px,2vw,25px);font-weight:900;line-height:1.75;letter-spacing:.04em}.service-intro-note{max-width:650px;margin:12px auto 0;color:#625a51;font-size:13px;font-weight:700;line-height:1.9}.service-intro+.top-service-grid{margin-top:40px!important}@media(max-width:900px){.service-intro{margin-top:18px;text-align:left}.service-intro-copy{font-size:19px;line-height:1.7}.service-intro-note{margin-top:10px;font-size:13px}.service-intro+.top-service-grid{margin-top:28px!important}}.service-detail-page .site-header{opacity:1;pointer-events:auto;transform:none;background:rgba(255,253,249,.88)}.service-detail-page main{overflow:hidden}.service-detail-page .section{min-height:0}.service-hero{position:relative;min-height:100svh;padding:150px 7vw 90px;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);align-items:center;gap:7vw;background:var(--bg);border-bottom:1px solid hsla(0,0%,8%,.07)}.service-hero-copy{position:relative;z-index:2}.service-breadcrumb{display:flex;gap:10px;margin:0 0 42px;color:#79746b;font-size:10px;font-weight:800;letter-spacing:.16em}.service-eyebrow{margin:0 0 17px;font-size:12px;font-weight:900;letter-spacing:.2em}.service-hero h1{margin:0;font-size:clamp(50px,7vw,100px);line-height:1;letter-spacing:-.055em}.service-hero h2{margin:36px 0 18px;font-size:clamp(26px,3vw,46px);line-height:1.52;letter-spacing:.01em}.service-hero-copy>p:last-child{max-width:590px;margin:0;color:var(--muted);font-weight:700;line-height:2}.recruit-visual{position:relative;width:min(40vw,560px);aspect-ratio:1/1;justify-self:end}.recruit-visual:before{content:"";position:absolute;inset:9%;border:1px solid rgba(17,17,17,.1);border-radius:50%}.recruit-focus,.recruit-node{position:absolute;display:block;border:2px solid #161616;background:#fffdf9;z-index:2}.recruit-node{width:22px;height:22px;border-radius:50%}.node-a{left:15%;top:22%}.node-b{right:14%;top:15%}.node-c{left:7%;bottom:25%}.node-d{right:7%;bottom:20%}.node-e{left:46%;top:8%}.recruit-focus{left:50%;top:52%;width:76px;height:76px;transform:translate(-50%,-50%) rotate(8deg);background:var(--yellow);box-shadow:14px 18px 0 rgba(234,209,154,.5)}.recruit-line{position:absolute;left:50%;top:50%;height:1px;background:#111;transform-origin:left center;opacity:.45}.line-a{width:37%;transform:rotate(-147deg)}.line-b{width:42%;transform:rotate(-54deg)}.line-c{width:45%;transform:rotate(139deg)}.line-d{width:43%;transform:rotate(35deg)}.service-scroll{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);font-size:10px;font-weight:900;letter-spacing:.25em}.service-scroll:after{content:"";display:block;width:1px;height:24px;background:#888;margin:7px auto 0}.service-section{padding:130px 7vw;border-bottom:1px solid hsla(0,0%,8%,.07)}.service-section-head{display:grid;grid-template-columns:minmax(220px,.35fr) 1fr;gap:6vw;align-items:start}.service-section-head>p{margin:10px 0 0;font-size:11px;font-weight:900;letter-spacing:.16em}.service-section-head>p span{display:inline-grid;place-items:center;width:30px;height:30px;margin-right:13px;border-radius:50%;background:rgba(245,197,31,.27);color:#c89500}.service-section-head h2{max-width:760px;margin:0;font-size:clamp(30px,4vw,56px);line-height:1.55;letter-spacing:-.02em}.concern-lines{max-width:920px;margin:88px 0 0 auto}.concern-lines p{margin:0;padding:28px 4px;border-bottom:1px solid rgba(17,17,17,.18);font-size:clamp(18px,2.1vw,30px);font-weight:800;line-height:1.6}.concern-lines p:before{content:"";display:inline-block;width:10px;height:10px;margin-right:24px;background:var(--yellow);transform:rotate(12deg)}.service-approach{background:#151515;color:#fff}.service-approach .service-section-head>p span{color:#111;background:var(--yellow)}.approach-layout{display:grid;grid-template-columns:1fr 1fr;gap:10vw;margin-top:90px}.approach-lead{margin:0;font-size:clamp(22px,2.5vw,34px);font-weight:800;line-height:1.8}.approach-points p{display:flex;align-items:center;gap:24px;margin:0;padding:20px 0;border-bottom:1px solid hsla(0,0%,100%,.2);font-weight:800}.approach-points span{color:var(--yellow);font-size:11px}.support-list{margin-top:80px}.support-list article{display:grid;grid-template-columns:70px minmax(240px,.7fr) 1fr;align-items:center;gap:36px;padding:34px 0;border-top:1px solid rgba(17,17,17,.18)}.support-list article:last-child{border-bottom:1px solid rgba(17,17,17,.18)}.support-list article>span{font-size:11px;font-weight:900;color:#b28600}.support-list h3{margin:0;font-size:clamp(22px,2.3vw,32px)}.support-list p{margin:0;color:var(--muted);font-weight:700;line-height:1.9}.service-flow-section{background:#f5f0e7}.simple-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin:88px 0 0;padding:0;list-style:none;border-top:1px solid #222;border-bottom:1px solid #222}.simple-flow li{position:relative;min-height:170px;padding:30px 22px;border-right:1px solid rgba(17,17,17,.2);font-weight:800;line-height:1.7}.simple-flow li:last-child{border-right:0}.simple-flow span{display:block;margin-bottom:35px;font-size:11px;color:#a87900}.case-text{display:flex;flex-wrap:wrap;gap:14px;margin:74px 0 0 auto}.case-text p{padding:17px 21px;border:1px solid #222;border-radius:999px;background:#fff;font-weight:800}.service-contact{padding:100px 7vw 120px;text-align:center}.service-contact p{margin:0 0 24px;color:var(--muted);font-weight:700}.service-contact a{display:inline-flex;align-items:center;justify-content:space-between;gap:70px;min-width:min(420px,100%);padding:21px 28px;border:2px solid #111;border-radius:999px;background:#fff;font-weight:900;transition:.25s}.service-contact a:hover{background:var(--yellow);transform:translateY(-3px)}@media(max-width:900px){.service-hero{min-height:auto;padding:120px 6vw 90px;grid-template-columns:1fr}.recruit-visual{width:min(78vw,420px);justify-self:center;order:-1;margin-top:25px}.service-breadcrumb{margin-bottom:26px}.service-section{padding:90px 6vw}.service-section-head{grid-template-columns:1fr;gap:24px}.concern-lines{margin-top:50px}.approach-layout{grid-template-columns:1fr;gap:54px;margin-top:54px}.support-list{margin-top:50px}.support-list article{grid-template-columns:42px 1fr;gap:12px 18px}.support-list p{grid-column:2}.simple-flow{grid-template-columns:1fr}.simple-flow li{min-height:0;display:grid;grid-template-columns:50px 1fr;align-items:center;padding:22px;border-right:0;border-bottom:1px solid rgba(17,17,17,.2)}.simple-flow li:last-child{border-bottom:0}.simple-flow span{margin:0}.case-text{margin-top:48px}.service-contact{padding:80px 6vw}.service-contact a{gap:30px}}.service-detail-page{--service-max:1180px;--service-ink:#181714}.service-detail-page .site-header{height:84px;padding:20px 4.2vw;background:rgba(255,253,249,.42);border-bottom:1px solid transparent;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:height .45s cubic-bezier(.2,.8,.2,1),padding .45s cubic-bezier(.2,.8,.2,1),background .45s ease,border-color .45s ease,box-shadow .45s ease,transform .45s cubic-bezier(.2,.8,.2,1)}.service-detail-page.header-past-hero .site-header{height:68px;padding-top:12px;padding-bottom:12px;background:rgba(255,253,249,.88);border-color:rgba(25,22,17,.08);box-shadow:0 10px 34px rgba(33,26,15,.055);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.service-detail-page .site-header .logo img{transition:width .45s cubic-bezier(.2,.8,.2,1),transform .45s cubic-bezier(.2,.8,.2,1)}.service-detail-page.header-past-hero .site-header .logo img{width:136px}.service-detail-page .nav{gap:30px}.service-detail-page .nav a{position:relative;font-size:12px;letter-spacing:.035em;transition:transform .3s ease,color .3s ease}.service-detail-page .nav a:after{content:"";position:absolute;left:0;bottom:-7px;width:100%;height:1px;background:var(--service-ink);transform:scaleX(0);transform-origin:right center;transition:transform .35s cubic-bezier(.2,.8,.2,1)}.service-detail-page .nav a:hover{transform:translateY(-2px)}.service-detail-page .nav a:hover:after{transform:scaleX(1);transform-origin:left center}.service-detail-page .contact{transition:transform .3s ease,background .3s ease,box-shadow .3s ease}.service-detail-page .contact:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(245,197,31,.22)}.service-hero{max-width:1600px;margin:0 auto;padding-left:max(7vw,calc(50vw - 720px));padding-right:max(7vw,calc(50vw - 720px));grid-template-columns:minmax(0,1.04fr) minmax(340px,.72fr)}.service-hero-copy{max-width:760px}.service-breadcrumb{margin-bottom:50px;font-size:9px;letter-spacing:.22em}.service-eyebrow{margin-bottom:20px;font-size:10px;letter-spacing:.26em;color:#a27b00}.service-hero h1{font-size:clamp(48px,5.8vw,82px);line-height:.98;letter-spacing:-.065em;font-weight:900}.service-hero h2{max-width:720px;margin:40px 0 20px;font-size:clamp(25px,2.65vw,40px);line-height:1.58;letter-spacing:-.018em;font-weight:800}.service-hero-copy>p:last-child{max-width:530px;font-size:14px;line-height:2.05}.recruit-visual{width:min(36vw,510px)}.recruit-visual:before{inset:7%;border-color:rgba(17,17,17,.075)}.recruit-visual:after{content:"";position:absolute;inset:18%;border:1px dashed rgba(17,17,17,.09);border-radius:50%;animation:recruitOrbit 24s linear infinite}.recruit-focus{width:68px;height:68px;box-shadow:11px 14px 0 rgba(234,209,154,.42)}.recruit-node{width:18px;height:18px;border-width:1.5px}.recruit-line{opacity:.3}@keyframes recruitOrbit{to{transform:rotate(1turn)}}.service-section{padding:124px 7vw}.service-section>*{max-width:var(--service-max);margin-left:auto;margin-right:auto}.service-section-head{grid-template-columns:minmax(180px,.28fr) 1fr;gap:7vw}.service-section-head>p{margin-top:8px;font-size:9px;letter-spacing:.21em}.service-section-head>p span{width:27px;height:27px;margin-right:12px;font-size:9px}.service-section-head h2{max-width:710px;font-size:clamp(28px,3.35vw,48px);line-height:1.52;letter-spacing:-.035em;font-weight:800}.concern-lines{max-width:830px;margin-top:76px}.concern-lines p{padding:25px 4px;font-size:clamp(17px,1.75vw,25px);font-weight:750;letter-spacing:-.012em}.concern-lines p:before{width:8px;height:8px;margin-right:22px}.approach-layout{margin-top:76px}.approach-lead{font-size:clamp(20px,2.1vw,29px);line-height:1.85;letter-spacing:-.018em}.approach-points p{padding:19px 0;font-size:14px}.support-list{margin-top:68px}.support-list article{grid-template-columns:54px minmax(220px,.65fr) 1fr;padding:30px 0}.support-list h3{font-size:clamp(20px,1.9vw,28px);letter-spacing:-.02em}.support-list p{font-size:14px}.simple-flow{margin-top:72px}.simple-flow li{min-height:156px;font-size:14px}.case-text{margin-top:62px}.case-text p{padding:15px 19px;font-size:14px;border-color:rgba(17,17,17,.68)}.service-contact a{font-size:14px;box-shadow:0 14px 34px rgba(33,26,15,.06)}@media(max-width:900px){.service-detail-page .site-header{height:70px;padding:16px 5vw;background:rgba(255,253,249,.78)}.service-detail-page.header-past-hero .site-header{height:62px;padding:11px 5vw}.service-detail-page.header-past-hero .site-header .logo img{width:124px}.service-hero{padding:104px 6vw 82px}.recruit-visual{width:min(70vw,360px);margin-top:10px}.service-breadcrumb{margin-bottom:24px}.service-hero h1{font-size:clamp(43px,14vw,66px)}.service-hero h2{margin-top:28px;font-size:clamp(23px,7vw,32px);line-height:1.55}.service-hero-copy>p:last-child{font-size:13px}.service-section{padding:82px 6vw}.service-section-head{gap:22px}.service-section-head h2{font-size:clamp(27px,8.5vw,39px);line-height:1.5}.concern-lines{margin-top:42px}.concern-lines p{padding:21px 0;font-size:17px;line-height:1.72}.concern-lines p:before{margin-right:14px}.approach-layout{margin-top:44px;gap:42px}.support-list{margin-top:42px}.case-text{margin-top:40px}}@media(prefers-reduced-motion:reduce){.recruit-visual:after{animation:none}}.support-detail{min-width:0}.support-detail p{margin:0}.support-detail ul{display:flex;flex-wrap:wrap;gap:8px;margin:13px 0 0;padding:0;list-style:none}.support-detail li{padding:6px 10px;border:1px solid rgba(24,23,20,.12);border-radius:999px;background:hsla(0,0%,100%,.72);color:#5f584f;font-size:10px;font-weight:850;letter-spacing:.045em}.support-list article{transition:padding .35s ease,background .35s ease}.support-list article:hover{padding-left:16px;padding-right:16px;background:rgba(245,197,31,.055)}.support-list article:hover .support-detail li{border-color:rgba(194,145,0,.25);background:#fffdf8}.service-cases{position:relative;background:#fffdf9}.service-cases:after{content:"";position:absolute;right:5vw;top:90px;width:86px;height:86px;background:radial-gradient(circle,rgba(245,197,31,.55) 0 1.4px,transparent 1.9px);background-size:13px 13px;opacity:.35;pointer-events:none}.case-text{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;max-width:920px;border-top:1px solid rgba(17,17,17,.19)}.case-text p{position:relative;margin:0;padding:25px 34px 25px 27px;border:0;border-bottom:1px solid rgba(17,17,17,.19);border-radius:0;background:transparent;font-size:15px;line-height:1.75}.case-text p:nth-child(odd){border-right:1px solid rgba(17,17,17,.19)}.case-text p:before{content:"";position:absolute;left:4px;top:34px;width:7px;height:7px;background:var(--yellow);transform:rotate(12deg)}.service-contact{position:relative;max-width:1120px;margin:0 auto;padding:118px 7vw 132px;text-align:left}.service-contact:before{content:"";position:absolute;left:7vw;right:7vw;top:0;height:1px;background:rgba(17,17,17,.14)}.service-contact-label{margin:0 0 24px!important;color:#9d7800!important;font-size:9px!important;font-weight:900!important;letter-spacing:.24em!important}.service-contact h2{max-width:760px;margin:0;font-size:clamp(30px,3.8vw,52px);line-height:1.48;letter-spacing:-.04em}.service-contact-copy{max-width:680px;margin:28px 0 0!important;color:var(--muted);font-size:14px;line-height:2}.service-contact-topics{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0 38px}.service-contact-topics span{padding:9px 13px;border-left:3px solid var(--yellow);background:#f7f3eb;color:#554e46;font-size:11px;font-weight:800}.service-contact a{min-width:min(390px,100%);margin:0;box-shadow:none}.service-contact small{display:block;margin-top:17px;color:#857e75;font-size:11px;line-height:1.7}@media(max-width:900px){.support-list article:hover{padding-left:0;padding-right:0;background:transparent}.support-detail{grid-column:2}.support-detail ul{margin-top:11px}.case-text{grid-template-columns:1fr}.case-text p:nth-child(odd){border-right:0}.case-text p{padding:20px 8px 20px 25px;font-size:14px}.case-text p:before{left:2px;top:29px}.service-cases:after{display:none}.service-contact{padding:84px 6vw 100px}.service-contact:before{left:6vw;right:6vw}.service-contact h2{font-size:clamp(29px,9vw,40px)}.service-contact-copy{margin-top:22px!important;font-size:13px}.service-contact-topics{margin:24px 0 32px}.service-contact-topics span{width:100%;padding:8px 11px}}.service-detail-page .concern-lines{max-width:780px}.service-detail-page .approach-points{align-self:start}.service-detail-page .service-flow-section{background:#fffdf9}.service-detail-page .service-contact{padding-top:104px}.service-detail-page .service-contact-copy{margin-bottom:36px!important}.service-detail-page .service-contact a{min-width:min(320px,100%)}@media(max-width:900px){.service-detail-page .service-contact{padding-top:78px}.service-detail-page .service-contact-copy{margin-bottom:28px!important}}.service-organization .service-hero h1{font-size:clamp(44px,5.15vw,74px);line-height:1.08}.service-living-visual{position:relative;width:min(36vw,510px);aspect-ratio:1;border-radius:50%}.organization-visual{background:radial-gradient(circle at center,rgba(245,197,31,.13),transparent 58%)}.organization-visual:after,.organization-visual:before{content:"";position:absolute;inset:8%;border:1px solid rgba(17,17,17,.08);border-radius:50%}.organization-visual:after{inset:22%;border-style:dashed;animation:orgOrbit 26s linear infinite}.org-cell{position:absolute;width:62px;height:62px;border:1px solid rgba(24,23,20,.22);background:#fffdf9;transform:rotate(8deg);box-shadow:8px 9px 0 rgba(238,215,161,.28)}.cell-a{left:12%;top:28%}.cell-b{left:37%;top:11%;width:44px;height:44px}.cell-c{right:12%;top:31%;width:52px;height:52px}.cell-d{right:22%;bottom:16%;width:72px;height:72px}.cell-e{left:20%;bottom:17%;width:40px;height:40px}.cell-f{left:44%;top:42%;width:88px;height:88px;background:var(--yellow);border-color:#111;box-shadow:13px 15px 0 rgba(220,201,156,.42)}.org-axis{position:absolute;background:rgba(24,23,20,.17);transform-origin:left center}.axis-a{left:24%;top:51%;width:54%;height:1px;transform:rotate(-18deg)}.axis-b{left:47%;top:21%;width:1px;height:54%;transform:rotate(8deg)}.org-growth{position:absolute;left:52%;top:49%;width:13px;height:13px;background:#111;border-radius:50%;box-shadow:0 0 0 8px rgba(245,197,31,.2)}@keyframes orgOrbit{to{transform:rotate(-1turn)}}.service-learning-message{max-width:1120px;margin:0 auto;padding:90px 7vw 104px;border-top:1px solid rgba(17,17,17,.13)}.service-learning-message p{margin:0 0 20px;color:#9d7800;font-size:9px;font-weight:900;letter-spacing:.24em}.service-learning-message h2{margin:0;font-size:clamp(31px,4vw,55px);line-height:1.4;letter-spacing:-.04em}.service-learning-message span{display:block;max-width:650px;margin-top:24px;color:var(--muted);font-size:14px;line-height:2}.service-security{--service-ink:#f7f3e8;background:#fff}.service-security .security-hero{background:#1b1c1e;color:#f7f3e8;max-width:none;padding-left:max(7vw,calc(50vw - 720px));padding-right:max(7vw,calc(50vw - 720px))}.service-security .service-breadcrumb,.service-security .service-breadcrumb a,.service-security .service-hero-copy>p:last-child{color:hsla(44,48%,94%,.68)}.service-security .service-eyebrow{color:#f5c51f}.service-security .service-scroll{color:hsla(44,48%,94%,.7)}.service-security .site-header{background:rgba(27,28,30,.45);color:#fff}.service-security .site-header .logo img{filter:brightness(0) invert(1)}.service-security.header-past-hero .site-header{background:rgba(27,28,30,.9);border-color:hsla(0,0%,100%,.08);box-shadow:0 10px 34px rgba(0,0,0,.18)}.service-security .nav a:after{background:#fff}.service-security .contact{color:#111}.security-visual{background:linear-gradient(hsla(0,0%,100%,.045) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.045) 1px,transparent 0);background-size:42px 42px;border:1px solid hsla(0,0%,100%,.09);border-radius:0;overflow:hidden}.security-visual:before{content:"";position:absolute;inset:9%;border:1px solid rgba(245,197,31,.26)}.sec-grid{position:absolute;width:74px;height:74px;border:1px solid hsla(0,0%,100%,.2);background:hsla(0,0%,100%,.035)}.grid-a{left:11%;top:12%}.grid-b{left:42%;top:10%;width:48px;height:48px}.grid-c{right:12%;top:31%;width:58px;height:58px}.grid-d{left:13%;bottom:13%;width:52px;height:52px}.grid-e{right:26%;bottom:12%;width:86px;height:86px}.grid-f{left:39%;top:38%;width:104px;height:104px;border-color:#f5c51f;background:rgba(245,197,31,.08)}.sec-core{position:absolute;left:50%;top:50%;width:30px;height:30px;background:#f5c51f;transform:translate(-50%,-50%) rotate(45deg);box-shadow:0 0 0 12px rgba(245,197,31,.08)}.sec-scan{position:absolute;left:0;right:0;top:16%;height:1px;background:linear-gradient(90deg,transparent,#f5c51f,transparent);box-shadow:0 0 16px rgba(245,197,31,.65);animation:securityScan 5.4s ease-in-out infinite}@keyframes securityScan{0%,to{transform:translateY(0);opacity:.35}50%{transform:translateY(280px);opacity:.9}}.security-approach{background:#202124;color:#f7f3e8}.security-approach .approach-lead,.security-approach .approach-points p,.security-approach .service-section-head>p{color:hsla(44,48%,94%,.8)}.security-approach .approach-points p{border-color:hsla(0,0%,100%,.16)}.security-approach .approach-points span{color:#f5c51f}.service-security .support-list article:hover{background:rgba(27,28,30,.035)}.service-security .support-detail li{background:#fff;border-color:rgba(24,23,20,.16)}@media(max-width:900px){.service-organization .service-hero h1{font-size:clamp(39px,11.7vw,58px)}.service-living-visual{width:min(76vw,360px);margin-top:16px}.service-learning-message{padding:72px 6vw 84px}.service-security .security-hero{padding-left:6vw;padding-right:6vw}.security-visual{border-radius:0}.sec-scan{animation-duration:4.8s}}@media(prefers-reduced-motion:reduce){.organization-visual:after,.sec-scan{animation:none}}:root{--font-ja:"Zen Kaku Gothic New","Hiragino Sans","Yu Gothic",sans-serif;--font-en:"Inter","Zen Kaku Gothic New",sans-serif}html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{font-family:var(--font-ja);font-weight:400;font-synthesis:none}.contact,.footer nav,.footer small,.hero-scroll,.menu,.nav,.service-breadcrumb,.service-eyebrow,.service-section-head>p,.service-section-head>p span,.simple-flow span,.support-list article>span{font-family:var(--font-en);font-feature-settings:"kern" 1,"liga" 1}.section-copy h2,.section-title,.service-detail-page .concern-lines p,.service-detail-page .service-hero h1,.service-detail-page .service-hero h2,.service-detail-page .service-section-head h2,.service-detail-page .support-list h3{font-family:var(--font-ja);font-weight:700}.service-detail-page .service-hero h1{letter-spacing:-.07em}.service-detail-page .service-hero h2{letter-spacing:-.015em}.service-detail-page .service-section-head h2{letter-spacing:-.035em}.footer-logo,.logo{font-family:var(--font-en)}.education-story-page{--edu-ink:#24211d;--edu-muted:#746d64;--edu-paper:#fbfaf6;--edu-warm:#f2eee5;--edu-yellow:#f5c51f;background:#fff;color:var(--edu-ink)}.education-story-page .site-header{background:hsla(0,0%,100%,.72);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:height .4s ease,background .4s ease,box-shadow .4s ease}.education-story-page.header-past-hero .site-header{background:hsla(0,0%,100%,.92);box-shadow:0 10px 32px rgba(42,34,23,.055)}.education-story-page .nav a{font-size:12px}.education-wrap{width:min(1180px,86vw);margin-inline:auto}.education-breadcrumb,.education-eyebrow,.education-hero-photo figcaption,.education-scroll,.education-section-no{font-family:var(--font-en);font-size:9px;font-weight:700;letter-spacing:.24em}.education-section-no{color:#9a7600}.education-hero{position:relative;display:grid;grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);align-items:center;gap:7vw;min-height:calc(100svh - 82px);padding:110px max(7vw,calc(50vw - 720px)) 90px;overflow:hidden;background:linear-gradient(180deg,#fff,#fff 70%,#fbfaf6)}.education-hero:before{content:"";position:absolute;left:7vw;bottom:11%;width:74px;height:74px;background:var(--edu-yellow);transform:rotate(8deg);opacity:.9}.education-hero-copy{position:relative;z-index:2}.education-breadcrumb{display:flex;gap:10px;margin:0 0 52px;color:#9a938a}.education-eyebrow{margin:0 0 24px;color:#9a7600}.education-hero h1{margin:0;font-size:clamp(50px,6.35vw,92px);font-weight:700;line-height:1.12;letter-spacing:-.065em}.education-lead{max-width:570px;margin:40px 0 0;color:var(--edu-muted);font-size:15px;line-height:2.08}.education-hero-photo{position:relative;z-index:1;margin:0;aspect-ratio:4/5;overflow:visible}.education-hero-photo:before{content:"";position:absolute;inset:8% -5% -4% 9%;background:#eee7db;z-index:-1}.education-hero-photo img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.82) contrast(.97)}.education-hero-photo span{position:absolute;right:-18px;top:16%;width:38px;height:38px;background:var(--edu-yellow);transform:rotate(12deg)}.education-hero-photo figcaption{position:absolute;right:0;bottom:-30px;color:#9b948a}.education-scroll{position:absolute;left:max(7vw,calc(50vw - 720px));bottom:38px;color:#8a837b;writing-mode:vertical-rl}.education-scroll:after{content:"";display:block;width:1px;height:54px;margin:13px auto 0;background:#bbb1a4}.education-thought{display:grid;grid-template-columns:.24fr .84fr .52fr;align-items:end;gap:5vw;padding-top:150px;padding-bottom:170px}.education-contact h2,.education-day-head h2,.education-scenes-head h2,.education-thought-copy h2{margin:20px 0 0;font-size:clamp(32px,4.4vw,62px);font-weight:700;line-height:1.48;letter-spacing:-.045em}.education-thought-copy p{max-width:600px;margin:30px 0 0;color:var(--edu-muted);font-size:15px;line-height:2.15}.education-thought-photo{margin:0 0 -42px;aspect-ratio:4/5;overflow:hidden}.education-thought-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.75)}.education-scenes{padding:150px 0;background:var(--edu-paper)}.education-scenes-head{display:grid;grid-template-columns:.35fr 1fr;gap:4vw;align-items:start;margin-bottom:115px}.education-scenes-head h2{margin:0;max-width:780px}.education-scene{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.65fr);gap:7vw;align-items:center;margin-top:130px}.education-scene:first-of-type{margin-top:0}.education-scene-reverse{grid-template-columns:minmax(280px,.65fr) minmax(0,1.1fr)}.education-scene-reverse figure{order:2}.education-scene-reverse .education-scene-copy{order:1}.education-scene figure{margin:0;overflow:hidden;aspect-ratio:4/3}.education-scene-wide figure{aspect-ratio:16/9}.education-scene img{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.8) contrast(.98);transition:transform .8s cubic-bezier(.2,.8,.2,1)}.education-scene:hover img{transform:scale(1.025)}.education-scene-copy{max-width:390px}.education-scene-copy>span{font-family:var(--font-en);color:#9a7600;font-size:10px;letter-spacing:.2em}.education-scene-copy h3{margin:18px 0 22px;font-size:clamp(27px,3vw,43px);line-height:1.4;letter-spacing:-.035em}.education-scene-copy p{margin:0;color:var(--edu-muted);font-size:14px;line-height:2.05}.education-day{padding-top:160px;padding-bottom:170px}.education-day-head{display:grid;grid-template-columns:.3fr .9fr .55fr;gap:4vw;align-items:start;margin-bottom:100px}.education-day-head h2{margin:0}.education-day-head>p:last-child{margin:10px 0 0;color:var(--edu-muted);font-size:13px;line-height:2}.education-day-layout{display:grid;grid-template-columns:.82fr 1.05fr;gap:8vw;align-items:center}.education-timeline{position:relative;margin:0;padding:0;list-style:none}.education-timeline:before{content:"";position:absolute;left:49px;top:9px;bottom:9px;width:1px;background:#d9d1c5}.education-timeline li{position:relative;display:grid;grid-template-columns:74px 1fr;gap:24px;padding:0 0 37px}.education-timeline li:last-child{padding-bottom:0}.education-timeline li:before{content:"";position:absolute;left:45px;top:8px;width:9px;height:9px;background:var(--edu-yellow);transform:rotate(45deg)}.education-timeline time{font-family:var(--font-en);font-size:10px;font-weight:700;letter-spacing:.1em;color:#81786e}.education-timeline strong{display:block;font-size:18px;letter-spacing:-.01em}.education-timeline span{display:block;margin-top:7px;color:var(--edu-muted);font-size:12px;line-height:1.8}.education-day-photo{margin:0;aspect-ratio:4/5;overflow:hidden;background:#ece7de}.education-day-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.72)}.education-voices{padding:145px 0;background:#262522;color:#f8f5ed}.education-voices .education-section-no{color:#f5c51f}.education-quotes{margin-top:70px}.education-quotes blockquote{position:relative;max-width:820px;margin:0;padding:38px 0 38px 66px;border-top:1px solid hsla(0,0%,100%,.15);font-size:clamp(25px,3.5vw,49px);font-weight:500;line-height:1.65;letter-spacing:-.035em}.education-quotes blockquote:last-child{border-bottom:1px solid hsla(0,0%,100%,.15)}.education-quotes blockquote:before{content:"“";position:absolute;left:0;top:26px;color:#f5c51f;font-family:Georgia,serif;font-size:52px}.education-voice-note{margin:28px 0 0;color:hsla(0,0%,100%,.46);font-size:10px}.education-contact{display:grid;grid-template-columns:.3fr 1fr;gap:5vw;padding-top:145px;padding-bottom:155px}.education-contact>div{max-width:790px}.education-contact h2{margin:0}.education-contact p:not(.education-section-no){margin:28px 0 38px;color:var(--edu-muted);font-size:14px;line-height:2}.education-contact a{display:flex;align-items:center;justify-content:space-between;width:min(430px,100%);padding:22px 24px;border:1px solid #2b2925;font-size:13px;font-weight:700;transition:background .3s ease,color .3s ease,transform .3s ease}.education-contact a:hover{background:#262522;color:#fff;transform:translateY(-2px)}.education-contact a span{font-family:var(--font-en);font-size:18px}@media(max-width:900px){.education-wrap{width:88vw}.education-story-page .site-header{height:70px;padding:16px 5vw}.education-hero{display:block;min-height:auto;padding:110px 6vw 90px}.education-hero:before{left:auto;right:9vw;bottom:7%;width:50px;height:50px}.education-breadcrumb{margin-bottom:36px}.education-hero h1{font-size:clamp(42px,13vw,65px)}.education-lead{margin-top:28px;font-size:13px}.education-hero-photo{width:88%;margin:70px 0 0 auto;aspect-ratio:4/5}.education-scroll{display:none}.education-thought{grid-template-columns:1fr;padding-top:100px;padding-bottom:115px}.education-thought .education-section-no{margin-bottom:24px}.education-thought-photo{width:72%;margin:58px 0 0 auto}.education-scenes{padding:100px 0}.education-scenes-head{display:block;margin-bottom:70px}.education-scenes-head h2{margin-top:22px}.education-scene,.education-scene-reverse{display:block;margin-top:90px}.education-scene-reverse .education-scene-copy,.education-scene-reverse figure{order:0}.education-scene-copy{margin-top:34px}.education-day{padding-top:105px;padding-bottom:110px}.education-day-head{display:block;margin-bottom:66px}.education-day-head h2{margin-top:22px}.education-day-head>p:last-child{margin-top:20px}.education-day-layout{display:block}.education-day-photo{width:78%;margin:75px 0 0 auto}.education-voices{padding:100px 0}.education-quotes{margin-top:48px}.education-quotes blockquote{padding:30px 0 30px 45px;font-size:clamp(23px,7.7vw,35px)}.education-quotes blockquote:before{font-size:40px}.education-contact{display:block;padding-top:100px;padding-bottom:110px}.education-contact>div{margin-top:28px}}@media(max-width:560px){.education-hero-photo{width:94%}.education-day-photo,.education-thought-photo{width:84%}.education-scene figure{aspect-ratio:4/3}.education-timeline:before{left:39px}.education-timeline li{grid-template-columns:60px 1fr;gap:18px}.education-timeline li:before{left:35px}}@media(prefers-reduced-motion:reduce){.education-scene img{transition:none}.education-scene:hover img{transform:none}}.education-records{position:relative;padding:155px 0 165px;background:#f6f2e9;overflow:hidden}.education-records:before{content:"";position:absolute;right:-7vw;top:105px;width:180px;height:180px;border:1px solid rgba(154,118,0,.26);transform:rotate(18deg)}.education-records:after{content:"";position:absolute;left:4vw;top:38%;width:11px;height:11px;background:var(--edu-yellow);box-shadow:22px 17px 0 rgba(245,197,31,.38),-10px 35px 0 rgba(245,197,31,.2)}.education-records-head{display:grid;grid-template-columns:.28fr .9fr .55fr;gap:4vw;align-items:start;margin-bottom:105px}.education-records-head h2{margin:0;font-size:clamp(32px,4.4vw,62px);font-weight:700;line-height:1.48;letter-spacing:-.045em}.education-records-head>p:last-child{margin:12px 0 0;color:var(--edu-muted);font-size:13px;line-height:2}.education-record-feature{position:relative;display:grid;grid-template-columns:minmax(0,1.22fr) minmax(340px,.72fr);gap:7vw;align-items:center;padding-bottom:150px}.education-record-main-photo{position:relative;margin:0;aspect-ratio:15/10;overflow:visible}.education-record-main-photo:before{content:"";position:absolute;inset:9% -3% -5% 6%;background:#e8dfcf;z-index:0}.education-record-main-photo img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.82) contrast(.98)}.education-record-main-photo figcaption{position:absolute;left:0;bottom:-27px;font-family:var(--font-en);font-size:8px;font-weight:700;letter-spacing:.23em;color:#8e867c}.education-record-feature-copy{position:relative;z-index:2;padding-top:10px}.education-record-meta{display:flex;flex-wrap:wrap;gap:12px 22px;font-family:var(--font-en);font-size:9px;font-weight:700;letter-spacing:.16em;color:#7d746a}.education-record-meta span+span:before{content:"/";margin-right:20px;color:#c0b6a7}.education-record-school{margin:24px 0 0;font-family:var(--font-en);font-size:9px;font-weight:700;letter-spacing:.22em;color:#9a7600}.education-record-feature h3{margin:21px 0 28px;font-size:clamp(31px,3.4vw,50px);line-height:1.48;letter-spacing:-.04em}.education-record-summary{margin:0;color:var(--edu-muted);font-size:14px;line-height:2.05}.education-record-feature blockquote{position:relative;margin:42px 0 0;padding:30px 0 0 32px;border-top:1px solid rgba(63,55,45,.18);font-size:18px;font-weight:500;line-height:1.9;letter-spacing:-.02em}.education-record-feature blockquote:before{content:"“";position:absolute;left:0;top:20px;color:var(--edu-yellow);font-family:Georgia,serif;font-size:36px}.education-record-author{margin:16px 0 0;color:#8d8479;font-size:10px}.education-record-side-photo{position:absolute;left:47%;bottom:40px;width:180px;aspect-ratio:3/4;overflow:hidden;z-index:3;box-shadow:0 20px 55px rgba(54,45,34,.13)}.education-record-side-photo:after{content:"";position:absolute;right:-12px;bottom:-12px;width:42px;height:42px;background:var(--edu-yellow);z-index:-1}.education-record-side-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.72)}.education-record-list{border-top:1px solid rgba(62,54,45,.2)}.education-record-row{display:grid;grid-template-columns:70px minmax(260px,.82fr) minmax(320px,1fr);gap:4.5vw;align-items:center;padding:75px 0;border-bottom:1px solid rgba(62,54,45,.2)}.education-record-index{align-self:start;padding-top:3px;font-family:var(--font-en);font-size:10px;font-weight:700;letter-spacing:.2em;color:#9a7600}.education-record-row figure{margin:0;aspect-ratio:4/3;overflow:hidden}.education-record-row figure img{width:100%;height:100%;object-fit:cover;filter:saturate(.78);transition:transform .8s cubic-bezier(.2,.8,.2,1)}.education-record-row:hover figure img{transform:scale(1.025)}.education-record-row-copy h3{margin:22px 0 20px;font-size:clamp(25px,2.7vw,39px);line-height:1.5;letter-spacing:-.035em}.education-record-row-copy>p{margin:0;color:var(--edu-muted);font-size:13px;line-height:2}.education-record-row-copy blockquote{margin:28px 0 0;padding-left:22px;border-left:2px solid var(--edu-yellow);font-size:14px;font-weight:500;line-height:1.9}.education-record-row-reverse figure{order:3}.education-record-row-reverse .education-record-row-copy{order:2}.education-record-note{margin:27px 0 0;color:#938a7e;font-size:10px;line-height:1.8}.education-voices{display:none}@media(max-width:900px){.education-records{padding:105px 0 115px}.education-records-head{display:block;margin-bottom:70px}.education-records-head h2,.education-records-head>p:last-child{margin-top:22px}.education-record-feature{display:block;padding-bottom:110px}.education-record-feature-copy{margin-top:62px}.education-record-side-photo{left:auto;right:2vw;bottom:14px;width:130px}.education-record-row,.education-record-row-reverse{grid-template-columns:42px 1fr;gap:20px;padding:55px 0}.education-record-row figure,.education-record-row-copy,.education-record-row-reverse .education-record-row-copy,.education-record-row-reverse figure{grid-column:2;order:0}.education-record-index{grid-row:1/span 2}}@media(max-width:560px){.education-records:before{width:105px;height:105px}.education-record-main-photo{aspect-ratio:4/3}.education-record-feature h3{font-size:clamp(28px,9vw,40px)}.education-record-feature blockquote{font-size:16px;padding-left:26px}.education-record-side-photo{width:96px;bottom:5px}.education-record-row,.education-record-row-reverse{display:block}.education-record-index{margin-bottom:20px}.education-record-row figure{margin-bottom:30px}.education-record-meta span+span:before{margin-right:10px}}.contact-page{background:#fff;color:#171717}.contact-page .site-header{background:hsla(0,0%,100%,.86);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.contact-page .logo img{display:block;width:118px;height:auto}.contact-page .contact.is-current{background:#171717;color:#fff}.contact-main{padding-top:84px}.contact-intro{position:relative;min-height:410px;padding:52px max(6vw,calc(50vw - 590px)) 72px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;border-bottom:1px solid rgba(0,0,0,.1)}.contact-breadcrumb{position:absolute;top:34px;left:max(6vw,calc(50vw - 590px));display:flex;gap:10px;font-family:Inter,sans-serif;font-size:10px;letter-spacing:.15em;color:#777}.contact-breadcrumb a{color:inherit}.contact-intro-copy{position:relative;z-index:2;max-width:780px}.contact-eyebrow,.contact-form-heading>p{font-family:Inter,sans-serif;font-size:11px;font-weight:600;letter-spacing:.2em;margin:0 0 22px}.contact-intro h1{font-size:clamp(38px,5.2vw,72px);line-height:1.3;letter-spacing:-.035em;margin:0 0 28px;font-weight:700}.contact-intro-copy>p:last-child{font-size:clamp(15px,1.35vw,18px);line-height:2;color:#555;font-weight:500}.contact-mark{position:absolute;right:9vw;bottom:68px;width:150px;height:150px;transform:rotate(9deg)}.contact-mark span{position:absolute;width:58px;height:58px;background:#f5c51f}.contact-mark span:first-child{left:0;top:0}.contact-mark span:nth-child(2){right:0;top:0;opacity:.34}.contact-mark span:nth-child(3){left:0;bottom:0;opacity:.18}.contact-mark span:nth-child(4){right:0;bottom:0;background:#171717}.contact-form-section{max-width:1180px;margin:auto;padding:110px 6vw 140px;display:grid;grid-template-columns:minmax(230px,.72fr) minmax(0,1.6fr);gap:9vw;align-items:start}.contact-form-heading{position:sticky;top:130px}.contact-form-heading h2{font-size:clamp(26px,3vw,40px);line-height:1.45;margin:0 0 22px}.contact-form-heading span{display:block;font-size:13px;line-height:1.8;color:#777}.inquiry-form{min-width:0}.form-row{margin-bottom:34px}.form-row-split{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form-field{display:block;min-width:0}.form-field legend,.form-field>span{display:block;margin-bottom:12px;font-size:13px;font-weight:700;letter-spacing:.03em}.form-field em{font-family:Inter,sans-serif;font-size:9px;font-style:normal;letter-spacing:.08em;color:#9b7200;margin-left:8px}.form-field input[type=email],.form-field input[type=tel],.form-field input[type=text],.form-field textarea{width:100%;border:0;border-bottom:1px solid #aaa;border-radius:0;background:transparent;padding:13px 2px 15px;font:500 15px/1.7 Zen Kaku Gothic New,sans-serif;outline:none;transition:border-color .25s,background .25s}.form-field textarea{resize:vertical;min-height:170px;border:1px solid #bbb;padding:18px;margin-top:2px}.form-field input:focus,.form-field textarea:focus{border-color:#171717}.form-field input::placeholder,.form-field textarea::placeholder{color:#aaa}.form-topic{border:0;padding:0;margin:0 0 38px}.form-options{display:flex;flex-wrap:wrap;gap:10px}.form-options label{cursor:pointer}.form-options input{position:absolute;opacity:0;pointer-events:none}.form-options span{display:block;padding:11px 16px;border:1px solid #c9c9c9;font-size:12px;font-weight:600;transition:.25s ease}.form-options input:checked+span{background:#171717;border-color:#171717;color:#fff}.form-options label:hover span{border-color:#171717}.form-message{margin-bottom:26px}.form-agreement{display:flex;align-items:center;gap:12px;font-size:13px;cursor:pointer}.form-agreement input{width:18px;height:18px;accent-color:#171717}.form-agreement a{text-decoration:underline;text-underline-offset:3px}.form-submit-wrap{margin-top:42px}.form-submit{width:min(100%,420px);min-height:68px;border:0;background:#f5c51f;color:#171717;padding:0 24px 0 30px;display:flex;align-items:center;justify-content:space-between;font:700 14px/1 Zen Kaku Gothic New,sans-serif;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease}.form-submit i{font-family:Inter,sans-serif;font-style:normal;font-size:20px}.form-submit:hover{transform:translateY(-3px);box-shadow:0 14px 35px rgba(0,0,0,.12)}.form-error{display:none;margin-top:7px;color:#b53b26;font-size:11px}.form-field.is-error input,.form-field.is-error textarea{border-color:#b53b26}.agreement-error.is-visible,.form-field.is-error .form-error,.form-topic.is-error .form-error{display:block}.agreement-error{margin:7px 0 0 30px}.form-status{margin:15px 0 0;font-size:13px;line-height:1.7}.form-status.is-ready{color:#6d5500}@media(max-width:900px){.contact-main{padding-top:72px}.contact-intro{min-height:390px;padding:75px 6vw 58px}.contact-breadcrumb{top:24px;left:6vw}.contact-intro h1{max-width:82%;font-size:clamp(36px,10vw,54px)}.contact-mark{right:-12px;bottom:30px;width:100px;height:100px;opacity:.88}.contact-mark span{width:39px;height:39px}.contact-form-section{padding:82px 6vw 105px;grid-template-columns:1fr;gap:52px}.contact-form-heading{position:static}.form-row-split{grid-template-columns:1fr;gap:30px}.form-options{gap:8px}.form-options span{padding:10px 12px}.form-submit{width:100%}}.privacy-page{background:#fff;color:#171717}.privacy-page .site-header{background:hsla(0,0%,100%,.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.privacy-page .logo img{display:block;width:118px;height:auto}.privacy-main{padding-top:84px}.privacy-hero{position:relative;min-height:390px;padding:64px max(6vw,calc(50vw - 590px)) 76px;display:flex;align-items:flex-end;border-bottom:1px solid rgba(0,0,0,.1);overflow:hidden}.privacy-hero:after{content:"";position:absolute;right:8vw;bottom:54px;width:136px;height:136px;border:1px solid hsla(0,0%,9%,.18);transform:rotate(11deg);box-shadow:-34px 29px 0 -1px #f5c51f}.privacy-breadcrumb{position:absolute;top:36px;left:max(6vw,calc(50vw - 590px));display:flex;gap:10px;font-family:Inter,sans-serif;font-size:10px;letter-spacing:.15em;color:#777}.privacy-breadcrumb a{color:inherit}.privacy-hero-copy{position:relative;z-index:2}.privacy-hero-copy>p,.privacy-index>p,.privacy-number{font-family:Inter,sans-serif;font-size:10px;font-weight:700;letter-spacing:.2em}.privacy-hero-copy>p{margin:0 0 22px}.privacy-hero h1{margin:0 0 22px;font-size:clamp(40px,5.4vw,72px);line-height:1.2;letter-spacing:-.045em}.privacy-hero-copy>span{font-size:14px;color:#666}.privacy-content{max-width:1180px;margin:auto;padding:115px 6vw 155px;display:grid;grid-template-columns:230px minmax(0,1fr);gap:9vw;align-items:start}.privacy-index{position:sticky;top:130px;display:flex;flex-direction:column}.privacy-index>p{margin:0 0 24px}.privacy-index a{padding:15px 0;border-top:1px solid rgba(0,0,0,.14);font-size:12px;line-height:1.6;color:#666;transition:color .2s,padding-left .2s}.privacy-index a:last-child{border-bottom:1px solid rgba(0,0,0,.14)}.privacy-index a:hover{color:#171717;padding-left:5px}.privacy-document{min-width:0}.privacy-block{scroll-margin-top:120px;padding:0 0 115px;margin:0 0 115px;border-bottom:1px solid rgba(0,0,0,.14)}.privacy-block:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}.privacy-number{margin:0 0 18px;color:#9a7600}.privacy-block h2{margin:0 0 48px;font-size:clamp(29px,3.3vw,43px);line-height:1.45;letter-spacing:-.035em}.privacy-block h3{margin:48px 0 15px;font-size:17px;line-height:1.7;letter-spacing:-.01em}.privacy-address,.privacy-block li,.privacy-block p{font-size:14px;line-height:2.08;color:#554f47}.privacy-block p{margin:0 0 18px}.privacy-block a{text-decoration:underline;text-underline-offset:3px}.privacy-signature{margin-top:44px;padding-top:28px;border-top:1px solid rgba(0,0,0,.12)}.privacy-signature p{margin:2px 0}.privacy-purpose-list{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:28px 0 34px;border-top:1px solid rgba(0,0,0,.15);border-bottom:1px solid rgba(0,0,0,.15)}.privacy-purpose-list>div{padding:24px 22px;border-right:1px solid rgba(0,0,0,.12)}.privacy-purpose-list>div:last-child{border-right:0}.privacy-measures strong,.privacy-purpose-list strong{display:block;font-size:13px;line-height:1.7}.privacy-purpose-list ul{margin:15px 0 0;padding-left:18px}.privacy-purpose-list.is-compact{grid-template-columns:repeat(2,1fr)}.privacy-purpose-list.is-compact>div:nth-child(2n){border-right:0}.privacy-purpose-list.is-compact>div:nth-child(n/**/+3){border-top:1px solid rgba(0,0,0,.12)}.privacy-contact-box{margin-top:42px;padding:30px 34px;background:#f6f2e9;border-left:3px solid #f5c51f}.privacy-contact-box p{margin-bottom:13px}.privacy-contact-box span,.privacy-contact-box strong{display:block;font-size:13px;line-height:1.8}.privacy-address{font-style:normal;padding:25px 28px;background:#f7f7f5;border-left:2px solid #f5c51f}.privacy-measures{margin-top:25px;border-top:1px solid rgba(0,0,0,.14)}.privacy-measures>div{display:grid;grid-template-columns:minmax(210px,.8fr) minmax(0,1.6fr);gap:32px;padding:28px 0;border-bottom:1px solid rgba(0,0,0,.14)}.privacy-measures p{margin:0}@media(max-width:900px){.privacy-main{padding-top:72px}.privacy-hero{min-height:330px;padding:78px 6vw 58px}.privacy-breadcrumb{top:24px;left:6vw}.privacy-hero:after{right:-25px;bottom:35px;width:90px;height:90px}.privacy-content{padding:82px 6vw 110px;grid-template-columns:1fr;gap:60px}.privacy-index{position:static}.privacy-index a{padding:12px 0}.privacy-block{padding-bottom:82px;margin-bottom:82px}.privacy-purpose-list,.privacy-purpose-list.is-compact{grid-template-columns:1fr}.privacy-purpose-list.is-compact>div,.privacy-purpose-list>div{border-right:0;border-top:1px solid rgba(0,0,0,.12)}.privacy-purpose-list.is-compact>div:first-child,.privacy-purpose-list>div:first-child{border-top:0}.privacy-measures>div{grid-template-columns:1fr;gap:10px}}@media(max-width:560px){.privacy-hero h1{font-size:clamp(36px,11vw,49px)}.privacy-hero-copy>span{font-size:12px;line-height:1.8}.privacy-block h2{margin-bottom:35px}.privacy-block h3{font-size:15px;margin-top:38px}.privacy-address,.privacy-block li,.privacy-block p{font-size:13px}.privacy-contact-box{padding:24px 22px}.privacy-purpose-list>div{padding:22px 18px}}.hero-fixed-title__pc,.hero-fixed-title__sp{display:block}.hero-fixed-title__pc>span,.hero-fixed-title__sp>span{display:block;white-space:nowrap}.hero-fixed-title__sp{display:none}.hero-copy-overlay .hero-fixed-title{font-size:clamp(42px,4vw,56px);text-wrap:nowrap}.education-hero .hero-fixed-title{font-size:clamp(40px,3.7vw,50px);text-wrap:nowrap}@media(max-width:760px){.hero-fixed-title__pc{display:none}.hero-fixed-title__sp{display:block}.education-hero .hero-fixed-title,.hero-copy-overlay .hero-fixed-title{font-size:clamp(32px,9.6vw,44px);line-height:1.28;letter-spacing:-.045em;text-wrap:nowrap}}@media(max-width:370px){.education-hero .hero-fixed-title,.hero-copy-overlay .hero-fixed-title{font-size:30px}}@media (max-width:760px){body,html{width:100%;max-width:100%;overflow-x:hidden}img,svg{max-width:100%;height:auto}.education-story-page .site-header,.service-detail-page .site-header,.site-header{width:100%;height:64px;padding:11px 4.8vw;gap:12px}.education-story-page .site-header .logo img,.service-detail-page .site-header .logo img,.site-header .logo img{display:block;width:128px;max-width:42vw;height:auto}.menu{flex:0 0 44px;width:44px;height:44px;border-radius:12px;gap:5px}.menu i{width:19px}.service-detail-page main{overflow:hidden}.service-hero,.service-security .security-hero{display:flex;flex-direction:column;align-items:stretch;min-height:auto;padding:92px 5vw 64px;gap:0}.service-hero-copy{width:100%;max-width:none}.service-breadcrumb{max-width:100%;margin:0 0 22px;gap:7px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:8px;letter-spacing:.13em}.service-eyebrow{margin-bottom:14px;font-size:9px;letter-spacing:.2em}.service-hero h1,.service-organization .service-hero h1{max-width:100%;font-size:clamp(40px,12.6vw,54px);line-height:1.08;letter-spacing:-.06em;overflow-wrap:anywhere}.service-hero h2{max-width:100%;margin:24px 0 15px;font-size:clamp(22px,6.4vw,28px);line-height:1.55;letter-spacing:-.02em}.service-hero h2 br{display:none}.service-hero-copy>p:last-child{max-width:none;font-size:13px;line-height:1.9}.service-scroll{display:none}.organization-visual,.recruit-visual,.security-visual,.service-living-visual{order:0;align-self:center;width:min(68vw,270px);max-width:270px;margin:42px auto 0;flex:0 0 auto}.recruit-focus{width:54px;height:54px;box-shadow:8px 10px 0 rgba(234,209,154,.42)}.recruit-node{width:15px;height:15px}.cell-f,.org-cell{transform:scale(.82) rotate(8deg)}.security-visual{aspect-ratio:1/1}.service-section{padding:72px 5vw}.service-section-head{display:block}.service-section-head>p{margin:0 0 22px;font-size:8px;letter-spacing:.16em}.service-section-head>p span{width:25px;height:25px;margin-right:9px}.service-section-head h2{max-width:100%;font-size:clamp(26px,8vw,34px);line-height:1.48;letter-spacing:-.035em}.service-section-head h2 br{display:none}.concern-lines{width:100%;max-width:none;margin-top:38px}.concern-lines p{display:grid;grid-template-columns:9px minmax(0,1fr);gap:13px;align-items:start;padding:19px 0;font-size:16px;line-height:1.7}.concern-lines p:before{width:8px;height:8px;margin:9px 0 0}.approach-layout{display:block;margin-top:40px}.approach-lead{font-size:20px;line-height:1.75}.approach-points{margin-top:35px}.approach-points p{gap:14px;padding:17px 0;font-size:13px;line-height:1.65}.support-list{margin-top:38px}.support-list article{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px 12px;align-items:start;padding:27px 0}.support-list article>span{padding-top:5px;font-size:9px}.support-list h3{font-size:21px;line-height:1.45}.support-detail{grid-column:2;min-width:0}.support-detail p{font-size:13px;line-height:1.85}.support-detail ul{gap:6px;margin-top:10px}.support-detail li{padding:5px 8px;font-size:9px}.simple-flow{margin-top:40px}.simple-flow li{grid-template-columns:40px minmax(0,1fr);min-height:0;padding:18px 12px;font-size:13px;line-height:1.6}.simple-flow span{font-size:9px}.service-contact{width:auto;max-width:none;margin:0 5vw;padding:74px 0 88px}.service-contact:before{left:0;right:0}.service-contact h2{font-size:clamp(27px,8.3vw,36px);line-height:1.48}.service-contact-copy{font-size:13px;line-height:1.9}.service-contact a{width:100%;min-width:0;gap:20px;padding:18px 21px;font-size:13px}.service-learning-message{padding:64px 5vw 74px}.service-learning-message h2{font-size:clamp(27px,8vw,36px)}.service-learning-message span{font-size:13px;line-height:1.9}.education-wrap{width:90vw}.education-hero{display:block;min-height:auto;padding:94px 5vw 72px}.education-breadcrumb{margin-bottom:28px;gap:7px;font-size:8px;letter-spacing:.15em}.education-eyebrow{margin-bottom:17px;font-size:8px}.education-hero .hero-fixed-title{max-width:100%;font-size:clamp(31px,9.2vw,39px);line-height:1.28;letter-spacing:-.045em}.education-lead{margin-top:24px;font-size:13px;line-height:1.9}.education-hero-photo{width:100%;margin:46px 0 0;aspect-ratio:4/5}.education-hero-photo span{right:-5px;width:30px;height:30px}.education-hero-photo figcaption{right:0;bottom:-24px;font-size:7px}.education-hero:before{right:7vw;bottom:4%;width:38px;height:38px}.education-contact,.education-thought{width:90vw;padding-top:82px;padding-bottom:88px}.education-contact h2,.education-day-head h2,.education-records-head h2,.education-scenes-head h2,.education-thought-copy h2{font-size:clamp(27px,8vw,35px);line-height:1.5}.education-contact h2 br,.education-day-head h2 br,.education-records-head h2 br,.education-scenes-head h2 br,.education-thought-copy h2 br{display:none}.education-thought-copy p{font-size:13px;line-height:2}.education-thought-photo{width:86%;margin:44px 0 0 auto}.education-scenes{padding:82px 0}.education-scenes-head{margin-bottom:54px}.education-scene,.education-scene-reverse{margin-top:68px}.education-scene figure,.education-scene-wide figure{aspect-ratio:4/3}.education-scene-copy{max-width:none;margin-top:26px}.education-scene-copy h3{margin:13px 0 16px;font-size:25px}.education-scene-copy p{font-size:13px;line-height:1.95}.education-day{padding-top:84px;padding-bottom:90px}.education-day-head{margin-bottom:52px}.education-timeline:before{left:34px}.education-timeline li{grid-template-columns:52px minmax(0,1fr);gap:14px;padding-bottom:29px}.education-timeline li:before{left:30px}.education-timeline strong{font-size:16px;line-height:1.6}.education-day-photo{width:88%;margin:54px 0 0 auto}.education-records{padding:84px 0 94px}.education-records-head{margin-bottom:54px}.education-record-feature{padding-bottom:82px}.education-record-main-photo{aspect-ratio:4/3}.education-record-feature-copy{margin-top:46px}.education-record-feature h3{font-size:clamp(27px,8.2vw,36px);line-height:1.48}.education-record-summary{font-size:13px;line-height:1.95}.education-record-feature blockquote{margin-top:30px;padding:24px 0 0 25px;font-size:15px}.education-record-side-photo{display:none}.education-record-row,.education-record-row-reverse{display:block;padding:48px 0}.education-record-index{margin-bottom:18px}.education-record-row figure{margin:0 0 25px;aspect-ratio:4/3}.education-record-row-copy h3{margin:16px 0;font-size:25px}.education-record-row-copy>p{font-size:13px;line-height:1.95}.footer-inner{display:block;width:100%}.footer-brand{max-width:none}.footer-nav{display:grid!important;grid-template-columns:1fr!important;gap:28px!important;width:100%;margin-top:42px}.footer-nav div{min-width:0}.footer-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:12px}}@media (max-width:380px){.service-hero h1,.service-organization .service-hero h1{font-size:39px}.service-hero h2{font-size:21px}.education-hero .hero-fixed-title{font-size:29px}.education-story-page .site-header .logo img,.service-detail-page .site-header .logo img,.site-header .logo img{width:116px}}.mobile-nav-panel{display:none}@media (max-width:760px){body.mobile-nav-open{overflow:hidden}.contact-page .site-header,.education-story-page .site-header,.privacy-page .site-header,.service-detail-page .site-header,.site-header{top:10px;left:4vw;width:92vw;height:58px;padding:7px 8px 7px 18px;border:1px solid hsla(0,0%,8%,.09);border-radius:18px;background:rgba(255,253,249,.88);box-shadow:0 12px 34px rgba(28,22,10,.075);-webkit-backdrop-filter:blur(18px) saturate(1.15);backdrop-filter:blur(18px) saturate(1.15);opacity:1;pointer-events:auto;transform:none;transition:background .3s ease,box-shadow .3s ease,border-color .3s ease}.education-story-page.header-past-hero .site-header,.service-detail-page.header-past-hero .site-header,body.is-scrolled .site-header{height:58px;padding:7px 8px 7px 18px;background:rgba(255,253,249,.95);box-shadow:0 14px 38px rgba(28,22,10,.11)}.service-security .site-header,.service-security.header-past-hero .site-header{color:#171717;background:rgba(255,253,249,.9);border-color:hsla(0,0%,8%,.09)}.service-security .site-header .logo img{filter:none}.education-story-page .site-header .logo img,.service-detail-page .site-header .logo img,.service-detail-page.header-past-hero .site-header .logo img,.site-header .logo img{width:120px;max-width:44vw}.menu{position:relative;z-index:102;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;margin-left:auto;padding:0;gap:5px;border:0;border-radius:14px;background:#171717;color:#fff;box-shadow:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .25s cubic-bezier(.2,.8,.2,1),background .25s ease}.menu:active{transform:scale(.94)}.menu i{position:absolute;left:12px;width:20px;height:1.5px;margin:0;border-radius:999px;background:currentColor;transform-origin:center;transition:transform .34s cubic-bezier(.2,.8,.2,1),opacity .22s ease,top .34s cubic-bezier(.2,.8,.2,1)}.menu i:first-child{top:15px}.menu i:nth-child(2){top:21px}.menu i:nth-child(3){top:27px}.menu[aria-expanded=true]{background:var(--yellow);color:#171717}.menu[aria-expanded=true] i:first-child{top:21px;transform:rotate(45deg)}.menu[aria-expanded=true] i:nth-child(2){opacity:0;transform:scaleX(.2)}.menu[aria-expanded=true] i:nth-child(3){top:21px;transform:rotate(-45deg)}.mobile-nav-panel{position:fixed;z-index:95;inset:0;display:flex;flex-direction:column;padding:98px 6vw 30px;background:#fffdf9;visibility:hidden;opacity:0;transform:translateY(-12px);pointer-events:none;overflow-y:auto;overscroll-behavior:contain;transition:visibility 0s linear .4s,opacity .34s ease,transform .4s cubic-bezier(.2,.8,.2,1)}.mobile-nav-panel:before{content:"";position:absolute;top:0;right:-12vw;width:46vw;height:46vw;max-width:230px;max-height:230px;background:var(--yellow);transform:rotate(16deg);opacity:.92}.mobile-nav-panel:after{content:"";position:absolute;left:6vw;bottom:34px;width:52px;height:52px;border:1px solid hsla(0,0%,8%,.17);transform:rotate(12deg);box-shadow:20px -20px 0 -1px rgba(245,197,31,.45);pointer-events:none}.mobile-nav-panel.is-open{visibility:visible;opacity:1;transform:none;pointer-events:auto;transition-delay:0s}.mobile-nav-inner{position:relative;z-index:2;display:flex;flex:1;flex-direction:column;min-height:470px}.mobile-nav-label{margin:5px 0 28px;font-family:var(--font-en);font-size:10px;font-weight:700;letter-spacing:.22em;color:#8a8276}.mobile-nav-links{display:flex;flex-direction:column}.mobile-nav-links a{display:flex;align-items:center;justify-content:space-between;min-height:67px;border-top:1px solid hsla(0,0%,8%,.13);font-size:clamp(20px,6vw,27px);font-weight:700;letter-spacing:-.035em;color:#171717;opacity:0;transform:translateY(14px);transition:opacity .35s ease,transform .42s cubic-bezier(.2,.8,.2,1),padding-left .25s ease}.mobile-nav-links a:after{content:"";width:18px;height:18px;flex:0 0 18px;background:currentColor;-webkit-mask:var(--icon-arrow-external) center /contain no-repeat;mask:var(--icon-arrow-external) center /contain no-repeat}.mobile-nav-links a[href*="#"]:after,.mobile-nav-links a[href^="#"]:after{-webkit-mask-image:var(--icon-arrow-down);mask-image:var(--icon-arrow-down)}.mobile-nav-panel.is-open .mobile-nav-links a{opacity:1;transform:none}.mobile-nav-panel.is-open .mobile-nav-links a:first-child{transition-delay:.08s}.mobile-nav-panel.is-open .mobile-nav-links a:nth-child(2){transition-delay:.12s}.mobile-nav-panel.is-open .mobile-nav-links a:nth-child(3){transition-delay:.16s}.mobile-nav-panel.is-open .mobile-nav-links a:nth-child(4){transition-delay:.2s}.mobile-nav-links a:active{padding-left:5px}.mobile-nav-contact{display:flex;align-items:center;justify-content:space-between;min-height:64px;margin-top:24px;padding:0 22px;background:var(--yellow);font-size:14px;font-weight:700;color:#171717}.mobile-nav-contact:after{content:"";width:18px;height:18px;background:currentColor;-webkit-mask:var(--icon-arrow-right) center /contain no-repeat;mask:var(--icon-arrow-right) center /contain no-repeat}.mobile-nav-meta{margin-top:auto;padding-top:34px;font-family:var(--font-en);font-size:10px;letter-spacing:.14em;color:#8a8276}}@media (prefers-reduced-motion:reduce){.menu i,.mobile-nav-links a,.mobile-nav-panel{transition:none!important}}@media (min-width:761px){.contact-page .site-header,.education-story-page .site-header,.privacy-page .site-header,.service-detail-page .site-header,.site-header{top:14px;left:3vw;width:94vw;height:70px;padding:9px 10px 9px 24px;gap:28px;border:1px solid hsla(0,0%,8%,.085);border-radius:22px;background:rgba(255,253,249,.84);box-shadow:0 12px 40px rgba(28,22,10,.07);-webkit-backdrop-filter:blur(20px) saturate(1.15);backdrop-filter:blur(20px) saturate(1.15);opacity:1;pointer-events:auto;transform:none;transition:height .35s cubic-bezier(.2,.8,.2,1),padding .35s cubic-bezier(.2,.8,.2,1),background .3s ease,box-shadow .3s ease,border-color .3s ease}.education-story-page.header-past-hero .site-header,.service-detail-page.header-past-hero .site-header,body.is-scrolled .site-header{height:62px;padding-top:6px;padding-bottom:6px;background:rgba(255,253,249,.95);border-color:hsla(0,0%,8%,.11);box-shadow:0 16px 44px rgba(28,22,10,.105)}.site-header .logo{display:flex;align-items:center;flex:0 0 auto;margin-right:auto}.contact-page .site-header .logo img,.education-story-page .site-header .logo img,.privacy-page .site-header .logo img,.service-detail-page .site-header .logo img,.service-detail-page.header-past-hero .site-header .logo img,.site-header .logo img{display:block;width:146px;max-width:none;height:auto;transform:none;transition:width .35s cubic-bezier(.2,.8,.2,1)}.education-story-page.header-past-hero .site-header .logo img,.service-detail-page.header-past-hero .site-header .logo img,body.is-scrolled .site-header .logo img{width:136px}.service-detail-page .nav,.site-header .nav{display:flex;align-items:center;gap:4px;padding:4px;border:1px solid hsla(0,0%,8%,.07);border-radius:999px;background:hsla(0,0%,100%,.54)}.education-story-page .nav a,.service-detail-page .nav a,.site-header .nav a{position:relative;display:flex;align-items:center;min-height:38px;padding:0 16px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.015em;color:#2b2925;transform:none;transition:background .24s ease,color .24s ease,transform .24s ease}.education-story-page .nav a:after,.service-detail-page .nav a:after,.site-header .nav a:after{display:none}.education-story-page .nav a:focus-visible,.education-story-page .nav a:hover,.service-detail-page .nav a:focus-visible,.service-detail-page .nav a:hover,.site-header .nav a:focus-visible,.site-header .nav a:hover{background:#171717;color:#fff;transform:translateY(-1px);outline:none}.contact-page .contact,.privacy-page .contact,.service-detail-page .contact,.site-header .contact{display:flex;align-items:center;min-height:50px;padding:0 22px;border:0;border-radius:16px;background:var(--yellow);color:#171717;font-size:12px;font-weight:700;box-shadow:none;transform:none;transition:transform .24s cubic-bezier(.2,.8,.2,1),box-shadow .24s ease,background .24s ease}.contact-page .contact span,.privacy-page .contact span,.service-detail-page .contact span,.site-header .contact span{position:relative;width:8px;height:8px;margin-right:10px;border:0;border-radius:50%;background:#171717}.service-detail-page .contact span:after,.service-detail-page .contact span:before,.site-header .contact span:after,.site-header .contact span:before{display:none}.contact-page .contact:hover,.privacy-page .contact:hover,.service-detail-page .contact:focus-visible,.service-detail-page .contact:hover,.site-header .contact:focus-visible,.site-header .contact:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(245,197,31,.25);outline:none}.site-header .menu{display:none}.service-security .site-header,.service-security.header-past-hero .site-header{color:#171717;background:rgba(255,253,249,.9);border-color:hsla(0,0%,8%,.09);box-shadow:0 14px 42px rgba(0,0,0,.12)}.service-security .site-header .logo img{filter:none}.contact-main,.privacy-main{padding-top:98px}}@media (min-width:761px) and (max-width:1080px){.contact-page .site-header,.education-story-page .site-header,.privacy-page .site-header,.service-detail-page .site-header,.site-header{left:2vw;width:96vw;padding-left:18px;gap:14px}.education-story-page .site-header .logo img,.service-detail-page .site-header .logo img,.site-header .logo img{width:126px}.education-story-page .nav a,.service-detail-page .nav a,.site-header .nav a{padding:0 11px;font-size:11px}.service-detail-page .contact,.site-header .contact{padding:0 16px}}@media (min-width:761px){.company-page .site-header,.contact-page .site-header,.education-story-page .site-header,.privacy-page .site-header,.service-detail-page .site-header,.site-header{background:rgba(255,253,249,.96);border-color:hsla(0,0%,8%,.1);box-shadow:0 14px 40px rgba(20,18,14,.1)}.site-header .logo img{filter:none!important}.nav-dropdown{position:relative;display:flex;align-items:center}.nav-dropdown-trigger{min-height:38px;padding:0 16px;border:0;border-radius:999px;background:transparent;font:600 12px/1 Zen Kaku Gothic New,sans-serif;color:#2b2925;cursor:pointer;transition:.24s ease}.nav-dropdown-trigger:focus-visible,.nav-dropdown-trigger:hover,.nav-dropdown:focus-within .nav-dropdown-trigger{background:#171717;color:#fff;outline:none}.nav-dropdown-menu{position:absolute;top:calc(100% + 12px);left:50%;min-width:190px;padding:8px;border:1px solid hsla(0,0%,8%,.09);border-radius:16px;background:rgba(255,253,249,.98);box-shadow:0 18px 48px rgba(20,18,14,.14);opacity:0;visibility:hidden;transform:translate(-50%,-8px);transition:.22s ease;z-index:50}.nav-dropdown.is-open .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu,.nav-dropdown:hover .nav-dropdown-menu{opacity:1;visibility:visible;transform:translate(-50%)}.site-header .nav .nav-dropdown-menu a{min-height:40px;width:100%;justify-content:flex-start;padding:0 13px;border-radius:10px;font-size:12px;white-space:nowrap}.site-header .nav .nav-dropdown-menu a:focus-visible,.site-header .nav .nav-dropdown-menu a:hover{background:#f5c51f;color:#171717;transform:none}}.company-page{background:#fffdf9;color:#171717}.company-hero{position:relative;min-height:430px;padding:70px max(6vw,calc(50vw - 590px)) 80px;display:flex;align-items:flex-end;overflow:hidden;border-bottom:1px solid rgba(0,0,0,.1)}.company-breadcrumb{position:absolute;top:38px;left:max(6vw,calc(50vw - 590px));display:flex;gap:10px;font:600 10px/1 Inter,sans-serif;letter-spacing:.15em;color:#777}.company-hero-copy{position:relative;z-index:2}.company-hero-copy>p,.company-intro>p:first-child{font:700 10px/1 Inter,sans-serif;letter-spacing:.22em}.company-hero-copy>p{margin:0 0 22px}.company-hero h1{margin:0 0 20px;font-size:clamp(45px,6vw,82px);line-height:1.1;letter-spacing:-.055em}.company-hero-copy>span{font-size:14px;color:#666}.company-hero-mark{position:absolute;right:10vw;bottom:60px;width:170px;height:170px}.company-hero-mark i{position:absolute;width:66px;height:66px;background:#f5c51f}.company-hero-mark i:first-child{left:0;top:0}.company-hero-mark i:nth-child(2){right:0;top:0;background:#171717}.company-hero-mark i:nth-child(3){left:0;bottom:0;background:#f3ead2}.company-hero-mark i:nth-child(4){right:0;bottom:0;border:2px solid #171717;background:transparent}.company-content{max-width:1180px;margin:auto;padding:130px 6vw 150px;display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.35fr);gap:10vw;align-items:start}.company-intro{position:sticky;top:140px}.company-intro>p:first-child{margin:0 0 26px}.company-intro h2{margin:0 0 30px;font-size:clamp(29px,3.5vw,46px);line-height:1.5;letter-spacing:-.04em}.company-intro>p:last-child{font-size:14px;line-height:2;color:#666}.company-profile{margin:0;border-top:1px solid rgba(0,0,0,.16)}.company-profile>div{display:grid;grid-template-columns:170px minmax(0,1fr);gap:36px;padding:32px 0;border-bottom:1px solid rgba(0,0,0,.16)}.company-profile dt{font:700 11px/1.6 Inter,Zen Kaku Gothic New,sans-serif;letter-spacing:.06em}.company-profile dd{margin:0;font-size:15px;line-height:2;color:#45413a}.company-profile ul{list-style:none;margin:0;padding:0}.company-profile li+li{margin-top:6px}.company-links{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(0,0,0,.14)}.company-links a{position:relative;min-height:220px;padding:55px 7vw;display:flex;flex-direction:column;justify-content:center;border-right:1px solid rgba(0,0,0,.14);transition:background .25s ease}.company-links a:last-child{border-right:0}.company-links a:hover{background:#f5c51f}.company-links span{font:700 10px/1 Inter,sans-serif;letter-spacing:.2em;margin-bottom:22px}.company-links strong{font-size:clamp(21px,2.5vw,34px)}.company-links i{position:absolute;right:7vw;top:50%;font:400 30px/1 Inter,sans-serif;transform:translateY(-50%)}@media(max-width:760px){.nav-dropdown-trigger{display:none}.company-main{padding-top:76px}.company-hero{min-height:330px;padding:82px 6vw 55px}.company-breadcrumb{top:26px;left:6vw}.company-hero-mark{right:-22px;bottom:28px;width:100px;height:100px;opacity:.75}.company-hero-mark i{width:39px;height:39px}.company-hero h1{font-size:clamp(39px,12vw,58px)}.company-hero-copy>span{display:block;max-width:70%;font-size:12px;line-height:1.8}.company-content{padding:90px 6vw 110px;grid-template-columns:1fr;gap:65px}.company-intro{position:static}.company-intro h2{font-size:30px}.company-profile>div{grid-template-columns:1fr;gap:10px;padding:25px 0}.company-profile dt{color:#8b6c13}.company-profile dd{font-size:14px}.company-links{grid-template-columns:1fr}.company-links a{min-height:160px;padding:38px 7vw;border-right:0;border-bottom:1px solid rgba(0,0,0,.14)}.company-links a:last-child{border-bottom:0}.company-links i{right:7vw}}.company-hero-logo{position:absolute;right:max(6vw,calc(50vw - 590px));bottom:76px;width:clamp(190px,22vw,310px);z-index:1;opacity:.92}.company-hero-logo img{display:block;width:100%;height:auto}.company-hero-tagline,.company-hero-tagline>span,.company-intro-text,.company-intro-text>span,.company-intro-title,.company-intro-title>span{display:block}@media (min-width:761px){.company-hero-tagline>span,.company-intro-text>span,.company-intro-title>span{white-space:nowrap}}@media (max-width:760px){.company-hero-logo{right:6vw;bottom:44px;width:132px;opacity:.82}.company-hero-tagline{max-width:62%}.company-hero-tagline>span{white-space:nowrap}.company-intro-text>span,.company-intro-title>span{white-space:normal}.company-intro-title{line-height:1.55}.company-intro-text{line-height:2}}@media (max-width:390px){.company-hero-logo{width:112px;bottom:48px}.company-hero-tagline{max-width:68%}.company-hero-tagline>span{font-size:11px}.company-intro-title{font-size:28px}}.company-content{grid-template-columns:minmax(300px,.88fr) minmax(0,1.42fr);gap:clamp(88px,11vw,170px)}.company-intro h2{margin-bottom:38px}.company-intro>p:last-child{max-width:520px}.company-profile>div{grid-template-columns:190px minmax(0,1fr);gap:clamp(44px,5vw,78px);padding:42px 0}.company-profile dd{padding-right:12px}.company-profile li+li{margin-top:12px}@media(max-width:980px) and (min-width:761px){.company-content{gap:70px;grid-template-columns:minmax(260px,.8fr) minmax(0,1.35fr)}.company-profile>div{grid-template-columns:150px minmax(0,1fr);gap:34px;padding:36px 0}}@media(max-width:760px){.company-content{gap:78px}.company-intro h2{margin-bottom:30px}.company-profile>div{grid-template-columns:1fr;gap:14px;padding:30px 0}.company-profile dt{margin-bottom:2px}.company-profile dd{padding-right:0}.company-profile li+li{margin-top:10px}}.company-content{max-width:1280px;grid-template-columns:minmax(380px,.92fr) minmax(0,1.28fr);column-gap:clamp(120px,12vw,190px)}.company-intro h2,.company-intro-title{font-size:clamp(28px,2.7vw,38px);line-height:1.55;letter-spacing:-.035em;font-weight:700}.company-intro h2,.company-intro-text,.company-intro-title,.company-profile dd{font-family:var(--font-ja,"Zen Kaku Gothic New","Hiragino Sans","Yu Gothic",sans-serif)}@media(max-width:1080px) and (min-width:761px){.company-content{grid-template-columns:minmax(320px,.9fr) minmax(0,1.25fr);column-gap:clamp(72px,8vw,110px)}.company-intro h2,.company-intro-title{font-size:clamp(27px,3vw,34px)}}@media(max-width:760px){.company-content{column-gap:0}.company-intro h2,.company-intro-title{font-size:clamp(27px,8vw,32px);line-height:1.55}}.company-main{padding-top:98px}.company-page-title{position:relative;max-width:1180px;margin:0 auto;padding:76px 6vw 46px;border-bottom:1px solid rgba(0,0,0,.13)}.company-page-title .company-breadcrumb{position:static;margin-bottom:42px}.company-page-title>p{margin:0 0 15px;font:700 10px/1 Inter,sans-serif;letter-spacing:.22em}.company-page-title h1{margin:0;font-family:Zen Kaku Gothic New,sans-serif;font-size:clamp(34px,4vw,52px);font-weight:700;line-height:1.2;letter-spacing:-.04em}.company-page .company-content{padding-top:92px}.company-page .company-intro-title{font-size:clamp(27px,3vw,38px)}@media(max-width:760px){.company-main{padding-top:76px}.company-page-title{padding:50px 6vw 34px}.company-page-title .company-breadcrumb{margin-bottom:30px}.company-page-title h1{font-size:36px}.company-page .company-content{padding-top:68px}.company-page .company-intro-title{font-size:27px}}.company-page-title{max-width:1280px;padding:42px 6vw 14px;border-bottom:0}.company-page-title .company-breadcrumb{margin-bottom:20px;color:#9a958d;opacity:.82}.company-page-title>p{display:none}.company-page-title h1{font-size:18px;font-weight:500;line-height:1.5;letter-spacing:.04em;color:#777169}.company-page .company-content{padding-top:52px}@media(max-width:760px){.company-page-title{padding:32px 6vw 8px}.company-page-title .company-breadcrumb{margin-bottom:16px}.company-page-title h1{font-size:16px;letter-spacing:.03em}.company-page .company-content{padding-top:42px}.company-page .company-main{width:100%;min-width:0;overflow-x:hidden}.company-page .company-content,.company-page .company-links,.company-page .company-page-title{width:100%;max-width:100%;min-width:0}.company-page .company-content{display:grid;grid-template-columns:minmax(0,1fr);gap:58px;padding:42px 6vw 96px}.company-page .company-intro,.company-page .company-profile{width:100%;min-width:0}.company-page .company-intro{position:static}.company-page .company-intro-text,.company-page .company-intro-title{max-width:100%;overflow-wrap:anywhere}.company-page .company-intro-text>span,.company-page .company-intro-title>span{white-space:normal}.company-page .company-profile>div{grid-template-columns:minmax(0,1fr);gap:10px;padding:26px 0}.company-page .company-profile dd,.company-page .company-profile dt{min-width:0;max-width:100%}.company-page .company-profile dd,.company-page .company-profile li{overflow-wrap:anywhere}}:root{--type-display-pc:clamp(44px,4.4vw,60px);--type-display-sp:clamp(32px,8.5vw,36px);--type-page-title-pc:clamp(38px,4.1vw,52px);--type-page-title-sp:clamp(28px,7.8vw,34px);--type-service-title-pc:clamp(44px,5vw,64px);--type-service-title-sp:clamp(32px,8.8vw,38px);--type-section-pc:clamp(28px,3vw,42px);--type-section-sp:clamp(24px,6.7vw,28px);--type-subheading-pc:clamp(21px,2vw,26px);--type-subheading-sp:clamp(19px,5.4vw,22px);--type-lead-pc:clamp(16px,1.25vw,19px);--type-lead-sp:clamp(15px,4vw,16px);--type-body-pc:16px;--type-body-sp:15px;--type-small:13px;--type-label:11px;--leading-display:1.28;--leading-heading:1.48;--leading-body:1.95;--icon-arrow-right:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13m-5-5 5 5-5 5'/%3E%3C/svg%3E");--icon-arrow-external:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8' viewBox='0 0 24 24'%3E%3Cpath d='M7 17 17 7M9 7h8v8'/%3E%3C/svg%3E");--icon-arrow-down:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8' viewBox='0 0 24 24'%3E%3Cpath d='M12 5v13m-5-5 5 5 5-5'/%3E%3C/svg%3E")}.ui-icon{display:inline-block;width:1em;height:1em;flex:0 0 auto;background:currentColor;vertical-align:-.12em;transition:transform .2s ease}.ui-icon-arrow-right{-webkit-mask:var(--icon-arrow-right) center /contain no-repeat;mask:var(--icon-arrow-right) center /contain no-repeat}.ui-icon-arrow-external{-webkit-mask:var(--icon-arrow-external) center /contain no-repeat;mask:var(--icon-arrow-external) center /contain no-repeat}a:hover .ui-icon-arrow-right,button:hover .ui-icon-arrow-right{transform:translateX(3px)}a:hover .ui-icon-arrow-external{transform:translate(2px,-2px)}.hero-copy-overlay h1{font-size:var(--type-display-pc);line-height:var(--leading-display)}.hero-copy-overlay .lead{font-size:var(--type-body-pc);line-height:2}.section-copy h2,.section-title{font-size:var(--type-section-pc);line-height:1.5}.service-card h3{font-size:23px;line-height:1.5}.section-copy p,.service-card p{font-size:var(--type-body-pc)}.lower-hero h1{font-size:var(--type-page-title-pc);line-height:1.16}.lower-hero .lead{font-size:var(--type-lead-pc)}.lower-heading{font-size:var(--type-section-pc);line-height:1.4}.lower-text{font-size:var(--type-body-pc)}.service-hero h1,.service-organization .service-hero h1{font-size:var(--type-service-title-pc);line-height:1.1}.service-hero h2{font-size:clamp(24px,2.3vw,34px);line-height:1.5}.service-hero-copy>p:last-child{font-size:var(--type-body-pc);line-height:var(--leading-body)}.service-section-head h2{font-size:var(--type-section-pc);line-height:1.45}.support-list h3{font-size:var(--type-subheading-pc)}.approach-points p,.service-contact-copy,.service-learning-message span,.simple-flow li,.support-detail p{font-size:15px}.service-contact h2,.service-learning-message h2{font-size:var(--type-section-pc)}.education-hero .hero-fixed-title{font-size:var(--type-service-title-pc);line-height:1.22}.education-lead,.education-record-row-copy>p,.education-record-summary,.education-scene-copy p,.education-thought-copy p{font-size:var(--type-body-pc)}.education-contact h2,.education-day-head h2,.education-records-head h2,.education-scenes-head h2,.education-thought-copy h2{font-size:var(--type-section-pc)}.education-record-row-copy h3,.education-scene-copy h3{font-size:var(--type-subheading-pc)}.company-hero h1{font-size:var(--type-page-title-pc)}.company-intro h2,.company-intro-title{font-size:clamp(28px,2.7vw,36px)}.company-intro>p:last-child,.company-profile dd{font-size:15px}.contact-intro h1{font-size:var(--type-page-title-pc)}.contact-intro-copy>p:last-child{font-size:var(--type-lead-pc)}.privacy-hero h1{font-size:clamp(36px,4vw,48px)}.privacy-address,.privacy-block li,.privacy-block p{font-size:15px;line-height:var(--leading-body)}.form-submit .ui-icon,.interview-button .ui-icon,.service-contact .ui-icon,.text-link .ui-icon{width:18px;height:18px}.service-card-arrow{width:22px;height:22px}.company-links i.ui-icon{width:30px;height:30px;font-size:inherit}@media(max-width:760px){.hero-copy-overlay h1{font-size:var(--type-display-sp)}.hero-copy-overlay .lead{font-size:var(--type-lead-sp);line-height:1.9}.section-copy h2,.section-title{font-size:var(--type-section-sp)}.section-copy p,.service-card p{font-size:var(--type-body-sp)}.lower-hero h1{font-size:var(--type-page-title-sp)}.lower-hero .lead{font-size:var(--type-lead-sp)}.lower-heading{font-size:var(--type-section-sp)}.lower-text{font-size:var(--type-body-sp)}.service-hero h1,.service-organization .service-hero h1{font-size:var(--type-service-title-sp);overflow-wrap:normal;word-break:normal}.service-hero h2{font-size:clamp(22px,6vw,26px)}.service-hero-copy>p:last-child{font-size:var(--type-body-sp)}.service-section-head h2{font-size:var(--type-section-sp)}.support-list h3{font-size:var(--type-subheading-sp)}.approach-points p,.service-contact-copy,.service-learning-message span,.simple-flow li,.support-detail p{font-size:14px}.service-contact h2,.service-learning-message h2{font-size:var(--type-section-sp)}.education-hero .hero-fixed-title{font-size:var(--type-service-title-sp)}.education-lead,.education-record-row-copy>p,.education-record-summary,.education-scene-copy p,.education-thought-copy p{font-size:var(--type-body-sp)}.education-contact h2,.education-day-head h2,.education-records-head h2,.education-scenes-head h2,.education-thought-copy h2{font-size:var(--type-section-sp)}.education-record-row-copy h3,.education-scene-copy h3{font-size:var(--type-subheading-sp)}.company-hero h1,.contact-intro h1{font-size:var(--type-page-title-sp)}.company-intro h2,.company-intro-title{font-size:clamp(25px,7vw,29px)}.company-intro>p:last-child,.company-profile dd{font-size:14px}.contact-intro-copy>p:last-child{font-size:var(--type-lead-sp)}.privacy-hero h1{font-size:clamp(27px,7.8vw,32px)}.privacy-address,.privacy-block li,.privacy-block p{font-size:14px}}@media(max-width:390px){.hero-copy-overlay h1{font-size:32px}.hero-copy-overlay .lead{font-size:15px}.education-hero .hero-fixed-title,.service-hero h1,.service-organization .service-hero h1{font-size:32px}}

/* Performance: defer rendering of sections outside the initial viewport. */
@supports (content-visibility: auto) {
  main > section:not(.hero-full):not(:first-child):not(#footerExperience) {
    content-visibility: auto;
    contain-intrinsic-size: auto 900px;
  }

  /* Motion-critical areas need stable layout dimensions for ScrollTrigger. */
  #footerExperience,
  .site-footer,
  .education-story-page main > section {
    content-visibility: visible;
    contain-intrinsic-size: none;
  }
}

/* Representative interview */
.interview-page{background:var(--bg)}
.interview-main{padding-top:98px;overflow:hidden}
.interview-page-title{max-width:1280px;margin:0 auto;padding:42px 6vw 38px}
.interview-breadcrumb{display:flex;align-items:center;gap:10px;margin-bottom:20px;color:#9a958d;font:600 10px/1.4 Inter,sans-serif;letter-spacing:.18em}
.interview-page-title h1{margin:0;font-size:clamp(38px,4.1vw,52px);font-weight:700;line-height:1.25;letter-spacing:-.04em}
.interview-profile-section{padding:34px 6vw 120px}
.interview-profile-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:clamp(56px,7vw,104px);align-items:center}
.interview-profile-image{position:relative}
.interview-profile-image:before{content:"";position:absolute;left:-24px;bottom:-24px;width:42%;height:44%;background:var(--yellow);z-index:-1}
.interview-profile-image img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.interview-profile-copy h2{margin:0 0 28px;font-size:clamp(27px,2.5vw,36px);line-height:1.45;letter-spacing:-.025em}
.interview-profile-copy p{margin:0;font-size:15px;line-height:2.15;font-weight:500;color:#312f2a}
.interview-content-section{position:relative;max-width:1280px;margin:0 auto;padding:0 6vw 144px}
.interview-heading{padding:0 0 66px;border-top:1px solid rgba(17,17,17,.13)}
.interview-heading h2{margin:46px 0 0;font-size:clamp(34px,4vw,50px);line-height:1.3;letter-spacing:-.04em}
.interview-block{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);gap:clamp(58px,7vw,108px);align-items:start;padding:82px 0;border-top:1px solid rgba(17,17,17,.12)}
.interview-block-alt .interview-photo{order:2}
.interview-block-alt .interview-dialogue{order:1}
.interview-photo{margin:0;position:relative}
.interview-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.interview-block:nth-of-type(3n/**/+2) .interview-photo:after{content:"";position:absolute;width:30px;height:30px;right:-14px;top:-14px;background:var(--yellow);border:1.5px solid #111;transform:rotate(8deg)}
.interview-dialogue{max-width:660px}
.interview-dialogue h2{margin:0 0 32px;font-size:clamp(24px,2.4vw,34px);line-height:1.62;letter-spacing:-.025em}
.interview-dialogue p{margin:0;font-size:16px;line-height:2.08;color:#272621;font-weight:500}
.interview-dialogue p+p{margin-top:24px}
.interview-dialogue .interview-question{position:relative;margin-bottom:30px;padding-left:24px;font-weight:700;color:#111}
.interview-dialogue .interview-question:before{content:"";position:absolute;left:0;top:.72em;width:9px;height:9px;background:var(--yellow);border:1px solid #111;transform:rotate(12deg)}
.interview-dialogue h2:not(:first-child){margin-top:68px}
.interview-location{margin:12px 0 0;padding-top:28px;border-top:1px solid rgba(17,17,17,.12);font-size:13px;color:#777169;text-align:right}
@media(max-width:900px){
  .interview-profile-grid,.interview-block{grid-template-columns:1fr}
  .interview-profile-grid{gap:48px}
  .interview-block{gap:42px;padding:70px 0}
  .interview-block-alt .interview-photo,.interview-block-alt .interview-dialogue{order:initial}
  .interview-dialogue{max-width:none}
}
@media(max-width:760px){
  .interview-main{padding-top:76px}
  .interview-page-title{padding:32px 6vw 28px}
  .interview-page-title h1{font-size:32px}
  .interview-profile-section{padding:22px 6vw 84px}
  .interview-profile-image:before{left:-10px;bottom:-10px;width:36%;height:36%}
  .interview-profile-copy h2{font-size:26px;margin-bottom:22px}
  .interview-profile-copy p{font-size:15px;line-height:2.05}
  .interview-content-section{padding:0 6vw 104px}
  .interview-heading{padding-bottom:34px}
  .interview-heading h2{margin-top:34px;font-size:30px}
  .interview-block{padding:56px 0;gap:34px}
  .interview-dialogue h2{font-size:24px;line-height:1.58;margin-bottom:26px}
  .interview-dialogue h2:not(:first-child){margin-top:54px}
  .interview-dialogue p{font-size:15px;line-height:2}
  .interview-dialogue p+p{margin-top:20px}
  .interview-dialogue .interview-question{padding-left:20px;margin-bottom:26px}
  .interview-location{text-align:left}
}

/* Contact completion state: isolated from the existing form styles. */
.contact-form-section{position:relative}.contact-complete{display:none;max-width:760px;margin:0 auto;padding:clamp(64px,8vw,108px) 24px clamp(58px,7vw,92px);text-align:center;opacity:0;transform:translateY(14px)}.contact-form-section.is-complete .contact-form-heading,.contact-form-section.is-complete .inquiry-form{display:none}.contact-form-section.is-complete .contact-complete{display:block}.contact-complete-mark{position:relative;width:76px;height:76px;margin:0 auto 30px}.contact-complete-mark span{position:absolute;width:18px;height:18px;background:#f2c94c;opacity:0;transform:scale(.55)}.contact-complete-mark span:nth-child(1){left:10px;top:10px}.contact-complete-mark span:nth-child(2){right:10px;top:10px}.contact-complete-mark span:nth-child(3){left:10px;bottom:10px}.contact-complete-mark span:nth-child(4){right:10px;bottom:10px}.contact-complete-mark i{position:absolute;inset:18px;border:1.5px solid rgba(0,0,0,.72);border-radius:50%;opacity:0;transform:scale(.8)}.contact-complete-mark i:after{content:"";position:absolute;left:13px;top:11px;width:17px;height:9px;border-left:1.8px solid #111;border-bottom:1.8px solid #111;transform:rotate(-45deg)}.contact-complete-eyebrow{margin:0 0 15px;font:600 10px/1 Inter,sans-serif;letter-spacing:.24em;color:#928b7e}.contact-complete h2{margin:0;font-family:var(--font-ja,"Zen Kaku Gothic New","Hiragino Sans","Yu Gothic",sans-serif);font-size:clamp(27px,3vw,38px);font-weight:500;line-height:1.45;letter-spacing:-.025em}.contact-complete-lead{margin:24px 0 0;font-size:15px;line-height:2;color:#4f4c47}.contact-complete-note{max-width:520px;margin:18px auto 0;font-size:12px;line-height:1.8;color:#969087}.contact-complete-link{display:inline-flex;align-items:center;gap:28px;margin-top:38px;padding:14px 0;border-bottom:1px solid rgba(0,0,0,.3);font-size:13px;letter-spacing:.04em;color:inherit;text-decoration:none}.contact-complete-link .ui-icon{width:17px;height:17px}.inquiry-form.is-sending{pointer-events:none}.inquiry-form.is-sending .form-submit{opacity:.65}.inquiry-form.is-sending .form-submit .ui-icon{display:none}.form-submit-spinner{display:inline-block;width:15px;height:15px;margin-left:10px;border:1.5px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-2px;animation:contact-spin .72s linear infinite}@keyframes contact-spin{to{transform:rotate(360deg)}}@media(max-width:760px){.contact-complete{padding:58px 4vw 70px}.contact-complete-mark{width:68px;height:68px;margin-bottom:25px}.contact-complete-mark span{width:16px;height:16px}.contact-complete-mark i{inset:17px}.contact-complete-mark i:after{left:11px;top:9px;width:15px;height:8px}.contact-complete h2{font-size:clamp(25px,7vw,30px)}.contact-complete-lead{margin-top:20px;font-size:14px;line-height:1.9}.contact-complete-link{margin-top:32px}}
@media(prefers-reduced-motion:reduce){.form-submit-spinner{animation:none;border-right-color:currentColor}.contact-complete{transform:none}}

/* Contact completion: keep the success state visually centered without affecting the form layout. */
.contact-form-section.is-complete{
  grid-template-columns:minmax(0,1fr);
  gap:0;
  align-items:center;
  justify-items:center;
  min-height:clamp(520px,68svh,760px);
}
.contact-form-section.is-complete .contact-complete{
  grid-column:1 / -1;
  width:min(100%,760px);
  margin-inline:auto;
  padding-inline:24px;
  justify-self:center;
}
@media(max-width:760px){
  .contact-form-section.is-complete{
    min-height:62svh;
    padding:56px max(20px,6vw) 72px;
  }
  .contact-form-section.is-complete .contact-complete{
    width:100%;
    padding:0;
  }
}
@media(max-width:390px){
  .contact-form-section.is-complete{
    min-height:58svh;
    padding-inline:20px;
  }
}

/* News & Contents / microCMS */
.top-contents{min-height:auto;padding-top:118px;padding-bottom:128px;background:rgba(255,255,255,.28)}.top-contents[hidden]{display:none!important}
.contents-feed-layout{max-width:1180px;margin:0 auto}
.contents-feed-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:48px}
.contents-feed-title-row h2{margin:0 0 18px;font-size:var(--type-section-pc);line-height:1.45;letter-spacing:-.03em}
.contents-feed-title-row p{max-width:700px;margin:0;color:#5f5b53;font-size:15px;line-height:1.9;font-weight:500}
.contents-feed-all{display:inline-flex;align-items:center;gap:13px;flex:0 0 auto;padding:10px 0;border-bottom:1px solid rgba(17,17,17,.28);font-size:13px;font-weight:700}
.contents-feed-list{margin-top:52px;border-top:1px solid rgba(17,17,17,.16)}
.contents-feed-item{position:relative;display:grid;grid-template-columns:180px minmax(0,1fr) 28px;column-gap:34px;align-items:start;padding:29px 2px;border-bottom:1px solid rgba(17,17,17,.13);transition:padding .25s ease,background .25s ease}
.contents-feed-item:hover{padding-left:12px;padding-right:12px;background:rgba(245,197,31,.055)}
.contents-feed-meta{display:flex;align-items:center;gap:14px;padding-top:4px;font-family:Inter,sans-serif;font-size:11px;letter-spacing:.07em;color:#78736a}
.contents-feed-meta span{padding:5px 8px;border:1px solid rgba(17,17,17,.16);border-radius:999px;color:#39362f;white-space:nowrap}
.contents-feed-item h3{margin:0;font-size:18px;line-height:1.7;font-weight:700;letter-spacing:-.01em}
.contents-feed-item>p{grid-column:2;margin:9px 0 0;color:#777169;font-size:13px;line-height:1.8}
.contents-feed-item>.ui-icon{grid-column:3;grid-row:1 / span 2;align-self:center;justify-self:end;width:21px;height:21px}
.contents-feed-loading,.contents-feed-empty{margin:0;padding:32px 2px;border-bottom:1px solid rgba(17,17,17,.13);color:#8b867d;font-size:13px}
.contents-feed-noscript{margin:20px 0 0;font-size:13px}

.contents-page .site-header{opacity:1;pointer-events:auto;transform:none;background:rgba(255,253,249,.92);border-bottom:1px solid rgba(17,17,17,.07)}
.contents-page .logo img{display:block;width:132px;height:auto}
.contents-main{padding-top:88px}
.contents-shell{width:min(1120px,88vw);margin:0 auto}
.contents-hero{padding:88px 0 68px;border-bottom:1px solid rgba(17,17,17,.12)}
.contents-eyebrow{margin:0 0 18px;font-family:Inter,sans-serif;font-size:11px;font-weight:700;letter-spacing:.2em}
.contents-hero h1{margin:0;font-size:clamp(36px,4vw,52px);line-height:1.3;letter-spacing:-.04em}
.contents-hero h1+p{max-width:680px;margin:24px 0 0;color:#5f5b53;font-size:15px;line-height:2}
.contents-list-section{padding:64px 0 120px}
.contents-list{border-top:1px solid rgba(17,17,17,.16)}
.contents-list-item{position:relative;display:grid;grid-template-columns:190px minmax(0,1fr) 30px;gap:10px 34px;padding:32px 4px;border-bottom:1px solid rgba(17,17,17,.14);transition:padding .25s ease,background .25s ease}
.contents-list-item:hover{padding-left:14px;padding-right:14px;background:rgba(245,197,31,.05)}
.contents-list-meta{display:flex;align-items:center;gap:12px;grid-row:1 / span 2;align-self:start;padding-top:6px;font-family:Inter,sans-serif;font-size:11px;color:#79746b}
.contents-list-meta span{padding:5px 9px;border:1px solid rgba(17,17,17,.15);border-radius:999px;white-space:nowrap}
.contents-list-item h2{margin:0;font-size:20px;line-height:1.65;letter-spacing:-.015em}
.contents-list-item p{margin:0;color:#777169;font-size:13px;line-height:1.8}
.contents-list-item>.ui-icon{grid-column:3;grid-row:1 / span 2;align-self:center;justify-self:end;width:21px;height:21px}
.contents-pagination{display:flex;justify-content:center;align-items:center;gap:28px;margin-top:52px;font-size:13px}.contents-pagination a{border-bottom:1px solid #999}
.contents-empty{padding:40px 0;color:#777169}
.contents-footer{padding:58px 0 44px;border-top:1px solid rgba(17,17,17,.12)}
.contents-footer .contents-shell{display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:13px}
.contents-footer-logo{font-weight:700}
.contents-footer a:last-child{display:inline-flex;align-items:center;gap:10px}

.contents-article{padding:76px 0 120px}
.contents-article-shell{width:min(820px,88vw);margin:0 auto}
.contents-breadcrumb{display:flex;gap:10px;margin-bottom:54px;color:#8a857c;font-family:Inter,sans-serif;font-size:10px;letter-spacing:.1em}
.contents-article-meta{display:flex;align-items:center;gap:14px;margin-bottom:22px;color:#777169;font-family:Inter,sans-serif;font-size:11px}
.contents-article-meta span{padding:5px 9px;border:1px solid rgba(17,17,17,.16);border-radius:999px}
.contents-article-header h1{margin:0;font-size:clamp(32px,4vw,50px);line-height:1.48;letter-spacing:-.035em}
.contents-article-lead{margin:26px 0 0;color:#5f5b53;font-size:16px;line-height:2}
.contents-eyecatch{margin:54px 0 0}.contents-eyecatch img{display:block;width:100%;height:auto;max-height:560px;object-fit:cover}
.contents-body{margin-top:72px;font-size:16px;line-height:2;color:#292722}
.contents-body h2{margin:72px 0 24px;padding-bottom:15px;border-bottom:1px solid rgba(17,17,17,.18);font-size:28px;line-height:1.55}
.contents-body h3{margin:52px 0 18px;font-size:22px;line-height:1.6}.contents-body p{margin:0 0 26px}.contents-body ul,.contents-body ol{margin:0 0 30px;padding-left:1.6em}.contents-body li+li{margin-top:8px}.contents-body a{text-decoration:underline;text-underline-offset:4px}.contents-body img{max-width:100%;height:auto;margin:22px 0}.contents-body blockquote{margin:38px 0;padding:22px 26px;border-left:4px solid var(--yellow);background:rgba(245,197,31,.07)}
.contents-article-footer{margin-top:76px;padding-top:30px;border-top:1px solid rgba(17,17,17,.14)}
.contents-back{font-size:13px;font-weight:700}

@media(max-width:760px){
.top-contents{padding-top:84px;padding-bottom:90px}.contents-feed-title-row{display:block}.contents-feed-title-row h2{font-size:var(--type-section-sp)}.contents-feed-title-row p{font-size:14px}.contents-feed-all{margin-top:25px}.contents-feed-list{margin-top:38px}.contents-feed-item{grid-template-columns:1fr 24px;gap:10px 18px;padding:24px 0}.contents-feed-meta{grid-column:1;flex-wrap:wrap}.contents-feed-item h3{grid-column:1;font-size:16px;line-height:1.65}.contents-feed-item>p{display:none}.contents-feed-item>.ui-icon{grid-column:2;grid-row:1 / span 2;width:19px;height:19px}.contents-main{padding-top:72px}.contents-hero{padding:58px 0 46px}.contents-hero h1{font-size:32px}.contents-hero h1+p{font-size:14px}.contents-list-section{padding:42px 0 88px}.contents-list-item{grid-template-columns:1fr 24px;gap:12px 18px;padding:26px 0}.contents-list-meta{grid-column:1;grid-row:1;flex-wrap:wrap;padding-top:0}.contents-list-item h2{grid-column:1;grid-row:2;font-size:17px}.contents-list-item p{grid-column:1;grid-row:3}.contents-list-item>.ui-icon{grid-column:2;grid-row:1 / span 3;width:19px;height:19px}.contents-footer .contents-shell{align-items:flex-start;flex-direction:column}.contents-article{padding:52px 0 92px}.contents-breadcrumb{margin-bottom:38px}.contents-article-header h1{font-size:30px;line-height:1.5}.contents-article-lead{font-size:15px}.contents-eyecatch{margin-top:38px}.contents-body{margin-top:50px;font-size:15px}.contents-body h2{margin-top:58px;font-size:24px}.contents-body h3{margin-top:44px;font-size:20px}.contents-article-footer{margin-top:58px}}

/* TOP service cards: Pattern B.
   One centered grid defines the rhythm; no legacy override escalation is needed. */
.top-service-grid {
  align-items: stretch;
}
.top-service-grid > .service-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: 20px 96px 62px 38px 3px minmax(58px, auto);
  row-gap: 10px;
  justify-items: center;
  align-items: center;
  width: 100%;
  min-width: 0;
  min-height: 0;
  height: auto;
  padding: 24px 28px 28px;
  text-align: center;
}
.top-service-grid > .service-card > .service-card-no,
.top-service-grid > .service-card > .service-card-icon-shell,
.top-service-grid > .service-card > h3,
.top-service-grid > .service-card > .service-card-meta,
.top-service-grid > .service-card > .service-card-line,
.top-service-grid > .service-card > p {
  grid-column: 1;
}
.top-service-grid .service-card-no {
  position: static;
  width: 100%;
  margin: 0;
  line-height: 20px;
  text-align: center;
}
.top-service-grid .service-card-icon-shell {
  width: 96px;
  height: 96px;
  margin: 0 auto;
}
.top-service-grid .service-card h3 {
  display: grid;
  place-items: center;
  width: 100%;
  max-width: 15em;
  height: 62px;
  min-height: 0;
  margin: 0 auto;
  padding: 0;
  font-size: 20px;
  line-height: 1.42;
  letter-spacing: .025em;
  text-align: center;
}
.top-service-grid .service-card-title-break {
  align-content: center;
  justify-items: center;
}
.top-service-grid .service-card-title-break span {
  display: block;
  margin: 0;
  text-align: center;
}
.top-service-grid .service-card-meta {
  display: grid;
  grid-template-rows: 16px 18px;
  row-gap: 4px;
  place-items: center;
  width: 100%;
  min-width: 0;
  margin: 0;
}
.top-service-grid .service-card-meta-en {
  color: #aaa49a;
  font-family: Inter, sans-serif;
  font-size: 10px;
  font-weight: 600;
  line-height: 16px;
  letter-spacing: .32em;
}
.top-service-grid .service-card-meta-ja {
  color: #4f4a43;
  font-size: 12px;
  font-weight: 700;
  line-height: 18px;
  letter-spacing: .06em;
  white-space: nowrap;
}
.top-service-grid .service-card-line {
  width: 38px;
  height: 3px;
  margin: 0 auto;
}
.top-service-grid .service-card p {
  align-self: start;
  width: 100%;
  max-width: 17em;
  margin: 0 auto;
  font-size: 14px;
  line-height: 1.9;
  text-align: center;
}

@media (max-width: 900px) {
  .top-service-grid > .service-card {
    grid-template-rows: auto auto auto auto 3px auto;
    row-gap: 10px;
    padding: 22px 22px 24px;
  }
  .top-service-grid .service-card-no {
    margin-bottom: 2px;
  }
  .top-service-grid .service-card-icon-shell {
    margin: 0 auto 2px;
  }
  .top-service-grid .service-card h3 {
    height: auto;
    min-height: 54px;
    max-width: 16em;
    font-size: 20px;
    line-height: 1.45;
  }
  .top-service-grid .service-card-meta {
    grid-template-rows: 15px 18px;
    row-gap: 3px;
  }
  .top-service-grid .service-card-meta-en {
    font-size: 9px;
    line-height: 15px;
    letter-spacing: .3em;
  }
  .top-service-grid .service-card-meta-ja {
    max-width: 100%;
    font-size: 11px;
    line-height: 18px;
    white-space: normal;
  }
  .top-service-grid .service-card p {
    max-width: 18em;
    font-size: 14px;
    line-height: 1.85;
  }
}

@media (max-width: 480px) {
  .top-service-grid > .service-card {
    padding-inline: 20px;
  }
  .top-service-grid .service-card h3 {
    min-height: 0;
    font-size: 19px;
  }
  .top-service-grid .service-card-meta-ja {
    font-size: 10.5px;
  }
}

/* Draft content can stay in source without being exposed on the live page. */
.is-temporarily-hidden{display:none!important}


/* --------------------------------------------------------------------------
   Top page: stable content visibility and lightweight reveal
   Content remains readable even when GSAP/CDN loading is delayed.
   -------------------------------------------------------------------------- */
.reveal,
.education-section-reveal {
  opacity: 1;
  transform: none;
}

.js-brand-mask {
  overflow: visible;
  text-wrap: balance;
}
.js-brand-mask .brand-mask-line,
.js-brand-mask .brand-mask-inner {
  display: block;
}
.js-brand-mask .brand-mask-inner {
  opacity: 1;
  transform: none;
  filter: none;
}
.js-brand-focus {
  opacity: 1;
  transform: none;
  filter: none;
  letter-spacing: .035em;
}

/* --------------------------------------------------------------------------
   Top page: student support feature
   One copy column owns heading, body and CTA. No narrow body max-width.
   -------------------------------------------------------------------------- */
.top-sns .sns-layout {
  display: block;
}
.top-sns .sns-title {
  max-width: 1280px;
  margin: 0 auto clamp(46px, 6vw, 82px);
}
.student-support-feature {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid rgba(24, 20, 16, .12);
  border-radius: 28px;
  background: #fffdf8;
  box-shadow: 0 24px 68px rgba(35, 27, 18, .08);
}
.student-support-visual {
  position: relative;
  min-width: 0;
  min-height: 320px;
  overflow: hidden;
  background: #f3c83b;
}
.student-support-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease, filter .45s ease;
}
.student-support-visual:focus-visible img,
.student-support-visual:hover img {
  transform: scale(1.018);
  filter: saturate(1.03);
}
.student-support-label {
  position: absolute;
  left: 28px;
  bottom: 28px;
  padding: 10px 18px;
  border-radius: 999px;
  background: rgba(255, 253, 248, .94);
  color: #211713;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .18em;
}
.student-support-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: clamp(38px, 3.4vw, 54px) clamp(34px, 3.2vw, 48px);
}
.student-support-kicker {
  margin: 0 0 16px;
  color: #9a7310;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .18em;
}
.student-support-copy h3 {
  width: 100%;
  margin: 0 0 22px;
  color: #111;
  font-size: clamp(31px, 2.15vw, 34px);
  font-weight: 800;
  line-height: 1.42;
  letter-spacing: -.015em;
}
.student-support-title-lead,
.student-support-title-tail {
  display: block;
}
.student-support-title-lead {
  white-space: nowrap;
}
.student-support-title-lead > span {
  display: inline;
}
.student-support-copy > p:not(.student-support-kicker) {
  width: 100%;
  max-width: none;
  margin: 0;
  color: rgba(25, 21, 16, .72);
  font-size: 14px;
  line-height: 2;
  font-weight: 500;
}
.student-support-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(100%, 520px);
  margin-top: 30px;
  padding: 15px 0;
  border-bottom: 1px solid rgba(25, 21, 16, .28);
  font-size: 13px;
  font-weight: 800;
  transition: border-color .2s ease, padding-left .2s ease;
}
.student-support-link:hover,
.student-support-link:focus-visible {
  padding-left: 6px;
  border-color: var(--yellow);
}

@media (max-width: 1240px) and (min-width: 981px) {
  .student-support-copy h3 {
    font-size: clamp(28px, 2.55vw, 32px);
  }
  .student-support-title-lead {
    white-space: normal;
  }
  .student-support-title-lead > span {
    display: block;
  }
}
@media (max-width: 980px) {
  .student-support-feature {
    grid-template-columns: 1fr;
    max-width: 900px;
  }
  .student-support-visual {
    min-height: 300px;
  }
  .student-support-copy {
    padding: 34px clamp(28px, 5vw, 48px) 40px;
  }
  .student-support-copy h3 {
    font-size: clamp(27px, 4vw, 32px);
  }
  .student-support-title-lead {
    white-space: normal;
  }
  .student-support-title-lead > span {
    display: block;
  }
}
@media (max-width: 760px) {
  .top-sns .sns-title {
    margin-bottom: 34px;
  }
  .student-support-feature {
    max-width: none;
    border-radius: 22px;
  }
  .student-support-visual {
    min-height: 220px;
  }
  .student-support-label {
    left: 18px;
    bottom: 18px;
    padding: 8px 13px;
    font-size: 9px;
  }
  .student-support-copy {
    padding: 26px 22px 28px;
  }
  .student-support-copy h3 {
    margin-bottom: 16px;
    font-size: 24px;
    line-height: 1.55;
  }
  .student-support-copy > p:not(.student-support-kicker) {
    font-size: 13px;
    line-height: 1.86;
  }
  .student-support-link {
    width: 100%;
    margin-top: 20px;
  }
}

/* --------------------------------------------------------------------------
   Top page: Instagram cards
   Desktop and mobile use dedicated, stable layouts without absolute text.
   -------------------------------------------------------------------------- */
.sns-subsection {
  max-width: 1160px;
  margin: clamp(44px, 5vw, 72px) auto 0;
  padding-top: 26px;
  border-top: 1px solid rgba(25, 21, 16, .1);
}
.sns-subsection-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 28px;
}
.sns-subsection-head p {
  margin: 0;
  color: #9a7310;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .18em;
}
.sns-subsection-head h3 {
  margin: 0;
  font-size: clamp(20px, 2.2vw, 30px);
  letter-spacing: .03em;
}
.top-sns-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  max-width: none;
  margin: 0;
}
.top-sns-grid .sns-card {
  position: relative;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) 32px;
  align-items: center;
  gap: 18px;
  min-width: 0;
  min-height: 122px;
  padding: 22px 24px;
  overflow: hidden;
  border: 1px solid rgba(30, 23, 17, .1);
  border-radius: 18px;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 18px 48px rgba(35, 27, 18, .075);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.top-sns-grid .sns-card:hover,
.top-sns-grid .sns-card:focus-visible {
  transform: translateY(-3px);
  border-color: rgba(245, 197, 31, .32);
  box-shadow: 0 24px 58px rgba(35, 27, 18, .11);
}
.top-sns-grid .instagram-mark {
  width: 52px;
  height: 52px;
  margin: 0;
  border-radius: 16px;
}
.top-sns-grid .sns-text {
  display: block;
  min-width: 0;
  margin: 0;
  color: #211713;
}
.top-sns-grid .sns-text strong {
  display: block;
  overflow-wrap: anywhere;
  font-size: 17px;
  line-height: 1.35;
}
.top-sns-grid .sns-text small {
  display: block;
  margin-top: 6px;
  color: #4f4941;
  font-size: 12px;
  line-height: 1.6;
  font-weight: 700;
}
.top-sns-grid .sns-text em {
  position: static;
  display: inline-block;
  margin-top: 8px;
  color: #1d73c9;
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
}
.top-sns-grid .sns-card > .ui-icon {
  position: static;
  display: block;
  width: 22px;
  height: 22px;
  justify-self: end;
}

@media (max-width: 760px) {
  .sns-subsection {
    margin-top: 48px;
    padding-top: 22px;
  }
  .sns-subsection-head {
    display: block;
    margin-bottom: 22px;
  }
  .sns-subsection-head p {
    margin-bottom: 10px;
  }
  .top-sns-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .top-sns-grid .sns-card {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 14px;
    min-height: 0;
    padding: 18px;
    border-radius: 16px;
  }
  .top-sns-grid .instagram-mark {
    width: 42px;
    height: 42px;
    border-radius: 13px;
  }
  .top-sns-grid .sns-text strong {
    font-size: 15px;
  }
  .top-sns-grid .sns-text small {
    font-size: 12px;
    line-height: 1.55;
  }
  .top-sns-grid .sns-text em {
    margin-top: 7px;
    font-size: 11px;
  }
  .top-sns-grid .sns-card > .ui-icon {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .student-support-visual img,
  .student-support-link,
  .top-sns-grid .sns-card {
    transition: none;
  }
  .top-sns-grid .sns-card:hover,
  .top-sns-grid .sns-card:focus-visible,
  .student-support-visual:hover img,
  .student-support-visual:focus-visible img {
    transform: none;
  }
}

/* Contact form anti-spam */


/* --------------------------------------------------------------------------
   2026-08 final polish: readable wrapping, mobile navigation close control,
   service FAQ and perceptible high-sensitivity reveal support.
   New rules intentionally avoid priority overrides.
   -------------------------------------------------------------------------- */
:where(h1, h2, h3, .section-title, .lower-heading, .service-section-head h2, .service-contact h2) {
  text-wrap: balance;
}
:where(.section-copy p, .service-hero-copy > p:last-child, .lower-text, .service-contact-copy) {
  text-wrap: pretty;
}

.mobile-nav-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.mobile-nav-close {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0;
  border: 0;
  background: transparent;
  color: currentColor;
  font: inherit;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
  cursor: pointer;
}
.mobile-nav-close i {
  position: relative;
  display: block;
  width: 22px;
  height: 22px;
}
.mobile-nav-close i::before,
.mobile-nav-close i::after {
  content: "";
  position: absolute;
  left: 2px;
  top: 10px;
  width: 18px;
  height: 1.5px;
  background: currentColor;
  transform-origin: center;
}
.mobile-nav-close i::before { transform: rotate(45deg); }
.mobile-nav-close i::after { transform: rotate(-45deg); }
.mobile-nav-close:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 5px;
}

.service-faq {
  padding-top: clamp(68px, 7vw, 96px);
  padding-bottom: clamp(58px, 6vw, 84px);
}
.service-faq-list {
  max-width: 1040px;
  margin: clamp(42px, 5vw, 68px) auto 0;
  border-top: 1px solid rgba(17, 17, 17, .16);
}
.service-faq-item {
  border-bottom: 1px solid rgba(17, 17, 17, .16);
}
.service-faq-item summary {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) 28px;
  align-items: center;
  gap: 22px;
  min-height: 100px;
  padding: 22px 0;
  cursor: pointer;
  list-style: none;
}
.service-faq-item summary::-webkit-details-marker { display: none; }
.service-faq-number,
.service-faq-answer-label {
  color: #9a7310;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .16em;
}
.service-faq-question {
  font-size: clamp(17px, 1.5vw, 20px);
  font-weight: 700;
  line-height: 1.7;
  text-wrap: pretty;
}
.service-faq-toggle {
  position: relative;
  width: 22px;
  height: 22px;
  justify-self: end;
}
.service-faq-toggle::before,
.service-faq-toggle::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 10px;
  width: 14px;
  height: 1.5px;
  background: currentColor;
  transition: transform .24s ease, opacity .24s ease;
}
.service-faq-toggle::after { transform: rotate(90deg); }
.service-faq-item[open] .service-faq-toggle::after {
  transform: rotate(0deg);
  opacity: 0;
}
.service-faq-answer {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 22px;
  padding: 0 50px 30px 0;
}
.service-faq-answer p {
  max-width: 760px;
  margin: 0;
  font-size: 15px;
  line-height: 1.95;
}
.service-faq-answer-body { min-width: 0; }
.service-faq-answer-body > p {
  max-width: 760px;
  margin: 0;
  font-size: 15px;
  line-height: 1.95;
}
.service-faq-examples {
  max-width: 760px;
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid rgba(17, 17, 17, .11);
}
.service-faq-examples > span {
  display: block;
  margin-bottom: 12px;
  color: #9a7310;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .14em;
}
.service-faq-examples ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.service-faq-examples li {
  padding: 6px 10px;
  border: 1px solid rgba(17, 17, 17, .12);
  border-radius: 999px;
  background: rgba(255, 255, 255, .5);
  font-size: 12px;
  line-height: 1.4;
  font-weight: 700;
}
.service-organization .service-learning-message {
  padding-bottom: clamp(68px, 7vw, 86px);
}
.service-faq + .service-contact {
  padding-top: clamp(64px, 7vw, 88px);
}
.service-faq-item[open] .service-faq-answer {
  animation: serviceFaqIn .28s ease-out both;
}
@keyframes serviceFaqIn {
  from { opacity: .45; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 760px) {
  .mobile-nav-head { align-items: flex-start; }
  .mobile-nav-close { margin-top: -5px; }
  .service-faq {
    padding-top: 58px;
    padding-bottom: 62px;
  }
  .service-faq-list { margin-top: 34px; }
  .service-faq-item summary {
    grid-template-columns: 42px minmax(0, 1fr) 24px;
    gap: 12px;
    min-height: 0;
    padding: 22px 0;
  }
  .service-faq-question {
    font-size: 15px;
    line-height: 1.75;
  }
  .service-faq-answer {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    padding: 0 0 24px;
  }
  .service-faq-answer p,
  .service-faq-answer-body > p {
    font-size: 14px;
    line-height: 1.9;
  }
  .service-organization .service-learning-message { padding-bottom: 58px; }
  .service-faq + .service-contact { padding-top: 58px; }
  .service-faq-examples {
    margin-top: 18px;
    padding-top: 16px;
  }
  .service-faq-examples ul { gap: 7px; }
  .service-faq-examples li {
    padding: 6px 9px;
    font-size: 11px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .service-faq-toggle::before,
  .service-faq-toggle::after,
  .service-faq-item[open] .service-faq-answer {
    transition: none;
    animation: none;
  }
}

/* Contact heading: preserve a natural Japanese phrase break without device-specific rules. */
.contact-form-heading h2 {
  text-wrap: initial;
  word-break: keep-all;
}

/* TOP: the future CMS section stays in markup but is unpublished for now. */
.top-cms-pending {
  padding-bottom: clamp(48px, 5vw, 64px);
}
.top-contents[hidden] { display: none; }
.top-contents[hidden] + .footer-experience {
  min-height: clamp(380px, 50vh, 540px);
  padding-top: clamp(72px, 9vw, 112px);
}
@media (max-width: 760px) {
  .top-cms-pending { padding-bottom: 42px; }
  .top-contents[hidden] + .footer-experience {
    min-height: 360px;
    padding-top: 64px;
    padding-bottom: 72px;
  }
}


/* --------------------------------------------------------------------------
   Service-name alignment: use the same descriptive service names in all menus.
   On mobile, only service links are reduced slightly to preserve layout.
   -------------------------------------------------------------------------- */
@media (max-width: 760px) {
  .mobile-nav-links .mobile-nav-service-link {
    min-height: 62px;
    gap: 14px;
    font-size: clamp(16px, 4.6vw, 19px);
    line-height: 1.45;
    letter-spacing: -.025em;
    white-space: normal;
    text-wrap: balance;
  }
}
