@charset "UTF-8";
:root{--ink:#101a2f;--ink2:#0b1730;--deep:#07152d;--blue:#305ce9;--lime:#b4ff70;--paper:#fff;--soft:#f3f5f4;--muted:#717c91;--line:#dce2e6;--edge:clamp(24px,5.4vw,90px);--wrap:1320px;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:94px}body{margin:0;background:#fff;color:var(--ink);font-family:Arial,"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}body.menu-open{overflow:hidden}img{max-width:100%;height:auto}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}::selection{background:var(--lime);color:var(--ink)}.container{width:calc(100% - var(--edge)*2);max-width:var(--wrap);margin-inline:auto}.wp-block-group{position:relative}.site-main{overflow:hidden}.site-main .wp-block-group,.site-main .wp-block-image,.site-main .wp-block-heading,.site-main p{margin-block-start:0;margin-block-end:0}.site-main .wp-block-image img{display:block;width:100%;height:auto}.site-main em{font-style:normal;color:#315ae3}.site-main h1,.site-main h2,.site-main h3,.site-main h4{font-weight:650;letter-spacing:-.055em;line-height:1.42}.site-main p{line-height:1.95}.skip-link{position:absolute;z-index:1000;top:-60px;left:20px;padding:14px;background:var(--lime);color:#09152a}.skip-link:focus{top:12px}.site-header{position:sticky;top:0;height:90px;z-index:250;background:rgba(255,255,255,.965);border-bottom:1px solid rgba(13,26,49,.08);backdrop-filter:blur(18px);transition:height .3s,box-shadow .3s}.site-header.is-scrolled{height:76px;box-shadow:0 11px 40px rgba(9,22,45,.075)}.site-header__inner{height:100%;display:flex;align-items:center;gap:20px}.brand{margin-right:auto;flex-shrink:0}.brand__link,.footer-brand>a{display:flex;align-items:center;gap:13px;text-decoration:none}.brand__icon{width:47px;height:47px;display:block}.brand__words{display:grid;line-height:1.2}.brand__ja{font-size:17px;font-weight:800;letter-spacing:.09em}.brand__en{font-size:9px;font-weight:700;letter-spacing:.29em;margin-top:8px;color:#62708b}.custom-logo-link img{height:51px;width:auto;max-width:290px}.primary-menu,.mobile-menu,.footer-menu{display:flex;margin:0;padding:0;list-style:none;gap:clamp(16px,2.3vw,36px)}.primary-menu a{text-decoration:none;font-size:12px;font-weight:750;letter-spacing:.08em;position:relative;padding:16px 0;white-space:nowrap}.primary-menu a::after{content:"";position:absolute;left:0;right:100%;height:2px;bottom:8px;background:var(--blue);transition:right .3s var(--ease)}.primary-menu a:hover::after,.primary-menu .current-menu-item a::after{right:0}.header-contact{display:inline-flex;align-items:center;justify-content:space-between;padding:0 18px;gap:21px;height:48px;min-width:163px;background:var(--ink2);color:#fff;text-decoration:none;font-weight:700;font-size:12px;letter-spacing:.06em;transition:background .25s,transform .25s}.header-contact:hover{background:#244de0;transform:translateY(-2px)}.header-contact svg{width:18px;flex:none}.mobile-menu-button,.mobile-navigation{display:none}
/* Typography and shared controls */
.section-pad{padding:clamp(90px,10.7vw,166px) 0}.section-label{font-size:11px!important;letter-spacing:.16em;line-height:1.6!important;font-weight:850;color:#3a59c6;text-transform:uppercase;display:flex;align-items:center;gap:8px}.label-slash{display:inline-block;font-size:18px;font-weight:400;color:#97a5bc;margin-right:5px}.label-jp{font-size:11px;color:#748097;letter-spacing:.06em;text-transform:none;margin-left:12px;font-weight:600}.section-title{font-size:clamp(35px,4.2vw,61px);line-height:1.4!important;letter-spacing:-.08em!important}.section-heading-row,.approach-head{display:flex;justify-content:space-between;align-items:end;margin:30px 0 55px;gap:35px}.section-heading-aside{font-size:13px;color:#667286;font-weight:550;line-height:2!important;white-space:nowrap}.large-body,.page-large-paragraph{color:#505c6e;font-size:15px;line-height:2.2!important;letter-spacing:.035em}.wp-block-buttons{display:flex;gap:12px;flex-wrap:wrap}.wp-block-button__link{display:inline-flex!important;align-items:center;justify-content:center;gap:14px;border:1px solid transparent;border-radius:0!important;text-decoration:none;font-size:13px;font-weight:750;padding:20px 31px;line-height:1.2!important;transition:background .25s,transform .25s,color .25s,border-color .25s}.wp-block-button__link:hover{transform:translateY(-3px)}.btn-lime .wp-block-button__link{background:var(--lime);color:#111d32}.btn-lime .wp-block-button__link:hover{background:#e0ffab}.btn-ghost .wp-block-button__link{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.52)!important}.btn-ghost .wp-block-button__link:hover{background:#fff;color:#09182f}.btn-white .wp-block-button__link{background:#fff;color:var(--ink)}.btn-white .wp-block-button__link:hover{background:var(--lime)}.btn-dark .wp-block-button__link{background:#10203e;color:#fff}.btn-dark .wp-block-button__link:hover{background:#355fe5}.text-link{text-decoration:none;display:inline-flex;align-items:center;gap:45px;font-size:13px;letter-spacing:.04em;font-weight:800;border-bottom:1px solid currentColor;padding:12px 0;color:#112247;transition:gap .25s}.text-link:hover{gap:57px;color:var(--blue)}.text-link span{font-size:21px;line-height:1}
/* Homepage hero */
.home-hero{background:radial-gradient(ellipse at 74% 38%,#183c87 0%,#0c224b 29%,#091a37 59%,#061326 100%);color:#fff;min-height:693px;overflow:hidden}.home-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(to right,rgba(150,192,255,.034) 1px,transparent 1px),linear-gradient(to bottom,rgba(150,192,255,.034) 1px,transparent 1px);background-size:65px 65px;mask-image:linear-gradient(to right,transparent,black 55%,transparent)}.hero-layout{display:grid;grid-template-columns:57% 43%;align-items:center;min-height:665px;position:relative;z-index:1}.hero-copy{z-index:4;padding:85px 0 70px}.hero-copy .section-label{color:#b5ff73;letter-spacing:.18em;font-size:11px!important;margin-bottom:28px!important}.hero-copy .label-slash{color:#a7ff6a}.hero-copy .label-jp{color:#c1d5f7}.hero-title{font-size:clamp(53px,5.6vw,90px)!important;line-height:1.27!important;font-weight:750!important;letter-spacing:-.09em!important;white-space:nowrap;margin-bottom:29px!important}.hero-lead{font-size:15px;letter-spacing:.055em;line-height:2.2!important;color:#d3ddeb;margin-bottom:38px!important}.hero-buttons{gap:13px}.hero-buttons .wp-block-button__link{min-width:180px}.hero-visual{height:640px;position:relative;display:flex;align-items:center;overflow:visible}.hero-art{position:absolute;top:50%;left:-32%;width:145%;max-width:none!important;transform:translateY(-50%)}.hero-art img{width:100%;height:auto;filter:drop-shadow(0 35px 75px rgba(13,37,105,.6));animation:art-float 9s ease-in-out infinite}@keyframes art-float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-15px) rotate(2deg)}}.hero-art-caption{z-index:2;position:absolute!important;right:0;bottom:82px;border-left:2px solid var(--lime);padding-left:16px}.hero-art-caption-text{color:#cee1fd;font-size:10px;letter-spacing:.25em;font-weight:800;white-space:nowrap}.hero-bottom{position:relative;display:flex;justify-content:space-between;align-items:center;z-index:2;min-height:72px;border-top:1px solid rgba(226,238,255,.21)}.hero-bottom-statement{font-size:10px;letter-spacing:.24em;color:#bacce6;font-weight:700}.hero-scroll{font-size:9px;letter-spacing:.17em;color:#b7c8df;font-weight:800}.hero-scroll span{font-size:16px;padding-left:12px}.brand-ticker{background:var(--lime);overflow:hidden}.ticker-text{white-space:nowrap;font-size:clamp(15px,2vw,24px);font-weight:800;letter-spacing:.21em;color:#0b1c35;line-height:3!important;text-align:center;transform:translateX(0)}.ticker-star{color:#3f5cad;margin:0 15px;font-weight:700}
/* Intro */
.intro-section{background:#fff}.intro-grid{display:grid;grid-template-columns:32% 68%;gap:30px}.intro-side .section-label{margin-top:14px!important}.intro-side .small-intro{margin-top:38px!important;font-size:15px;font-weight:700;line-height:1.9!important;letter-spacing:.02em}.intro-body{max-width:800px}.display-title{font-size:clamp(39px,4.8vw,70px)!important;line-height:1.45!important;margin-bottom:32px!important}.intro-body .large-body{max-width:660px}.link-row{margin-top:32px!important}
/* Services */
.services-section{background:var(--soft)}.services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:27px}.service-card{background:#fff;padding:20px 20px 22px;min-height:505px;overflow:hidden;transition:transform .5s var(--ease),box-shadow .5s}.service-card:hover{transform:translateY(-7px);box-shadow:0 20px 55px rgba(13,35,66,.13)}.service-card-image{width:100%;overflow:hidden;margin:0!important}.service-card-image img{display:block;width:100%;aspect-ratio:2.18/1;object-fit:cover;transition:transform .6s var(--ease)}.service-card:hover img{transform:scale(1.045)}.service-card-meta{display:flex;gap:21px;align-items:center;margin:23px 15px 13px!important}.service-number{color:#365cd5!important;font-size:11px;font-weight:800;letter-spacing:.06em}.service-en{font-size:10px;font-weight:750;letter-spacing:.16em;color:#8992a3}.service-card-title{font-size:28px!important;letter-spacing:-.04em!important;margin:0 15px 12px!important}.service-card-description{font-size:13px;line-height:2!important;color:#617087;margin:0 15px!important;max-width:440px;padding-right:40px}.service-card-arrow{position:absolute;right:21px;bottom:22px}.card-arrow{width:43px;height:43px;display:flex;align-items:center;justify-content:center;text-decoration:none;color:#152a4f;border:1px solid #d6dbe1;font-size:25px;transition:background .25s,transform .25s}.card-arrow:hover{background:var(--lime);transform:translate(2px,-2px)}.services-more{text-align:right;margin-top:28px!important}
/* Philosophy */
.philosophy-section{min-height:720px;background:#07152a;overflow:hidden;display:flex;align-items:center;color:white}.philosophy-image{position:absolute!important;inset:0;margin:0!important;width:100%;height:100%}.philosophy-image img{height:100%!important;width:100%!important;object-fit:cover}.philosophy-section::after{content:"";background:linear-gradient(90deg,rgba(5,15,32,.95) 2%,rgba(6,18,37,.86) 43%,rgba(6,19,40,.03) 100%);position:absolute;inset:0;z-index:1}.philosophy-overlay{z-index:2;padding-top:115px;padding-bottom:105px}.philosophy-overlay .section-label{color:var(--lime);margin-bottom:35px!important}.philosophy-overlay .label-jp{color:#b6c4dd}.philosophy-title{font-size:clamp(43px,5.5vw,76px)!important;line-height:1.47!important;margin-bottom:27px!important}.philosophy-text{font-size:15px;color:#d0dcf1;letter-spacing:.06em;line-height:2.35!important;margin-bottom:31px!important}.philosophy-buttons .wp-block-button__link{min-width:182px}
/* Approach */
.approach-section{background:#fff}.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-left:1px solid var(--line)}.process-card{padding:7px 23px 0 28px;min-height:277px;border-right:1px solid var(--line)}.process-no{font-size:13px!important;font-weight:800;color:#365bdc!important;margin-bottom:57px!important}.process-en{font-size:10px!important;letter-spacing:.14em;font-weight:750;color:#8b95a7;margin-bottom:6px!important}.process-title{font-size:27px!important;margin-bottom:16px!important}.process-body{font-size:12px;line-height:2.2!important;color:#687386}
/* Snapshot */
.snapshot-section{background:#f1f4f7}.snapshot-grid{display:grid;grid-template-columns:1fr .82fr;gap:10vw;align-items:center}.company-snapshot-copy .section-label{margin-bottom:38px!important}.company-snapshot-copy .section-title{margin-bottom:24px!important}.company-snapshot-copy .large-body{max-width:480px}.snapshot-card{background:#122747;padding:56px 59px 58px;color:#fff;min-height:400px;box-shadow:30px 30px 0 #e0e6ed}.snapshot-year{font-family:Arial,sans-serif;font-size:clamp(74px,9.3vw,145px);font-weight:700;letter-spacing:-.095em;line-height:1.1!important;color:var(--lime);margin-left:-8px!important}.snapshot-meta{font-size:11px;letter-spacing:.2em;color:#aebdda;font-weight:750;margin:8px 0 35px!important}.snapshot-card hr{border:0;border-top:1px solid #456080;margin-bottom:28px!important}.snapshot-label{font-size:25px!important;font-weight:600!important;letter-spacing:-.025em!important;margin-bottom:12px!important}.snapshot-desc{font-size:13px;color:#c8d6ed;line-height:2.1!important}
/* Recruit and contact call-to-action */
.recruit-strip{background:var(--lime);padding:75px 0}.recruit-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.recruit-copy .section-label{color:#254569;margin-bottom:22px!important}.recruit-title{font-size:clamp(35px,4.5vw,58px)!important;line-height:1.35!important;margin-bottom:16px!important}.recruit-desc{font-size:13px;font-weight:600;color:#3b5265}.recruit-btn .wp-block-button__link{min-width:200px}.contact-cta{background:#0a1931;color:white;text-align:center;padding:110px 0 123px;position:relative;overflow:hidden}.contact-cta::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 100%,rgba(56,93,206,.35),transparent 58%),repeating-linear-gradient(90deg,transparent 0,transparent 91px,rgba(120,162,230,.06) 92px)}.contact-cta-inner{position:relative;z-index:1}.contact-cta .section-label{justify-content:center;color:var(--lime);margin-bottom:30px!important}.contact-cta .label-jp{color:#cad6e7}.cta-title{font-size:clamp(38px,4.85vw,68px)!important;line-height:1.47!important;margin-bottom:21px!important}.cta-copy{font-size:14px;color:#d1dbe9;line-height:2.1!important}.cta-buttons{justify-content:center;margin-top:34px!important}.cta-buttons .wp-block-button__link{min-width:240px}
/* Inner pages */
.sub-hero{background:radial-gradient(circle at 78% 30%,#16397b 0%,#102346 33%,#0a172e 80%);position:relative;color:white;overflow:hidden}.sub-hero::before{content:"";position:absolute;right:-4%;top:-35%;width:52vw;height:52vw;border:2px solid rgba(161,191,255,.18);box-shadow:0 0 0 80px rgba(160,190,250,.025),0 0 0 170px rgba(160,190,250,.027),0 0 0 260px rgba(160,190,250,.02);border-radius:50%}.sub-hero-inner{padding:103px 0 111px}.sub-hero .section-label{color:var(--lime);margin-bottom:27px!important}.sub-hero .label-jp{color:#c0cee2}.sub-hero-title{font-size:clamp(51px,6.2vw,90px)!important;line-height:1.37!important;margin-bottom:20px!important}.sub-hero-description{font-size:15px;line-height:2.15!important;color:#d4deed;max-width:680px}.page-section .section-label{margin-bottom:32px!important}.page-lead-section{background:white}.page-lead-section .section-title{margin-bottom:28px!important}.page-lead-section .page-large-paragraph{max-width:840px}.service-detail-section{padding:80px 0;border-top:1px solid var(--line)}.service-detail-section:nth-child(2n){background:#f4f6f8}.service-detail-grid{display:grid;grid-template-columns:1fr 1.07fr;gap:7vw;align-items:center}.service-detail-grid.reversed{direction:rtl}.service-detail-grid.reversed>*{direction:ltr}.service-detail-no{font-weight:800;font-size:11px!important;color:#3d63d6!important;letter-spacing:.14em;margin-bottom:25px!important}.service-detail-title{font-size:clamp(36px,4.3vw,61px)!important;margin-bottom:20px!important}.service-detail-lead{color:#22314c;font-size:17px;font-weight:700;line-height:2!important;margin-bottom:17px!important}.service-detail-body{color:#657187;font-size:14px;line-height:2.25!important}.detail-art-image img{width:100%;height:auto;object-fit:cover}.about-quote{font-size:25px!important;font-weight:750;letter-spacing:-.03em;margin:20px 0!important}.about-visual{height:440px;background:#05152c;overflow:hidden}.about-wide-image{height:100%;width:100%;margin:0!important}.about-wide-image img{height:100%!important;width:100%;object-fit:cover}.company-profile-section .section-title{margin-bottom:35px!important}.company-table{max-width:970px}.company-table table{border-collapse:collapse;width:100%;font-size:14px}.company-table tr{border-bottom:1px solid #dfe5e9}.company-table tr:first-child{border-top:1px solid #dfe5e9}.company-table td{padding:25px 20px;border:0;vertical-align:top;line-height:2}.company-table td:first-child{font-weight:800;width:205px;color:#162447}.company-table td+td{color:#596478}.company-editor-note,.privacy-note{font-size:11px!important;color:#8b94a2;margin-top:25px!important}.career-cards{display:grid;grid-template-columns:1fr 1fr;gap:25px}.career-card{background:#f0f3f7;padding:48px 43px;min-height:320px}.career-en{font-size:11px!important;letter-spacing:.14em;font-weight:800;color:#315ad2!important;margin-bottom:28px!important}.career-title{font-size:34px!important;margin-bottom:17px!important}.career-body{font-size:14px;line-height:2.1!important;color:#5a687e}.careers-apply-section{background:#edf3f2}.careers-apply-section .section-title{margin-bottom:16px!important}.careers-apply-section .wp-block-buttons{margin-top:32px!important}.privacy-section .container{max-width:970px}.privacy-section h2{font-size:36px!important;margin-bottom:28px!important}.privacy-section h3{font-size:23px!important;margin:43px 0 13px!important}.privacy-section p{font-size:14px;color:#586679;line-height:2.25!important}
/* Contact */
.contact-layout{display:grid;grid-template-columns:35% 65%;gap:5vw}.contact-side-heading{font-size:clamp(34px,4vw,57px)!important;margin-bottom:25px!important}.contact-aside .page-large-paragraph{font-size:14px!important}.contact-small-note{font-size:11px;color:#8591a3;margin-top:27px!important}.contact-form-area{background:#f4f6f8;padding:46px clamp(28px,4vw,62px);margin-right:5vw}.daiei-contact-form .form-row{margin-bottom:27px}.daiei-contact-form .form-row>label{font-size:13px;font-weight:800;display:flex;align-items:center;gap:15px;margin-bottom:12px}.daiei-contact-form .required,.daiei-contact-form .optional{font-size:10px;letter-spacing:.02em;font-weight:700}.daiei-contact-form .required{background:#e0eafb;color:#2454ca;padding:2px 7px}.daiei-contact-form .optional{color:#8291a7}.daiei-contact-form input:not([type=checkbox]),.daiei-contact-form select,.daiei-contact-form textarea{width:100%;border:1px solid #d8e1e9;background:#fff;border-radius:0;padding:15px 16px;min-height:54px;font-size:14px;color:#172541;outline:none;transition:border .2s,box-shadow .2s}.daiei-contact-form textarea{resize:vertical;min-height:175px}.daiei-contact-form input:focus,.daiei-contact-form select:focus,.daiei-contact-form textarea:focus{border-color:#3462da;box-shadow:0 0 0 3px rgba(52,98,218,.1)}.daiei-contact-form input::placeholder,.daiei-contact-form textarea::placeholder{color:#a1adbd}.form-privacy{padding:12px 0 24px}.form-privacy label{display:flex;align-items:center;gap:12px;font-size:13px;line-height:1.8}.form-privacy input{width:19px;height:19px;accent-color:#244ed4;flex:none}.form-privacy a{text-underline-offset:4px}.form-submit{width:100%;border:0;background:#102243;color:#fff;padding:20px 30px;display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:750;transition:background .25s}.form-submit span{font-size:22px}.form-submit:hover{background:#305ce9}.website-honeypot{position:absolute;left:-9999px;height:0;overflow:hidden}.form-message{padding:18px 20px;margin-bottom:20px;font-size:13px;line-height:1.8}.form-message--success{background:#e5f8dc;border-left:3px solid #5a9d33}.form-message--error{background:#fbe6e6;border-left:3px solid #c44}
/* Generic posts */
.default-page-content{padding-top:85px;padding-bottom:120px;line-height:2}.default-page-content h2{font-size:29px}.default-page-content a{color:#234ec8}.post-list-item{border-bottom:1px solid #dce2e9;padding:25px 0}.post-list-item h2{margin:9px 0}.post-list-item time,.single-article time{color:#718095;font-size:12px}.error-home-link{display:inline-block;margin-top:24px;padding:14px 28px;background:var(--lime);color:var(--ink);text-decoration:none;font-weight:800}
/* Footer */
.site-footer{background:#060e1c;color:#fff}.footer-top{display:grid;grid-template-columns:1.5fr .9fr 1fr;gap:70px;padding:90px 0 105px}.footer-brand>a{align-items:center}.footer-brand img{width:57px;height:57px}.footer-brand b{display:block;font-size:18px;letter-spacing:.04em}.footer-brand small{font-size:9px;display:block;letter-spacing:.17em;color:#9cadcb;margin-top:9px}.footer-brand p{font-size:13px;margin-top:23px;color:#afbcd0;letter-spacing:.04em}.footer-nav-label{font-size:10px;font-weight:800;color:#8397b8;letter-spacing:.17em;margin-bottom:23px}.footer-menu{flex-direction:column;gap:17px}.footer-menu a{font-size:13px;letter-spacing:.03em;text-decoration:none;color:#e1e8f4}.footer-menu a:hover{color:var(--lime)}.footer-contact>p{color:#dce4f3;font-size:14px;line-height:2.1;margin:0 0 18px}.footer-contact-link{font-size:12px;text-decoration:none;display:flex;justify-content:space-between;max-width:235px;border-bottom:1px solid #7184a1;padding:14px 0;color:var(--lime);font-weight:750}.footer-contact-link span{font-size:20px}.footer-bottom{border-top:1px solid #2b3751;padding:21px 0;display:flex;justify-content:space-between;gap:20px;color:#8e9fba;font-size:10px;letter-spacing:.12em}.footer-bottom>span:last-child{display:flex;gap:36px}.footer-bottom a{color:#9aaac5;text-decoration:none}.footer-bottom a:hover{color:#fff}
/* Motion, accessibility */
.has-js .reveal-prepare{opacity:0;transform:translateY(25px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.has-js .reveal-prepare.is-visible{opacity:1;transform:translateY(0)}a:focus-visible,button:focus-visible{outline:3px solid #f0a84a;outline-offset:3px}
@media (max-width:1200px){.desktop-navigation .primary-menu{gap:14px}.primary-menu a{font-size:11px}.header-contact{min-width:auto;padding:0 12px}.hero-art{left:-25%;width:150%}.hero-title{font-size:clamp(48px,5.7vw,72px)!important}.snapshot-grid{gap:7vw}}
@media (max-width:980px){:root{--edge:clamp(22px,5vw,48px)}.site-header,.site-header.is-scrolled{height:74px}.desktop-navigation,.header-contact{display:none}.mobile-menu-button{display:flex;flex-direction:column;justify-content:center;align-items:center;width:42px;height:42px;border:0;background:none;gap:8px;position:relative;z-index:300}.mobile-menu-button span{width:25px;height:2px;background:#172749;transition:transform .3s}.mobile-menu-button[aria-expanded=true] span:first-child{transform:translateY(5px) rotate(45deg)}.mobile-menu-button[aria-expanded=true] span:last-child{transform:translateY(-5px) rotate(-45deg)}.mobile-navigation{display:block;visibility:hidden;opacity:0;position:fixed;z-index:245;top:74px;left:0;right:0;height:calc(100dvh - 74px);background:#081832;color:white;padding:42px var(--edge);transform:translateY(-12px);transition:visibility .3s,opacity .3s,transform .3s;overflow:auto}.mobile-navigation.is-open{visibility:visible;opacity:1;transform:translateY(0)}.mobile-menu{display:flex;flex-direction:column;gap:0}.mobile-menu li{border-bottom:1px solid rgba(255,255,255,.17)}.mobile-menu a{display:flex;align-items:center;justify-content:space-between;padding:20px 0;font-size:21px;font-weight:800;text-decoration:none;letter-spacing:.04em}.mobile-menu a::after{content:"↗";color:var(--lime)}.mobile-menu-footer{margin-top:48px;font-size:10px;letter-spacing:.1em;color:#9baecc;display:flex;justify-content:space-between}.hero-layout{min-height:610px}.hero-copy{padding:76px 0 80px}.hero-visual{height:560px}.hero-art{left:-28%;width:168%}.hero-title{white-space:normal}.services-grid{gap:17px}.service-card{min-height:460px}.service-card-title{font-size:24px!important}.snapshot-card{padding:46px 36px}.snapshot-year{font-size:83px}.footer-top{gap:35px}.service-detail-grid{gap:4vw}}
@media (max-width:720px){:root{--edge:22px}.brand__ja{font-size:14px}.brand__en{font-size:8px}.brand__icon{height:42px;width:42px}.home-hero{min-height:0}.hero-layout{display:flex;flex-direction:column;align-items:stretch;min-height:0}.hero-copy{padding:70px 0 0}.hero-copy .section-label{font-size:9px!important;white-space:nowrap}.hero-title{font-size:clamp(46px,10vw,67px)!important;line-height:1.37!important;margin-bottom:22px!important}.hero-lead{font-size:13px;line-height:2.1!important}.hero-buttons .wp-block-button__link{min-width:0;padding:17px 21px;font-size:12px}.hero-visual{height:320px;max-width:520px;width:100%}.hero-art{left:50%;top:43%;width:108%;transform:translate(-50%,-50%)}.hero-art-caption{right:4px;bottom:32px}.hero-art-caption-text{font-size:8px}.hero-bottom{min-height:65px}.hero-bottom-statement{font-size:8px;letter-spacing:.1em}.hero-scroll{font-size:8px}.ticker-text{font-size:13px;line-height:3.5!important;text-align:left;width:max-content;letter-spacing:.13em;padding-left:20px}.ticker-star{margin:0 7px}.section-pad{padding:79px 0}.intro-grid{grid-template-columns:1fr;gap:29px}.intro-side .small-intro{display:none}.intro-body .display-title{font-size:clamp(36px,8.5vw,51px)!important}.large-body,.page-large-paragraph{font-size:14px}.section-title{font-size:clamp(35px,8vw,51px)!important}.section-heading-row,.approach-head{display:block;margin:24px 0 32px}.section-heading-aside{white-space:normal;margin-top:16px!important;font-size:12px}.services-grid{grid-template-columns:1fr;gap:18px}.service-card{padding:12px 12px 20px;min-height:0}.service-card-image img{aspect-ratio:1.93/1}.service-card-meta{margin:21px 10px 10px!important}.service-card-title{margin-left:10px!important;font-size:25px!important}.service-card-description{margin:0 10px!important;font-size:12px;padding-right:40px}.service-card-arrow{right:16px;bottom:17px}.philosophy-section{min-height:0}.philosophy-image img{object-position:68%}.philosophy-section::after{background:linear-gradient(90deg,rgba(5,15,32,.95),rgba(5,15,32,.62))}.philosophy-overlay{padding-top:96px;padding-bottom:99px}.philosophy-title{font-size:clamp(39px,8.5vw,55px)!important}.philosophy-text{font-size:13px;line-height:2.2!important}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}.process-card{min-height:268px;border-bottom:1px solid var(--line);padding:25px 17px 20px}.process-no{margin-bottom:38px!important}.process-title{font-size:24px!important}.process-body{font-size:12px}.snapshot-grid{grid-template-columns:1fr;gap:47px}.company-snapshot-copy .section-label{margin-bottom:25px!important}.snapshot-card{min-height:0;margin-right:17px;box-shadow:17px 17px 0 #dce3e9;padding:37px 34px}.snapshot-year{font-size:88px}.recruit-strip{padding:67px 0}.recruit-inner{display:block}.recruit-title{font-size:42px!important}.recruit-desc{font-size:12px}.recruit-btn{margin-top:27px!important}.contact-cta{padding:90px 0 97px}.cta-title{font-size:37px!important}.cta-copy{font-size:12px}.sub-hero-inner{padding:85px 0 89px}.sub-hero-title{font-size:clamp(48px,11vw,68px)!important}.sub-hero-description{font-size:13px}.service-detail-section{padding:58px 0}.service-detail-grid,.service-detail-grid.reversed{display:flex;flex-direction:column;gap:35px;direction:ltr}.service-detail-copy{order:2}.service-detail-art{order:1}.service-detail-title{font-size:35px!important}.service-detail-lead{font-size:15px!important}.about-quote{font-size:23px!important}.about-visual{height:280px}.company-table td{padding:17px 8px;font-size:12px}.company-table td:first-child{width:90px}.company-editor-note{font-size:10px!important}.career-cards{grid-template-columns:1fr}.career-card{min-height:0;padding:34px 30px}.career-title{font-size:28px!important}.contact-layout{grid-template-columns:1fr;gap:36px}.contact-side-heading{font-size:41px!important}.contact-form-area{margin-right:0;padding:29px 22px}.footer-top{grid-template-columns:1fr 1fr;gap:54px 20px;padding:69px 0}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column;line-height:1.7;gap:10px}.footer-bottom>span:last-child{gap:30px}.default-page-content{padding-block:60px 90px}}
@media (max-width:370px){.hero-buttons .wp-block-button__link{padding:15px 13px}.hero-title{font-size:44px!important}.process-grid{grid-template-columns:1fr}.process-card{min-height:220px}.process-no{margin-bottom:26px!important}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}.has-js .reveal-prepare{opacity:1;transform:none}}
/* Final production refinements */
.contact-cta .wp-block-buttons{justify-content:center;margin-top:34px!important}
.contact-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.contact-side-heading{font-size:clamp(34px,3vw,43px)!important}
@media(max-width:720px){.contact-layout{grid-template-columns:minmax(0,1fr)}.contact-side-heading{font-size:41px!important}}

/* v1.1.0: Contact Form 7 integration (preserves the previous site's design). */
.daiei-contact-form .wpcf7-form-control-wrap{display:block;width:100%}
.daiei-contact-form .form-row .wpcf7-form-control-wrap>input:not([type=checkbox]),.daiei-contact-form .form-row .wpcf7-form-control-wrap>select,.daiei-contact-form .form-row .wpcf7-form-control-wrap>textarea{display:block;width:100%}
.daiei-contact-form .wpcf7-not-valid-tip{font-size:12px;margin-top:7px;color:#b42332}
.contact-form-area .wpcf7-response-output{margin:22px 0 0!important;padding:15px 18px!important;font-size:13px;line-height:1.8;border-radius:0}
.contact-form-area .wpcf7 form.sent .wpcf7-response-output{background:#e5f8dc;border-color:#5a9d33}
.contact-form-area .wpcf7 form.invalid .wpcf7-response-output,.contact-form-area .wpcf7 form.failed .wpcf7-response-output,.contact-form-area .wpcf7 form.spam .wpcf7-response-output{background:#fbe6e6;border-color:#c44}
.daiei-contact-form .form-privacy .wpcf7-form-control-wrap{display:inline;width:auto}
.daiei-contact-form .form-privacy .wpcf7-list-item{margin:0}
.daiei-contact-form .form-privacy .wpcf7-list-item-label{font-size:13px;line-height:1.8}
.daiei-contact-form .form-privacy .wpcf7-acceptance label{display:flex;align-items:center;gap:12px}
.daiei-contact-form .form-privacy .wpcf7-acceptance label>input{flex:none}
.daiei-contact-form .form-privacy .required{display:inline-block;vertical-align:middle;margin-left:5px}
.daiei-contact-form .form-actions{position:relative}
.daiei-contact-form .form-actions::after{content:"↗";pointer-events:none;position:absolute;right:27px;top:50%;transform:translateY(-50%);font-size:22px;color:#fff;line-height:1}
.daiei-contact-form input.form-submit.wpcf7-submit{display:block;min-height:60px;width:100%;text-align:left;border:0;background:#102243;color:#fff;box-shadow:none;padding:20px 70px 20px 30px;cursor:pointer}
.daiei-contact-form input.form-submit.wpcf7-submit:hover{background:#305ce9}
.daiei-contact-form input.form-submit.wpcf7-submit:disabled{opacity:.55;cursor:wait}
.daiei-contact-form .wpcf7-spinner{display:block;margin:9px auto 0}
@media(max-width:720px){.daiei-contact-form input.form-submit.wpcf7-submit{padding:19px 60px 19px 22px}}
