:root{--ink:#28234b;--purple:#6552a4;--pink:#ff7da8;--blue:#62d8e8;--yellow:#ffd85c;--cream:#fffaf1;--line:#dedbea;--shell:1080px}
.recruit-fields[hidden],.work-card-link[hidden]{display:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:"Zen Kaku Gothic New","Noto Sans JP",system-ui,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}button,input,select,textarea{font:inherit}.shell{width:min(var(--shell),calc(100% - 48px));margin-inline:auto}.section{padding-block:120px}.eyebrow,.card-en,.work-date{font-family:"Outfit",system-ui,sans-serif}.eyebrow{margin:0 0 18px;font-size:12px;font-weight:900;letter-spacing:.18em;color:var(--purple)}
.site-header{height:86px;position:sticky;top:0;z-index:40;background:rgba(255,255,255,.94);border-bottom:1px solid rgba(40,35,75,.08);backdrop-filter:blur(16px)}.site-header-inner{width:min(var(--shell),calc(100% - 48px));height:100%;margin-inline:auto;display:flex;align-items:center;justify-content:space-between;position:relative}.brand{display:flex;align-items:center;gap:10px;font-weight:800;line-height:1}.brand-logo{display:block;width:220px;max-height:62px;object-fit:contain}.brand-mark{display:grid;place-items:center;width:48px;height:48px;border:2px solid var(--purple);border-radius:50%;font-weight:900}.header-actions{display:flex;align-items:center;gap:18px}.header-social{width:34px;height:34px;display:grid;place-items:center;border:1.5px solid var(--purple);border-radius:50%;color:var(--purple);font:900 14px/1 "Outfit",sans-serif;transition:background .2s,color .2s,transform .2s}.header-social:hover{background:var(--purple);color:#fff;transform:translateY(-2px)}.desktop-nav .menu,.mobile-navigation .menu,.footer-links .menu{list-style:none;margin:0;padding:0}.desktop-nav .menu{display:flex;align-items:center;gap:30px}.desktop-nav a{font-size:14px;font-weight:800;letter-spacing:.04em}.menu-toggle,.mobile-navigation{display:none}
.hero{padding:36px 0;position:relative;overflow:hidden;background:linear-gradient(145deg,#fffdf8,#fff7fb 52%,#f5fbff)}.hero-stage{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,650px) minmax(260px,1fr);align-items:center;gap:48px}.hero-blob{position:relative;min-height:500px;display:flex;align-items:center;padding:72px 74px;background:linear-gradient(145deg,#57cedf,#68dce8);border-radius:42% 58% 51% 49%/45% 37% 63% 55%;box-shadow:0 28px 80px rgba(77,190,207,.24);transform:rotate(-2deg);animation:hero-blob-float 6s ease-in-out infinite alternate;will-change:transform}.hero-copy{position:relative;z-index:2;color:#fff;transform:rotate(2deg)}.hero h1{margin:0;font-size:clamp(68px,7.5vw,108px);line-height:.98;letter-spacing:-.07em;font-weight:900}.hero-copy p{margin:24px 0 0;font-size:18px;line-height:1.8;font-weight:700}.hero-stamp{position:absolute;right:32px;bottom:38px;color:rgba(40,35,75,.42);font:900 58px/.82 "Outfit",sans-serif;letter-spacing:-.07em;transform:rotate(8deg)}.hero-decor{position:relative;min-height:500px}.hero-shape{position:absolute;display:block;will-change:transform}.hero-shape-lavender{width:176px;height:164px;right:4px;top:48px;border-radius:60% 40% 58% 42%/44% 58% 42% 56%;background:#d9ceff;animation:hero-decor-lavender 5.5s ease-in-out infinite alternate}.hero-shape-ring{width:104px;height:104px;left:4px;bottom:54px;border:18px solid #ff9fbd;border-radius:50%;animation:hero-decor-ring 4.5s ease-in-out infinite alternate}.hero-shape-dot{width:132px;height:86px;right:14px;bottom:24px;border-radius:58% 42% 52% 48%/48% 58% 42% 52%;background:#ffd85c;animation:hero-decor-dot 3.8s ease-in-out infinite alternate}.hero-shape-spark{width:44px;height:44px;background:#6552a4;clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%)}.hero-shape-spark-one{left:30px;top:54px;animation:hero-decor-spin 6s linear infinite}.hero-shape-spark-two{width:24px;height:24px;right:6px;top:274px;background:#ff7da8;animation:hero-decor-spin 4.5s linear infinite reverse}.hero-shape-dots{width:84px;height:54px;left:86px;top:176px;background:radial-gradient(circle,#6552a4 3px,transparent 4px) 0 0/20px 20px;opacity:.42;transform:rotate(-8deg);animation:hero-decor-dots 4s ease-in-out infinite alternate}.hero-orbit{position:absolute;z-index:1;border-radius:50%;will-change:transform}.hero-orbit-pink{width:190px;height:190px;right:7vw;top:46px;background:#ff86aa;animation:hero-orbit-pink 5s ease-in-out infinite alternate}.hero-orbit-yellow{width:126px;height:126px;left:3vw;bottom:36px;background:#ffd85c;animation:hero-orbit-yellow 4.5s ease-in-out infinite alternate}
@keyframes hero-blob-float{from{transform:translate3d(0,4px,0) rotate(-2deg)}to{transform:translate3d(0,-14px,0) rotate(0deg)}}@keyframes hero-orbit-pink{from{transform:translate3d(0,-6px,0)}to{transform:translate3d(-26px,20px,0)}}@keyframes hero-orbit-yellow{from{transform:translate3d(-6px,5px,0)}to{transform:translate3d(22px,-18px,0)}}@keyframes hero-decor-lavender{from{transform:translate3d(5px,-6px,0) rotate(-5deg)}to{transform:translate3d(-18px,18px,0) rotate(6deg)}}@keyframes hero-decor-ring{from{transform:translate3d(-5px,5px,0) rotate(-5deg)}to{transform:translate3d(20px,-16px,0) rotate(8deg)}}@keyframes hero-decor-dot{from{transform:translate3d(5px,5px,0) scale(.94)}to{transform:translate3d(-14px,-18px,0) scale(1.12)}}@keyframes hero-decor-dots{from{transform:translate3d(0,0,0) rotate(-8deg)}to{transform:translate3d(12px,-14px,0) rotate(-2deg)}}@keyframes hero-decor-spin{to{transform:rotate(360deg)}}
.button-row{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.button{min-width:180px;display:inline-flex;justify-content:space-between;align-items:center;gap:28px;padding:16px 20px;border:2px solid var(--ink);border-radius:999px;font-weight:900;font-size:14px;background:#fff;cursor:pointer}.button.primary{background:var(--ink);color:#fff}.button.ghost{background:transparent}.button:focus-visible,.filter-row a:focus-visible{outline:3px solid rgba(98,216,232,.7);outline-offset:3px}
.section-title{display:flex;align-items:baseline;gap:24px;margin-bottom:48px}.section-title p{margin:0;font:900 32px/1 "Outfit",sans-serif;letter-spacing:-.04em}.section-title h2{margin:0;font-size:14px;color:#6e6985}.business-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.business-card{min-height:390px;padding:30px;display:flex;flex-direction:column;align-items:flex-start;border-radius:34px;transition:transform .25s,box-shadow .25s}.business-card:hover{transform:translateY(-5px);box-shadow:0 18px 45px rgba(40,35,75,.08)}.business-card.pink{background:#ffd5e3}.business-card.blue{background:#c6f3f7}.business-card.yellow{background:#ffedaa}.business-blob{width:180px;height:155px;margin:-10px -8px 26px auto;display:grid;place-items:center;border-radius:38% 62% 57% 43%/47% 39% 61% 53%;background:rgba(255,255,255,.58);font:800 13px "Outfit",sans-serif;letter-spacing:.15em;color:var(--purple)}.business-card h3{margin:0 0 15px;font-size:27px}.business-card p{margin:0;line-height:1.8;font-size:14px}.card-en{margin-bottom:7px!important;font-size:13px!important;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.section-action{text-align:right;margin-top:38px}.section-action a,.text-link{font-weight:900;border-bottom:2px solid var(--ink);padding-bottom:5px}
.works-section{background:var(--cream)}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:46px 24px}.work-card-link{display:block}.work-card .work-image{aspect-ratio:4/5;display:grid;place-items:center;overflow:hidden;border-radius:22px;background:#eee;box-shadow:0 14px 35px rgba(40,35,75,.12)}.work-card img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.work-card-link:hover img{transform:scale(1.035)}.work-date{display:block;margin-top:16px;font-size:12px;font-weight:900;letter-spacing:.08em;color:var(--purple)}.work-card h3{margin:8px 0 0;font-size:16px;line-height:1.6}.work-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.work-meta span{padding:4px 9px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:10px;font-weight:800}.work-meta .work-genre{border-color:transparent;background:#e9e1ff;color:var(--purple)}
.network-section{background:#f7f4ff}.network-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.network-card{min-height:300px;padding:22px;display:flex;flex-direction:column;gap:16px;border-radius:22px;border:1px solid rgba(40,35,75,.06);box-shadow:0 14px 36px rgba(40,35,75,.06)}.network-card.management{background:#eefbfc}.network-card.theater{background:#fff8e5}.network-card.studio{background:#fff2f7}.network-kind{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:16px;line-height:1.4;font-weight:900}.network-kind small{font:800 11px "Outfit",sans-serif;letter-spacing:.14em;color:var(--purple)}.network-logo{height:126px;display:grid;place-items:center;text-align:center;padding:22px;border-radius:16px;background:#fff;font:900 26px/1.05 "Outfit",sans-serif;letter-spacing:.05em;color:var(--purple)}.network-logo img{display:block;width:100%;height:70px;object-fit:contain}.network-description{margin:0;font-size:13px;line-height:1.9;color:#625d77}.contact-banner{padding:80px;text-align:center;border-radius:42px;background:linear-gradient(120deg,#e6dcff,#ccf4f8 50%,#ffe1b3)}.contact-banner h2{margin:0 0 16px;font-size:clamp(34px,5vw,60px)}.contact-banner>p:not(.eyebrow){margin:0 0 30px}.contact-actions{flex-direction:row;align-items:center;justify-content:center}.contact-actions .button{min-width:180px}
.page-hero{min-height:460px;padding:118px 0 86px;position:relative;overflow:hidden;background:linear-gradient(145deg,#fffdf8,#fff7fb 58%,#f3fbff)}.page-hero>.shell{position:relative;z-index:3}.page-hero h1{margin:0;font-size:clamp(62px,8vw,108px);line-height:1.12;letter-spacing:.02em}.page-intro{max-width:620px;margin-top:30px;font-size:17px;line-height:1.9}.shape-page{position:absolute;width:390px;height:390px;right:7vw;top:-90px;border-radius:35% 65% 54% 46%/45% 36% 64% 55%;background:#c8f3f7;transform:rotate(22deg)}.page-orbit{position:absolute;width:138px;height:138px;right:4vw;bottom:-28px;border-radius:50%;background:#ff85aa}.page-hero.tone-business .shape-page{background:#ffd4e2}.page-hero.tone-business .page-orbit{background:#ffd85c}.page-hero.tone-company .shape-page{background:#c8f3f7}.page-hero.tone-company .page-orbit{background:#d9ceff}.page-hero.tone-recruit .shape-page{background:#ffedab}.page-hero.tone-recruit .page-orbit{background:#ff85aa}.page-hero.tone-contact .shape-page{background:#ccefdc}.page-hero.tone-contact .page-orbit{background:#ff9fbd}.page-hero.tone-works .shape-page{background:#ddd3ff}.page-hero.tone-works .page-orbit{background:#62d8e8}.page-watermark{position:absolute;right:10vw;bottom:42px;font:900 clamp(56px,8vw,124px)/1 "Outfit",sans-serif;letter-spacing:-.06em;color:rgba(101,82,164,.08)}
.business-page{padding:40px 0 120px}.business-detail{display:grid;grid-template-columns:1fr 38%;gap:70px;padding:100px 0;border-bottom:1px solid var(--line);align-items:center}.business-detail:last-child{border-bottom:0}.business-detail h2{margin:0 0 30px;font-size:40px}.business-detail h3{margin:0 0 16px;font-size:22px}.business-detail p{line-height:2}.detail-visual{aspect-ratio:180/155;display:grid;place-items:center;padding:20px;text-align:center;border-radius:38% 62% 57% 43%/47% 39% 61% 53%;font:800 18px "Outfit",sans-serif;letter-spacing:.15em;color:var(--purple);box-shadow:0 18px 50px rgba(40,35,75,.08)}.detail-visual.pink{background:#ffd4e2}.detail-visual.blue{background:#c8f3f7}.detail-visual.yellow{background:#ffedab}.business-links{display:flex;flex-wrap:wrap;gap:24px}.pending{opacity:.6}.pending small{display:block;font-size:9px}
.works-archive{padding-top:86px}.filter-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:44px;padding-bottom:22px;border-bottom:1px solid var(--line)}.filter-row a{padding:10px 17px;border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:900}.filter-row a.selected{background:var(--ink);color:#fff;border-color:var(--ink)}.works-empty{grid-column:1/-1;padding:70px 0;text-align:center}.nav-links{display:flex;justify-content:center;gap:8px;margin-top:70px}.page-numbers{padding:9px 13px;border:1px solid var(--line);border-radius:999px}.page-numbers.current{background:var(--ink);color:#fff}
.work-detail-layout{display:grid;grid-template-columns:minmax(280px,420px) 1fr;gap:9vw;align-items:start}.work-detail-image{overflow:hidden;border-radius:28px;box-shadow:0 16px 42px rgba(40,35,75,.13)}.work-detail-image img{display:block;width:100%}.work-detail-copy h2{margin:24px 0 34px;font-size:clamp(30px,4vw,48px);line-height:1.35}.work-facts{margin:0;border-top:1px solid var(--line)}.work-facts>div{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.work-facts dt{font:900 10px "Outfit",sans-serif;letter-spacing:.12em;color:var(--purple)}.work-facts dd{margin:0;white-space:pre-line}.entry-content{line-height:2}.work-detail-copy .entry-content{margin:34px 0}.work-detail-copy>.text-link{display:inline-block;margin-top:24px}
.company-wrap{display:grid;grid-template-columns:1fr 1.3fr;gap:10vw}.company-message{position:sticky;top:140px;align-self:start}.company-message h2{margin:0 0 24px;font-size:50px;line-height:1.15}.company-message>p:last-child{line-height:2}.company-table{margin:0;border-top:1px solid var(--line)}.company-table>div{display:grid;grid-template-columns:120px 1fr;padding:29px 0;border-bottom:1px solid var(--line)}.company-table dt{font-size:14px;line-height:1.8;font-weight:900;color:var(--purple)}.company-table dd{margin:0;font-size:14px;line-height:1.8}
.recruit-intro{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:end}.recruit-intro h2{margin:0;font-size:52px;line-height:1.3}.recruit-intro p{margin:0;line-height:2}.jobs-bg{background:linear-gradient(145deg,#f5f1ff,#f1fbfc)}.job-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.job-list article{min-height:250px;padding:28px;border-radius:24px;background:#fff;border:1px solid rgba(40,35,75,.06);box-shadow:0 14px 38px rgba(40,35,75,.05)}.job-list article>span{font:900 10px "Outfit",sans-serif;letter-spacing:.1em;color:var(--purple)}.job-list h3{margin:40px 0 15px;font-size:25px}.job-list p{font-size:14px;line-height:1.8}.employment{margin-top:70px;padding:50px;border-radius:28px;background:#fff;box-shadow:0 14px 38px rgba(40,35,75,.05)}.employment h3{font-size:28px}.employment-details{margin:34px 0 0;border-top:1px solid var(--line)}.employment-details>div{display:grid;grid-template-columns:150px 1fr;gap:28px;padding:20px 0;border-bottom:1px solid var(--line)}.employment-details dt{font-size:14px;line-height:1.8;font-weight:900;color:var(--purple)}.employment-details dd{margin:0;font-size:14px;line-height:1.8}.employment-details dd small{font-size:12px;color:#625d77}.employment-note{margin:22px 0 0;font-size:13px;line-height:1.8;color:#625d77}.recruit-cta{display:flex;align-items:center;justify-content:center;margin-top:48px}.recruit-entry-button{position:relative;width:360px;height:100px;min-width:0;justify-content:center;padding:0 34px;border:0;border-radius:50px;background:#ff328b;color:#fff;font-size:16px;box-shadow:0 14px 34px rgba(255,50,139,.28);transition:transform .25s,box-shadow .25s}.recruit-entry-button>span{position:absolute;right:34px}.recruit-entry-button:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(255,125,168,.4)}
.contact-layout{display:grid;grid-template-columns:300px 1fr;gap:8vw;align-items:start}.contact-layout aside{position:sticky;top:130px;padding:26px;border-radius:24px;background:#f7f4ff}.contact-layout aside h2{margin:0 0 25px;font-size:20px}.contact-layout aside>a,.contact-layout aside>div{display:block;padding:20px 0;border-top:1px solid var(--line);font-size:13px;line-height:1.6}.contact-form{display:flex;flex-direction:column;gap:28px;scroll-margin-top:110px}.contact-form label{display:flex;flex-direction:column;gap:9px;font-size:13px;font-weight:800}.contact-form b{margin-left:5px;font-size:10px;color:var(--pink)}.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:15px;border:1px solid var(--line);border-radius:12px;background:#fafafa;outline:none}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(101,82,164,.1)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form .check{flex-direction:row;align-items:center}.check input{width:18px;height:18px;accent-color:var(--purple)}.recruit-fields{display:flex;flex-direction:column;gap:24px;padding:28px;border-radius:22px;background:#f7f4ff}.form-section-title{margin:0;font-size:17px;font-weight:900}.form-notice{margin-bottom:28px;padding:18px;border-radius:14px;font-weight:800}.form-notice.success{background:#e8faf6;color:#176c57}.form-notice.error{background:#fff0f3;color:#9d3450}.honeypot{position:absolute!important;left:-9999px!important}.prose{max-width:800px}.entry-card{padding:36px 0;border-bottom:1px solid var(--line)}.existing-contact-form .wpcf7-form{display:flex;flex-direction:column;gap:18px;scroll-margin-top:110px}.existing-contact-form .wpcf7-form>p{margin:0}.existing-contact-form .wpcf7-form label{display:flex;flex-direction:column;gap:9px;font-size:13px;font-weight:800}.existing-contact-form .wpcf7-form b{margin-left:5px;font-size:10px;color:var(--pink)}.existing-contact-form .field-label{display:flex;flex-direction:row;align-items:center;gap:7px;line-height:1.4}.existing-contact-form .field-label b{margin:0}.existing-contact-form .two-col{grid-template-columns:1fr;gap:18px}.existing-contact-form .recruit-fields{gap:18px}.existing-contact-form .wpcf7-form-control-wrap{display:block;width:100%}.existing-contact-form .wpcf7-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),.existing-contact-form .wpcf7-form select,.existing-contact-form .wpcf7-form textarea{width:100%;padding:15px;border:1px solid var(--line);border-radius:12px;background:#fafafa;outline:none}.existing-contact-form .wpcf7-form input:focus,.existing-contact-form .wpcf7-form select:focus,.existing-contact-form .wpcf7-form textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(101,82,164,.1)}.existing-contact-form .wpcf7-acceptance label{flex-direction:row;align-items:center;font-weight:500}.existing-contact-form .wpcf7-acceptance input{width:18px;height:18px;accent-color:var(--purple)}.existing-contact-form .wpcf7-not-valid-tip{margin-top:6px;font-size:12px;color:#b83256}.existing-contact-form .wpcf7-response-output{margin:0!important;padding:16px 18px!important;border:0!important;border-radius:14px;background:#fff0f3}.existing-contact-form form.sent .wpcf7-response-output{background:#e8faf6;color:#176c57}.existing-contact-form .wpcf7-submit{align-self:flex-start}.existing-contact-form .wpcf7-spinner{margin:0 0 0 12px}.existing-contact-form .cf-turnstile{margin-top:0}.contact-form-intro{padding:24px 26px;border-radius:18px;background:#f7f4ff}.contact-form-intro p{margin:0;font-size:14px;line-height:1.9}.contact-form-intro p+p{margin-top:8px}.contact-type-options{display:flex;flex-direction:column;gap:12px}.contact-field-title{margin:0;font-size:13px;font-weight:800}.contact-field-title b{margin-left:5px;font-size:10px;color:var(--pink)}.contact-type-options .wpcf7-form-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.contact-type-options .wpcf7-list-item{margin:0}.contact-type-options .wpcf7-list-item label{height:100%;display:flex;flex-direction:row;align-items:center;gap:10px;padding:15px 17px;border:1px solid var(--line);border-radius:12px;background:#fafafa;cursor:pointer;font-size:13px;font-weight:700;transition:border-color .2s,background .2s}.contact-type-options .wpcf7-list-item label:has(input:checked){border-color:var(--purple);background:#f0ecff}.contact-type-options input[type="radio"]{flex:0 0 auto;width:18px;height:18px;margin:0;accent-color:var(--purple)}
.site-footer{position:relative;overflow:hidden;padding:68px 0 20px;background:linear-gradient(145deg,#28234b,#33295e);color:#fff}.footer-brand{display:block;margin-bottom:24px}.footer-brand img{display:block;width:min(100%,250px);max-height:78px;object-fit:contain;object-position:left center}.footer-grid{display:grid;grid-template-columns:1.45fr .7fr 1fr;gap:72px}.footer-company p{margin:0 0 12px;font-weight:900}.footer-company .footer-copy{margin-bottom:22px;font-size:26px;line-height:1.35}.footer-social{display:inline-flex;align-items:center;font:800 12px/1 "Outfit",sans-serif;letter-spacing:.12em;border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:5px}.footer-company address{font-size:13px;line-height:1.9;font-style:normal;opacity:.78}.footer-links .menu,.footer-related{display:flex;flex-direction:column;gap:12px}.footer-links a,.footer-related{font-size:13px}.footer-related p{margin:0 0 4px;color:var(--blue);font:900 10px "Outfit",sans-serif;letter-spacing:.18em}.footer-related span{opacity:.55}.footer-privacy{margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.16)}.copyright{padding-top:20px;margin-top:60px;border-top:1px solid rgba(255,255,255,.16);font-size:10px;opacity:.6}
@media(max-width:900px){.hero-stage{grid-template-columns:minmax(0,1fr) 240px;gap:32px}.hero-blob{min-height:540px;padding:70px 60px}.business-grid,.work-grid,.job-list{grid-template-columns:repeat(2,1fr)}.network-grid{grid-template-columns:repeat(2,1fr)}.network-card:last-child{grid-column:1/-1}.company-wrap,.recruit-intro,.contact-layout{grid-template-columns:1fr}.company-message,.contact-layout aside{position:static}.business-detail{grid-template-columns:1fr 32%;gap:35px}.footer-grid{grid-template-columns:1fr 1fr}.footer-related{grid-column:1/-1}}
@media(max-width:720px){.shell{width:min(100% - 34px,680px)}.site-header{height:72px}.site-header-inner{width:calc(100% - 34px)}.brand-logo{width:168px}.desktop-nav{display:none}.menu-toggle{display:block;border:0;background:none;font-size:12px;font-weight:900}.mobile-navigation{position:absolute;right:0;top:62px;width:220px;padding:18px;border-radius:14px;background:#fff;box-shadow:0 15px 40px rgba(40,35,75,.16)}.mobile-navigation.is-open{display:block}.mobile-navigation .menu{display:flex;flex-direction:column;gap:14px}.section{padding-block:80px}.hero{min-height:auto;padding:28px 0}.hero-stage{display:block}.hero-blob{min-height:470px;padding:62px 52px}.hero-actions{padding:32px 8px 0}.button-row{flex-direction:row}.page-hero{min-height:390px;padding:92px 0 66px}.business-detail{grid-template-columns:1fr 116px;gap:20px}.detail-visual{font-size:11px}.work-detail-layout{grid-template-columns:1fr;gap:50px}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.hero{padding:18px 0}.hero-blob{min-height:430px;padding:54px 34px}.hero h1{font-size:62px}.hero-copy p{font-size:15px}.hero-stamp{right:24px;bottom:30px;font-size:42px}.hero-actions .button-row{width:100%;flex-direction:column}.hero-actions .button{width:100%}.hero-orbit-pink{width:118px;height:118px}.hero-orbit-yellow{width:86px;height:86px}.section-title{display:block}.section-title h2{margin-top:7px}.business-grid,.job-list,.network-grid{grid-template-columns:1fr}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 12px}.business-card{min-height:300px}.network-card:last-child{grid-column:auto}.work-card .work-image{border-radius:14px}.work-card h3{font-size:13px}.work-date{font-size:10px}.page-hero{min-height:340px;padding:76px 0 56px}.page-hero h1{font-size:52px}.shape-page{width:250px;height:250px;right:-105px}.page-orbit{width:82px;height:82px}.page-watermark{font-size:52px}.business-detail{grid-template-columns:1fr 96px;padding:70px 0}.business-detail h2{font-size:31px}.detail-visual{font-size:9px}.contact-banner{padding:55px 22px}.contact-actions{flex-direction:row;gap:8px}.contact-actions .button{min-width:0;flex:1;gap:6px;padding:13px 10px;font-size:12px;white-space:nowrap}.company-message h2{font-size:42px}.company-table>div{grid-template-columns:90px 1fr}.recruit-intro h2{font-size:35px}.employment{padding:30px 22px}.employment-details>div{grid-template-columns:1fr;gap:4px}.two-col{grid-template-columns:1fr}.contact-type-options .wpcf7-form-control{grid-template-columns:1fr}.contact-form-intro{padding:20px}.recruit-fields{padding:18px}.recruit-cta{align-items:center;flex-direction:column}.recruit-entry-button{width:min(100%,360px);height:84px;min-width:0}.contact-form .button,.existing-contact-form .wpcf7-submit{width:100%}.site-footer{padding:44px 0 16px}.footer-brand{margin-bottom:16px}.footer-brand img{width:220px}.footer-company .footer-copy{margin-bottom:0;font-size:22px}.footer-grid{grid-template-columns:1fr;gap:32px}.footer-links .menu,.footer-related{gap:9px}.footer-related{grid-column:auto}.footer-related p{margin-bottom:2px}.footer-privacy{margin-top:12px;padding-top:14px}.copyright{margin-top:32px;padding-top:14px}}

/* Contact Form 7 adds paragraph wrappers around fields. Keep their spacing from stacking. */
.existing-contact-form .wpcf7-form{gap:0}
.existing-contact-form .wpcf7-form>p{width:100%;margin:0 0 16px}
.existing-contact-form .wpcf7-form>p:empty{display:none}
.existing-contact-form .wpcf7-form>p:last-of-type{margin-bottom:0}
.existing-contact-form .wpcf7-form label{width:100%}
.existing-contact-form .two-col{display:flex;width:100%;flex-direction:column;gap:16px;margin:0 0 16px}
.existing-contact-form .two-col>label{width:100%}
.existing-contact-form .privacy-consent-row{width:100%;margin:0 0 6px}
.existing-contact-form .privacy-consent-row .wpcf7-list-item{margin:0}
.existing-contact-form .privacy-consent-row label{display:inline-flex;width:auto;flex-direction:row;align-items:center;gap:9px;cursor:pointer;font-weight:500}
.existing-contact-form .privacy-consent-row input{width:18px;height:18px;margin:0;accent-color:var(--purple)}
.existing-contact-form .privacy-policy-link{margin:0 0 16px!important;font-size:13px}
.existing-contact-form .privacy-policy-link a{color:var(--purple);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.existing-contact-form .contact-type-options{margin-top:18px}
.existing-contact-form .two-col+.two-col{margin-top:-8px}
.existing-contact-form .cf-turnstile{margin:18px 0 20px}
.recruit-entry-form .wpcf7-submit{display:flex;align-items:center;justify-content:center;width:min(100%,360px);height:100px;margin:12px auto 0;padding:0 34px;border:0;border-radius:50px;background:#ff328b;color:#fff;font-size:16px;font-weight:800;box-shadow:0 14px 34px rgba(255,50,139,.28);cursor:pointer;transition:transform .25s,box-shadow .25s}
.recruit-entry-form .wpcf7-submit:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(255,125,168,.4)}
@media(max-width:520px){.recruit-entry-form .wpcf7-submit{height:84px}}
.recruit-form-card{margin-top:70px}
.recruit-form-card>h3{margin-bottom:34px}
.recruit-choice-options{display:flex;flex-direction:column;gap:12px}
.recruit-choice-options .wpcf7-form-control{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.recruit-choice-options .wpcf7-list-item{margin:0}
.recruit-choice-options .wpcf7-list-item label{display:flex;height:100%;flex-direction:row;align-items:center;gap:10px;padding:15px 17px;border:1px solid var(--line);border-radius:12px;background:#fafafa;cursor:pointer;font-size:13px;font-weight:700;transition:border-color .2s,background .2s}
.recruit-choice-options .wpcf7-list-item label:has(input:checked){border-color:var(--purple);background:#f0ecff}
.recruit-choice-options input[type="radio"]{flex:0 0 auto;width:18px;height:18px;margin:0;accent-color:var(--purple)}
.existing-contact-form .wpcf7-form input[type="file"]{width:100%;padding:13px;border:1px dashed var(--line);border-radius:12px;background:#fafafa;font-size:13px}
.existing-contact-form .field-help{font-size:11px;font-weight:500;color:#625d77}
@media(max-width:680px){.recruit-choice-options .wpcf7-form-control{grid-template-columns:1fr}}
.recruit-form-card>h3{margin:0 0 18px}
.recruit-form-note{margin:0 0 30px}
.recruit-form-note p{margin:0;font-size:14px;line-height:1.9}
.recruit-entry-form .recruit-choice-options{gap:10px;margin-bottom:18px}
.recruit-entry-form .field-label{margin-bottom:1px}
.contact-layout .existing-contact-form .wpcf7-response-output{margin-top:18px!important}
.business-page .detail-visual{overflow:hidden;font-size:clamp(42px,5.2vw,72px);font-weight:900;line-height:.9;letter-spacing:.035em;color:rgba(72,60,118,.3);text-shadow:0 2px 0 rgba(255,255,255,.2)}
.business-page .detail-visual>span{display:block;transform:rotate(-7deg)}
.business-page .business-links{flex-direction:column;align-items:flex-start;gap:12px}
@media(max-width:720px){.business-page .detail-visual{font-size:clamp(18px,4vw,28px);letter-spacing:.02em}.business-page .detail-visual>span{transform:rotate(-6deg)}}
@media(max-width:520px){.business-page .detail-visual{font-size:18px}}
@media(max-width:720px){.hero-decor{position:absolute;inset:0;min-height:0;margin:0;pointer-events:none}.hero-shape-lavender{width:104px;height:96px;right:-16px;top:34px;opacity:.72}.hero-shape-ring{width:68px;height:68px;left:-12px;bottom:24px;border-width:12px;opacity:.82}.hero-shape-dot{width:86px;height:54px;right:-8px;bottom:14px}.hero-shape-spark-one{left:auto;right:72px;top:20px;width:34px;height:34px}.hero-shape-spark-two{right:42px;top:auto;bottom:112px}.hero-shape-dots{left:auto;right:8px;top:158px;opacity:.28}}
@media(max-width:520px){.hero-shape-lavender{width:82px;height:76px}.hero-shape-ring{width:54px;height:54px;border-width:10px}.hero-shape-spark-one{width:28px;height:28px;right:56px}.hero-shape-dots{display:none}}
@media(max-width:520px){.business-page .business-detail{position:relative;isolation:isolate;grid-template-columns:1fr;min-height:0;overflow:hidden}.business-page .business-detail>div:first-child{position:relative;z-index:2}.business-page .business-detail h2{position:relative;max-width:72%;margin-bottom:38px}.business-page .detail-visual{position:absolute;z-index:1;top:50px;right:-28px;width:156px;margin:0;opacity:.7;pointer-events:none}.business-page .detail-visual>span{font-size:20px}}
@media(max-width:360px){.contact-layout,.contact-form-wrap,.existing-contact-form,.existing-contact-form .wpcf7-form{min-width:0}.contact-layout .cf7-cf-turnstile,.recruit-entry-form .cf7-cf-turnstile{max-width:100%;overflow:hidden}.contact-layout .cf-turnstile{transform:scale(.88);transform-origin:left top;margin-bottom:-8px}.recruit-form-card{overflow:hidden}.recruit-entry-form .cf-turnstile{transform:scale(.74);transform-origin:left top;margin-bottom:-18px}}
@media(max-width:520px){.hero-blob{min-height:0;aspect-ratio:13/10;padding:clamp(28px,9vw,42px) clamp(26px,8vw,36px)}.hero h1{font-size:clamp(48px,16vw,58px)}.hero-copy p{margin-top:18px;font-size:14px;line-height:1.7}.hero-stamp{right:22px;bottom:24px;font-size:38px}}
.header-social:focus-visible,.footer-social:focus-visible{outline:3px solid rgba(98,216,232,.7);outline-offset:3px}
@media(max-width:520px){.header-actions{margin-left:auto;margin-right:14px}.header-social{width:32px;height:32px}.footer-social{margin-top:14px}}
