.wpcf7 .screen-reader-response{position:absolute;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;margin:-1px;padding:0;border:0;word-wrap:normal!important}.wpcf7 .hidden-fields-container{display:none}.wpcf7 form .wpcf7-response-output{margin:2em .5em 1em;padding:.2em 1em;border:2px solid #00a0d2}.wpcf7 form.init .wpcf7-response-output,.wpcf7 form.resetting .wpcf7-response-output,.wpcf7 form.submitting .wpcf7-response-output{display:none}.wpcf7 form.sent .wpcf7-response-output{border-color:#46b450}.wpcf7 form.failed .wpcf7-response-output,.wpcf7 form.aborted .wpcf7-response-output{border-color:#dc3232}.wpcf7 form.spam .wpcf7-response-output{border-color:#f56e28}.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.unaccepted .wpcf7-response-output,.wpcf7 form.payment-required .wpcf7-response-output{border-color:#ffb900}.wpcf7-form-control-wrap{position:relative}.wpcf7-not-valid-tip{color:#dc3232;font-size:1em;font-weight:400;display:block}.use-floating-validation-tip .wpcf7-not-valid-tip{position:relative;top:-2ex;left:1em;z-index:100;border:1px solid #dc3232;background:#fff;padding:.2em .8em;width:24em}.wpcf7-list-item{display:inline-block;margin:0 0 0 1em}.wpcf7-list-item-label::before,.wpcf7-list-item-label::after{content:" "}.wpcf7-spinner{visibility:hidden;display:inline-block;background-color:#23282d;opacity:.75;width:24px;height:24px;border:none;border-radius:100%;padding:0;margin:0 24px;position:relative}form.submitting .wpcf7-spinner{visibility:visible}.wpcf7-spinner::before{content:'';position:absolute;background-color:#fbfbfc;top:4px;left:4px;width:6px;height:6px;border:none;border-radius:100%;transform-origin:8px 8px;animation-name:spin;animation-duration:1000ms;animation-timing-function:linear;animation-iteration-count:infinite}@media (prefers-reduced-motion:reduce){.wpcf7-spinner::before{animation-name:blink;animation-duration:2000ms}}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes blink{from{opacity:0}50%{opacity:1}to{opacity:0}}.wpcf7 [inert]{opacity:.5}.wpcf7 input[type="file"]{cursor:pointer}.wpcf7 input[type="file"]:disabled{cursor:default}.wpcf7 .wpcf7-submit:disabled{cursor:not-allowed}.wpcf7 input[type="url"],.wpcf7 input[type="email"],.wpcf7 input[type="tel"]{direction:ltr}.wpcf7-reflection>output{display:list-item;list-style:none}.wpcf7-reflection>output[hidden]{display:none}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color:#0f172a;--accent-color:#1e3a8a;--text-dark:#1e293b;--text-light:#64748b;--bg-light:#f8fafc;--bg-gray:#e2e8f0;--white:#ffffff}body{font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN','Hiragino Sans',sans-serif;line-height:1.8;color:var(--text-dark);overflow-x:hidden}body.menu-open{overflow:hidden;position:fixed;width:100%;height:100vh}header{background:var(--primary-color);box-shadow:0 2px 10px rgb(0 0 0 / .3);position:relative;width:100%;transition:all 0.3s ease;z-index:9999}header.fixed{position:fixed;top:0;z-index:9999;animation:slideDown 0.3s ease}@keyframes slideDown{from{transform:translateY(-100%)}to{transform:translateY(0)}}.header-container{max-width:1400px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.logo{font-size:1.3rem;font-weight:700;color:var(--white);text-decoration:none;display:flex;align-items:center;white-space:nowrap}nav ul{list-style:none;display:flex;gap:2rem}nav a{color:var(--white);text-decoration:none;font-weight:500;transition:color 0.3s ease;position:relative}nav a::after{content:'';position:absolute;width:0;height:2px;bottom:-5px;left:50%;background:var(--accent-color);transition:all 0.3s ease}nav a:hover{color:var(--accent-color)}nav a:hover::after{width:100%;left:0}.mobile-menu{display:none;background:none;border:none;color:var(--white);font-size:1.5rem;cursor:pointer}footer{background:var(--primary-color);color:var(--white);padding:1.5rem 0;margin-top:0}.footer-bottom{text-align:center;opacity:.8}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.btn{padding:.875rem 2rem;border-radius:8px;font-weight:600;text-decoration:none;transition:all 0.3s ease;display:inline-flex;align-items:center;gap:.5rem}.btn-primary{background:var(--primary-color);color:var(--white);border:2px solid var(--primary-color)}.btn-primary:hover{background:var(--accent-color);border-color:var(--accent-color);transform:translateY(-2px);box-shadow:0 10px 20px rgb(30 58 138 / .3)}.btn-secondary{background:#fff0;color:var(--white);border:2px solid var(--white)}.btn-secondary:hover{background:var(--white);color:var(--primary-color)}.section-title{text-align:center;font-size:2.5rem;font-weight:700;color:var(--primary-color);margin-bottom:.5rem;position:relative;padding-bottom:1rem}.section-title::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:60px;height:3px;background:var(--accent-color)}.section-title-en{display:block;font-size:.875rem;color:var(--accent-color);font-weight:400;letter-spacing:.1em;margin-bottom:.5rem;text-transform:uppercase}.section-subtitle{text-align:center;color:var(--text-light);margin-bottom:3rem;font-size:1.1rem}@media (max-width:640px){.mobile-menu{display:block;width:44px;height:44px;display:flex;align-items:center;justify-content:center;margin-left:auto;position:relative;z-index:10000}.header-container{padding:.75rem 1rem;position:relative;justify-content:center}.logo{font-size:1rem;position:absolute;left:50%;transform:translateX(-50%)}nav{display:none;position:fixed;top:0;left:0;width:100vw;height:100vh;background:var(--primary-color);z-index:9998}nav.active{display:flex;justify-content:center;align-items:center}nav ul{display:flex;flex-direction:column;padding:2rem;gap:0;width:100%;max-width:500px;text-align:center;list-style:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}nav li{padding:0;width:100%}nav a{display:block;padding:1rem;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:1.3rem}}.wpcf7 .cf7-form-group{display:flex;flex-direction:column;margin-bottom:1.5rem}.wpcf7 .cf7-form-group label{color:var(--primary-color);font-weight:600;margin-bottom:.5rem;font-size:1rem}.wpcf7 .required{color:#ef4444}.wpcf7 .cf7-input,.wpcf7 .cf7-select,.wpcf7 .cf7-textarea{width:100%;padding:.8rem;border:1px solid #e5e7eb;border-radius:5px;font-size:1rem;transition:all 0.3s ease;font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN','Hiragino Sans',sans-serif;box-sizing:border-box}.wpcf7 .cf7-input:focus,.wpcf7 .cf7-select:focus,.wpcf7 .cf7-textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgb(15 23 42 / .1)}.wpcf7 .cf7-submit-wrapper{text-align:center;margin-top:2rem}.wpcf7 .cf7-submit{background:var(--primary-color);color:var(--white);border:2px solid var(--primary-color);padding:.875rem 2rem;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all 0.3s ease;display:inline-block}.wpcf7 .cf7-submit:hover{background:var(--accent-color);border-color:var(--accent-color);transform:translateY(-2px);box-shadow:0 10px 20px rgb(30 58 138 / .3)}.wpcf7 .wpcf7-response-output,.wpcf7-form .wpcf7-response-output,form.wpcf7-form .wpcf7-response-output{margin:2rem 0 0!important;padding:1rem!important;border-radius:8px!important;text-align:center!important;font-weight:600!important;color:#333!important;background:#f3f4f6!important;border:2px solid #e5e7eb!important}.wpcf7 form.sent .wpcf7-response-output,form.wpcf7-form.sent .wpcf7-response-output{background:#f0fdf4!important;color:#166534!important;border:2px solid #bbf7d0!important}.wpcf7 form.failed .wpcf7-response-output,form.wpcf7-form.failed .wpcf7-response-output{background:#fef2f2!important;color:#991b1b!important;border:2px solid #fecaca!important}.wpcf7 form.invalid .wpcf7-response-output,form.wpcf7-form.invalid .wpcf7-response-output{background:#fef2f2!important;color:#991b1b!important;border:2px solid #fecaca!important}.wpcf7 .wpcf7-not-valid-tip{color:#ef4444;font-size:.875rem;margin-top:.25rem;display:block}.wpcf7 .wpcf7-spinner{display:none}@media (max-width:768px){.wpcf7 .cf7-form-group{margin-bottom:1.2rem}.wpcf7 .cf7-form-group label{font-size:.95rem}.wpcf7 .cf7-input,.wpcf7 .cf7-select,.wpcf7 .cf7-textarea{font-size:16px;padding:.75rem}.wpcf7 .cf7-submit{width:100%;padding:1rem;font-size:1rem}}.hero{margin-top:0;padding-top:0;height:700px;background:var(--primary-color);position:relative;overflow:hidden;width:100%;max-width:100vw}.hero::before{content:'';position:absolute;top:0;left:80px;right:0;height:100%;background:#fff0;border-top-left-radius:50px;border-bottom-left-radius:50px;z-index:0}.hero-wrapper{padding:2rem;height:700px;position:relative}.hero-top{max-width:1200px;margin:0 auto 3rem;text-align:center;color:var(--primary-color)}.hero h1{font-size:3.5rem;font-weight:900;margin-bottom:1rem;animation:fadeInUp 1s ease;line-height:1.2}.hero .subtitle{font-size:1.5rem;opacity:.85;animation:fadeInUp 1s ease 0.2s both;line-height:1.6;color:var(--text-dark)}.hero-content{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 2fr 1fr;gap:2rem;align-items:center;position:relative;z-index:1}.hero-side{color:var(--text-dark)}.hero-side-left{text-align:right;padding-right:1rem}.hero-side-right{padding-left:1rem}.hero-side h3{font-size:1.25rem;margin-bottom:.5rem;color:var(--accent-color)}.hero-side p{font-size:.95rem;opacity:.85;line-height:1.6}.hero-image{background:var(--bg-light);padding:3rem;border-radius:50px;border:2px solid var(--bg-gray);display:flex;align-items:center;justify-content:center;height:300px;position:relative;animation:scaleIn 1s ease 0.4s both;z-index:2}.hero-image-content{text-align:center;color:var(--text-dark)}.hero-image-content i{font-size:5rem;color:var(--accent-color);margin-bottom:1.5rem}.hero-image-content h2{font-size:1.75rem;color:var(--primary-color);margin-bottom:1rem}.hero-image-content p{color:var(--text-light);font-size:1.1rem;margin-bottom:2rem}.hero-bottom{max-width:800px;margin:3rem auto 0;text-align:center}.hero-bottom p{color:var(--text-dark)}.hero-bg-slideshow{position:relative;width:100%;height:100%;max-width:100%;overflow:hidden}.hero-slide{position:absolute;top:-10px;left:-10px;width:calc(100% + 20px);height:calc(100% + 30px);opacity:0;transition:opacity 2s ease-in-out}.hero-slide.active{opacity:1}.hero-slide img{width:100%;height:100%;object-fit:cover;filter:blur(.5px) brightness(.8)}.hero-slide-overlay{position:absolute;bottom:60px;left:60px;color:#fff;z-index:2}.hero-slide-overlay h2{font-size:2.5rem;font-weight:900;margin-bottom:.5rem}.hero-slide-overlay p{font-size:1.1rem;opacity:.95}@keyframes slideInLeft{from{transform:translateX(-30px);opacity:0}to{transform:translateX(0);opacity:1}}.blue-bar{background:var(--primary-color);height:70px;width:100%;position:relative}.cta-buttons{display:flex;gap:1rem;animation:fadeInUp 1s ease 0.4s both}.about{padding:5rem 0;background:var(--white);overflow:hidden}.about-container{max-width:1400px;margin:0 auto;padding:0 2rem}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;margin-top:3rem;margin-left:-2rem;margin-right:-2rem;padding:0 2rem}.about-text h3{font-size:1.75rem;color:var(--primary-color);margin-bottom:1rem}.about-text p{line-height:1.8;margin-bottom:1.5rem;color:var(--text-dark)}.about-image{position:relative;margin-right:-4rem;border-radius:20px 0 0 20px;overflow:hidden;box-shadow:0 20px 40px rgb(0 0 0 / .1)}.about-image img{width:100%;height:auto;display:block}.strengths{padding:5rem 0;background:var(--bg-light)}.strengths-container{max-width:1200px;margin:0 auto;padding:0 2rem}.strengths-content{display:grid;grid-template-columns:200px 1fr;gap:4rem;margin-top:3rem}.strengths-title-vertical{position:sticky;top:100px;height:fit-content}.strengths-title-vertical h3{writing-mode:vertical-rl;font-size:2rem;color:var(--primary-color);font-weight:700;letter-spacing:.3em}.strengths-list{display:flex;flex-direction:column}.strength-item{padding:3rem 2rem;border-bottom:1px solid #e5e7eb;background:var(--white);opacity:0;transform:translateX(30px);transition:all 0.6s ease}.strength-item.show{opacity:1;transform:translateX(0)}.strength-item:last-child{border-bottom:none}.strength-item:hover{background:linear-gradient(to right,var(--bg-light),var(--white))}.strength-number{display:inline-block;width:60px;height:60px;background:var(--primary-color);color:var(--white);font-size:1.5rem;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}.strength-item h3{font-size:1.75rem;margin-bottom:.5rem;color:var(--primary-color);line-height:1.4}.strength-item .tag{display:inline-block;background:var(--bg-light);color:var(--primary-color);padding:.3rem 1rem;border-radius:20px;font-size:.85rem;font-weight:600;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.5px}.strength-item p{font-size:1.05rem;line-height:1.8;color:var(--text-dark);margin-bottom:1.5rem}.strength-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--primary-color);font-weight:600;text-decoration:none;transition:all 0.3s ease}.strength-link:hover{gap:1rem;color:var(--accent-color)}.strength-link i{transition:transform 0.3s ease}.strength-link:hover i{transform:translateX(5px)}.vertical-text-section{padding:5rem 0;background:var(--bg-light);overflow-x:hidden;overflow-y:visible;width:100%;max-width:100vw}.vertical-text-wrapper{position:relative;overflow-x:hidden;width:100%;max-width:100%}.carousel-nav,.carousel-dots{display:none}@media (max-width:1300px){.carousel-nav{display:flex!important;position:absolute;top:50%;transform:translateY(-50%);background:var(--primary-color);color:#fff;border:none;width:44px;height:44px;border-radius:50%;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:all 0.3s ease;box-shadow:0 4px 10px rgb(0 0 0 / .2)}.carousel-nav:hover{background:var(--accent-color);transform:translateY(-50%) scale(1.05)}.carousel-nav:active{transform:translateY(-50%) scale(.95)}.carousel-nav.prev{left:10px}.carousel-nav.next{right:10px}.carousel-nav i{font-size:1.2rem}.carousel-dots{display:flex!important;justify-content:center;gap:8px;margin-top:20px;padding:0 1rem}.carousel-dot{width:8px;height:8px;border-radius:50%;background:var(--bg-gray);border:none;cursor:pointer;transition:all 0.3s ease;position:relative;padding:0}.carousel-dot::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px}.carousel-dot.active{background:var(--primary-color);width:24px;border-radius:4px}}@media (min-width:1301px){.vertical-text-container{max-width:1400px;margin:0 auto;padding:50px 2rem;display:flex;justify-content:center;align-items:center;gap:10px;position:relative;perspective:1000px}.vertical-text-container .vertical-text-item:nth-child(1){z-index:1;transform:rotate(-5deg) translateY(-15px) translateX(-20px) translateZ(0)}.vertical-text-container .vertical-text-item:nth-child(2){z-index:3;transform:translateY(0) translateZ(10px);box-shadow:0 15px 40px rgb(0 0 0 / .12)}.vertical-text-container .vertical-text-item:nth-child(3){z-index:2;transform:rotate(5deg) translateY(-15px) translateX(20px) translateZ(0)}.vertical-text-item:hover{z-index:10!important;transform:translateY(-8px) rotate(0deg) translateX(0) scale(1.05) translateZ(20px)!important;box-shadow:0 25px 50px rgb(0 0 0 / .15)}}.vertical-text-container{display:flex;padding:50px 2rem;gap:10px;max-width:100%}.section-header{max-width:1400px;margin:0 auto;padding:0 2rem}.vertical-text-item{flex:0 0 400px;display:flex;gap:2rem;padding:3rem 2rem;background:var(--white);border-radius:15px;box-shadow:0 10px 30px rgb(0 0 0 / .1);position:relative;min-height:500px;transition:transform 0.4s cubic-bezier(.4,0,.2,1),box-shadow 0.4s cubic-bezier(.4,0,.2,1);cursor:pointer;will-change:transform;backface-visibility:hidden}.vertical-text-description{flex:1;writing-mode:vertical-rl;text-orientation:mixed;height:450px;display:flex;justify-content:flex-end;padding-right:2rem}.vertical-text-description p{line-height:1.8;color:var(--text-dark);font-size:1.05rem;letter-spacing:.08em}.tate-chu-yoko{text-combine-upright:all;-webkit-text-combine:horizontal;-ms-text-combine-horizontal:all;display:inline;font-weight:700;color:var(--primary-color);line-height:inherit;margin:0;padding:0;position:relative;top:0;left:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.vertical-text-right{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-left:1rem}.vertical-text-main{writing-mode:vertical-rl;font-size:1.4rem;font-weight:700;color:var(--primary-color);letter-spacing:.1em;line-height:1.5;height:400px;display:flex;align-items:center}.vertical-text-main br{content:"";margin:0;padding:0;display:block;height:1rem}.vertical-text-number{display:none}.vertical-divider{width:1px;height:250px;background:var(--primary-color);opacity:.2}.scroll-banner-container{margin-top:5rem;margin-bottom:3rem;position:relative;overflow:hidden;background:var(--primary-color);padding:2.5rem 0}.scroll-banner{position:relative;overflow:hidden;white-space:nowrap;margin:1.5rem 0}.scroll-banner:first-child{margin-top:0}.scroll-banner:last-child{margin-bottom:0}.scroll-content{display:inline-block;white-space:nowrap;padding-right:50px}.scroll-left .scroll-content{animation:scrollLeft 60s linear infinite}.scroll-right .scroll-content{animation:scrollRight 70s linear infinite}@keyframes scrollLeft{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}@keyframes scrollRight{0%{transform:translateX(-50%)}100%{transform:translateX(0)}}.scroll-item{display:inline-block;padding:.5rem 2rem;margin:0 1rem;background:rgb(255 255 255 / .1);color:var(--white);border-radius:25px;font-weight:600;font-size:1rem;letter-spacing:.05em;border:1px solid rgb(255 255 255 / .2);transition:all 0.3s ease}.scroll-item i{margin-left:.5rem;color:#60a5fa;font-size:1.1rem;text-shadow:0 0 10px rgb(96 165 250 / .5)}.scroll-item:hover{background:rgb(255 255 255 / .2);transform:scale(1.05)}.services-overview{padding:5rem 0;background:var(--white)}.services-container{max-width:1200px;margin:0 auto;padding:0 2rem}.service-item{display:grid;grid-template-columns:1fr 400px;gap:3rem;align-items:center;margin-bottom:2rem;margin-top:1rem;padding:0;background:linear-gradient(135deg,#ffffff,#f8f9fa);border:1px solid #e5e7eb;border-radius:10px;transition:all 0.3s ease;overflow:visible;position:relative}.service-item:hover{background:#fff;border-color:var(--primary-color);transform:scale(1.02)}.service-content{padding:3rem}.item-badge{position:absolute;top:-15px;left:2rem;background:var(--primary-color);color:#fff;padding:.5rem 1.5rem;border-radius:20px;font-weight:700;font-size:1.1rem;z-index:1}.item-title{font-size:1.6rem;color:var(--primary-color)!important;margin-bottom:.5rem;margin-top:3rem}.item-tag{display:inline-block;color:#666;font-size:.9rem;font-style:italic;margin-bottom:1rem}.item-text{color:#666;line-height:1.8;margin-bottom:2rem}.item-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--primary-color);text-decoration:none;font-weight:600;border:2px solid var(--primary-color);padding:.8rem 1.5rem;border-radius:5px;transition:all 0.3s ease}.item-link:hover{background:var(--primary-color);color:#fff;gap:1rem}.service-text h3{font-size:1.75rem;color:var(--primary-color);margin-bottom:1rem}.service-text p{line-height:1.8;color:var(--text-dark);margin-bottom:1rem}.service-image{width:400px;height:100%;min-height:400px;border-radius:0 10px 10px 0;overflow:hidden}.service-image img{width:100%;height:100%;object-fit:cover;display:block}.company-info{padding:5rem 2rem;background:var(--white)}.company-container{max-width:1400px;margin:0 auto;padding:0 2rem}.company-card{background:var(--white);border-radius:15px;box-shadow:0 5px 20px rgb(0 0 0 / .05);padding:3rem;margin-top:3rem}.company-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem}.company-table table{width:100%;border-collapse:collapse}.company-table th,.company-table td{padding:1rem;border-bottom:1px solid #e5e7eb;text-align:left}.company-table th{background:var(--bg-light);color:var(--primary-color);font-weight:600;width:30%}.company-table td{color:var(--text-dark)}.company-map h3{font-size:1.5rem;color:var(--primary-color);margin-bottom:1.5rem}.map-container{margin-bottom:2rem;border-radius:10px;overflow:hidden;box-shadow:0 2px 10px rgb(0 0 0 / .1)}.access-info{background:var(--bg-light);padding:1.5rem;border-radius:10px}.access-info h4{color:var(--primary-color);margin-bottom:1rem;font-size:1.2rem}.access-info ul{list-style:none;padding:0}.access-info li{padding-left:1.5rem;position:relative;margin-bottom:.5rem;color:var(--text-dark)}.access-info li::before{content:'▶';position:absolute;left:0;color:var(--accent-color)}.contact-section{padding:5rem 2rem;background:var(--primary-color);color:var(--white);text-align:center}.contact-content h2{font-size:2.5rem;margin-bottom:1rem;color:var(--white)}.contact-content p{font-size:1.25rem;margin-bottom:2rem;opacity:.95}.cta-phone{margin:3rem 0;text-align:center}.phone-link{display:inline-flex;align-items:center;gap:1rem;background:var(--white);color:var(--primary-color);padding:1.5rem 3rem;border-radius:50px;text-decoration:none;font-size:2rem;font-weight:700;transition:all 0.3s ease;box-shadow:0 5px 20px rgb(0 0 0 / .2)}.phone-link:hover{transform:translateY(-5px);box-shadow:0 10px 30px rgb(0 0 0 / .3)}.phone-hours{margin-top:1rem;font-size:.9rem;opacity:.9}.contact-form{background:var(--white);padding:3rem;border-radius:10px;max-width:1400px;margin:0 auto}.contact-form h3{color:var(--primary-color);margin-bottom:2rem;font-size:1.5rem}.contact-section .wpcf7-response-output{color:#333!important}.contact-section .wpcf7 form.sent .wpcf7-response-output{color:#166534!important}.contact-section .wpcf7 form.failed .wpcf7-response-output,.contact-section .wpcf7 form.invalid .wpcf7-response-output{color:#991b1b!important}@media (max-width:1300px) and (min-width:769px){.hero-slide-overlay{left:50%!important;transform:translate(-50%,-50%)!important}.hero-slide-overlay h2{font-size:2.5rem!important}.hero-slide-overlay p{font-size:1.2rem!important}.hero h1{font-size:2.75rem}.hero .subtitle{font-size:1.3rem}.section-title{font-size:2rem}.about,.strengths,.services-overview,.company-info{padding:4rem 2rem}.about-content{gap:3rem}.company-card{padding:2rem}.company-content{display:flex!important;flex-direction:column!important;grid-template-columns:none!important;gap:2.5rem}.company-table,.company-map{width:100%!important}.company-table table,.company-table tbody,.company-table tr{display:block;width:100%}.company-table tr{margin-bottom:1rem;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;background:#fff;box-shadow:0 2px 4px rgb(0 0 0 / .05)}.company-table th,.company-table td{display:block;width:100%;padding:.75rem;border:none;text-align:left}.company-table th{background:var(--primary-color)!important;color:white!important;font-size:.95rem;font-weight:600;margin-bottom:0}.company-table td{background:#fff;color:var(--text-dark);font-size:.95rem;padding-top:.5rem}.company-map h3{font-size:1.25rem;margin-bottom:1rem}.map-container{height:320px}.access-info{padding:1rem}.access-info h4{font-size:1.1rem}.access-info li{font-size:.9rem}.service-item{display:flex!important;flex-direction:column!important;grid-template-columns:none!important;margin-bottom:1.5rem}.service-content{padding:2.5rem 1.5rem;order:2}.item-badge{font-size:1.05rem;padding:.45rem 1.3rem;top:-12px;left:1.5rem}.item-title{font-size:1.5rem;margin-top:2.5rem}.item-tag{font-size:.85rem}.item-text{font-size:1rem;margin-bottom:1.75rem}.item-link{padding:.7rem 1.3rem;font-size:.95rem}.service-image{width:100%!important;height:280px;min-height:280px;border-radius:10px 10px 0 0;order:1}.service-item:hover{transform:scale(1.01)}}@media (max-width:768px){.hero{height:300px!important;min-height:300px!important}.hero-wrapper{height:300px!important;min-height:300px!important;padding:2rem 1rem}.hero::before{display:none}.hero-bg-slideshow{left:0!important;right:0!important;top:0!important;bottom:0!important;border-radius:0!important}.hero-slide-overlay{padding:2rem 1rem!important}.hero-slide-overlay h2{font-size:1.8rem!important;font-weight:600!important;margin-bottom:0.8rem!important;text-shadow:2px 2px 4px rgb(0 0 0 / .7),0 0 15px rgb(0 0 0 / .4)!important;white-space:normal!important}.hero-slide-overlay p{font-size:0.95rem!important;font-weight:400!important;text-shadow:1px 1px 3px rgb(0 0 0 / .7),0 0 10px rgb(0 0 0 / .4)!important;white-space:normal!important}.hero-slide-overlay div{width:50px!important;height:2px!important;margin:1rem auto!important}.hero h1{font-size:2rem;line-height:1.3;letter-spacing:.02em}.hero .subtitle{font-size:1.1rem;line-height:1.4}.section-title{font-size:1.75rem;line-height:1.3;margin-bottom:.5rem}.section-subtitle{font-size:.95rem;line-height:1.5;margin-bottom:2rem}h2{font-size:1.75rem}h3{font-size:1.5rem}h4{font-size:1.25rem}body{font-size:1rem;line-height:1.6}p{line-height:1.6}.about-text p,.strength-item p,.item-text{font-size:1rem;line-height:1.6}.section-title-en,.item-tag,.phone-hours{font-size:.75rem}.about,.strengths,.vertical-text-section,.services-overview,.company-info,.contact-section{padding:3rem 1rem}.about-container,.strengths-container,.services-container,.company-container{padding:0 1rem}.header-container{padding:1rem}.about-content{display:grid!important;grid-template-columns:1fr!important;gap:2rem!important;margin:2rem 0 0;padding:0}.about-message,.about-csr{width:100%}.about-text{order:2;padding:0 1rem}.about-text h3{font-size:1.5rem;margin-bottom:.75rem}.about-text p{font-size:.95rem;margin-bottom:1rem}.about-image{order:1;margin-right:0;margin-left:0;border-radius:0}.about-message h3,.about-csr h3{text-align:center!important}.ceo-signature{text-align:center!important;margin-bottom:2rem!important}.vertical-text-section{padding:3rem 0;overflow-x:hidden;overflow-y:visible;position:relative;width:100%;max-width:100vw}.vertical-text-wrapper{position:relative;overflow-x:hidden;overflow-y:visible;margin:0;padding:30px 0;width:100%;max-width:100%}.vertical-text-container{display:flex;flex-direction:row;gap:15px;transition:transform 0.3s ease;padding:0;perspective:none;max-width:none;justify-content:flex-start;will-change:transform}.vertical-text-item{flex:0 0 85vw;transform:none!important;margin:0!important;max-width:350px;min-height:450px;padding:2.5rem 1.5rem;box-shadow:0 10px 30px rgb(0 0 0 / .1);opacity:1;transition:opacity 0.3s ease,box-shadow 0.3s ease;z-index:auto}.vertical-text-item:active{box-shadow:0 5px 20px rgb(0 0 0 / .15)}.vertical-text-main{writing-mode:vertical-rl;height:350px;font-size:1.3rem;line-height:1.5;margin-bottom:0}.vertical-text-description{writing-mode:vertical-rl;height:400px;padding-right:1.5rem;padding-bottom:0}.vertical-text-description p{font-size:.95rem;line-height:1.7;letter-spacing:.05em}.vertical-divider{display:block;width:1px;height:200px;background:var(--primary-color);opacity:.2;margin:0 1rem}.carousel-nav{display:flex!important;position:absolute;top:50%;transform:translateY(-50%);background:var(--primary-color);color:#fff;border:none;width:40px;height:40px;border-radius:50%;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:all 0.3s ease;box-shadow:0 4px 10px rgb(0 0 0 / .2)}.carousel-nav:active{transform:translateY(-50%) scale(.95)}.carousel-nav.prev{left:-15px}.carousel-nav.next{right:-15px}.carousel-nav i{font-size:1.2rem}.carousel-dots{display:flex!important;justify-content:center;gap:8px;margin-top:20px;padding:0 1rem}.carousel-dot{width:8px;height:8px;border-radius:50%;background:var(--bg-gray);border:none;cursor:pointer;transition:all 0.3s ease;position:relative;padding:0}.carousel-dot::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px}.carousel-dot.active{background:var(--primary-color);width:24px;border-radius:4px}.mobile-menu{display:block}nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--primary-color);box-shadow:0 5px 10px rgb(0 0 0 / .2)}.scroll-banner-container{margin-top:2rem;margin-bottom:1.5rem;padding:1.5rem 0}.scroll-item{font-size:.85rem;padding:.4rem 1.2rem;margin:0 .5rem}.scroll-item i{font-size:.95rem}.scroll-left .scroll-content{animation-duration:40s}.scroll-right .scroll-content{animation-duration:45s}.service-item{grid-template-columns:1fr;padding:0;flex-direction:column;margin-bottom:2rem}.service-content{padding:2rem 1.5rem;order:2}.service-image{width:100%;height:250px;min-height:250px;border-radius:10px 10px 0 0;order:1}.item-badge{font-size:1rem;padding:.4rem 1.2rem;left:1.5rem}.item-title{font-size:1.4rem;margin-top:2rem}.company-card{padding:0!important;margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);width:100vw;border-radius:0!important;box-shadow:none!important}.company-content{display:flex!important;flex-direction:column!important;grid-template-columns:none!important;gap:2.5rem;padding:2rem 1rem}.company-table,.company-map{width:100%!important}.company-table table,.company-table tbody,.company-table tr{display:block;width:100%}.company-table tr{margin-bottom:1rem;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;background:#fff;box-shadow:0 2px 4px rgb(0 0 0 / .05)}.company-table th,.company-table td{display:block;width:100%;padding:.75rem;border:none;text-align:left}.company-table th{background:var(--primary-color)!important;color:white!important;font-size:.95rem;font-weight:600;margin-bottom:0}.company-table td{background:#fff;color:var(--text-dark);font-size:.95rem;padding-top:.5rem}.company-map h3{font-size:1.25rem;margin-bottom:1rem}.map-container{height:320px}.access-info{padding:1rem}.access-info h4{font-size:1.1rem}.access-info li{font-size:.9rem}.contact-content h2{font-size:1.75rem}.contact-content p{font-size:1rem}.phone-link{font-size:1.5rem;padding:1rem 2rem}.contact-form{padding:2rem 1.5rem}}@media (max-width:375px){.hero{height:300px!important;min-height:300px!important}.hero-wrapper{height:300px!important;min-height:300px!important;padding:1.5rem .75rem}.section-title{font-size:1.5rem}.hero-slide-overlay h2{font-size:1.5rem!important}.hero-slide-overlay p{font-size:0.85rem!important}.vertical-text-item{min-height:400px;padding:2rem 1rem}.vertical-text-main{height:300px;font-size:1.1rem}.vertical-text-description{height:350px}.phone-link{font-size:1.2rem;padding:.8rem 1.5rem}}@media (hover:none) and (pointer:coarse){.service-item:hover{transform:none;background:linear-gradient(135deg,#ffffff,#f8f9fa)}.vertical-text-item:hover{transform:none!important;box-shadow:0 10px 30px rgb(0 0 0 / .1)}.strength-link:hover{gap:.5rem}.item-link:hover{gap:.5rem}}.cta-phone{margin:3rem 0;text-align:center}.phone-link{display:inline-flex;align-items:center;gap:1rem;background:var(--white);color:var(--primary-color);padding:1.5rem 3rem;border-radius:50px;text-decoration:none;font-size:2rem;font-weight:700;transition:all 0.3s ease;box-shadow:0 5px 20px rgb(0 0 0 / .2)}.phone-link:hover{transform:translateY(-5px);box-shadow:0 10px 30px rgb(0 0 0 / .3)}.phone-hours{margin-top:1rem;font-size:.9rem;opacity:.9;color:var(--white)}.contact-form h3{color:var(--primary-color);margin-bottom:2rem;font-size:1.5rem}.gallery-wrapper{width:100%;margin:3rem 0 2rem;overflow:hidden}.gallery-swiper{width:100%}.gallery-swiper .swiper-wrapper{transition-timing-function:linear}.gallery-swiper .swiper-slide{width:400px;height:300px}.gallery-swiper .swiper-slide img{width:100%;height:100%;object-fit:cover}@media (max-width:768px){.phone-link{font-size:1.5rem;padding:1.2rem 2rem}.gallery-swiper .swiper-slide{width:300px;height:225px}}