.page-hero[data-astro-cid-s5hxusys]{position:relative;z-index:10;width:100%;display:flex;flex-direction:column;background-color:transparent;padding:0;overflow:hidden}.page-hero-image-wrapper[data-astro-cid-s5hxusys]{position:relative;width:100%;height:50vh!important;z-index:1;animation:fadeUp 1.2s cubic-bezier(.2,.8,.2,1) .2s forwards}.page-hero-img-container[data-astro-cid-s5hxusys]{width:100%;height:100%;position:relative;overflow:hidden;isolation:isolate;clip-path:circle(1500vw at 90vw calc(1500vw + 110px));-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);transform:translateZ(0);will-change:transform}.texture-overlay[data-astro-cid-s5hxusys]{position:absolute;inset:0;z-index:2;background-image:var(--textureUrl);background-position:0 0;background-repeat:repeat;background-size:var(--textureSize, 12rem);mix-blend-mode:overlay;pointer-events:none}.page-hero-img[data-astro-cid-s5hxusys]{width:100%;height:100%;object-fit:cover}.page-hero-text-area[data-astro-cid-s5hxusys]{position:relative;width:100%;background-color:var(--main-color);padding:50px 10% 60px 15%;z-index:2;isolation:isolate}.page-hero-text-texture[data-astro-cid-s5hxusys]{position:absolute;inset:0;z-index:1;background-image:var(--textureUrl);background-position:0 0;background-repeat:repeat;background-size:var(--textureSize, 12rem);mix-blend-mode:overlay;pointer-events:none;opacity:.7}.page-hero-text-inner[data-astro-cid-s5hxusys]{position:relative;z-index:2;max-width:1500px;margin:0}.page-hero-header-pipe[data-astro-cid-s5hxusys]{position:relative;display:inline-block}.page-hero-header-pipe[data-astro-cid-s5hxusys]:before{content:none}.page-hero-label[data-astro-cid-s5hxusys]{font-family:Montserrat,sans-serif;font-size:11px;color:#000;font-weight:900;letter-spacing:.25em;text-transform:uppercase;display:block;margin-left:5px;margin-bottom:5px}.page-hero-title[data-astro-cid-s5hxusys]{font-size:38px;font-weight:500;line-height:1.4;letter-spacing:.15em;color:#000}@media(max-width:968px){.page-hero-image-wrapper[data-astro-cid-s5hxusys]{height:35svh!important}.page-hero-img-container[data-astro-cid-s5hxusys]{height:100%;clip-path:circle(800vw at 90vw calc(800vw + 75px))}.page-hero-text-area[data-astro-cid-s5hxusys]{padding:40px 10%}.page-hero-title[data-astro-cid-s5hxusys]{font-size:28px}}@keyframes fadeUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.floating-page-shape[data-astro-cid-dhmau76e]{position:absolute;width:clamp(340px,58vw,780px);height:clamp(340px,58vw,780px);z-index:0;pointer-events:none;opacity:.28;transform-origin:center;animation:floating-page-drift var(--shape-drift-duration, 22s) ease-in-out infinite alternate;animation-delay:var(--shape-delay, 0s)}.floating-page-shape--top-left[data-astro-cid-dhmau76e]{top:clamp(-220px,-16vw,-90px);left:clamp(-300px,-20vw,-120px)}.floating-page-shape--bottom-right[data-astro-cid-dhmau76e]{right:clamp(-320px,-22vw,-130px);bottom:clamp(300px,-8vw,-20px);animation-direction:alternate-reverse}.floating-page-shape-inner[data-astro-cid-dhmau76e]{transform-box:fill-box;transform-origin:center;animation:floating-page-breathe var(--shape-breathe-duration, 7s) ease-in-out infinite alternate;animation-delay:var(--shape-delay, 0s)}.floating-page-shape-fill[data-astro-cid-dhmau76e]{fill:var(--main-color, #c6dfff)}.floating-page-shape-texture-object[data-astro-cid-dhmau76e]{opacity:.5;mix-blend-mode:overlay}.floating-page-shape-texture-layer[data-astro-cid-dhmau76e]{width:100%;height:100%;background-image:var(--textureUrl);background-size:var(--textureSize, 12rem);background-repeat:repeat}@keyframes floating-page-breathe{0%{transform:scale(.95)}to{transform:scale(1.08)}}@keyframes floating-page-drift{0%{transform:translate3d(-2%,1%,0) rotate(-8deg)}50%{transform:translate3d(3%,-2%,0) rotate(3deg)}to{transform:translate3d(-1%,3%,0) rotate(8deg)}}@media(max-width:768px){.floating-page-shape[data-astro-cid-dhmau76e]{width:clamp(260px,86vw,460px);height:clamp(260px,86vw,460px);opacity:.2}.floating-page-shape--top-left[data-astro-cid-dhmau76e]{top:-120px;left:-145px}.floating-page-shape--bottom-right[data-astro-cid-dhmau76e]{right:-150px;bottom:-40px}}.page-intro-only-section.reveal{opacity:0;transform:translateY(60px);transition:all 1.4s cubic-bezier(.2,.8,.2,1)}.page-intro-only-section.reveal.is-active{opacity:1;transform:translate(0)}.page-intro-only-section{padding:140px 5%;margin-top:0;position:relative;z-index:20;isolation:isolate;background:transparent}.page-intro-only-section .page-floating-bg-layer{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:visible}.page-intro-only-section .intro-only-container{display:flex;flex-direction:column;align-items:center;width:100%;max-width:1000px;margin:0 auto;gap:60px;position:relative;z-index:1}.page-intro-only-section .intro-only-left-box{display:flex;flex-direction:column;align-items:center;width:100%;padding-top:20px}.page-intro-only-section .intro-only-vertical-heading{writing-mode:vertical-rl;font-size:36px;font-weight:900;letter-spacing:.35em;line-height:1.8;color:#000;white-space:nowrap;text-align:start;font-family:Yu Gothic,YuGothic,Hiragino Kaku Gothic Pro,Meiryo,sans-serif;border-top:5px solid currentColor;border-bottom:5px solid currentColor;padding:45px 0 25px;margin-bottom:50px}.page-intro-only-section .intro-only-text-content{width:100%;max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:30px;position:relative;z-index:1}.page-intro-only-section .intro-sub-heading{font-size:30px;font-weight:900;line-height:1.6;letter-spacing:.08em;color:#000;margin-bottom:10px}.page-intro-only-section .intro-desc-wrapper{display:flex;flex-direction:column;gap:24px}.page-intro-only-section .intro-desc{font-size:16px;line-height:2.2;font-weight:700;color:#000;margin:0}.page-intro-only-section .intro-footer-row{display:flex;justify-content:flex-end;align-items:center;margin-top:40px}.page-intro-only-section .intro-president-name{font-size:16px;font-weight:900;letter-spacing:.1em;color:#000;position:relative;padding-left:24px}.page-intro-only-section .intro-president-name:before{content:"";position:absolute;left:0;top:50%;width:14px;height:2px;background-color:#000;transform:translateY(-50%)}@media (max-width: 968px) */ @media (max-width: 968px) */ @media (max-width: 968px){.page-intro-only-section{padding:80px 5%}.page-intro-only-section .intro-only-container{gap:40px}.page-intro-only-section .intro-only-vertical-heading{font-size:26px;letter-spacing:.25em;padding:30px 0 20px;margin-bottom:30px}.page-intro-only-section .intro-only-text-content{width:100%;gap:24px}.page-intro-only-section .intro-sub-heading{font-size:24px}.page-intro-only-section .intro-desc{font-size:14px;line-height:2}}.page-philosophy-section.reveal{opacity:0;transform:translateY(60px);transition:all 1.4s cubic-bezier(.2,.8,.2,1)}.page-philosophy-section.reveal.is-active{opacity:1;transform:translate(0)}.page-philosophy-section{padding:140px 5%;margin-top:0;width:100%;max-width:none;margin-left:0;margin-right:0;position:relative;z-index:20;isolation:isolate;background:transparent}.page-philosophy-section .page-floating-bg-layer{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:visible}.page-philosophy-section .intro-container{display:flex;align-items:flex-start;width:100%;max-width:1000px;margin:0 auto;justify-content:space-between;gap:80px;position:relative;z-index:1}.page-philosophy-section .intro-left-box{display:flex;flex-direction:column;align-items:flex-start;flex-shrink:0;padding-top:20px}.page-philosophy-section .intro-header-clean{display:flex;align-items:center;gap:12px;margin-bottom:40px}.page-philosophy-section .intro-dot{width:10px;height:10px;border-radius:0 50% 50%;transform:translateY(.5px) rotate(45deg);display:inline-block}.page-philosophy-section .intro-label-text{font-family:Montserrat,sans-serif;font-size:11px;font-weight:900;letter-spacing:.2em;text-transform:uppercase;color:#000}.page-philosophy-section .intro-vertical-heading{writing-mode:vertical-rl;font-size:36px;font-weight:900;letter-spacing:.35em;line-height:1.8;color:#000;white-space:nowrap;text-align:end;font-family:Yu Gothic,YuGothic,Hiragino Kaku Gothic Pro,Meiryo,sans-serif}.page-philosophy-section .intro-text-content{flex:1;max-width:100%;padding-top:20px;display:flex;flex-direction:column;gap:30px}.page-philosophy-section .intro-header-clean-message{justify-content:center;align-items:center;gap:10px;margin-bottom:-15px}.page-philosophy-section .intro-sub-heading-message{margin-top:0;margin-bottom:34px;text-align:center}.page-philosophy-section .intro-sub-heading{font-size:30px;font-weight:900;line-height:1.6;letter-spacing:.08em;color:#000;margin-bottom:80px}.page-philosophy-section .intro-desc-wrapper{display:flex;flex-direction:column;gap:24px}.page-philosophy-section .intro-desc{font-size:16px;line-height:2.2;font-weight:700;color:#000;margin:0}.page-philosophy-section .intro-message-layout{display:grid;grid-template-columns:320px minmax(0,1fr);align-items:flex-start;gap:clamp(28px,4vw,56px);width:100%}.page-philosophy-section .intro-message-text-column{min-width:0;max-width:100%;display:flex;flex-direction:column;gap:28px;writing-mode:horizontal-tb;grid-column:2}.page-philosophy-section .intro-message-text-column .intro-desc,.page-philosophy-section .intro-message-text-column .intro-sub-heading{writing-mode:horizontal-tb;text-orientation:mixed}.page-philosophy-section .intro-message-photo-wrap{display:flex;justify-content:flex-start;grid-column:1;grid-row:1}.page-philosophy-section .intro-message-photo-frame{width:min(100%,320px);border-radius:32px;overflow:hidden}.page-philosophy-section .intro-message-photo{display:block;width:100%;height:auto}.page-philosophy-section.intro-section-philosophy{overflow:visible}.page-philosophy-section-message .intro-text-content{padding-top:0}.page-philosophy-section .intro-container-philosophy{display:block}.page-philosophy-section .intro-philosophy-main{display:flex;flex-direction:row-reverse;align-items:flex-start;justify-content:center;gap:clamp(34px,5vw,72px);width:100%;margin:0 auto}.page-philosophy-section .intro-left-box-philosophy{flex-direction:row-reverse;align-items:flex-start;padding-top:0}.page-philosophy-section .intro-header-clean-vertical .intro-label-text{writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.28em}.page-philosophy-section .intro-philosophy-title-stack{display:flex;flex-direction:row-reverse;align-items:flex-start;gap:clamp(18px,2.4vw,30px)}.page-philosophy-section .intro-header-clean-vertical{flex-direction:column;align-items:center;gap:14px;margin-top:-22px;margin-bottom:0}.page-philosophy-section .intro-vertical-heading-philosophy{font-size:clamp(20px,3.6vw,22px);letter-spacing:.22em;line-height:1.55;color:#06c;font-family:Montserrat,Yu Gothic,YuGothic,Hiragino Kaku Gothic Pro,Meiryo,sans-serif;font-weight:900}.page-philosophy-section .intro-philosophy-lead-vertical{margin:0;writing-mode:vertical-rl;font-size:clamp(28px,2.5vw,42px);font-weight:900;letter-spacing:.14em;line-height:1.7;color:#000;white-space:nowrap;font-family:Yu Gothic,YuGothic,Hiragino Kaku Gothic Pro,Meiryo,sans-serif}.page-philosophy-section .intro-text-content-philosophy{flex:1;max-width:780px;padding-top:0}.page-philosophy-section .intro-philosophy-body{display:flex;flex-direction:column;align-items:center;gap:0}.page-philosophy-section.intro-section-philosophy .intro-desc-wrapper{display:flex;flex-direction:row-reverse;align-items:start;justify-content:center;gap:clamp(20px,2.6vw,34px);min-height:420px}.page-philosophy-section .intro-philosophy-guideline-heading-group{display:flex;flex-direction:column;align-items:center;gap:14px}.page-philosophy-section .intro-header-clean-principle{flex-direction:column;align-items:center;gap:14px;margin-bottom:0}.page-philosophy-section .intro-header-clean-principle .intro-label-text{writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.28em;color:#06c}.page-philosophy-section .intro-sub-heading-philosophy{margin:0;writing-mode:vertical-rl;text-orientation:mixed;font-size:clamp(20px,3.6vw,22px);letter-spacing:.18em;line-height:1.45;align-self:stretch;color:#06c;font-family:Montserrat,Yu Gothic,YuGothic,Hiragino Kaku Gothic Pro,Meiryo,sans-serif;font-weight:900}.page-philosophy-section .intro-desc-philosophy-intro{margin:0;writing-mode:vertical-rl;text-orientation:mixed;line-height:2;letter-spacing:.08em}.page-philosophy-section .intro-philosophy-guidelines{list-style:none;margin:0;padding:0;display:flex;flex-direction:row-reverse;align-items:flex-start;gap:18px;counter-reset:philosophy-guideline}.page-philosophy-section .intro-philosophy-guidelines li{position:relative;padding:44px 0 0;writing-mode:vertical-rl;text-orientation:mixed;font-size:clamp(18px,1.35vw,26px);line-height:2;font-weight:700;color:#000}.page-philosophy-section .intro-philosophy-guidelines li:before{counter-increment:philosophy-guideline;content:counter(philosophy-guideline,decimal-leading-zero);position:absolute;top:0;right:0;font-family:Montserrat,sans-serif;font-size:12px;font-weight:900;letter-spacing:.24em;color:#06c;writing-mode:horizontal-tb}.page-philosophy-section .intro-philosophy-vision{display:flex;flex-direction:row-reverse;align-items:flex-start;gap:20px;padding-top:0;border-top:none}.page-philosophy-section .intro-philosophy-vision-label{margin:0;font-family:Montserrat,sans-serif;font-size:clamp(16px,3vw,18px);font-weight:900;letter-spacing:.26em;text-transform:uppercase;color:#06c;writing-mode:vertical-rl}.page-philosophy-section .intro-philosophy-vision-text{margin:0;writing-mode:vertical-rl;text-orientation:mixed;font-size:clamp(24px,2.3vw,36px);line-height:1.6;font-weight:900;letter-spacing:.08em;color:#000}.page-philosophy-section .intro-footer-row{display:flex;justify-content:flex-end;align-items:center;margin-top:40px}.page-philosophy-section .intro-footer-row-message{margin-top:0}.page-philosophy-section .intro-president-name{font-size:16px;font-weight:900;letter-spacing:.1em;color:#000;position:relative;padding-left:24px}.page-philosophy-section .intro-president-name:before{content:"";position:absolute;left:0;top:50%;width:14px;height:2px;background-color:#000;transform:translateY(-50%)}.page-philosophy-section .pvc-btn{display:inline-flex;align-items:center;gap:15px;background-color:#000;color:#fff;text-decoration:none;padding:14px 35px;font-weight:700;font-size:12px;letter-spacing:.2em;border:1px solid #000000;border-radius:9999px;transition:background-color .2s ease,color .2s ease,transform .2s ease}.page-philosophy-section .pvc-btn:hover{background-color:#fff;color:#000}.page-philosophy-section .pvc-btn .arrow{font-size:16px;transition:transform .2s ease}.page-philosophy-section .pvc-btn:hover .arrow{transform:translate(5px)}@media (max-width: 968px) */ @media (max-width: 968px) */ @media (max-width: 968px){.page-philosophy-section{padding:80px 5%}.page-philosophy-section .intro-container{flex-direction:column;gap:40px;align-items:flex-start}.page-philosophy-section .intro-sub-heading{font-size:24px;margin-bottom:80px;text-align:left}.page-philosophy-section .intro-header-clean-message{margin-bottom:-15px;justify-content:center}.page-philosophy-section .intro-sub-heading-message{margin-bottom:24px;text-align:center}.page-philosophy-section .intro-desc{font-size:14px;line-height:2}.page-philosophy-section .intro-footer-row{flex-wrap:wrap;gap:18px;margin:-24px 0 50px;justify-content:flex-end}.page-philosophy-section .intro-message-layout{grid-template-columns:1fr;gap:24px}.page-philosophy-section .intro-message-text-column{width:100%;gap:22px;grid-column:1;grid-row:1}.page-philosophy-section .intro-message-photo-wrap{justify-content:center;width:100%;grid-column:1;grid-row:2}.page-philosophy-section .intro-message-photo-frame{width:min(100%,280px);border-radius:28px}.page-philosophy-section .intro-container-philosophy{display:block}.page-philosophy-section .intro-philosophy-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 20px;align-items:start}.page-philosophy-section .intro-philosophy-vision{grid-column:1;grid-row:1;justify-content:flex-start;padding-top:0}.page-philosophy-section .intro-philosophy-lead-vertical{font-size:clamp(24px,6.2vw,30px)}.page-philosophy-section .intro-text-content-philosophy{width:100%;gap:22px;grid-column:1 / -1;grid-row:2;display:flex;justify-content:center}.page-philosophy-section .intro-philosophy-guideline-heading-group{display:flex;flex-direction:column;align-items:center;gap:14px}.page-philosophy-section .intro-header-clean-principle{flex-direction:column;align-items:center;gap:14px;margin-bottom:0}.page-philosophy-section .intro-header-clean-principle .intro-label-text{writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.28em;color:#06c}.page-philosophy-section .intro-sub-heading-philosophy{margin:0;writing-mode:vertical-rl;text-orientation:mixed;font-size:clamp(20px,3.6vw,22px);letter-spacing:.18em;line-height:1.45;align-self:stretch;color:#06c;font-family:Montserrat,Yu Gothic,YuGothic,Hiragino Kaku Gothic Pro,Meiryo,sans-serif;font-weight:900}.page-philosophy-section .intro-desc-philosophy-intro{margin:0;writing-mode:vertical-rl;text-orientation:mixed;line-height:2;letter-spacing:.08em}.page-philosophy-section .intro-philosophy-guidelines{list-style:none;margin:0;padding:0;display:flex;flex-direction:row-reverse;align-items:flex-start;gap:18px;counter-reset:philosophy-guideline}.page-philosophy-section .intro-philosophy-guidelines li{position:relative;padding:44px 0 0;writing-mode:vertical-rl;text-orientation:mixed;font-size:clamp(18px,1.35vw,26px);line-height:2;font-weight:700;color:#000}.page-philosophy-section .intro-philosophy-guidelines li:before{counter-increment:philosophy-guideline;content:counter(philosophy-guideline,decimal-leading-zero);position:absolute;top:0;right:0;font-family:Montserrat,sans-serif;font-size:12px;font-weight:900;letter-spacing:.24em;color:#06c;writing-mode:horizontal-tb}.page-philosophy-section.intro-section-philosophy .intro-desc-wrapper{flex-direction:row-reverse;align-items:flex-start;justify-content:center;min-height:0;gap:18px}}.page-profile-section.reveal{opacity:0;transform:translateY(60px);transition:all 1.4s cubic-bezier(.2,.8,.2,1)}.page-profile-section.reveal.is-active{opacity:1;transform:translate(0)}.page-profile-section{background:transparent;padding:140px 10% 140px 15%;position:relative;isolation:isolate}.page-profile-section .page-floating-bg-layer{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:visible}.page-profile-section .profile-inner{max-width:1000px;margin:0 auto;position:relative;z-index:1}.page-profile-section .profile-table{width:100%;border-spacing:0;margin-top:50px;border:none}.page-profile-section .profile-photo-frame{width:100%;margin-top:36px;border-radius:15px 15px 0 0;overflow:hidden}.page-profile-section .profile-photo{display:block;width:100%;height:auto}.page-profile-section .profile-table th,.page-profile-section .profile-table td{padding:25px 30px;font-size:16px;line-height:1.8;border-top:2px solid #e2e2e2;text-align:left}.page-profile-section .profile-table th{width:25%;font-weight:900;background-color:#fff;border-left:2px solid #e2e2e2;border-top-left-radius:15px}.page-profile-section .profile-table td{font-weight:700;color:#000;border-right:2px solid #e2e2e2;border-top-right-radius:15px}.page-profile-section .profile-table-link{color:inherit;text-decoration:underline;text-underline-offset:.18em}.page-profile-section .profile-table-link:hover{opacity:.72}@media (max-width: 968px) */ @media (max-width: 968px) */ @media (max-width: 968px){.page-profile-section{padding-left:10%}}@media (max-width: 768px) */ @media (max-width: 768px) */ @media (max-width: 768px){.page-profile-section .floating-page-shape--bottom-right{bottom:120px}.page-profile-section .profile-table th,.page-profile-section .profile-table td{padding:15px 20px;font-size:14px}.page-profile-section .profile-table th,.page-profile-section .profile-table td{display:block;width:100%;border-radius:0;border-left:2px solid #e2e2e2;border-right:2px solid #e2e2e2}.page-profile-section .profile-table th{background-color:#fff;padding-bottom:10px;border-radius:15px 15px 0 0}.page-profile-section .profile-table td{border-top:none}}.service-section.page-service-section.reveal{opacity:0;transform:translateY(60px);transition:all 1.4s cubic-bezier(.2,.8,.2,1)}.service-section.page-service-section.reveal.is-active{opacity:1;transform:translate(0)}.service-section.page-service-section{background:transparent;padding:120px 10%;position:relative;isolation:isolate}.service-section.page-service-section .page-floating-bg-layer{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:visible}.service-section.page-service-section .service-inner{max-width:1000px;margin:0 auto;position:relative;z-index:1}.service-section.page-service-section .service-heading{margin-bottom:20px;line-height:1.5}.service-section.page-service-section .service-list{margin-top:60px;display:flex;flex-direction:column;gap:35px}.service-section.page-service-section .service-item{display:flex;flex-direction:column;background-color:#fff;padding:40px;border:2px solid #000000;box-shadow:6px 6px #000;gap:15px}.service-section.page-service-section .service-title{font-size:22px;font-weight:900;letter-spacing:.1em;border-bottom:2px solid #000000;padding-bottom:15px;color:#000}.service-section.page-service-section .service-desc{font-size:15px;line-height:2.2;font-weight:700;color:#000;margin:0}@media (max-width: 768px) */ @media (max-width: 768px) */ @media (max-width: 768px){.service-section.page-service-section .service-item{padding:28px 22px}.service-section.page-service-section .service-title{font-size:18px}.service-section.page-service-section .service-desc{font-size:14px;line-height:2}}.video-section.page-video-section.reveal{opacity:0;transform:translateY(60px);transition:all 1.4s cubic-bezier(.2,.8,.2,1)}.video-section.page-video-section.reveal.is-active{opacity:1;transform:translate(0)}.video-section.page-video-section{background:transparent;padding:120px 10%;border-bottom:2px solid #000000;position:relative;isolation:isolate}.video-section.page-video-section .page-floating-bg-layer{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:visible}.video-section.page-video-section .video-container{max-width:1000px;margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center;gap:60px;position:relative;z-index:1}.video-section.page-video-section .section-label{font-size:11px;color:#666;letter-spacing:.2em;margin-bottom:24px;display:block;text-transform:uppercase;font-family:Montserrat,sans-serif;font-weight:900}.video-section.page-video-section .section-heading{font-size:36px;font-weight:900;margin-bottom:40px;line-height:1.5;letter-spacing:.08em;color:#000}.video-section.page-video-section .video-desc{color:#000;font-size:15px;line-height:2.2;margin-top:20px;font-weight:700}.video-section.page-video-section .video-wrapper{width:100%;aspect-ratio:16 / 9;overflow:visible;border:2px solid #000000;box-shadow:10px 10px #000;background-color:#000}.video-section.page-video-section .field-video{width:100%;height:100%;object-fit:cover;display:block}@media (max-width: 768px) */ @media (max-width: 768px) */ @media (max-width: 768px){.video-section.page-video-section .section-heading{font-size:28px;margin-bottom:24px}.video-section.page-video-section .video-container{gap:36px}.video-section.page-video-section .video-desc{font-size:14px;line-height:2}.video-section.page-video-section .video-wrapper{box-shadow:6px 6px #000}}.contact-section.page-contact-section.reveal{opacity:0;transform:translateY(60px);transition:all 1.4s cubic-bezier(.2,.8,.2,1)}.contact-section.page-contact-section.reveal.is-active{opacity:1;transform:translate(0)}.contact-section.page-contact-section{background:transparent;padding:140px 10% 140px 15%;position:relative;isolation:isolate}.contact-section.page-contact-section .page-floating-bg-layer{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:visible}.contact-section.page-contact-section .contact-inner{max-width:1040px;margin:0 auto;position:relative;z-index:1}.contact-section.page-contact-section .contact-lead{font-size:clamp(15px,1.05vw,17px);line-height:2.05;color:#000;margin:0 0 42px}.contact-section.page-contact-section .contact-direct-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:42px}.contact-section.page-contact-section .contact-direct-card{border:2px solid #000000;border-radius:28px;background:#ffffffd1;padding:28px 28px 30px;display:flex;flex-direction:column;gap:14px}.contact-section.page-contact-section .contact-direct-label{font-family:Montserrat,sans-serif;font-size:12px;font-weight:900;letter-spacing:.22em;color:#06c}.contact-section.page-contact-section .contact-direct-title{font-size:clamp(20px,1.5vw,24px);line-height:1.5;color:#000}.contact-section.page-contact-section .contact-direct-link{display:inline-flex;align-items:center;width:fit-content;color:#000;text-decoration:none;font-family:Montserrat,sans-serif;font-size:clamp(24px,2vw,34px);font-weight:900;letter-spacing:.04em;border-bottom:2px solid #000000;padding-bottom:6px}.contact-section.page-contact-section .contact-direct-copy{margin:0;font-size:15px;line-height:2;color:#000}.contact-section.page-contact-section .contact-direct-anchor{display:inline-flex;align-items:center;gap:10px;width:fit-content;margin-top:auto;color:#000;text-decoration:none;font-size:13px;font-weight:900;letter-spacing:.16em}.contact-section.page-contact-section .contact-direct-anchor:after{content:"→";transition:transform .3s ease}.contact-section.page-contact-section .contact-direct-anchor:hover:after{transform:translate(5px)}.contact-section.page-contact-section .contact-direct-meta{display:grid;gap:10px;margin:0}.contact-section.page-contact-section .contact-direct-meta div{display:flex;gap:10px;font-size:14px;color:#000}.contact-section.page-contact-section .contact-direct-meta dt{min-width:64px;font-weight:900}.contact-section.page-contact-section .contact-direct-meta dd{margin:0}.contact-section.page-contact-section .contact-form{background-color:#ffffffe6;border:2px solid #000000;border-radius:32px;padding:44px}.contact-section.page-contact-section .contact-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 22px}.contact-section.page-contact-section .form-group{display:flex;flex-direction:column;gap:10px}.contact-section.page-contact-section .form-group-message{margin-top:24px}.contact-section.page-contact-section .form-group label{font-size:16px;font-weight:900;color:#000;display:flex;align-items:center;gap:10px}.contact-section.page-contact-section .required{font-size:11px;color:#fff;background-color:#ea580c;padding:2px 8px;border-radius:999px;font-weight:700}.contact-section.page-contact-section input[type=text],.contact-section.page-contact-section input[type=email],.contact-section.page-contact-section input[type=tel],.contact-section.page-contact-section textarea{width:100%;padding:15px 18px;font-size:15px;font-family:inherit;font-weight:700;border:2px solid #000000;border-radius:18px;background-color:#fff;color:#000;transition:border-color .2s ease,background-color .2s ease}.contact-section.page-contact-section input:focus,.contact-section.page-contact-section textarea:focus{outline:none;border-color:#06c;background-color:#f8fbff}.contact-section.page-contact-section textarea{resize:vertical;min-height:210px}.contact-section.page-contact-section .form-consent{margin:30px 0 36px;display:flex;align-items:flex-start;gap:12px;font-size:14px;font-weight:700;color:#000;line-height:1.9}.contact-section.page-contact-section .form-consent input[type=checkbox]{width:20px;height:20px;border:2px solid #000000;cursor:pointer;margin-top:3px;flex:0 0 auto}.contact-section.page-contact-section .form-submit{display:flex;justify-content:center}.contact-section.page-contact-section .form-submit .pvc-btn{background-color:#000;color:#fff;border:1px solid #000000;border-radius:9999px;padding:16px 50px;font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:all .3s cubic-bezier(.2,.8,.2,1);display:inline-flex;align-items:center;gap:10px}.contact-section.page-contact-section .form-submit .pvc-btn:hover{background-color:#fff;color:#000}.contact-section.page-contact-section .form-submit .arrow{transition:transform .3s ease}.contact-section.page-contact-section .form-submit .pvc-btn:hover .arrow{transform:translate(5px)}@media (max-width: 968px) */ @media (max-width: 968px) */ @media (max-width: 968px){.contact-section.page-contact-section{padding-left:10%}.contact-section.page-contact-section .contact-direct-grid,.contact-section.page-contact-section .contact-form-grid{grid-template-columns:1fr}.contact-section.page-contact-section .contact-form{padding:32px 24px}}@media (max-width: 768px) */ @media (max-width: 768px) */ @media (max-width: 768px){.contact-section.page-contact-section{padding-top:96px;padding-bottom:96px}.contact-section.page-contact-section .contact-direct-card{padding:24px 22px 26px;border-radius:24px}.contact-section.page-contact-section .contact-form{border-radius:26px;padding:28px 20px}}.policy-section.page-policy-section.reveal{opacity:0;transform:translateY(60px);transition:all 1.4s cubic-bezier(.2,.8,.2,1)}.policy-section.page-policy-section.reveal.is-active{opacity:1;transform:translate(0)}.policy-section.page-policy-section{position:relative;isolation:isolate;padding:140px 10% 140px 15%;border-bottom:2px solid #000000;background:transparent}.policy-section.page-policy-section .page-floating-bg-layer{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:visible}.policy-section.page-policy-section .policy-inner{position:relative;z-index:1;max-width:980px;margin:0 auto}.policy-section.page-policy-section .policy-lead{margin:0 0 38px;font-size:clamp(15px,1.05vw,17px);line-height:2.1;color:#000}.policy-section.page-policy-section .policy-list{display:flex;flex-direction:column;gap:18px}.policy-section.page-policy-section .policy-item{background:#ffffffd6;border:2px solid #000000;border-radius:26px;padding:28px 30px 30px}.policy-section.page-policy-section .policy-item-heading{font-size:clamp(20px,1.45vw,24px);line-height:1.5;color:#000;margin-bottom:14px}.policy-section.page-policy-section .policy-item-body{font-size:15px;line-height:2.05;color:#000}@media (max-width: 968px) */ @media (max-width: 968px) */ @media (max-width: 968px){.policy-section.page-policy-section{padding-left:10%}}@media (max-width: 768px) */ @media (max-width: 768px) */ @media (max-width: 768px){.policy-section.page-policy-section{padding-top:96px;padding-bottom:96px}.policy-section.page-policy-section .policy-item{border-radius:22px;padding:24px 20px}.policy-section.page-policy-section .policy-item-body{font-size:14px}}.page-jobs-section{background-color:transparent;padding:180px 5%;position:relative}.page-jobs-section .jobs-stage{position:relative;min-height:1px;transition:height .5s cubic-bezier(.2,.8,.2,1)}.page-jobs-section .jobs-stage.is-animating{overflow:clip}.page-jobs-section .jobs-panel{width:100%;transition:opacity .28s ease,transform .5s cubic-bezier(.2,.8,.2,1),visibility .28s ease}.page-jobs-section .jobs-panel:not(.is-active){position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(18px)}.page-jobs-section .jobs-panel.is-active{position:relative;opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.page-jobs-section .jobs-panel-head{max-width:760px;margin-bottom:78px;margin-inline:auto;text-align:center}.page-jobs-section .jobs-panel-kicker,.page-jobs-section .jobs-detail-selected{display:inline-flex;align-items:center;gap:10px;margin:0 0 14px;font-family:Montserrat,sans-serif;font-size:11px;font-weight:900;letter-spacing:.2em;text-transform:uppercase;color:#06c}.page-jobs-section .jobs-panel-title{margin:0;font-size:clamp(28px,3.1vw,42px);line-height:1.35;letter-spacing:.06em;color:#000}.page-jobs-section .jobs-panel-title--detail{font-size:clamp(26px,2.5vw,36px)}.page-jobs-section .jobs-detail-copy{margin:18px 0 0;font-size:clamp(14px,1.05vw,16px);line-height:2;color:#000}.page-jobs-section .jobs-panel-copy{display:inline-flex;align-items:center;justify-content:center;margin:0;padding:0;border-radius:999px;background:transparent;font-size:clamp(14px,1.05vw,16px);line-height:1.8;color:#000;font-weight:800;text-align:center}.page-jobs-section .job-card-link{color:inherit;text-decoration:none}.page-jobs-section .jobs-detail-top{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:34px}.page-jobs-section .jobs-back-btn,.page-jobs-section .jobs-link-btn{appearance:none;border:none;background:transparent;color:#000;font:inherit;font-size:13px;font-weight:900;letter-spacing:.14em;cursor:pointer;padding:0}.page-jobs-section .jobs-back-btn{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;padding-bottom:10px;border-bottom:2px solid #000000}.page-jobs-section .jobs-link-btn{border-bottom:2px solid #000000;padding-bottom:8px}.page-jobs-section .jobs-detail-layout{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:30px;align-items:start}.page-jobs-section .jobs-detail-aside-card{position:sticky;top:24px;background:linear-gradient(180deg,#c6dfffe0,#e4effff2);border-radius:36px;padding:28px 24px 26px;overflow:hidden;isolation:isolate}.page-jobs-section .jobs-detail-aside-card:before{content:"";position:absolute;inset:0;background-image:var(--textureUrl);background-size:var(--textureSize, 12rem);background-repeat:repeat;mix-blend-mode:overlay;opacity:.52;pointer-events:none}.page-jobs-section .jobs-detail-aside-card>*{position:relative;z-index:1}.page-jobs-section .jobs-detail-tag{display:inline-flex;align-items:center;padding:7px 14px;border-radius:999px;background:#ffffffbd;font-family:Montserrat,sans-serif;font-size:11px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:#0b36b5}.page-jobs-section .job-tag-list,.page-jobs-section .jobs-detail-tag-list{display:flex;flex-wrap:wrap;gap:7px}.page-jobs-section .job-tag-list{justify-content:center;width:min(86%,360px)}.page-jobs-section .jobs-detail-num{display:block;margin:20px 0 16px;font-family:Montserrat,sans-serif;font-size:clamp(42px,4.2vw,62px);line-height:1;font-weight:900;color:#000}.page-jobs-section .jobs-detail-image-frame{border-radius:26px;overflow:hidden;background:#ffffffb8}.page-jobs-section .jobs-detail-image{display:block;width:100%;height:auto;aspect-ratio:1 / 1;object-fit:cover}.page-jobs-section .jobs-detail-main{display:flex;flex-direction:column;gap:22px}.page-jobs-section .jobs-detail-table-wrap{background:#fff;border-radius:30px;padding:16px 22px}.page-jobs-section .jobs-detail-table{width:100%;border-collapse:collapse}.page-jobs-section .jobs-detail-table th,.page-jobs-section .jobs-detail-table td{padding:18px 0;border-top:1px solid #d9d9d9;vertical-align:top;text-align:left;color:#000}.page-jobs-section .jobs-detail-table tr:first-child th,.page-jobs-section .jobs-detail-table tr:first-child td{border-top:none}.page-jobs-section .jobs-detail-table th{width:140px;padding-right:24px;font-size:13px;font-weight:900;letter-spacing:.08em}.page-jobs-section .jobs-detail-table td{font-size:14px;line-height:2;font-weight:700}.page-jobs-section .jobs-detail-description{background:#ffffffd6;border-radius:28px;padding:24px 28px}.page-jobs-section .jobs-detail-description p{margin:0;font-size:14px;line-height:2;color:#000}.page-jobs-section .jobs-detail-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 24px;margin-top:6px}.page-jobs-section .jobs-detail-entry{white-space:nowrap}@media (max-width: 1100px) */ @media (max-width: 1100px) */ @media (max-width: 1100px){.page-jobs-section .jobs-detail-layout{grid-template-columns:1fr}.page-jobs-section .jobs-detail-aside-card{position:relative;top:auto;max-width:440px}}@media (max-width: 968px) */ @media (max-width: 968px) */ @media (max-width: 968px){.page-jobs-section .jobs-detail-top{flex-direction:column;align-items:flex-start}.page-jobs-section .jobs-detail-main{gap:18px}}@media (max-width: 768px) */ @media (max-width: 768px) */ @media (max-width: 768px){.page-jobs-section .jobs-panel-title{font-size:24px;line-height:1.45}.page-jobs-section .jobs-detail-aside-card,.page-jobs-section .jobs-detail-table-wrap,.page-jobs-section .jobs-detail-description{border-radius:24px}.page-jobs-section .jobs-detail-table-wrap{padding:10px 18px}.page-jobs-section .jobs-detail-table th,.page-jobs-section .jobs-detail-table td{display:block;width:100%;padding:12px 0}.page-jobs-section .jobs-detail-table th{padding-bottom:0}.page-jobs-section .jobs-detail-description{padding:22px 20px}.page-jobs-section .jobs-detail-actions{align-items:flex-start;flex-direction:column;gap:16px}}.page-jobs-section .page-jobs-panel-head{max-width:760px;margin-bottom:78px;margin-inline:auto;text-align:center}.page-jobs-section .page-jobs-panel-kicker{display:inline-flex;align-items:center;gap:10px;margin:0 0 14px;font-family:Montserrat,sans-serif;font-size:11px;font-weight:900;letter-spacing:.2em;text-transform:uppercase;color:#06c}.page-jobs-section .page-jobs-panel-title{margin:0;font-size:clamp(28px,3.1vw,42px);line-height:1.35;letter-spacing:.06em;color:#000}.page-jobs-section .page-jobs-panel-copy{display:inline-flex;align-items:center;justify-content:center;margin:0;padding:0;border-radius:999px;background:transparent;font-size:clamp(14px,1.05vw,16px);line-height:1.8;color:#000;font-weight:800;text-align:center}.page-jobs-section .job-card-link{display:flex;flex-direction:column;width:100%;border:0;padding:0;background:transparent;appearance:none;-webkit-appearance:none;color:inherit;cursor:pointer;font:inherit;text-decoration:none;text-align:left}.page-jobs-section .job-card-link:hover,.page-jobs-section .job-card-link:active,.page-jobs-section .job-card-link:focus{background:transparent;border-color:transparent}.page-jobs-section .job-card-link:focus-visible{outline:none}.page-jobs-section .job-card-link:focus-visible .job-card,.page-jobs-section .job-card-link.is-selected .job-card{box-shadow:0 0 0 3px #2563eb3d}.page-jobs-section .job-tag-list{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;width:min(86%,360px)}.page-jobs-section .job-tag-chip{display:inline-flex;align-items:center;min-height:24px;padding:5px 9px;border-radius:999px;background:#ffffffc7;color:#0b36b5;font-size:10px;font-weight:900;line-height:1.2;letter-spacing:.04em;box-shadow:0 0 0 1px #0b36b514}.page-jobs-section .job-tag-chip.is-stopped{color:#dc2626;box-shadow:0 0 0 1px #dc262626}.page-jobs-section .page-jobs-detail-head{position:relative;justify-content:center;padding:0 clamp(120px,14vw,180px)}.page-jobs-section .page-jobs-detail-close{position:absolute;top:0;right:0}@media (max-width: 768px) */ @media (max-width: 768px) */ @media (max-width: 768px){.page-jobs-section .page-jobs-detail-head{align-items:center;padding:0}.page-jobs-section .page-jobs-detail-close{position:static}.page-jobs-section .page-jobs-panel-head{margin-bottom:58px}.page-jobs-section .page-jobs-panel-title{font-size:24px;line-height:1.45}}.workstyle-card-year-label{margin-top:8px;font-size:11px;font-weight:900;background-color:#ea580c;color:#fff;letter-spacing:.1em;line-height:1;padding:4px 8px;border-radius:5px}.careers-entry-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px;max-width:920px;width:100%;margin:34px auto 48px;background:#efefef;border:0;border-radius:24px;padding:clamp(24px,4vw,38px)}.careers-entry-field{display:grid;gap:12px}.careers-entry-field[hidden]{display:none!important}.careers-entry-field label{font-size:14px;font-weight:900;letter-spacing:.08em;color:#000;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.careers-entry-field label .required{font-size:10px;color:#fff;background-color:#ea580c;padding:1px 7px;border-radius:999px;font-weight:700;letter-spacing:normal}.careers-entry-field--wide,.careers-entry-submit{grid-column:1 / -1}.careers-entry-field input,.careers-entry-field select,.careers-entry-field textarea{width:100%;border:2px solid #000000;border-radius:15px;background:#fff;padding:16px 18px;font-size:16px;font-weight:800;color:#000;font-family:inherit}.careers-entry-field textarea{min-height:150px;resize:vertical}.careers-entry-submit{justify-self:start;border:0;cursor:pointer}.career-btn-card--form{display:none}.career-btn-card-wrapper:has(.career-btn-card--form){display:none}.career-btn-label{display:inline-flex;margin-bottom:14px;font-family:Montserrat,sans-serif;font-size:11px;font-weight:900;letter-spacing:.18em;color:#06c;text-transform:uppercase}.career-btn-phone{display:block;margin-top:20px;font-family:Montserrat,sans-serif;font-size:clamp(22px,3vw,34px);font-weight:900;color:#000}.careers-entry-field select{appearance:auto}@media (max-width: 768px) */ @media (max-width: 768px) */ @media (max-width: 768px){.careers-entry-form{grid-template-columns:1fr}}.page-works-showcase-section{position:relative;isolation:isolate;padding:120px 10% 140px;border-bottom:2px solid #000000;background:transparent}.page-works-showcase-section .works-showcase-bg-layer{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:visible;opacity:.92}.page-works-showcase-section .works-showcase-inner{position:relative;z-index:1;max-width:1160px;margin:0 auto}.page-works-showcase-section .works-showcase-section-list{display:flex;flex-direction:column;gap:80px}.page-works-showcase-section .works-showcase-block{display:flex;flex-direction:column;gap:36px}.page-works-showcase-section .works-showcase-copy{display:flex;flex-direction:column;gap:12px;max-width:1080px}.page-works-showcase-section .works-showcase-copy p{margin:0;font-size:clamp(14px,1.02vw,16px);font-weight:700;line-height:2;letter-spacing:.04em;color:#000}.page-works-showcase-section .works-showcase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 20px}.page-works-showcase-section .works-showcase-card{display:flex;flex-direction:column;gap:14px;min-width:0}.page-works-showcase-section .works-showcase-card-hidden{display:none}.page-works-showcase-section .works-showcase-card-hidden:not([hidden]){display:flex}.page-works-showcase-section .works-showcase-card-title{margin:0;font-size:clamp(17px,1.2vw,21px);font-weight:900;line-height:1.45;letter-spacing:.04em;color:#0b36b5;min-width:0}.page-works-showcase-section .works-showcase-ellipsis{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-works-showcase-section .works-showcase-image-frame{width:100%;min-width:0;border-radius:18px;overflow:hidden;background-color:#ffffff8c}.page-works-showcase-section .works-showcase-image{display:block;width:100%;height:auto;aspect-ratio:16 / 10;object-fit:cover}.page-works-showcase-section .works-showcase-card-meta{margin:0;font-size:clamp(13px,.98vw,15px);font-weight:900;line-height:1.65;letter-spacing:.04em;color:#0b36b5;min-width:0}.works-showcase-tooltip{position:fixed;z-index:1000;max-width:min(380px,calc(100vw - 32px));padding:16px 20px;border-radius:18px;background:#fffffff5;box-shadow:0 18px 48px #00000029;color:#000;font-size:14px;font-weight:900;line-height:1.8;letter-spacing:.04em;opacity:0;pointer-events:none;white-space:pre-line;transition:opacity .16s ease}.works-showcase-tooltip.is-visible{opacity:1}.works-showcase-tooltip[hidden]{display:none}.page-works-showcase-section .works-showcase-accordion-trigger{display:flex;justify-content:center;margin-top:10px}.page-works-showcase-section .works-showcase-more-btn{margin-inline:auto}.page-works-showcase-section .works-showcase-more-btn[aria-expanded=true] .arrow{transform:rotate(90deg)}@media (max-width: 1200px) */ @media (max-width: 1200px) */ @media (max-width: 1200px){.page-works-showcase-section .works-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 968px) */ @media (max-width: 968px) */ @media (max-width: 968px){.page-works-showcase-section{padding:88px 8% 100px}.page-works-showcase-section .works-showcase-section-list{gap:64px}}@media (max-width: 768px) */ @media (max-width: 768px) */ @media (max-width: 768px){.page-works-showcase-section .works-showcase-copy p{font-size:14px;line-height:2}.page-works-showcase-section .works-showcase-grid{grid-template-columns:1fr;gap:22px}.page-works-showcase-section .works-showcase-card-title{font-size:16px}.page-works-showcase-section .works-showcase-card-meta{font-size:13px;line-height:1.7}}:root{--text-light: #666666;--accent: #8b8b8b;--border-color: #d1d1d1}*{box-sizing:border-box;margin:0;padding:0}body{width:100%;background-color:#fff;font-family:Yu Gothic,YuGothic,Hiragino Kaku Gothic Pro,Meiryo,sans-serif;font-weight:700;font-size:1rem;color:#000;letter-spacing:.025em;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-webkit-font-feature-settings:"palt";font-feature-settings:"palt";-webkit-overflow-scrolling:touch;scroll-behavior:smooth;line-height:2;overflow-x:hidden}body:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjtiHYAAAABVBMVEUAAAD///+D7st-AAAAAnRSTlMAgJsrzyIAAAAnSURBVDjLY2AYBYyMjAxMTAwMTIwMDEzMDAxMTAwMTEwMDAxMDAwA11wBgHnO2g8AAAAASUVORK5CYII=);background-repeat:repeat;opacity:.04;pointer-events:none;z-index:9999}.reveal{opacity:0;transform:translateY(60px);transition:all 1.4s cubic-bezier(.2,.8,.2,1)}.reveal.is-active{opacity:1;transform:translate(0)}main{overflow:hidden}.intro-section,.service-section,.jobs-section,.video-section,.workstyle-section,.numbers-section,.careers-section,.profile-section,.contact-section{background:transparent!important;position:relative;isolation:isolate}.page-floating-bg-layer{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:visible;opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform 1s ease}.reveal.is-active .page-floating-bg-layer{opacity:1;transform:translateY(0)}.intro-container,.intro-only-container,.service-inner,.jobs-inner,.video-container,.workstyle-inner,.numbers-inner,.careers-inner,.profile-inner,.contact-inner{position:relative;z-index:1}.intro-section{padding:140px 5%;margin-top:0;position:relative;z-index:20;isolation:isolate}.intro-header-clean{display:flex;align-items:center;gap:12px;margin-bottom:40px}.intro-dot{width:10px;height:10px;border-radius:0 50% 50%;transform:translateY(.5px) rotate(45deg);display:inline-block}.intro-label-text{font-family:Montserrat,sans-serif;font-size:11px;font-weight:900;letter-spacing:.2em;text-transform:uppercase;color:#000}.intro-container{display:flex;align-items:flex-start;width:100%;max-width:1400px;margin:0 auto;justify-content:space-between;gap:80px;position:relative;z-index:12}.intro-left-box{display:flex;flex-direction:column;align-items:flex-start;flex-shrink:0;padding-top:20px}.intro-vertical-heading{writing-mode:vertical-rl;font-size:36px;font-weight:900;letter-spacing:.35em;line-height:1.8;color:#000;white-space:nowrap;font-family:Yu Gothic,YuGothic,Hiragino Kaku Gothic Pro,Meiryo,sans-serif}.intro-text-content{flex:1;max-width:850px;padding-top:20px;display:flex;flex-direction:column;gap:30px}.intro-sub-heading{font-size:30px;font-weight:900;line-height:1.6;letter-spacing:.08em;color:#000;margin-bottom:10px}.intro-desc-wrapper{display:flex;flex-direction:column;gap:24px}.intro-desc{font-size:16px;line-height:2.2;font-weight:700;color:#000}.intro-message-photo-wrap{display:flex;justify-content:flex-end}.intro-message-photo-frame{width:min(100%,320px);border-radius:32px;overflow:hidden}.intro-message-photo{display:block;width:100%;height:auto}.intro-footer-row{display:flex;justify-content:flex-end;align-items:center;margin-top:40px}.intro-president-name{font-size:16px;font-weight:900;letter-spacing:.1em;color:#000;position:relative;padding-left:24px}.intro-president-name:before{content:"";position:absolute;left:0;top:50%;width:14px;height:2px;background-color:#000;transform:translateY(-50%)}.pvc-btn-white{display:inline-flex;align-items:center;gap:15px;font-size:11px;font-weight:900;letter-spacing:.2em;color:#fff;text-transform:uppercase;border-bottom:2px solid #ffffff;padding-bottom:8px;transition:all .3s ease}.pvc-btn-white:hover{gap:25px;border-bottom-color:#06c}.intro-only-container{display:flex;flex-direction:column;align-items:center;width:100%;max-width:1000px;margin:0 auto;gap:60px;position:relative;z-index:12}.intro-only-left-box{display:flex;flex-direction:column;align-items:center;width:100%;padding-top:20px}.intro-only-vertical-heading{writing-mode:vertical-rl;font-size:36px;font-weight:900;letter-spacing:.35em;line-height:1.8;color:#000;white-space:nowrap;text-align:start;font-family:Yu Gothic,YuGothic,Hiragino Kaku Gothic Pro,Meiryo,sans-serif;border-top:5px solid;padding:45px 0 25px;border-bottom:5px solid;margin-bottom:50px}.intro-only-text-content{width:100%;max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:30px}@media(max-width:968px){.intro-section{padding:80px 5%;margin-top:0}.intro-only-vertical-heading{writing-mode:vertical-rl;font-size:26px;letter-spacing:.25em;padding:30px 0 20px;margin-bottom:30px}.intro-container{flex-direction:column;gap:40px;align-items:flex-start}.intro-left-box{width:100%;padding-top:0;display:flex;flex-direction:column;align-items:center}.intro-vertical-heading{writing-mode:horizontal-tb;font-size:28px;white-space:normal;letter-spacing:.15em;line-height:1.4;text-align:center}.intro-visual-container{position:relative;width:105%;margin:25px -5% 20px 0;height:clamp(280px,72vw,360px);border-radius:180px 0 0 180px;overflow:hidden;border-top:4px solid #ffffff;border-left:4px solid #ffffff;border-bottom:4px solid #ffffff;border-right:none;box-shadow:-10px 10px 30px #0000001a;display:flex;flex-direction:column;justify-content:flex-end;padding:24px;isolation:isolate}.intro-overlay-text-box{height:auto;margin-right:0;padding:0 6px;background-color:transparent;color:#111}.intro-sub-heading{font-size:24px;margin-bottom:24px;text-align:left;color:#111;text-shadow:none}.intro-desc{font-size:14px;line-height:2;font-weight:900;color:#111;text-shadow:none}.intro-president-name{color:#111;text-shadow:none}.intro-overlay-text-box .pvc-btn-white{color:#111;border-bottom-color:#111}.intro-overlay-text-box .pvc-btn-white:hover{color:#06c;border-bottom-color:#06c}.intro-footer-row{flex-wrap:wrap;gap:18px;margin:-24px 0 50px;justify-content:flex-end}.intro-message-photo-wrap{justify-content:center}.intro-message-photo-frame{width:min(100%,280px);border-radius:28px}.intro-only-container{flex-direction:column;gap:40px}.intro-only-text-content{width:100%;padding-top:0;gap:24px}}.service-section{background-color:#f1f1f1;padding:120px 10%}.service-inner{max-width:1000px;margin:0 auto}.service-list{margin-top:60px;display:flex;flex-direction:column;gap:35px}.service-item{display:flex;flex-direction:column;background-color:#fff;padding:40px;border:2px solid #000;box-shadow:6px 6px #000;gap:15px}.service-title{font-size:22px;font-weight:900;letter-spacing:.1em;border-bottom:2px solid #000;padding-bottom:15px}.service-desc{font-size:15px;line-height:2.2;font-weight:700;color:#000}.jobs-inner{max-width:1500px;margin:0 auto}.jobs-grid{margin-top:80px;display:grid;gap:40px;position:relative;z-index:1;overflow:visible}.jobs-grid-bg{display:none;position:absolute;top:-45%;bottom:-30%;left:-15%;width:130%;height:auto;z-index:-2;pointer-events:none;overflow:visible}.jobs-grid-bg svg{width:100%;height:100%}.job-card-wrapper{display:flex;flex-direction:column;width:100%;overflow:visible;transition:transform .4s cubic-bezier(.2,.8,.2,1),filter .4s cubic-bezier(.2,.8,.2,1);filter:drop-shadow(0 15px 30px rgba(0,0,0,.04));border:0;padding:0;background:transparent;appearance:none;-webkit-appearance:none;color:inherit;font:inherit;text-align:left}.job-card-wrapper:hover{transform:translateY(-8px);filter:drop-shadow(0 20px 45px rgba(37,99,235,.12))}.job-card{background:transparent;border:none;border-radius:35px 25px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(12px,2.1vw,18px);padding:10% 0;position:relative;width:100%;min-height:0;box-shadow:none;transition:all .3s cubic-bezier(.2,.8,.2,1);isolation:isolate;overflow:visible}.blob-path{fill:url(#jobs-blob-texture);transition:fill .4s cubic-bezier(.2,.8,.2,1)}.job-card-desc{width:85%;font-size:clamp(12px,1.05vw,14px);line-height:2;font-weight:700;color:#000;margin:0;text-align:left}.job-card-bg-shape{position:absolute;top:-5%;left:-5%;width:110%;height:110%;z-index:0;pointer-events:none;transform-origin:center;animation:job-card-shape-rotate var(--shape-rotate-duration, 22s) ease-in-out infinite alternate;animation-delay:var(--shape-rotate-delay, 0s)}.job-card-bg-fill{fill:var(--main-color, #c6dfff)}.job-card-bg-texture-object{opacity:.52;mix-blend-mode:overlay}.job-card-bg-texture-layer{width:100%;height:100%;background-image:var(--textureUrl);background-size:var(--textureSize, 12rem);background-repeat:repeat}.job-card:before{content:none}.job-card:after{content:none}.job-card>*{position:relative;z-index:2}.job-card>.job-card-bg-shape{position:absolute;z-index:0}.job-card-wrapper:nth-child(2n) .job-card:after{content:none}.job-card-wrapper:nth-child(3n) .job-card:after{content:none}@keyframes job-card-texture-drift{0%{transform:translateZ(0)}50%{transform:translate3d(-18px,-12px,0)}to{transform:translateZ(0)}}@keyframes job-card-shape-rotate{0%{transform:rotate(var(--shape-rotate-from, -10deg)) scale(var(--shape-scale-from, .98))}50%{transform:rotate(var(--shape-rotate-mid, 0deg)) scale(var(--shape-scale-mid, 1.035))}to{transform:rotate(var(--shape-rotate-to, 10deg)) scale(var(--shape-scale-to, 1))}}.job-card .job-card-title-area{position:relative;right:auto;top:auto;z-index:100;display:flex;justify-content:center;width:min(82%,360px)}.job-title{position:relative;writing-mode:horizontal-tb;font-size:clamp(18px,1.8vw,22px);font-weight:900;letter-spacing:.08em;color:#000;text-shadow:none;background:transparent;padding:0;border:none;line-height:1.35;text-align:center}.job-title:after{content:none}.job-card-bottom{width:100%;position:relative;display:flex;justify-content:center;margin-top:auto}.job-image{width:min(70%,180px);height:auto;aspect-ratio:1 / 1;object-fit:cover;border-radius:50%}.job-card .job-card-bottom{margin-top:0}@media(max-width:968px){.jobs-section{padding-left:10%}.jobs-grid{grid-template-columns:1fr!important}.job-card-desc{width:85%}.job-image{width:min(70%,210px);height:auto}}@media(max-width:640px){.jobs-section{padding:100px 6% 70px}.jobs-grid{margin-top:60px;gap:28px}.jobs-grid-bg{top:-100px!important;bottom:-100px!important;left:-5%;width:110%}.job-card{min-height:0;padding:10% 0}.job-card-desc{width:85%!important;margin:0!important;line-height:1.8}.job-card-title-area{position:relative!important;right:auto!important;top:auto!important;margin-bottom:0!important;width:min(86%,320px)!important}.job-title{writing-mode:horizontal-tb!important;font-size:16px!important;padding:0!important}.job-image{width:min(68%,170px);height:auto}}.video-section{background-color:#f1f1f1;padding:120px 10%;border-bottom:2px solid #000000}.video-container{max-width:1000px;margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center;gap:60px}.video-desc{color:#000;font-size:15px;line-height:2.2;margin-top:20px;font-weight:700}.video-wrapper{width:100%;aspect-ratio:16 / 9;overflow:visible;border:2px solid #000000;box-shadow:10px 10px #000}.field-video{width:100%;height:100%;object-fit:cover}.pvc-btn{display:inline-flex;align-items:center;gap:15px;background-color:#000;color:#fff;text-decoration:none;padding:14px 35px;font-weight:700;font-size:12px;letter-spacing:.2em;border:1px solid #000000;border-radius:9999px;box-shadow:none;position:relative;z-index:10;transition:all .3s ease;text-transform:uppercase;cursor:pointer}.pvc-btn:hover{background-color:#fff;color:#000}.pvc-btn .arrow{font-size:16px;transition:transform .2s ease}.pvc-btn:hover .arrow{transform:translate(5px)}.workstyle-section{background-color:#fff;padding:120px 0 120px 15%;border-bottom:none;overflow:hidden}@media(max-width:968px){.workstyle-section{padding:80px 10%}}.workstyle-container{position:relative}.workstyle-slider{display:flex;gap:40px;overflow-x:auto;padding:40px 40px 40px 0;scroll-snap-type:x mandatory;scrollbar-width:none}.workstyle-slider::-webkit-scrollbar{display:none}.workstyle-card{flex-shrink:0;width:320px;background-color:#fff;border:2px solid #000000;box-shadow:6px 6px #000;padding:40px 30px;scroll-snap-align:start;display:flex;flex-direction:column;justify-content:space-between;min-height:480px;transition:all .2s cubic-bezier(.2,.8,.2,1)}.workstyle-card:hover{transform:translate(3px,3px);box-shadow:3px 3px #000;background-color:#fcfcfc}.workstyle-card-title{writing-mode:vertical-rl;text-orientation:upright;font-size:22px;font-weight:900;letter-spacing:.2em;line-height:1.4;height:180px;margin-bottom:30px;border-right:2px solid #000000;padding-right:15px;align-self:flex-start}.workstyle-card-desc{font-size:13px;line-height:1.8;font-weight:700;color:#000}.interview-section{position:relative;background-color:var(--main-color);padding:180px 10% 180px 15%;border-bottom:none}.wave-splitter{position:absolute;left:0;width:100%;height:120px;z-index:10;overflow:hidden;pointer-events:none}.wave-top svg{animation:wave-move-right 24s linear infinite}.wave-bottom svg{animation:wave-move-right 32s linear infinite}.wave-splitter svg{display:block;width:200%;height:100%}.intro-section .wave-top{top:-80px}.intro-section .wave-bottom{bottom:-1px}.interview-section .wave-top{top:-1px}.interview-section .wave-bottom{bottom:-1px}@media(max-width:968px){.interview-section{padding:140px 10%}}@keyframes wave-move-right{0%{transform:translate(-50%)}to{transform:translate(0)}}.interview-container{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:60px}@media(max-width:968px){.interview-container{flex-direction:column}}.interview-image-area{flex:1;position:relative}.interview-image-area img{width:100%;height:auto;object-fit:cover;border:2px solid #000000}.interview-image-area:after{content:"";position:absolute;top:20px;left:-20px;width:100%;height:100%;border:2px solid #000000;z-index:-1;background-color:#fff}.interview-content-area{flex:1.3;display:flex;flex-direction:column;gap:30px}.interview-name{font-size:18px;font-weight:900;color:var(--text-light);letter-spacing:.1em;margin-bottom:10px}.interview-box{background-color:#fffffff2;backdrop-filter:blur(8px);border:none;border-radius:16px;box-shadow:0 8px 32px #0000000d;padding:30px;position:relative}.interview-box-label{font-size:11px;background-color:#000;color:#fff;padding:4px 10px;font-weight:900;letter-spacing:.15em;display:inline-block;margin-bottom:15px;text-transform:uppercase}.interview-box-text{font-size:14px;line-height:2.2;font-weight:700;color:#000}.numbers-section{background-color:#fff;padding:120px 10% 120px 15%;border-bottom:2px solid #000000}@media(max-width:968px){.numbers-section{padding:80px 10%}}.numbers-inner{max-width:1200px;margin:0 auto}.numbers-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:60px}@media(max-width:968px){.numbers-grid{grid-template-columns:repeat(2,1fr);gap:20px}}@media(max-width:576px){.numbers-grid{grid-template-columns:1fr;gap:20px}}.number-card{background-color:#fff;border:none;border-left:2px solid #000000;border-bottom:2px solid #000000;border-bottom-left-radius:16px;box-shadow:none;padding:35px 25px;display:flex;flex-direction:column;justify-content:space-between;min-height:260px;transition:all .2s cubic-bezier(.2,.8,.2,1)}.number-card:hover{transform:translate(-6px,-6px);box-shadow:6px 6px #000}.number-val-area{border-bottom:2px solid #000000;padding-bottom:15px;margin-bottom:15px;display:flex;align-items:baseline}.number-val{font-size:65px;font-weight:900;line-height:1;letter-spacing:-.02em;font-family:Impact,Arial Black,sans-serif}.number-unit{font-size:14px;font-weight:900;margin-left:5px}.number-label{font-size:14px;font-weight:900;margin-bottom:10px;color:#000}.number-desc{font-size:12px;line-height:1.8;font-weight:700;color:var(--text-light)}.careers-section{background-color:var(--main-color);padding:120px 10%}@media(max-width:968px){.careers-section{padding:80px 10%}}.careers-inner{max-width:920px;margin:0 auto}.careers-desc{font-size:16px;font-weight:700;line-height:2.2;max-width:100%;margin-top:20px;margin-bottom:60px}.careers-grid{display:grid;grid-template-columns:1fr;gap:30px;max-width:920px;margin:0 auto}@media(max-width:768px){.careers-grid{grid-template-columns:1fr;gap:20px}}.career-btn-card-wrapper{display:flex;flex-direction:column}.career-btn-card{background-color:#efefef;border:none;border-left:none;border-bottom:none;border-bottom-left-radius:16px;box-shadow:none;padding:35px;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;color:#000;min-height:200px;transition:all .2s cubic-bezier(.2,.8,.2,1);width:100%}.career-btn-card:hover{box-shadow:none}.career-btn-title{font-size:18px;font-weight:900;display:flex;align-items:center;gap:10px;margin-bottom:15px}.career-btn-desc{font-size:12px;line-height:1.8;font-weight:700;color:var(--text-light)}@keyframes fadeUp{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.section-label{font-size:11px;color:var(--text-light);letter-spacing:.2em;margin-bottom:24px;display:block;text-transform:uppercase}.section-heading{font-size:36px;font-weight:900;margin-bottom:40px;line-height:1.5;letter-spacing:.08em}.workstyle-inner{max-width:1200px;margin:0 auto;padding:0 15%}@media(max-width:968px){.workstyle-inner{padding:0 10%}}.header-editorial{display:flex;align-items:flex-start;gap:30px;margin-bottom:60px;border-left:6px solid #000000;padding-left:30px}.editorial-label{writing-mode:vertical-rl;font-size:11px;color:#000;letter-spacing:.2em;text-transform:uppercase;font-family:Montserrat,sans-serif;font-weight:900;line-height:1}.editorial-heading{font-size:38px;font-weight:900;line-height:1.4;letter-spacing:.08em}.header-quote{position:relative;margin-bottom:60px;text-align:left}.quote-label{font-size:11px;color:#000;font-family:Montserrat,sans-serif;font-weight:900;letter-spacing:.2em;text-transform:uppercase;display:block;margin-bottom:16px}.quote-heading{font-size:36px;font-weight:900;line-height:1.5;letter-spacing:.08em;position:relative;display:inline-block}.quote-mark-open,.quote-mark-close{font-family:Montserrat,sans-serif;font-size:60px;font-weight:900;color:#e5e5e5;line-height:0;position:absolute;user-select:none}.quote-mark-open{left:-35px;top:15px}.quote-mark-close{right:-35px;bottom:-15px}.header-gauge{position:relative;margin-bottom:50px;display:flex;flex-direction:column;align-items:center;text-align:center}.gauge-label-row{display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:16px}.gauge-label{font-size:11px;color:#000;font-family:Montserrat,sans-serif;font-weight:900;letter-spacing:.2em;text-transform:uppercase}.gauge-heading{font-size:36px;font-weight:900;line-height:1.4;letter-spacing:.08em;margin-bottom:20px;text-align:center}.header-tab{position:relative;margin-bottom:50px;display:flex;flex-direction:column;align-items:flex-start;width:100%}.tab-label-container{background-color:#fff;color:#000;padding:6px 20px 4px;border-top-left-radius:4px;border-top-right-radius:4px;font-family:Montserrat,sans-serif;font-size:10px;font-weight:900;letter-spacing:.2em;text-transform:uppercase;border:2px solid #000000;border-bottom:none;line-height:1.2}.tab-heading{font-size:34px;font-weight:900;line-height:1.4;letter-spacing:.08em;border:2px solid #000000;padding:20px 30px;background-color:#fff;box-shadow:4px 4px #000;width:100%;margin-top:-2px}.header-hazard{position:relative;margin-bottom:60px}.hazard-label{font-size:11px;color:#000;font-family:Montserrat,sans-serif;font-weight:900;letter-spacing:.2em;text-transform:uppercase;display:block;margin-bottom:12px}.hazard-heading{font-size:36px;font-weight:900;line-height:1.4;letter-spacing:.08em;margin-bottom:16px}.hazard-stripe{width:100%;height:10px;background:repeating-linear-gradient(-45deg,#facc15,#facc15 10px,#000 10px 20px);border:2px solid #000000}@media(max-width:768px){.header-editorial{flex-direction:column;gap:15px;padding-left:20px;border-left-width:4px}.editorial-label{writing-mode:horizontal-tb}.editorial-heading{font-size:28px}.quote-heading{font-size:26px}.quote-mark-open{left:-20px;top:10px}.quote-mark-close{right:-20px;bottom:-10px}.gauge-heading{font-size:28px}.tab-heading{font-size:24px;padding:15px 20px}.hazard-heading{font-size:28px}}.workstyle-card{flex-shrink:0;width:100%;background-color:#fff;border:none;border-left:2px solid #000000;border-bottom:2px solid #000000;border-bottom-left-radius:16px;box-shadow:none;padding:40px 25px;display:flex;flex-direction:column;justify-content:flex-start;min-height:440px;transition:all .2s cubic-bezier(.2,.8,.2,1)}.workstyle-card.workstyle-card-hidden{display:none}.workstyle-card.workstyle-card-visible{display:flex!important;animation:fadeUp .6s cubic-bezier(.2,.8,.2,1) forwards}.workstyle-card:hover{transform:translate(-6px,-6px);box-shadow:6px 6px #000}.profile-section{background-color:#fff;padding:140px 10% 140px 15%}@media(max-width:968px){.profile-section{padding-left:10%}}.profile-inner{max-width:1000px;margin:0 auto}.contact-section{background-color:var(--main-color);background-image:var(--textureUrl);background-size:var(--textureSize, 20rem);background-repeat:repeat;background-blend-mode:overlay;padding:140px 10% 140px 15%}@media(max-width:968px){.contact-section{padding-left:10%}}.contact-inner{max-width:800px;margin:0 auto}.contact-form{background-color:#fff;border-left:2px solid #000000;border-bottom:2px solid #000000;border-bottom-left-radius:16px;padding:50px;margin-top:50px;box-shadow:none;transition:transform .3s ease,box-shadow .3s ease}.contact-form:hover{transform:translate(-6px,-6px);box-shadow:6px 6px #000}@media(max-width:768px){.contact-form{padding:30px 20px}}.form-group{margin-bottom:30px;display:flex;flex-direction:column;gap:10px}.form-group label{font-size:16px;font-weight:900;color:#000;display:flex;align-items:center;gap:10px}.form-group .required{font-size:11px;color:#fff;background-color:#ea580c;padding:2px 8px;border-radius:3px;font-weight:700}.form-group input[type=text],.form-group input[type=email],.form-group input[type=tel],.form-group select,.form-group textarea{width:100%;padding:15px 20px;font-size:15px;font-family:inherit;font-weight:700;border:2px solid #000000;border-radius:4px;background-color:#fff;color:#000;transition:border-color .2s ease,background-color .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#2563eb;background-color:#f8fafc}.form-consent{margin:40px 0;display:flex;align-items:center;gap:12px;font-size:14px;font-weight:700}.form-consent input[type=checkbox]{width:20px;height:20px;border:2px solid #000000;cursor:pointer}.consent-link{color:#2563eb;text-decoration:underline}.form-submit{display:flex;justify-content:center}.form-submit .pvc-btn{background-color:#000;color:#fff;border:1px solid #000000;border-radius:9999px;padding:16px 50px;font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:all .3s cubic-bezier(.2,.8,.2,1);display:inline-flex;align-items:center;gap:10px}.form-submit .pvc-btn:hover{background-color:#fff;color:#000}.form-submit .pvc-btn .arrow{transition:transform .3s ease}.form-submit .pvc-btn:hover .arrow{transform:translate(5px)}
