@import"https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;700&family=Noto+Sans+JP:wght@400;500;700&display=swap";.mobile-contact-link{background-color:var(--color-accent);border-color:var(--color-accent);box-shadow:0 2px 4px #0000001a}.header{position:fixed;top:0;left:0;width:100%;z-index:1000;transition:all .4s ease;height:90px;display:flex;align-items:center;background-color:#f5f5f5;box-shadow:0 2px 10px #0000000d}.header-container{display:flex;justify-content:space-between;align-items:center;width:100%;padding:0;max-width:100%;margin:0}.header.header-transparent{background-color:transparent;box-shadow:none}.header.header-transparent .nav-item a{color:var(--color-white)}.header.header-transparent .nav-jp{color:var(--color-white);text-shadow:0 1px 3px rgba(0,0,0,.5)}.header.header-transparent .nav-en{color:#ffffffb3;text-shadow:0 1px 3px rgba(0,0,0,.5)}.header.header-transparent .nav-item a:after{background-color:var(--color-white)}.header.header-transparent .hamburger span{background:var(--color-white);box-shadow:0 1px 2px #0000004d}.header.header-transparent .contact-link{background-color:var(--color-accent);color:var(--color-white);border:1px solid rgba(255,255,255,.7);box-shadow:0 2px 4px #0003}.header.header-transparent .company-prefix{color:var(--color-white);text-shadow:0 1px 3px rgba(0,0,0,.5)}.header.header-transparent .company-name-container{border-bottom:1px solid rgba(255,255,255,.5)}.header.header-scrolled{background-color:var(--color-dark-gray);box-shadow:0 2px 10px #0000001a}.header.header-non-home{background-color:transparent;box-shadow:none}.header.header-non-home .nav-jp{color:var(--color-white);text-shadow:0 1px 3px rgba(0,0,0,.5)}.header.header-non-home .nav-en{color:#ffffffb3;text-shadow:0 1px 3px rgba(0,0,0,.5)}.header.header-non-home .nav-item a:after{background-color:var(--color-white)}.header.header-non-home .hamburger span{background:var(--color-white);box-shadow:0 1px 2px #0000004d}.header.header-non-home .company-prefix{color:var(--color-white);text-shadow:0 1px 3px rgba(0,0,0,.5)}.header.header-non-home .company-name-container{border-bottom:1px solid rgba(255,255,255,.5)}.header.header-non-home .contact-link{background-color:var(--color-accent);color:var(--color-white);border:1px solid rgba(255,255,255,.7);box-shadow:0 2px 4px #0003}.header.header-scrolled .nav-jp,.header.header-scrolled .nav-en{color:var(--color-dark-gray);text-shadow:0 1px 3px rgba(0,0,0,.5)}.header.header-scrolled .nav-item a:after{background-color:var(--color-white)}.header.header-scrolled .hamburger span{background:var(--color-white);box-shadow:0 1px 2px #0000004d}.header.header-scrolled .contact-link{background-color:var(--color-accent);color:var(--color-dark-gray);border:1px solid var(--color-accent);box-shadow:0 2px 4px #0000001a}.header.header-scrolled .company-prefix{color:var(--color-dark-gray);text-shadow:0 1px 3px rgba(0,0,0,.5)}.header.header-scrolled .company-name-container{border-bottom:1px solid rgba(255,255,255,.5)}.logo{z-index:1001;display:flex;align-items:center;justify-content:flex-start;min-width:240px;height:90px;padding-left:20px}.logo a{display:flex;align-items:center;justify-content:flex-start;text-decoration:none;height:100%}.company-text-logo{display:flex;align-items:center;justify-content:flex-start;transition:all .3s ease;font-family:var(--font-mincho);text-transform:none;line-height:1.2}.company-name-container{display:flex;align-items:center;justify-content:flex-start;border-bottom:1px solid rgba(46,204,113,.3);padding-bottom:.2rem}.company-prefix{font-size:2rem;font-weight:500;letter-spacing:.05em;color:var(--color-white);white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.4)}.logo a:hover .company-text-logo{opacity:.85;transform:scale(1.02)}.logo a:hover .company-name-container{border-bottom-color:var(--color-accent)}.main-nav{display:none;flex:1;justify-content:center;padding:0 10px;margin-left:40px}.nav-list{display:flex;list-style:none;gap:5%;margin:0;padding:0;justify-content:space-between;width:100%;max-width:800px}.nav-item{position:relative}.nav-item a{position:relative;transition:color .3s ease;padding:.5rem 0;display:inline-block;font-family:var(--font-mincho);text-decoration:none}.nav-text{display:flex;flex-direction:column;align-items:center;line-height:1.2}.nav-jp{font-weight:600;font-size:1.15rem;color:var(--color-white);margin-bottom:.2rem;text-shadow:0 1px 3px rgba(0,0,0,.5)}.nav-en{font-size:.7rem;color:#ffffffb3;font-family:var(--font-sans);letter-spacing:.05em;font-weight:500;text-shadow:0 1px 3px rgba(0,0,0,.5)}.nav-item a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background-color:var(--color-white);transition:width .3s ease}.nav-item a:hover:after{width:100%}.nav-item a:hover .nav-jp{color:var(--color-accent)}.contact-button-container{margin-left:1.5rem;flex-shrink:0;width:240px;display:flex;justify-content:center;padding-right:20px}.contact-link{display:inline-block;padding:12px 24px;border-radius:4px;font-weight:600;font-size:1.1rem;transition:all .3s ease;white-space:nowrap;background-color:var(--color-accent);color:var(--color-white);border:1px solid var(--color-accent);font-family:var(--font-mincho);letter-spacing:.05em;text-decoration:none}.contact-link:hover{background-color:var(--color-accent-dark);transform:translateY(-2px);box-shadow:0 4px 8px #0000001a;color:var(--color-white)}.mobile-menu-toggle{display:block;z-index:1001;cursor:pointer}.hamburger{width:30px;height:22px;position:relative;transform:rotate(0);transition:.5s ease-in-out}.hamburger span{display:block;position:absolute;height:2px;width:100%;border-radius:1px;opacity:1;left:0;transform:rotate(0);transition:.25s ease-in-out;background:var(--color-white);box-shadow:0 1px 2px #0000004d}.hamburger span:nth-child(1){top:0}.hamburger span:nth-child(2){top:9px}.hamburger span:nth-child(3){top:18px}.hamburger.active span:nth-child(1){top:9px;transform:rotate(135deg)}.hamburger.active span:nth-child(2){opacity:0;left:-60px}.hamburger.active span:nth-child(3){top:9px;transform:rotate(-135deg)}.mobile-menu{position:fixed;top:0;right:-100%;width:100%;height:100vh;background-color:#f5f5f5fa;z-index:1000;transition:right .3s ease;display:flex;justify-content:center;align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);overflow-y:auto;padding:80px 20px 20px}.mobile-menu.open{right:0}.mobile-nav-list{list-style:none;padding:0;margin:0;text-align:center;width:100%}.mobile-nav-item{margin-bottom:1rem}.mobile-nav-item a{font-weight:500;color:var(--color-black);transition:color .3s ease;position:relative;display:inline-block;padding:.3rem 0;font-family:var(--font-mincho);letter-spacing:.05em;text-decoration:none}.mobile-nav-text{display:flex;flex-direction:column;align-items:center}.mobile-nav-jp{font-size:1rem;color:var(--color-black);margin-bottom:.1rem}.mobile-nav-en{font-size:.6rem;color:var(--color-gray);font-family:var(--font-sans);letter-spacing:.05em}.mobile-nav-item a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background-color:var(--color-accent);transition:width .3s ease}.mobile-nav-item a:hover .mobile-nav-jp{color:var(--color-accent)}.mobile-nav-item a:hover:after{width:100%}.contact-mobile-item{margin-top:1.5rem}.contact-mobile-item .contact-link{padding:.6rem 1.5rem;font-size:.9rem;display:inline-block}@media (min-width: 992px){.mobile-menu-toggle{display:none}.main-nav{display:flex}.mobile-menu{display:none}.contact-button-container{display:flex}}@media (max-width: 991px){.logo{min-width:auto;width:auto;flex:1;padding-left:15px}.contact-button-container{display:none!important}.company-prefix{font-size:1.6rem}.mobile-menu-toggle{padding-right:15px}}@media (min-width: 1200px){.nav-list{max-width:1000px}.nav-jp{font-size:1.25rem}.nav-en{font-size:.75rem}}@media (max-width: 991px) and (min-width: 768px){.company-prefix{font-size:1.5rem}}@media (max-width: 767px){.logo{padding-left:10px}.company-prefix{font-size:1.3rem}.header{height:70px}}@media (max-width: 360px){.logo{padding-left:5px}.company-prefix{font-size:1.1rem}.header{height:60px}.hamburger{width:25px;height:18px}.hamburger span:nth-child(2){top:8px}.hamburger span:nth-child(3){top:16px}.hamburger.active span:nth-child(1),.hamburger.active span:nth-child(3){top:8px}}.cookie-consent{position:fixed;bottom:0;left:0;right:0;background-color:#000000e6;color:#fff;z-index:10000;padding:15px;box-shadow:0 -2px 10px #0003;font-family:var(--font-sans)}.cookie-content{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:10px;padding:10px}.cookie-header{width:100%;display:flex;justify-content:space-between;align-items:center}.cookie-header h3{margin:0;font-size:1.2rem;font-family:var(--font-mincho);letter-spacing:.05em}.close-button{background:none;border:none;color:#adb5bd;font-size:1.5rem;cursor:pointer;padding:0;line-height:1;transition:color .3s ease}.close-button:hover{color:#fff}.cookie-content p{margin:0;text-align:center;line-height:1.5;font-size:.95rem}.privacy-link{color:#2ecc71;text-decoration:underline;transition:color .3s ease}.privacy-link:hover{color:#27ae60}.cookie-buttons{display:flex;gap:10px;margin-top:10px;width:100%;justify-content:center}.accept-all-button,.accept-selected-button,.settings-button,.decline-button{padding:8px 20px;border:none;border-radius:0;cursor:pointer;font-weight:700;transition:background-color .3s ease;font-family:var(--font-mincho);letter-spacing:.05em;white-space:nowrap}.accept-all-button{background-color:#2ecc71;color:#fff}.accept-all-button:hover{background-color:#27ae60}.accept-selected-button{background-color:#1971c2;color:#fff}.accept-selected-button:hover{background-color:#1864ab}.settings-button{background-color:#495057;color:#fff}.settings-button:hover{background-color:#343a40}.decline-button{background-color:#868e96;color:#fff}.decline-button:hover{background-color:#495057}.cookie-details{width:100%;max-width:800px;background-color:#202020e6;padding:15px;border-radius:0;margin:10px 0}.cookie-option{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #3d3d3d}.cookie-option:last-child{border-bottom:none;margin-bottom:0}.cookie-label{display:flex;align-items:center;cursor:pointer;margin-bottom:5px}.cookie-label input[type=checkbox]{margin-right:10px;cursor:pointer}.cookie-label input[type=checkbox]:disabled{cursor:not-allowed}.cookie-type{font-weight:700;font-family:var(--font-mincho)}.cookie-description{margin:0;padding-left:25px;font-size:.9rem;color:#adb5bd}@media (max-width: 768px){.cookie-content{padding:10px 15px}.cookie-buttons{flex-direction:column;width:100%;max-width:300px}.accept-all-button,.accept-selected-button,.settings-button,.decline-button{width:100%;padding:10px;margin-bottom:5px;font-size:.9rem}}@media (max-width: 480px){.cookie-consent{padding:10px 5px}.cookie-header h3{font-size:1.1rem}.cookie-content p{font-size:.85rem}.cookie-buttons{max-width:250px}.accept-all-button,.accept-selected-button,.settings-button,.decline-button{font-size:.85rem;padding:8px}}.cookie-settings-button{background:none;border:none;color:#2ecc71;text-decoration:underline;cursor:pointer;padding:5px;font-size:.9rem;font-family:var(--font-sans);z-index:10;position:relative}.cookie-settings-button:hover{color:#27ae60}.footer{background-color:var(--color-washi);color:var(--color-black);padding:3rem 0 2rem;position:relative;overflow:visible;border-top:1px dashed #ccc}.footer-pattern{position:absolute;top:0;left:0;width:100%;height:8px;background-image:url("data:image/svg+xml,%3Csvg width='120' height='8' viewBox='0 0 120 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 4 L 120 4' stroke='%232ecc71' stroke-width='1' stroke-dasharray='8 8' /%3E%3C/svg%3E");background-repeat:repeat-x}.footer a{color:var(--color-dark-gray);transition:color .3s ease}.footer a:hover{color:var(--color-accent)}.footer-content{display:flex;flex-direction:column;gap:2rem;margin-bottom:3rem}.footer-title{font-size:1.5rem;margin-bottom:1rem;font-family:var(--font-mincho);letter-spacing:.05em;color:var(--color-black);position:relative;display:inline-block;padding-bottom:.5rem}.footer-title:after{content:"";position:absolute;bottom:0;left:0;width:50%;height:1px;background-color:var(--color-accent)}.footer-address{font-style:normal;line-height:1.6;margin-bottom:1rem;font-size:.95rem}.footer-address a{color:var(--color-accent);font-weight:500}.footer-nav-container{display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between}.footer-nav{flex:1;min-width:300px}.footer-nav-title{font-size:1.1rem;margin-bottom:1rem;position:relative;padding-bottom:.5rem;font-family:var(--font-mincho);letter-spacing:.03em;color:var(--color-black)}.footer-nav-title:after{content:"";position:absolute;bottom:0;left:0;width:40px;height:1px;background-color:var(--color-accent)}.footer-nav-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:1rem 2rem}.footer-nav-item{font-size:.95rem;position:relative}.footer-nav-item a{position:relative;display:inline-block;padding:.3rem 0;transition:color .3s ease;font-family:var(--font-sans)}.footer-nav-item a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background-color:var(--color-accent);transition:width .3s ease}.footer-nav-item a:hover:after{width:100%}.footer-contact-box{flex:0 0 auto;display:flex;align-items:flex-start;margin-top:2rem}.footer-mini-contact-card{display:flex;flex-direction:column;gap:.7rem;background-color:#fff;padding:1.2rem 1.5rem;min-width:240px;position:relative;border:1px solid var(--color-accent)}.footer-mini-contact-card:before{content:"";position:absolute;top:5px;left:5px;right:5px;bottom:5px;border:1px solid var(--color-accent);pointer-events:none}.mini-contact-item{display:flex;align-items:flex-start;color:var(--color-dark-gray);text-decoration:none;transition:all .3s ease;padding:.2rem 0;border-radius:0;position:relative;z-index:1}.mini-contact-item:hover{color:var(--color-accent)}.mini-contact-icon{margin-right:.5rem;font-size:1rem;color:var(--color-accent);margin-top:.2rem}.mini-contact-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.3}.mini-contact-main{font-size:.9rem;font-weight:500;margin-bottom:.2rem}.mini-contact-sub{font-size:.8rem;opacity:.8}.footer-bottom{padding-top:2rem;border-top:1px solid rgba(0,0,0,.1);display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1.5rem}.footer-left{flex:1;min-width:280px}.footer-policy-links{display:flex;gap:1.5rem;font-size:.9rem;flex-wrap:wrap;margin-bottom:1rem}.footer-policy-links a,.footer-policy-links .footer-cookie-button{position:relative;display:inline-block;padding:.3rem 0;color:var(--color-dark-gray);background:none;border:none;cursor:pointer;font-size:.9rem;text-decoration:none}.footer-policy-links a:after,.footer-policy-links .footer-cookie-button:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background-color:var(--color-accent);transition:width .3s ease}.footer-policy-links a:hover:after,.footer-policy-links .footer-cookie-button:hover:after{width:100%}.copyright{font-size:.85rem;opacity:.8;font-family:var(--font-mincho);letter-spacing:.03em;margin:0}@media (min-width: 992px){.footer-content{flex-direction:row;justify-content:space-between}.footer-info{flex:1}.footer-nav-container{flex:2;flex-direction:row;justify-content:space-between}}@media (max-width: 768px){.footer-nav-list{grid-template-columns:1fr}.footer-contact-box{width:100%;justify-content:center;margin-top:2rem}.footer-bottom{flex-direction:column;align-items:center;text-align:center}.footer-left{display:flex;flex-direction:column;align-items:center;width:100%}.footer-policy-links{justify-content:center}}@media (max-width: 480px){.footer-policy-links{flex-direction:column;align-items:center;gap:.5rem}.footer-mini-contact-card{padding:1rem 1.2rem;width:100%;max-width:300px}.mini-contact-icon{font-size:.9rem}.mini-contact-main{font-size:.85rem}.mini-contact-sub{font-size:.75rem}}.faq-chatbot-container{position:fixed;bottom:20px;right:20px;z-index:1000;font-family:sans-serif}.faq-chatbot-trigger{display:flex;align-items:center;justify-content:center;width:auto;min-width:180px;height:50px;padding:0 20px;background-color:#2ecc71;color:#fff;border-radius:4px;box-shadow:0 4px 8px #0003;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;border:none;font-size:15px;font-weight:600;font-family:Shippori Mincho,"Noto Serif JP",serif}.faq-chatbot-trigger:hover{background-color:#27ae60;transform:translateY(-2px);box-shadow:0 6px 12px #00000026}.faq-chatbot-trigger-icon{margin-right:8px;width:20px;height:20px}.faq-chatbot-dialog{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1100;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s}.faq-chatbot-dialog.open{opacity:1;visibility:visible}.faq-chat-box{width:90%;max-width:500px;height:80vh;max-height:600px;background-color:#fff;border-radius:4px;box-shadow:0 8px 16px #0000001a;display:flex;flex-direction:column;overflow:hidden;position:relative;animation:slideUp .3s ease forwards}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.faq-chat-header{background-color:#fff;color:#333;padding:15px;display:flex;justify-content:space-between;align-items:center;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom:1px solid #f2f2f2}.faq-chat-title{display:flex;flex-direction:column;flex-grow:1;text-align:center}.faq-chat-title h3{margin:0;font-family:Shippori Mincho,"Noto Serif JP",serif;font-size:1.2rem;color:#333;width:100%;text-align:center}.faq-chat-title p{margin:5px 0 0;font-size:.85rem;opacity:.9;width:100%;text-align:center;color:#666}.faq-chat-close{background:none;border:none;color:#666;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;width:30px;height:30px;transition:all .2s;position:absolute;right:15px;top:15px}.faq-chat-close:hover{transform:scale(1.1)}.faq-chat-body{flex:1;overflow-y:auto;padding:15px;background-color:#f5f5f0;background-image:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM60 91c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM35 41c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM12 60c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2z' fill='%23000000' fill-opacity='0.02' fill-rule='evenodd'/%3E%3C/svg%3E");position:relative}.faq-chat-message{margin-bottom:15px;font-size:16px;line-height:1.5;padding:12px 15px;border-radius:8px;max-width:85%;position:relative;text-align:center;margin-left:auto;margin-right:auto}.faq-bot-message{background-color:#ffffffe6;color:#333;border-radius:8px;align-self:center;box-shadow:0 1px 3px #0000001a}.faq-categories{display:flex;flex-direction:column;gap:15px;margin-top:15px;width:100%}.faq-category-card{background-color:#fffc;border:1px solid rgba(0,0,0,.05);border-radius:2px;padding:15px;text-align:center;cursor:pointer;transition:all .3s;box-shadow:0 2px 4px #0000000d}.faq-category-card:hover{transform:translateY(-3px);box-shadow:0 4px 8px #00000014;border-color:#eafaf1d9}.faq-category-card h4{margin:0;font-family:Shippori Mincho,"Noto Serif JP",serif;font-size:1rem;color:#333}.faq-questions{display:flex;flex-direction:column;gap:10px;width:100%}.faq-back-button{display:flex;align-items:center;gap:5px;background:none;border:none;color:#2ecc71;padding:5px 0;margin-bottom:15px;cursor:pointer;font-size:.9rem;transition:all .2s}.faq-back-button:hover{color:#27ae60;transform:translate(-3px)}.faq-question-item{background-color:#fffc;border:1px solid rgba(0,0,0,.05);border-radius:2px;padding:15px;cursor:pointer;transition:all .3s;box-shadow:0 2px 4px #0000000d;text-align:center}.faq-question-item:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000014;border-color:#eafaf1d9}.faq-answer{background-color:#ffffffe6;border-radius:2px;padding:20px;margin-top:10px;box-shadow:0 2px 4px #0000000d;animation:fadeIn .5s ease;width:100%;box-sizing:border-box}.faq-answer-container{display:flex;flex-direction:column;gap:15px;width:100%;align-items:center}.faq-answer-title{font-family:Shippori Mincho,"Noto Serif JP",serif;font-size:1.1rem;font-weight:600;color:#333;position:relative;padding-left:25px;text-align:center;width:100%;box-sizing:border-box;margin-bottom:15px}.faq-answer-title:before{content:"Q";position:absolute;left:0;color:#2ecc71;font-weight:700;font-size:1.1rem}.faq-answer-content{position:relative;padding-left:25px;line-height:1.6;text-align:center;width:100%;box-sizing:border-box}.faq-answer-content:before{content:"A";position:absolute;left:0;color:#2ecc71;font-weight:700;font-size:1.1rem}.faq-guidance-text{text-align:center;margin:10px 0;color:#666;font-size:.9rem}.faq-actions{display:flex;justify-content:space-between;gap:10px;margin-top:20px;width:100%}.faq-action-button{flex:1;padding:10px 15px;border-radius:2px;background-color:#fff;border:1px solid #2ecc71;color:#2ecc71;font-family:sans-serif;font-size:.9rem;cursor:pointer;transition:all .3s;text-align:center;text-decoration:none}.faq-action-button:hover,.faq-action-button.primary{background-color:#2ecc71;color:#fff}.faq-action-button.primary:hover{background-color:#27ae60}@media (max-width: 768px){.faq-chat-box{width:95%;height:90vh;max-height:none}.faq-actions{flex-direction:column}.faq-chatbot-trigger{min-width:150px;font-size:14px}}@media (max-width: 480px){.faq-chat-box{width:100%;height:100%;border-radius:0}.faq-chat-header{border-radius:0}.faq-chatbot-trigger{min-width:130px;font-size:13px;padding:0 15px}}.logo-animation{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;z-index:2000;opacity:1;visibility:visible}.logo-animation.completed{opacity:0;visibility:hidden;pointer-events:none}.logo-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background-image:url(/images/takumi_haikei.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;filter:brightness(1.1)}.logo-image-container{position:relative;z-index:10;display:flex;justify-content:center;align-items:center;width:100%;height:100%}.logo-image{width:auto;max-width:300px;height:auto;filter:drop-shadow(0 5px 15px rgba(0,0,0,.2))}@media (max-width: 768px){.logo-image{max-width:240px}}@media (max-width: 480px){.logo-image{max-width:180px}}.fade-up{opacity:0;transform:translateY(30px);animation:fadeUp 1.5s ease forwards}.delay-1{animation-delay:.5s}.delay-2{animation-delay:1s}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.main-content{width:100%;min-height:100vh;opacity:0;transition:opacity .8s ease;animation:fadeIn 1s ease forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.main-content.loading{opacity:0}.main-content.loaded{opacity:1}.text-center{text-align:center}.content-wrapper{background-color:#fffc;border-radius:var(--border-radius-sm);padding:2rem;box-shadow:var(--shadow-sm);margin-bottom:1rem}.hero-section{position:relative;height:100vh;min-height:600px;display:flex;align-items:center;overflow:hidden;padding-top:80px;background-color:var(--color-white)}.hero-window-frame{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;display:flex;align-items:center;justify-content:center}.window-frame{position:relative;width:100%;height:100%;border:8px solid rgba(250,250,250,.8);background-color:#0003;z-index:2;overflow:hidden;box-shadow:0 0 10px #0000004d}.text-container{display:flex;align-items:center;justify-content:center;background-image:linear-gradient(to right,rgba(0,0,0,.4),rgba(0,0,0,.1))}.text-container.takumi-bg{background-image:linear-gradient(to right,rgba(0,0,0,.7),rgba(0,0,0,.5)),url(/images/takumi_haikei.jpg);background-size:cover;background-position:center;position:relative}.text-container.takumi-bg.mobile{background-image:linear-gradient(to right,rgba(0,0,0,.7),rgba(0,0,0,.5)),url(/images/service1-2.jpg);background-size:cover;background-position:center}.text-container.takumi-bg.desktop{background-image:linear-gradient(to right,rgba(0,0,0,.7),rgba(0,0,0,.5)),url(/images/takumi_haikei.jpg);background-size:cover;background-position:center}.takumi-bg .hero-content{text-shadow:1px 1px 3px rgba(0,0,0,.8);z-index:2;position:relative}.window-scenes{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.window-cell{position:relative;overflow:hidden}.top-left{grid-area:1 / 1 / 2 / 2}.top-right{grid-area:1 / 2 / 2 / 3}.bottom-left{grid-area:2 / 1 / 3 / 2}.bottom-right{grid-area:2 / 2 / 3 / 3}.window-scene{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;opacity:0;transition:opacity 1.5s ease-in-out}.window-scene.active{opacity:1;transform:scale(1)}.hero-content{position:relative;z-index:10;color:var(--color-white);text-align:center;padding:2rem;max-width:700px;margin:0 auto;text-shadow:0 2px 6px rgba(0,0,0,.5)}.hero-title{font-size:2.5rem;line-height:1.3;margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.5rem;align-items:center;width:100%}.hero-title-line1{font-weight:500;font-family:var(--font-mincho);letter-spacing:.08em;color:var(--color-white)}.hero-title-line2.company-name{font-weight:900;font-family:var(--font-mincho);letter-spacing:.1em;color:var(--color-white);display:inline-flex;align-items:baseline;justify-content:center;position:relative;margin:1rem 0;text-shadow:1px 1px 2px rgba(0,0,0,.8);border-bottom:3px solid rgba(255,255,255,.8);padding-bottom:.5rem;width:100%;text-align:center}.company-prefix-hero{font-size:1.8rem;margin-right:.5rem;letter-spacing:.05em}.company-name-text{font-size:2.5rem;letter-spacing:.1em}.hero-subtitle{font-size:1.2rem;margin-bottom:2rem;font-weight:400;font-family:var(--font-serif);letter-spacing:.05em;color:var(--color-white)}.hero-button{padding:1rem 3rem;font-family:var(--font-mincho);letter-spacing:.05em;font-weight:500;border-radius:var(--border-radius-sm);transition:all .3s ease;font-size:1.1rem}.secondary-button{background-color:transparent;color:var(--color-black);border:1px solid var(--color-accent)}.secondary-button:hover{background-color:#2ecc711a;transform:translateY(-3px);box-shadow:0 4px 8px #0000001a}.mission-section{padding:6rem 0;text-align:center;position:relative;background-color:transparent}.mission-content{max-width:800px;margin:0 auto}.mission-text-container{position:relative;padding:2rem;background-color:#ffffffb3;border-radius:var(--border-radius-sm);box-shadow:var(--shadow-sm)}.mission-text{font-family:var(--font-mincho);font-size:1.3rem;line-height:2;margin-bottom:1.5rem;opacity:0;transform:translateY(20px);transition:opacity 5s ease,transform 5s ease}.mission-text:last-child{margin-bottom:0}.mission-text.visible{opacity:1;transform:translateY(0)}.mission-text .highlight{color:var(--color-accent);font-weight:700;position:relative;display:inline-block}.mission-text .highlight:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:1px;background-color:var(--color-accent)}.section-title{text-align:center;position:relative;margin-bottom:var(--spacing-xl);font-family:var(--font-mincho)}.section-title:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:60px;height:2px;background-color:var(--color-accent)}.about-section{padding:6rem 0;position:relative;text-align:center}.about-content{display:flex;flex-direction:column;gap:3rem;align-items:center}.about-image{flex:1;max-width:100%;height:auto;border-radius:var(--border-radius-sm);overflow:hidden;box-shadow:var(--shadow-md)}.about-image img{width:100%;height:auto;display:block;transition:transform .5s ease}.about-image:hover img{transform:scale(1.05)}.about-text{flex:1;padding:0 1rem;text-align:center}.about-text p{margin-bottom:1.5rem;font-size:1.05rem;line-height:1.8}.about-text strong{color:var(--color-black);font-weight:700;font-family:var(--font-mincho)}.about-text .text-accent{color:var(--color-accent);font-weight:600}.about-action{margin-top:2rem;text-align:center}.about-button{display:inline-block;padding:.8rem 2.5rem}.services-section{padding:6rem 0;position:relative;text-align:center}.service-item{margin-bottom:5rem;position:relative}.service-item:last-child{margin-bottom:3rem}.service-content{display:flex;flex-direction:column;align-items:center;gap:2rem}.service-text{flex:1;padding:0 1rem;order:2;text-align:center}.service-image{flex:1;max-width:100%;max-height:300px;border-radius:var(--border-radius-sm);overflow:hidden;box-shadow:var(--shadow-md);order:1;position:relative;aspect-ratio:2/3}.service-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .5s ease;position:relative;z-index:1}.service-title{font-size:1.8rem;margin-bottom:1rem;color:var(--color-black);font-family:var(--font-mincho);position:relative;display:inline-block;padding-bottom:.5rem;opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease;text-align:center}.service-title.visible{opacity:1;transform:translateY(0)}.service-title:after{content:"";position:absolute;bottom:0;left:0;right:0;margin:0 auto;width:50px;height:1px;background-color:var(--color-accent)}.service-description{margin-bottom:1.5rem;font-size:1.05rem;line-height:1.8;opacity:0;transform:translateY(20px);transition:opacity .8s ease .3s,transform .8s ease .3s;text-align:center}.service-description.visible{opacity:1;transform:translateY(0)}.service-action{margin-top:1.5rem;opacity:0;transform:translateY(20px);transition:opacity .8s ease .6s,transform .8s ease .6s;text-align:center}.service-action.visible{opacity:1;transform:translateY(0)}.service-button{display:inline-block;padding:.6rem 1.5rem;background-color:transparent;color:var(--color-accent);border:1px solid var(--color-accent);border-radius:var(--border-radius-sm);font-family:var(--font-mincho);letter-spacing:.03em;transition:all .3s ease;position:relative;overflow:hidden}.service-button:after{content:"";position:absolute;width:0;height:100%;top:0;left:0;background-color:var(--color-accent);opacity:.2;transition:width .3s ease;z-index:-1}.service-button:hover{background-color:var(--color-accent);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-sm)}.service-button:hover:after{width:100%}.services-all-action{text-align:center;margin-top:3rem}.services-all-button{padding:.8rem 3rem;position:relative;overflow:hidden}.services-all-button:after{content:"";position:absolute;width:30px;height:100%;top:0;left:-30px;background-color:#ffffff4d;transform:skew(-20deg);animation:buttonShine 3s infinite}@keyframes buttonShine{0%{left:-30px}20%{left:120%}to{left:120%}}.regions-section{padding:6rem 0;position:relative;text-align:center}.regions-content{display:flex;flex-direction:column;gap:3rem;align-items:center}.regions-text{flex:1;padding:0 1rem;order:2;text-align:center}.regions-image{flex:1;max-width:100%;border-radius:var(--border-radius-sm);overflow:hidden;box-shadow:var(--shadow-md);order:1}.regions-image img{width:100%;height:auto;display:block;transition:transform .5s ease;object-fit:cover}.regions-image:hover img{transform:scale(1.05)}.regions-paragraph{margin-bottom:1.5rem;font-size:1.05rem;line-height:1.8;text-align:center}.regions-paragraph strong{color:var(--color-accent);font-weight:600}.regions-action{margin-top:2rem;text-align:center}.regions-button{display:inline-block;padding:.8rem 2.5rem}.news-section{padding:6rem 0;position:relative;text-align:center}.news-list{margin:3rem 0;text-align:left}.window-animation{perspective:1000px;position:relative;overflow:hidden}.window-frame-animation{position:relative;width:100%;height:100%;transform-style:preserve-3d;border:8px solid #d9c7a2;box-shadow:0 5px 15px #0000004d;overflow:hidden;background-color:#f8f5f0;background-image:linear-gradient(90deg,rgba(217,199,162,.7) 0%,rgba(230,215,185,.5) 25%,rgba(217,199,162,.7) 50%,rgba(230,215,185,.5) 75%,rgba(217,199,162,.7) 100%)}.window-frame-animation:before{content:"";position:absolute;top:4px;left:4px;right:4px;bottom:4px;border:2px solid #e5dbc0;z-index:2;pointer-events:none}.window-sash-left{position:absolute;top:0;left:0;width:50%;height:100%;background-color:#fffffff2;transform-origin:left;transition:transform 2.5s cubic-bezier(.4,0,.2,1);z-index:10;border-right:1px solid rgba(200,200,200,.5);box-shadow:inset 0 0 10px #0000000d,2px 0 8px #0000001a;border:5px solid #c9b28f;box-sizing:border-box;background-image:linear-gradient(135deg,rgba(255,255,255,.8) 0%,rgba(240,248,255,.5) 50%,rgba(255,255,255,.8) 100%)}.window-sash-right{position:absolute;top:0;right:0;width:50%;height:100%;background-color:#fffffff2;transform-origin:right;transition:transform 2.5s cubic-bezier(.4,0,.2,1);z-index:10;border-left:1px solid rgba(200,200,200,.5);box-shadow:inset 0 0 10px #0000000d,-2px 0 8px #0000001a;border:5px solid #c9b28f;box-sizing:border-box;background-image:linear-gradient(135deg,rgba(255,255,255,.8) 0%,rgba(240,248,255,.5) 50%,rgba(255,255,255,.8) 100%)}.window-handle-left{position:absolute;width:16px;height:45px;right:15px;top:50%;transform:translateY(-50%);background-color:#555;border-radius:8px;box-shadow:0 2px 4px #0000004d,inset 0 1px 2px #fff3;border:1px solid #444;z-index:11}.window-handle-left:after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,#999,#777);top:8px;left:3px;box-shadow:inset 0 1px 2px #00000080}.window-handle-right{position:absolute;width:16px;height:45px;left:15px;top:50%;transform:translateY(-50%);background-color:#555;border-radius:8px;box-shadow:0 2px 4px #0000004d,inset 0 1px 2px #fff3;border:1px solid #444;z-index:11}.window-handle-right:after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,#999,#777);top:8px;left:3px;box-shadow:inset 0 1px 2px #00000080}.window-reflection{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(255,255,255,.4) 0%,rgba(220,240,255,.2) 25%,rgba(220,240,255,.1) 50%,rgba(220,240,255,.2) 75%,rgba(255,255,255,.4) 100%);pointer-events:none;z-index:4}.window-animation.animate .window-sash-left{transform:rotateY(-105deg);box-shadow:-10px 0 15px #0003}.window-animation.animate .window-sash-right{transform:rotateY(105deg);box-shadow:10px 0 15px #0003}.door-animation{perspective:1000px;position:relative;overflow:hidden}.door-frame-animation{position:relative;width:100%;height:100%;transform-style:preserve-3d;border:8px solid #a88c77;box-shadow:0 5px 15px #0000004d;overflow:hidden;background-color:#f5f2ee}.door-frame-animation:before{content:"";position:absolute;top:4px;left:4px;right:4px;bottom:4px;border:2px solid #e8e0d5;z-index:2;pointer-events:none}.door-panel{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#fff;background-image:linear-gradient(to right,transparent 8%,rgba(0,0,0,.08) 8%,rgba(0,0,0,.08) 9%,transparent 9%,transparent 91%,rgba(0,0,0,.08) 91%,rgba(0,0,0,.08) 92%,transparent 92%),linear-gradient(to bottom,transparent 8%,rgba(0,0,0,.08) 8%,rgba(0,0,0,.08) 9%,transparent 9%,transparent 91%,rgba(0,0,0,.08) 91%,rgba(0,0,0,.08) 92%,transparent 92%),linear-gradient(to right,transparent 35%,rgba(0,0,0,.07) 35%,rgba(0,0,0,.07) 36%,transparent 36%,transparent 64%,rgba(0,0,0,.07) 64%,rgba(0,0,0,.07) 65%,transparent 65%),linear-gradient(to bottom,transparent 20%,rgba(0,0,0,.07) 20%,rgba(0,0,0,.07) 21%,transparent 21%,transparent 79%,rgba(0,0,0,.07) 79%,rgba(0,0,0,.07) 80%,transparent 80%);background-size:100% 100%,100% 100%,100% 100%,100% 100%;transform-origin:left;transition:transform 5s cubic-bezier(.4,0,.2,1);z-index:10;border:1px solid rgba(200,190,180,.5);box-shadow:inset 0 0 20px #0000000d,2px 0 10px #0000001a}.door-panel:after{content:"";position:absolute;top:21%;left:36%;width:28%;height:58%;background-color:#00000005;box-shadow:inset 0 0 10px #00000008;pointer-events:none;z-index:3}.door-panel:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:repeating-linear-gradient(0deg,transparent,transparent 12px,rgba(0,0,0,.01) 12px,rgba(0,0,0,.01) 13px),repeating-linear-gradient(90deg,rgba(240,240,240,.5),rgba(250,250,250,.5) 1px,rgba(240,240,240,.5) 2px);opacity:.7;pointer-events:none;z-index:2}.door-handle{position:absolute;width:18px;height:50px;right:20px;top:50%;transform:translateY(-50%);background-color:#a0a0a0;border-radius:4px;box-shadow:0 2px 4px #0003,inset 0 1px 2px #ffffff80;border:1px solid #888;z-index:11}.door-handle:before{content:"";position:absolute;width:12px;height:30px;top:10px;left:3px;background:linear-gradient(to right,#888,#ccc);border-radius:3px;box-shadow:inset 0 1px 3px #0003}.door-handle:after{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background-color:#444;bottom:10px;left:6px;box-shadow:inset 0 -1px 1px #ffffff4d}.door-reflection{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(255,255,255,.4) 0%,rgba(255,255,255,.2) 25%,rgba(255,255,255,.1) 50%,rgba(255,255,255,.2) 75%,rgba(255,255,255,.4) 100%);pointer-events:none;z-index:5}.door-animation.animate .door-panel{transform:rotateY(-105deg);box-shadow:-15px 0 25px #00000026}.door-animation.animate:after{content:"";position:absolute;top:8px;left:8px;right:8px;bottom:8px;background-color:#00000008;z-index:2;box-shadow:inset 0 0 30px #0000001a;border:1px solid rgba(0,0,0,.05);pointer-events:none}.shutter-animation{perspective:1000px;overflow:hidden;position:relative}.shutter-frame-animation{position:relative;width:100%;height:100%;border:8px solid #c0c0c0;box-shadow:0 5px 15px #0000004d;overflow:hidden;background-color:#e8e8e8;background-image:linear-gradient(90deg,rgba(192,192,192,.7) 0%,rgba(210,210,210,.5) 25%,rgba(192,192,192,.7) 50%,rgba(210,210,210,.5) 75%,rgba(192,192,192,.7) 100%)}.shutter-frame-animation:before{content:"";position:absolute;top:4px;left:4px;right:4px;bottom:4px;border:2px solid #d8d8d8;background:linear-gradient(135deg,rgba(255,255,255,.3) 0%,rgba(220,220,220,.1) 100%);box-shadow:inset 0 0 10px #0000001a;z-index:2;pointer-events:none}.shutter-panel{position:absolute;top:0;left:0;width:100%;height:100%;transform-origin:top;transition:transform 8s cubic-bezier(.16,1,.3,1);z-index:10;box-shadow:0 5px 15px #0003}.shutter-slats{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#d8d8d8;background-image:linear-gradient(0deg,#bbb 0%,#ddd 5%,#e8e8e8 15%,#ddd 25%,#bbb 30%,#ddd 35%,#e8e8e8 45%,#ddd 55%,#bbb 60%,#ddd 65%,#e8e8e8 75%,#ddd 85%,#bbb 90%,#ddd 100%);background-size:100% 15px;box-shadow:inset 0 0 15px #00000026,0 2px 5px #0000001a;border-bottom:3px solid #999}.shutter-slats:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:repeating-linear-gradient(0deg,transparent,transparent 14px,rgba(0,0,0,.1) 14px,rgba(0,0,0,.2) 15px);pointer-events:none;z-index:2}.shutter-frame-animation:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(90deg,rgba(160,160,160,.6) 0%,rgba(160,160,160,0) 2%,rgba(160,160,160,0) 98%,rgba(160,160,160,.6) 100%);pointer-events:none;z-index:3}.shutter-handle{position:absolute;width:50px;height:10px;left:50%;bottom:15px;transform:translate(-50%);background:linear-gradient(to bottom,#999,#777);border-radius:5px;box-shadow:0 2px 3px #0003;border:1px solid #888;z-index:11}.shutter-handle:before{content:"";position:absolute;width:30px;height:6px;left:50%;top:50%;transform:translate(-50%,-50%);background:linear-gradient(to bottom,#888,#666);border-radius:3px;box-shadow:inset 0 1px 2px #0000004d}.shutter-animation.animate .shutter-panel{transform:translateY(-103%);box-shadow:0 -10px 20px #00000026}.shutter-animation.animate:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#00000008;box-shadow:inset 0 0 30px #0000001a;z-index:1}.glass-animation{perspective:1000px;position:relative;overflow:hidden}.glass-frame-animation{position:relative;width:100%;height:100%;border:8px solid #999;box-shadow:0 5px 15px #0000004d;overflow:hidden;background-color:#f0f8ffcc}.glass-panel{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#f0f8ff80;z-index:10;transform:translateZ(0);transition:transform 1s ease}.glass-reflection{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(255,255,255,.7) 0%,rgba(240,248,255,.3) 50%,rgba(220,240,255,.7) 100%);pointer-events:none;z-index:4}.glass-animation.animate .glass-panel{transform:translate(-100%)}.screen-animation{perspective:1000px;position:relative;overflow:hidden}.screen-frame-animation{position:relative;width:100%;height:100%;border:8px solid #666;box-shadow:0 5px 15px #0000004d;overflow:hidden;background-color:#f5f5f5}.screen-mesh{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#323232cc;background-image:repeating-linear-gradient(0deg,transparent,transparent 1px,rgba(0,0,0,.2) 1px,rgba(0,0,0,.2) 2px),repeating-linear-gradient(90deg,transparent,transparent 1px,rgba(0,0,0,.2) 1px,rgba(0,0,0,.2) 2px);background-size:2px 2px;opacity:.7;z-index:10;pointer-events:none;transform:translateY(0);transition:transform 1.5s ease}.screen-handle{position:absolute;width:30px;height:8px;right:20px;top:50%;transform:translateY(-50%);background-color:#777;border-radius:3px;box-shadow:0 1px 3px #0000004d;z-index:11}.screen-animation.animate .screen-mesh{transform:translateY(-100%)}.news-item{display:flex;flex-wrap:wrap;align-items:center;padding:1.2rem 1rem;border-bottom:1px solid var(--color-light-gray);transition:background-color .3s ease;position:relative;overflow:hidden}.news-item:before{content:"";position:absolute;left:0;top:0;width:3px;height:100%;background-color:var(--color-accent);transform:scaleY(0);transform-origin:bottom;transition:transform .3s ease}.news-item:hover{background-color:var(--color-accent-light)}.news-item:hover:before{transform:scaleY(1)}.news-date{width:100px;font-family:var(--font-mincho);color:var(--color-gray);font-size:.9rem}.news-category{width:100px;background-color:var(--color-light-gray);color:var(--color-dark-gray);font-size:.8rem;padding:.3rem .8rem;border-radius:var(--border-radius-sm);text-align:center;margin-right:1.5rem}.news-title{flex:1;margin:0;font-size:1.1rem;font-weight:500}.news-title a{color:var(--color-black);text-decoration:none;transition:color .3s ease}.news-title a:hover{color:var(--color-accent)}.news-empty{text-align:center;padding:2rem;color:var(--color-gray);font-style:italic}.news-action{text-align:center}.news-button{display:inline-block;padding:.8rem 2.5rem}.fade-in-left{opacity:0;transform:translate(-30px);transition:opacity .8s ease,transform .8s ease}.fade-in-right{opacity:0;transform:translate(30px);transition:opacity .8s ease,transform .8s ease}.fade-in.visible,.fade-in-left.visible,.fade-in-right.visible{opacity:1;transform:translate(0)}.home-contact-banner-section{padding:3rem 0;background-color:var(--color-white);position:relative;margin-bottom:2rem;text-align:center}.home-contact-banner-section:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 20 L 40 20 M 20 0 L 20 40' stroke='%232ecc71' stroke-width='0.5' stroke-dasharray='1 5' /%3E%3C/svg%3E");opacity:.06;z-index:0}.home-banner-buttons{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;position:relative;z-index:1;opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.home-banner-buttons.visible{opacity:1;transform:translateY(0)}.home-banner-button{flex:1;display:flex;align-items:center;justify-content:center;padding:1.5rem;border-radius:var(--border-radius-sm);text-decoration:none;font-family:var(--font-mincho);transition:all .3s ease;position:relative;overflow:hidden;min-height:120px;box-shadow:0 4px 8px #00000014;background-color:var(--color-accent);color:var(--color-white);border:1px solid var(--color-accent)}.home-banner-button:hover{transform:translateY(-5px);box-shadow:0 8px 16px #0000001f}.banner-shine-effect{position:absolute;width:30px;height:100%;top:0;left:-30px;background-color:#ffffff4d;transform:skew(-20deg);animation:buttonShine 3s infinite;pointer-events:none}.banner-button-icon{font-size:2.2rem;margin-right:1rem;z-index:1;color:var(--color-white)}.banner-button-text{display:flex;flex-direction:column;z-index:1}.banner-button-label{font-size:1.1rem;margin-bottom:.5rem;color:var(--color-white)}.banner-button-number{font-size:1.8rem;font-weight:700;color:var(--color-white)}.banner-button-desc{font-size:1rem;color:var(--color-white)}.custom-button{display:inline-block;padding:.8rem 2rem;background-color:var(--color-accent);color:var(--color-white);border:none;font-family:var(--font-mincho);letter-spacing:.05em;text-decoration:none;transition:all .3s ease;position:relative;overflow:hidden;text-align:center;max-width:100%;box-sizing:border-box}.custom-button:before{content:"";position:absolute;width:30px;height:100%;top:0;left:-30px;background-color:#ffffff4d;transform:skew(-20deg);animation:buttonShine 4s infinite;pointer-events:none}.custom-button:hover{background-color:var(--color-accent-dark);transform:translateY(-3px);box-shadow:0 4px 8px #0003}@media (min-width: 768px){.service-item.reversed .service-content{flex-direction:row-reverse}.service-content{flex-direction:row}.service-text{padding:0 2rem;order:1;text-align:center}.service-image{order:2;max-width:40%;max-height:400px}.about-content{flex-direction:row}.about-text{text-align:center;padding:0 2rem}.regions-content{flex-direction:row-reverse}.regions-text{padding:0 2rem;order:1;text-align:center}.regions-image{order:2;max-width:45%}.news-item{padding:1.5rem}.news-date,.news-category{width:120px}}@media (max-width: 767px){.hero-content{padding:1.5rem;max-width:90%}.hero-title{font-size:2rem}.hero-title-line1{font-size:1.3rem;margin-bottom:.5rem}.hero-title-line2.company-name{margin:.5rem 0;padding-bottom:.3rem;display:flex;flex-direction:column;align-items:center;gap:.2rem}.company-prefix-hero{font-size:1.1rem;letter-spacing:.05em;margin-right:0}.company-name-text{font-size:1.8rem;letter-spacing:.1em}.hero-subtitle{display:none}.mission-text{font-size:1.1rem;line-height:1.8}.window-frame{width:95%;height:70%;border-width:8px}.text-container.takumi-bg.mobile{background-image:linear-gradient(to right,rgba(0,0,0,.7),rgba(0,0,0,.5)),url(/images/service1-2.jpg);background-size:cover;background-position:center}.section-title{font-size:1.8rem}.service-title{font-size:1.5rem}.service-title:after{content:"";position:absolute;bottom:0;left:0;right:0;margin:0 auto;width:50px;height:1px;background-color:var(--color-accent)}.service-image{width:100%;max-width:280px;margin:0 auto;aspect-ratio:3/4;height:auto;max-height:280px}.window-animation .window-sash-left,.window-animation .window-sash-right{border-width:3px}.window-handle-left,.window-handle-right{width:14px;height:35px}.door-handle{width:16px;height:40px;right:15px}.shutter-handle{width:40px;height:8px}.news-item{display:flex;flex-direction:column;align-items:flex-start;padding:.8rem;gap:.3rem}.news-date{width:auto;font-size:.85rem;margin-bottom:.2rem}.news-category{width:auto;margin-right:0;margin-bottom:.4rem;font-size:.8rem;padding:.2rem .6rem}.news-title{width:100%;font-size:.95rem;line-height:1.4}.home-banner-buttons{flex-direction:column}.home-banner-button{min-height:100px;padding:1.2rem}.banner-button-icon{font-size:1.8rem}.banner-button-label{font-size:1rem}.banner-button-number{font-size:1.5rem}.banner-button-desc{font-size:.9rem}.window-handle-left,.window-handle-right{width:12px;height:30px}.door-handle{width:14px;height:35px}.shutter-handle{width:35px;height:7px}}@media (max-width: 480px){.hero-content{max-width:95%;padding:1.2rem}.hero-title{font-size:1.7rem}.hero-title-line1{font-size:1.2rem}.hero-title-line2.company-name{font-size:1.5rem}.mission-text{font-size:1rem;line-height:1.7}.service-image{max-width:240px;max-height:240px;height:240px;aspect-ratio:auto;overflow:visible}.window-animation,.door-animation,.shutter-animation,.glass-animation,.screen-animation{width:240px;height:240px;margin:0 auto}.window-frame-animation,.door-frame-animation,.shutter-frame-animation,.glass-frame-animation,.screen-frame-animation{border-width:5px}.window-sash-left,.window-sash-right{border-width:3px}.news-item{padding:.7rem .6rem}.news-date{font-size:.75rem}.news-category{font-size:.7rem;padding:.15rem .5rem}.news-title{font-size:.9rem}.cookie-consent{padding:10px;z-index:10000}.banner-button-icon{font-size:1.5rem;margin-right:.7rem}.banner-button-label{font-size:.9rem;margin-bottom:.3rem}.banner-button-number{font-size:1.3rem}.banner-button-desc{font-size:.85rem}.home-banner-button{min-height:80px;padding:1rem}}.about-page{min-height:100vh;padding-bottom:4rem;position:relative}.breadcrumb{margin-top:1.5rem;font-size:.9rem;color:var(--color-light-gray)}.about-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;gap:1rem;padding:.5rem 0;justify-content:center;margin:0 auto}.about-tabs::-webkit-scrollbar{display:none}.slide-hint{display:none;position:absolute;right:15px;top:50%;transform:translateY(-50%);background-color:#fffffff2;padding:.3rem .6rem;font-size:.8rem;color:var(--color-gray);border-radius:3px;box-shadow:0 1px 3px #0000001a;border:1px solid rgba(0,0,0,.05);opacity:.9;transition:opacity .3s ease;z-index:10;pointer-events:none;white-space:nowrap}.slide-hint.hidden{opacity:0;visibility:hidden}.about-tab{padding:.8rem 1.5rem;font-weight:500;white-space:nowrap;color:var(--color-dark-gray);transition:all .3s ease;position:relative;border:1px solid transparent;font-family:var(--font-mincho);letter-spacing:.05em;display:inline-block}.about-tab:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border:1px solid transparent;transition:all .3s ease}.about-tab:hover{border-color:var(--color-light-gray)}.about-tab:hover:before{top:3px;left:3px;right:3px;bottom:3px;border-color:var(--color-light-gray)}.about-tab.active{border-color:var(--color-accent);color:var(--color-accent);background-color:var(--color-white)}.about-tab.active:before{top:3px;left:3px;right:3px;bottom:3px;border-color:var(--color-accent)}.about-content{padding:2rem 0}.fade-in{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.about-section{margin-bottom:2.5rem}.about-section-title{font-size:1.8rem;margin-bottom:1.5rem;padding-bottom:.8rem;position:relative;color:var(--color-dark-gray);text-align:center}.about-section-title:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:60px;height:3px;background-color:var(--color-accent)}.info-table{width:100%;border-collapse:collapse;margin-bottom:2rem}.info-table th,.info-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--color-light-gray)}.info-table th{width:30%;background-color:var(--color-off-white);font-weight:600}@media (max-width: 768px){.page-header{padding:4rem 0 1.5rem}.page-title{font-size:2rem}.tabs-container{padding-right:70px}.slide-hint{display:block;padding:.25rem .5rem;font-size:.75rem;right:15px}.about-tab{padding:.6rem 1rem;font-size:.9rem}.info-table th,.info-table td{padding:.8rem}.info-table th{width:35%}}@media (max-width: 576px){.page-title{font-size:1.8rem}.about-section-title{font-size:1.5rem}.info-table th,.info-table td{display:block;width:100%}.info-table th{border-bottom:none;padding-bottom:.3rem}.info-table td{padding-top:.3rem}.about-tabs{flex-direction:column;width:100%;max-width:400px;margin:0 auto;gap:.5rem}.about-tab{width:100%;text-align:center;padding:.6rem 1rem;font-size:.85rem}.slide-hint{display:none}.tabs-container{padding-right:0}}.services-page{position:relative;padding-bottom:6rem;font-family:var(--font-sans)}.services-page:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM60 91c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM35 41c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM12 60c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2z' fill='%232ecc71' fill-opacity='0.02' fill-rule='evenodd'/%3E%3C/svg%3E");z-index:-1;opacity:.6}.breadcrumb a{color:var(--color-white);transition:color .3s ease;position:relative;text-decoration:none}.text-left{text-align:left}.services-content{padding:2rem 0}.services-intro{max-width:800px;margin:0 auto 3rem;text-align:left}.services-intro-text{font-size:1.1rem;line-height:1.8;font-family:var(--font-sans);color:var(--color-dark-gray)!important;display:block!important;visibility:visible!important;opacity:1!important;z-index:2}.services-items{display:flex;flex-direction:column;gap:6rem;margin-bottom:4rem}.service-item{display:flex;flex-direction:column;gap:2rem;opacity:1!important;transform:translateY(0)!important;transition:none}.service-item.visible{opacity:1;transform:translateY(0)}.service-image{flex:1;order:1;position:relative;overflow:hidden;line-height:0;font-size:0;background-color:transparent}.image-wrapper{position:relative;width:100%;height:100%;overflow:hidden;padding:0;margin:0;line-height:0;font-size:0;background-color:transparent;border-radius:0;box-shadow:none}.service-main-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center center;transition:transform .5s ease;margin:0;padding:0}.image-wrapper:hover .service-main-image{transform:scale(1.05)}.service-details{flex:1;order:2;color:var(--color-dark-gray)!important;display:block!important;visibility:visible!important;z-index:2}.service-title{font-size:1.8rem;margin-bottom:1.5rem;color:var(--color-dark-gray)!important;position:relative;padding-bottom:.8rem;font-family:var(--font-mincho);letter-spacing:.03em;display:block!important;visibility:visible!important;opacity:1!important;z-index:2}.service-title:after{content:"";position:absolute;bottom:0;left:0;right:0;margin:0 auto;width:50px;height:3px;background-color:var(--color-accent)}.service-description{margin-bottom:1.5rem;line-height:1.8;font-family:var(--font-sans);color:var(--color-dark-gray)!important;display:block!important;visibility:visible!important;opacity:1!important;z-index:2}.service-features{background-color:var(--color-washi);padding:1.5rem;margin-bottom:1.5rem;position:relative;border:1px solid var(--color-accent)}.service-features:before{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;border:1px solid var(--color-accent);pointer-events:none}.features-title{font-size:1.2rem;margin-bottom:1rem;color:var(--color-dark-gray)!important;font-family:var(--font-mincho);display:block!important;visibility:visible!important;opacity:1!important;z-index:2}.feature-item{position:relative;padding-left:1.5rem;margin-bottom:.8rem;line-height:1.6;font-family:var(--font-sans);color:var(--color-dark-gray)!important;display:block!important;visibility:visible!important;opacity:1!important;z-index:2}.feature-item:last-child{margin-bottom:0}.services-contact{margin-top:5rem;opacity:1!important;transform:translateY(0)!important;transition:none}.services-contact.visible{opacity:1;transform:translateY(0)}.contact-title{font-size:1.6rem;margin-bottom:1.5rem;color:var(--color-dark-gray)!important;font-family:var(--font-mincho);letter-spacing:.03em}.contact-text{margin-bottom:1.5rem;max-width:600px;margin-left:auto;margin-right:auto;font-family:var(--font-sans);color:var(--color-dark-gray)!important}.contact-info{margin-bottom:1.5rem}.contact-tel{font-size:1.3rem;font-weight:700;margin-bottom:.3rem;color:var(--color-accent-dark)}.contact-hours{font-size:.9rem;color:var(--color-gray);margin-bottom:1.5rem}.custom-button{display:inline-block;padding:.8rem 2.5rem;background-color:var(--color-accent);color:var(--color-white)!important;font-family:var(--font-mincho);border:1px solid var(--color-accent);position:relative;overflow:hidden;transition:all .3s ease;letter-spacing:.1em;min-width:200px;text-align:center;text-decoration:none}.custom-button:before{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;border:1px solid var(--color-white);pointer-events:none;transition:all .3s ease}.custom-button:hover{background-color:var(--color-white);color:var(--color-accent)!important;border-color:var(--color-accent)}.custom-button:hover:before{border-color:var(--color-accent)}.service-detail-link{display:inline-block!important;padding:.8rem 2rem;background-color:var(--color-accent);color:var(--color-white)!important;border:1px solid var(--color-accent);font-weight:500;font-size:1rem;transition:all .3s ease;font-family:var(--font-mincho);letter-spacing:.03em;text-align:center;position:relative;overflow:hidden;text-decoration:none;visibility:visible!important;opacity:1!important;z-index:3}.service-detail-link:before{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;border:1px solid var(--color-white);pointer-events:none;transition:all .3s ease}.service-detail-link:hover{background-color:var(--color-white);color:var(--color-accent)!important;border-color:var(--color-accent);transform:translateY(-3px);box-shadow:var(--shadow-md)}.service-detail-link:hover:before{border-color:var(--color-accent)}.service-action{margin-top:1.5rem;display:block!important;visibility:visible!important;opacity:1!important;z-index:3}.fade-in{opacity:1!important;transform:translateY(0)!important;transition:none}@media (min-width: 768px){.service-item{flex-direction:row;align-items:stretch;gap:3rem}.service-item.left-image .service-image{order:1}.service-item.left-image .service-details{order:2;padding-left:0}.service-item.right-image .service-image{order:2}.service-item.right-image .service-details{order:1;padding-right:0}.service-image{flex:0 0 45%;height:auto}.service-details{flex:1;padding:1rem 0}.image-wrapper,.service-main-image{height:100%}.features-list{grid-template-columns:repeat(2,1fr);gap:1rem 2rem}}@media (max-width: 767px){.page-header{padding:7rem 0 3rem}.page-title{font-size:2rem}.services-intro-text,.services-intro{text-align:center}.service-item{flex-direction:column;gap:1.5rem;margin-bottom:3rem}.service-item.left-image .service-image,.service-item.right-image .service-image{order:1}.service-item.left-image .service-details,.service-item.right-image .service-details{order:2;padding-left:0;padding-right:0;padding-top:1rem}.service-title{font-size:1.5rem;text-align:center}.service-title:after{content:"";position:absolute;bottom:0;left:0;right:0;margin:0 auto;width:50px;height:2px;background-color:var(--color-accent)}.service-description{text-align:center}.service-image{max-height:300px}.image-wrapper,.service-main-image{height:100%}.features-list{grid-template-columns:repeat(2,1fr);gap:.8rem 1rem}.service-detail-link{width:100%;max-width:300px;margin-left:auto;margin-right:auto;text-align:center}.service-action{text-align:center}.contact-buttons{flex-direction:column;align-items:center}.custom-button{width:100%;max-width:280px}}@media (max-width: 480px){.service-title{font-size:1.3rem}.service-title:after{content:"";position:absolute;bottom:0;left:0;right:0;margin:0 auto;width:50px;height:1px;background-color:var(--color-accent)}.service-description{font-size:.95rem}.services-intro-text{text-align:center}.features-title{font-size:1.1rem;text-align:center}.feature-item{font-size:.9rem}.service-image{max-height:250px}.features-list{grid-template-columns:1fr;gap:.6rem}.feature-item{padding-left:1.5rem;text-align:left}.service-action{margin-top:2rem}.service-detail-link{padding:.8rem 1.5rem;font-size:.95rem;max-width:250px}}.recruit-tab,a.recruit-tab,.recruit-tab:link,.recruit-tab:visited{border:1px solid transparent!important;border-radius:0!important;background-color:transparent!important;text-decoration:none!important;color:var(--color-dark-gray)!important;outline:none!important}.recruit-tab.active,a.recruit-tab.active,.recruit-tab.active:link,.recruit-tab.active:visited,.recruit-tab.active:hover{border-color:var(--color-accent)!important;color:var(--color-accent)!important;background-color:var(--color-white)!important}.recruit-tab.active:before,.recruit-tab.active:hover:before{top:3px!important;left:3px!important;right:3px!important;bottom:3px!important;border-color:var(--color-accent)!important}.recruit-tab:not(.active):hover{border-color:transparent!important;color:var(--color-dark-gray)!important;background-color:transparent!important}.recruit-tab:not(.active):hover:before{border-color:transparent!important}.recruit-tab[href="/recruit/benefits"].active~.recruit-tab[href="/recruit/joblist"]:not(.active),.recruit-tab[href="/recruit/benefits"].active+.recruit-tab[href="/recruit/joblist"]:not(.active){border-color:transparent!important;color:var(--color-dark-gray)!important}a.recruit-tab,.recruit-tab{border-radius:0;padding:.8rem 1.5rem;font-weight:500;white-space:nowrap;color:var(--color-dark-gray);transition:all .3s ease;position:relative;border:1px solid transparent;font-family:var(--font-mincho);letter-spacing:.05em;background-color:transparent;text-decoration:none}.action-buttons a,.action-buttons .secondary-button,.action-buttons .action-button{display:inline-block;padding:.8rem 2rem;font-weight:500;transition:all .3s ease;position:relative;font-family:var(--font-mincho);letter-spacing:.05em;border-radius:0;text-decoration:none}.recruit-content a[href="/recruit/joblist"],.action-buttons a[href="/recruit/joblist"],a.secondary-button{display:inline-block;padding:.8rem 2rem;background-color:var(--color-white)!important;color:var(--color-accent)!important;border:1px solid var(--color-accent)!important;font-weight:500;transition:all .3s ease;position:relative;font-family:var(--font-mincho);letter-spacing:.05em;border-radius:0!important;text-decoration:none}.recruit-content a[href="/recruit/joblist"]:before,.action-buttons a[href="/recruit/joblist"]:before,a.secondary-button:before{content:"";position:absolute;top:3px;left:3px;right:3px;bottom:3px;border:1px solid transparent;transition:all .3s ease}.recruit-content a[href="/recruit/joblist"]:hover,.action-buttons a[href="/recruit/joblist"]:hover,a.secondary-button:hover{background-color:var(--color-accent)!important;border-color:var(--color-accent)!important;transform:translateY(-3px);box-shadow:var(--shadow-sm);color:var(--color-white)!important}.recruit-content a[href="/recruit/joblist"]:hover:before,.action-buttons a[href="/recruit/joblist"]:hover:before,a.secondary-button:hover:before{border-color:var(--color-white)}.recruit-page{position:relative;padding-bottom:6rem;min-height:100vh}.page-subtitle{font-size:1.2rem;margin-top:1.5rem;margin-bottom:1rem;font-weight:300}.recruit-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;gap:1rem;padding:.5rem 0;justify-content:center;margin:0 auto}.recruit-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;gap:2rem;padding:.5rem 0;justify-content:center;margin:0 auto}.recruit-tabs::-webkit-scrollbar{display:none}.recruit-tab{padding:.8rem 1.5rem;font-weight:500;white-space:nowrap;color:var(--color-dark-gray);transition:all .3s ease;position:relative;border:1px solid transparent;font-family:var(--font-mincho);letter-spacing:.05em;text-decoration:none}.recruit-tab:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border:1px solid transparent;transition:all .3s ease;pointer-events:none}.recruit-tab:not(.active):hover{border-color:transparent;color:var(--color-dark-gray);text-decoration:none}.recruit-tab:not(.active):hover:before{border-color:transparent}.recruit-tab.active{border-color:var(--color-accent);color:var(--color-accent);background-color:var(--color-white);text-decoration:none}.recruit-tab.active:before{top:3px;left:3px;right:3px;bottom:3px;border-color:var(--color-accent)}.recruit-content{padding:2rem 0;position:relative;min-height:400px}.recruit-section{margin-bottom:4rem}.section-title{font-size:1.8rem;margin-bottom:1.5rem;position:relative;padding-bottom:.8rem;color:var(--color-dark-gray)}.action-button{display:inline-block;padding:1rem 3rem;background-color:var(--color-accent);color:var(--color-white);border-radius:0;font-weight:500;transition:all .3s ease;text-align:center;border:1px solid var(--color-accent);position:relative;font-family:var(--font-mincho);letter-spacing:.05em}.action-button:hover{background-color:var(--color-accent-dark);border-color:var(--color-accent-dark);transform:translateY(-3px);box-shadow:var(--shadow-md);color:var(--color-white)}@media (max-width: 768px){.page-header{padding:4rem 0 1.5rem}.page-title{font-size:2rem}.page-subtitle{font-size:1rem}.section-title{font-size:1.5rem}.recruit-tab{padding:.7rem 1.2rem;font-size:.9rem}.recruit-tabs{gap:.5rem}.tabs-container{justify-content:center;padding:0 1rem}}@media (max-width: 576px){.page-title{font-size:1.8rem}.tabs-container{width:100%;display:flex;justify-content:center;padding:0 1rem}.recruit-tabs{flex-direction:column;width:100%;max-width:400px;margin:0 auto;gap:.5rem;align-items:center}.recruit-tab{width:100%;text-align:center;padding:.6rem 1rem;font-size:.85rem;display:flex;justify-content:center}.action-button,.secondary-button{width:100%;padding:.8rem 1.5rem;text-align:center}.action-buttons{flex-direction:column;gap:.8rem}}.news-page{position:relative;padding-bottom:6rem;overflow-x:hidden;width:100%;max-width:100%;box-sizing:border-box}.news-page:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM60 91c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM35 41c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM12 60c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2z' fill='%232ecc71' fill-opacity='0.02' fill-rule='evenodd'/%3E%3C/svg%3E");z-index:-1;opacity:.6}.breadcrumb{color:var(--color-light-gray);font-size:.9rem;margin-top:1.5rem;text-align:center}.sns-info-banner{background-color:var(--color-washi);padding:1.5rem 0;margin-bottom:3rem;border-top:1px solid rgba(0,0,0,.05);border-bottom:1px solid rgba(0,0,0,.05);position:relative}.sns-info-banner:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 20 L 40 20 M 20 0 L 20 40' stroke='%232ecc71' stroke-width='0.5' stroke-dasharray='1 5' /%3E%3C/svg%3E");opacity:.08;z-index:-1}.sns-message{font-size:1.05rem;line-height:1.6;color:var(--color-dark-gray);margin:0;text-align:center;font-family:var(--font-mincho);letter-spacing:.03em}.news-content{padding:0 0 3rem;max-width:100%;overflow-x:hidden;box-sizing:border-box}.news-layout{display:grid;grid-template-columns:1fr;gap:2rem;width:100%;box-sizing:border-box}.news-search{margin-bottom:2.5rem;opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease;background-color:var(--color-white);padding:1.5rem;border-radius:var(--border-radius-sm);box-shadow:var(--shadow-sm);position:relative;width:100%;max-width:100%;box-sizing:border-box}.news-search:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background-color:var(--color-accent);border-radius:var(--border-radius-sm) var(--border-radius-sm) 0 0;opacity:.7}.news-search.visible{opacity:1;transform:translateY(0)}.news-search form{display:flex;width:100%;align-items:center}.news-search input[type=text]{flex:1;padding:.8rem 1.2rem;border:1px solid var(--color-light-gray);border-radius:0;font-size:1rem;background-color:var(--color-white);font-family:var(--font-sans);box-sizing:border-box}.news-search input[type=text]:focus{outline:none;border-color:var(--color-accent)}.search-button{background-color:var(--color-accent);color:var(--color-white);border:none;padding:0;cursor:pointer;transition:background-color .3s ease;font-family:var(--font-mincho);flex-shrink:0;margin-left:.5rem;width:38px;height:38px;display:flex;align-items:center;justify-content:center}.search-icon{font-size:.9rem}.news-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-bottom:3rem;width:100%;max-width:100%;box-sizing:border-box}.news-window{position:relative;box-shadow:var(--shadow-md);transition:transform .3s ease,box-shadow .3s ease;opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease,box-shadow .3s ease;border:5px solid var(--color-dark-gray);overflow:hidden;perspective:1000px;aspect-ratio:1/1;width:100%;max-width:100%;box-sizing:border-box}.news-window.visible{opacity:1;transform:translateY(0)}.news-window:hover{transform:translateY(-10px);box-shadow:var(--shadow-lg)}.window-link{display:block;width:100%;height:100%;text-decoration:none;color:inherit}.window-frame{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:1rem;background:linear-gradient(135deg,rgba(255,255,255,.9) 0%,rgba(248,248,248,.8) 100%);clip-path:polygon(5px 5px,calc(100% - 5px) 5px,calc(100% - 5px) calc(100% - 5px),5px calc(100% - 5px));box-sizing:border-box}.window-frame:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border:2px solid rgba(46,204,113,.3);pointer-events:none}.window-frame-inner{width:100%;height:100%;display:flex;flex-direction:column;padding:1rem;overflow:hidden;position:relative;text-align:center;justify-content:center;box-sizing:border-box}.window-handle{position:absolute;width:12px;height:40px;right:15px;top:50%;transform:translateY(-50%);background-color:var(--color-accent);border-radius:6px;box-shadow:1px 1px 3px #0003;border:1px solid rgba(255,255,255,.5)}.window-reflection{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(255,255,255,.5) 0%,rgba(255,255,255,.2) 25%,rgba(255,255,255,0) 50%,rgba(255,255,255,.2) 75%,rgba(255,255,255,.5) 100%);pointer-events:none;opacity:.5}.window-header{display:flex;flex-direction:column;justify-content:center;align-items:center;margin-bottom:1rem}.window-date{color:var(--color-gray);font-size:.9rem;font-family:var(--font-mincho);letter-spacing:.05em;margin-bottom:.5rem}.window-category{display:inline-block;background-color:var(--color-accent-light);color:var(--color-accent-dark);font-size:.8rem;padding:.2rem .8rem;font-family:var(--font-sans);margin-bottom:.8rem}.window-title{font-size:1.2rem;margin:0 0 1rem;font-weight:600;font-family:var(--font-mincho);letter-spacing:.02em;line-height:1.4;text-align:center;position:relative}.window-title:after{content:"";position:absolute;bottom:-10px;left:50%;width:50px;height:2px;background-color:var(--color-accent);transform:translate(-50%)}.window-excerpt{display:none}.window-more{text-align:center;margin-top:1.5rem}.desktop-only{display:block}.more-link{display:inline-block;padding:.5rem 1.2rem;background-color:transparent;color:var(--color-accent);border:1px solid var(--color-accent);font-size:.9rem;font-weight:500;transition:all .3s ease;position:relative;overflow:hidden;font-family:var(--font-mincho);letter-spacing:.05em}.no-news-message{text-align:center;padding:3rem 2rem;color:var(--color-gray);font-size:1.1rem;background-color:var(--color-white);box-shadow:var(--shadow-sm);font-family:var(--font-mincho);letter-spacing:.05em;border-left:3px solid var(--color-accent-light);grid-column:1 / -1}header.header{background-color:transparent;transition:background-color .3s ease}header.header.header-scrolled{background-color:#fffffff2}@media (min-width: 992px){.news-grid{grid-template-columns:repeat(2,1fr);max-width:900px;margin:0 auto 3rem}}@media (max-width: 767px){.page-header{padding:7rem 0 3rem}.page-title{font-size:2rem}.window-title{font-size:1.1rem}.window-title:after{bottom:-8px;width:40px}.page-button{width:35px;height:35px;font-size:.9rem}.sns-message{font-size:.95rem}.news-grid{gap:1.5rem}.window-frame-inner{padding:.8rem}.container{width:95%;margin:0 auto;padding-left:0;padding-right:0;box-sizing:border-box}.desktop-only{display:none}}@media (max-width: 480px){.page-title{font-size:1.8rem}.window-title{font-size:.95rem}.window-title:after{bottom:-6px;width:30px}.search-icon{font-size:.8rem}.search-button{flex:.3;width:auto;height:34px;padding:0 .5rem;margin-left:.3rem;font-size:.9rem;max-width:20%}.news-grid{grid-template-columns:1fr;gap:1.5rem;width:95%;margin:0 auto}.news-window{width:100%;max-width:100%;margin:0 auto;border-width:3px;height:220px;max-height:220px;aspect-ratio:auto}.window-frame{width:100%;height:100%;padding:.5rem}.window-frame-inner{padding:.5rem}.window-date{font-size:.85rem;margin-bottom:.3rem}.window-category{font-size:.75rem;padding:.15rem .6rem;margin-bottom:.5rem}.window-title{margin-bottom:.5rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2;max-height:2.6em;overflow:hidden;text-overflow:ellipsis}.more-link{padding:.3rem .8rem;font-size:.8rem;border-width:1px}.window-handle{width:8px;height:30px;right:10px}.sns-message{font-size:.9rem;padding:0 .5rem}.pagination{flex-wrap:wrap;justify-content:center}.news-search{width:95%;margin:0 auto 1.5rem;padding:1rem}.news-search form{display:flex;align-items:center}.news-search input[type=text]{flex:.7;font-size:.9rem;padding:.5rem;height:34px;min-width:75%}.container{width:95%;margin:0 auto;padding:0}.desktop-only{display:none}}.news-detail-page{position:relative;padding-bottom:6rem}.news-detail-page:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM60 91c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM35 41c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM12 60c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2z' fill='%232ecc71' fill-opacity='0.02' fill-rule='evenodd'/%3E%3C/svg%3E");z-index:-1;opacity:.6}.page-title{font-size:2.5rem;margin-bottom:1rem;position:relative;font-family:var(--font-mincho);letter-spacing:.05em;display:inline-block}.construction-info-banner{background-color:var(--color-washi);padding:1.5rem 0;margin-bottom:3rem;border-top:1px solid rgba(0,0,0,.05);border-bottom:1px solid rgba(0,0,0,.05);position:relative}.construction-info-banner:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 20 L 40 20 M 20 0 L 20 40' stroke='%232ecc71' stroke-width='0.5' stroke-dasharray='1 5' /%3E%3C/svg%3E");opacity:.08;z-index:-1}.construction-message{font-size:1rem;line-height:1.6;color:var(--color-dark-gray);margin:0;text-align:center;font-family:var(--font-sans)}.instagram-link{display:inline-block;margin-left:.5rem;color:var(--color-accent);text-decoration:underline;transition:color .3s ease;position:relative}.instagram-link:hover{color:var(--color-accent-dark)}.news-detail-content{padding:0 0 3rem}.news-detail-main{background-color:var(--color-white);padding:2.5rem;margin-bottom:3rem;box-shadow:var(--shadow-sm);position:relative;border-left:3px solid var(--color-accent)}.news-detail-main:after{content:"";position:absolute;top:0;right:0;width:0;height:0;border-style:solid;border-width:0 30px 30px 0;border-color:transparent var(--color-accent-light) transparent transparent;opacity:.5}.news-detail-header{margin-bottom:2.5rem;opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease;padding-bottom:1.5rem;border-bottom:1px solid var(--color-light-gray)}.news-detail-header.visible{opacity:1;transform:translateY(0)}.news-meta{margin-bottom:1rem;display:flex;align-items:center}.news-date{color:var(--color-gray);font-size:1rem;font-family:var(--font-mincho);letter-spacing:.05em}.news-category{display:inline-block;margin-left:1rem;background-color:var(--color-accent-light);color:var(--color-accent-dark);font-size:.8rem;padding:.2rem .8rem;font-family:var(--font-sans)}.news-title{font-size:1.8rem;line-height:1.4;margin:.8rem 0 0;color:var(--color-black);font-family:var(--font-mincho);letter-spacing:.03em}.news-detail-image{margin-bottom:2.5rem;opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.news-detail-image.visible{opacity:1;transform:translateY(0)}.news-detail-image img{width:100%;max-width:100%;height:auto;object-fit:cover;box-shadow:var(--shadow-md)}.news-detail-body{margin-bottom:3rem;line-height:1.8;color:var(--color-dark-gray);opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.news-detail-body.visible{opacity:1;transform:translateY(0)}.news-detail-body p{margin-bottom:1.8rem;font-size:1.05rem}.news-detail-body p:last-child{margin-bottom:0}.news-detail-body blockquote{margin:1.5rem 0;padding:1rem 1.5rem;border-left:3px solid var(--color-accent);background-color:var(--color-accent-light);font-style:italic;color:var(--color-black)}.news-detail-body ul,.news-detail-body ol{margin:1.5rem 0;padding-left:1.5rem}.news-detail-body li{margin-bottom:.5rem}.news-detail-footer{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--color-light-gray);opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.news-detail-footer.visible{opacity:1;transform:translateY(0)}.back-to-list{display:inline-block;padding:.8rem 1.8rem;background-color:transparent;color:var(--color-accent);border:1px solid var(--color-accent);font-size:.95rem;font-weight:500;transition:all .3s ease;position:relative;overflow:hidden;font-family:var(--font-mincho);letter-spacing:.05em}.news-detail-related{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease;margin-bottom:3rem;position:relative}.news-detail-related.visible{opacity:1;transform:translateY(0)}.related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:2rem;max-width:800px;margin:0 auto}.related-window{position:relative;aspect-ratio:1/1;background-color:var(--color-white);box-shadow:var(--shadow-md);transition:transform .3s ease,box-shadow .3s ease;border:5px solid var(--color-dark-gray);overflow:hidden;perspective:1000px}.related-window:hover{transform:translateY(-10px);box-shadow:var(--shadow-lg)}.related-window-frame{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:1rem;background:linear-gradient(135deg,rgba(255,255,255,.9) 0%,rgba(248,248,248,.8) 100%);clip-path:polygon(5px 5px,calc(100% - 5px) 5px,calc(100% - 5px) calc(100% - 5px),5px calc(100% - 5px))}.related-window-frame:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border:2px solid rgba(46,204,113,.3);pointer-events:none}.related-window-content{width:100%;height:100%;display:flex;flex-direction:column;padding:1rem;justify-content:center;align-items:center;text-align:center}.related-window-handle{position:absolute;width:10px;height:35px;right:12px;top:50%;transform:translateY(-50%);background-color:var(--color-accent);border-radius:6px;box-shadow:1px 1px 3px #0003;border:1px solid rgba(255,255,255,.5)}.related-window-reflection{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(255,255,255,.5) 0%,rgba(255,255,255,.2) 25%,rgba(255,255,255,0) 50%,rgba(255,255,255,.2) 75%,rgba(255,255,255,.5) 100%);pointer-events:none;opacity:.5}.related-date{color:var(--color-gray);font-size:.9rem;font-family:var(--font-mincho);letter-spacing:.05em;margin-bottom:.8rem}.related-item-title{font-size:1.1rem;line-height:1.4;font-weight:600;font-family:var(--font-mincho);color:var(--color-black);transition:color .3s ease}.related-link{display:block;width:100%;height:100%;text-decoration:none}@media (min-width: 768px){.related-grid{grid-template-columns:repeat(3,1fr)}.news-detail-body{font-size:1.05rem}}@media (max-width: 767px){.news-detail-page{text-align:center}.page-header{padding:7rem 0 3rem}.page-title{font-size:2rem}.news-title{font-size:1.5rem}.news-meta{justify-content:center}.back-to-list{display:block;text-align:center}.construction-message{font-size:.9rem}.related-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}.news-detail-main{padding:1.8rem}.related-window{aspect-ratio:1/1}.news-detail-body p{text-align:center}}@media (max-width: 480px){.page-title{font-size:1.8rem}.news-title{font-size:1.3rem}.construction-message{font-size:.85rem;text-align:center}.instagram-link{display:block;margin-left:0;margin-top:.3rem}.related-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.related-item-title{font-size:.95rem}.related-window-content{padding:.5rem}.news-detail-main{padding:1.5rem}}.portfolio-page{position:relative;padding-bottom:6rem;overflow-x:hidden;width:100%;max-width:100%;box-sizing:border-box}.portfolio-page:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM60 91c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM35 41c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM12 60c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2z' fill='%232ecc71' fill-opacity='0.02' fill-rule='evenodd'/%3E%3C/svg%3E");z-index:-1;opacity:.6}.portfolio-info-banner{background-color:var(--color-washi);padding:1.5rem 0;margin-bottom:3rem;border-top:1px solid rgba(0,0,0,.05);border-bottom:1px solid rgba(0,0,0,.05);position:relative}.portfolio-info-banner:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 20 L 40 20 M 20 0 L 20 40' stroke='%232ecc71' stroke-width='0.5' stroke-dasharray='1 5' /%3E%3C/svg%3E");opacity:.08;z-index:-1}.portfolio-message{font-size:1.05rem;line-height:1.6;color:var(--color-dark-gray);margin:0;text-align:center;font-family:var(--font-mincho);letter-spacing:.03em}.portfolio-content{padding:0 0 3rem;max-width:100%;overflow-x:hidden;box-sizing:border-box}.portfolio-layout{width:100%;box-sizing:border-box}.portfolio-search{margin-bottom:2rem;opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease;background-color:var(--color-white);padding:1.5rem;border-radius:var(--border-radius-sm);box-shadow:var(--shadow-sm);position:relative;width:100%;max-width:100%;box-sizing:border-box}.portfolio-search:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background-color:var(--color-accent);border-radius:var(--border-radius-sm) var(--border-radius-sm) 0 0;opacity:.7}.portfolio-search.visible{opacity:1;transform:translateY(0)}.portfolio-search form{display:flex;width:100%;align-items:center}.portfolio-search input[type=text]{flex:1;padding:.8rem 1.2rem;border:1px solid var(--color-light-gray);border-radius:0;font-size:1rem;background-color:var(--color-white);font-family:var(--font-sans);box-sizing:border-box}.portfolio-search input[type=text]:focus{outline:none;border-color:var(--color-accent)}.search-button{background-color:var(--color-accent);color:var(--color-white);border:none;padding:.8rem 1.2rem;cursor:pointer;transition:background-color .3s ease;font-family:var(--font-mincho);flex-shrink:0;margin-left:.5rem}.search-button:hover{background-color:var(--color-accent-dark)}.search-icon{font-size:1.2rem}.category-filter{margin-bottom:2.5rem;opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.category-filter.visible{opacity:1;transform:translateY(0)}.category-buttons{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center}.category-button{padding:.6rem 1.2rem;background-color:var(--color-white);border:1px solid var(--color-light-gray);color:var(--color-dark-gray);font-size:.9rem;cursor:pointer;transition:all .3s ease;font-family:var(--font-mincho);letter-spacing:.03em;opacity:0;transform:translateY(20px);transition:all .5s ease}.category-button.visible{opacity:1;transform:translateY(0)}.category-button:hover{background-color:var(--color-accent-light);border-color:var(--color-accent);transform:translateY(-3px)}.category-button.active{background-color:var(--color-accent);color:var(--color-white);border-color:var(--color-accent)}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-bottom:3rem;width:100%;box-sizing:border-box}.portfolio-window{background-color:var(--color-white);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-md);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease,border .3s ease;opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease,box-shadow .3s ease;position:relative;height:100%;border:3px solid transparent;box-sizing:border-box}.portfolio-window.visible{opacity:1;transform:translateY(0)}.portfolio-window:hover{transform:translateY(-10px);box-shadow:var(--shadow-lg);border:3px solid var(--color-accent);box-shadow:0 0 0 1px var(--color-accent),var(--shadow-lg)}.portfolio-link{display:block;text-decoration:none;color:inherit;height:100%}.portfolio-image-container{position:relative;overflow:hidden;width:100%;height:0;padding-bottom:56.25%}.portfolio-before-after{display:flex;position:absolute;top:0;left:0;width:200%;height:100%;transition:transform .5s ease}.portfolio-window:hover .portfolio-before-after{transform:translate(-50%)}.portfolio-before,.portfolio-after{width:50%;height:100%;position:relative}.portfolio-before img,.portfolio-after img{width:100%;height:100%;object-fit:cover}.image-label{position:absolute;bottom:10px;left:10px;background-color:#000000b3;color:#fff;padding:.3rem .6rem;font-size:.8rem;border-radius:var(--border-radius-sm);z-index:2}.portfolio-content-box{padding:1.5rem}.portfolio-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.8rem}.portfolio-category{background-color:var(--color-accent-light);color:var(--color-accent-dark);font-size:.8rem;padding:.2rem .8rem;border-radius:var(--border-radius-sm);white-space:nowrap}.portfolio-date{color:var(--color-gray);font-size:.85rem}.portfolio-title{font-size:1.2rem;margin:0 0 .8rem;font-weight:600;line-height:1.4;font-family:var(--font-mincho);letter-spacing:.02em}.portfolio-title:after{content:none}.no-underline:after{display:none}.portfolio-location{font-size:.9rem;color:var(--color-gray);margin-bottom:1.2rem;display:flex;align-items:center;position:relative;padding-bottom:0;border-bottom:none}.portfolio-more{text-align:right}.more-link{display:inline-block;padding:.4rem 1rem;background-color:transparent;color:var(--color-accent);border:1px solid var(--color-accent);font-size:.9rem;font-weight:500;transition:all .3s ease;position:relative;overflow:hidden;font-family:var(--font-mincho);letter-spacing:.05em}.more-link:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(to right,transparent,rgba(46,204,113,.2),transparent);transition:left .5s ease}.more-link:hover{background-color:var(--color-accent);color:var(--color-white);transform:translateY(-2px)}.more-link:hover:before{left:100%}.no-portfolio-message{grid-column:1 / -1;text-align:center;padding:3rem 2rem;background-color:var(--color-white);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-sm);color:var(--color-gray);font-size:1.1rem;font-family:var(--font-mincho);letter-spacing:.03em;border-left:3px solid var(--color-accent-light)}.pagination{display:flex;justify-content:center;gap:.5rem;margin-top:3rem}.page-button{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border:1px solid var(--color-light-gray);background-color:var(--color-white);color:var(--color-dark-gray);font-size:1rem;cursor:pointer;transition:all .3s ease;font-family:var(--font-sans)}.page-button:hover:not(:disabled){background-color:var(--color-accent-light);border-color:var(--color-accent);color:var(--color-accent-dark)}.page-button.active{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-white)}.page-button:disabled{opacity:.5;cursor:not-allowed}@media (min-width: 1200px){.portfolio-grid{max-width:1200px;margin-left:auto;margin-right:auto}}@media (min-width: 992px) and (max-width: 1199px){.portfolio-grid{max-width:900px;margin-left:auto;margin-right:auto}}@media (max-width: 991px){.portfolio-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}.page-header{padding:7rem 0 3rem}.page-title{font-size:2.2rem}}@media (max-width: 767px){.portfolio-grid{grid-template-columns:1fr;max-width:500px;margin-left:auto;margin-right:auto}.portfolio-header{flex-direction:column;align-items:flex-start;gap:.5rem}.portfolio-date{margin-top:.3rem}.category-buttons{gap:.5rem}.category-button{padding:.5rem 1rem;font-size:.85rem}.page-header{padding:6rem 0 2.5rem}.page-title{font-size:2rem}.portfolio-message{font-size:.95rem;padding:0 1rem}}@media (max-width: 480px){.portfolio-search form{flex-direction:column;gap:.8rem}.portfolio-search input[type=text]{width:100%}.search-button{width:100%;margin-left:0}.portfolio-window{max-width:100%}.page-title{font-size:1.8rem}.portfolio-title{font-size:1.1rem}.more-link{width:100%;text-align:center}.portfolio-content-box{padding:1.2rem}.category-buttons{justify-content:flex-start;overflow-x:auto;padding-bottom:.5rem;margin-bottom:.5rem;-webkit-overflow-scrolling:touch}.category-button{flex-shrink:0}.pagination{flex-wrap:wrap}}.portfolio-detail-page{position:relative;padding-bottom:6rem}.portfolio-detail-page:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM60 91c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM35 41c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM12 60c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2z' fill='%232ecc71' fill-opacity='0.02' fill-rule='evenodd'/%3E%3C/svg%3E");z-index:-1;opacity:.6}.loading-container{display:flex;justify-content:center;align-items:center;min-height:400px}.loading-text{font-size:1.2rem;color:var(--color-gray);font-family:var(--font-mincho);letter-spacing:.05em;position:relative;padding-bottom:.5rem}.loading-text:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:linear-gradient(to right,transparent,var(--color-accent),transparent)}.portfolio-detail-content{padding:0 0 3rem}.portfolio-detail-main{background-color:var(--color-white);padding:2.5rem;margin-bottom:3rem;box-shadow:var(--shadow-sm);position:relative;border-left:3px solid var(--color-accent)}.portfolio-detail-main:after{content:"";position:absolute;top:0;right:0;width:0;height:0;border-style:solid;border-width:0 30px 30px 0;border-color:transparent var(--color-accent-light) transparent transparent;opacity:.5}.portfolio-detail-header{margin-bottom:2.5rem;opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease;padding-bottom:1.5rem;border-bottom:1px solid var(--color-light-gray)}.portfolio-detail-header.visible{opacity:1;transform:translateY(0)}.portfolio-meta{margin-bottom:1rem;display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.portfolio-date{color:var(--color-gray);font-size:.95rem;font-family:var(--font-mincho);letter-spacing:.05em}.portfolio-category{display:inline-block;background-color:var(--color-accent-light);color:var(--color-accent-dark);font-size:.85rem;padding:.2rem .8rem;font-family:var(--font-sans)}.portfolio-location{display:inline-flex;align-items:center;color:var(--color-gray);font-size:.95rem;border-bottom:none;position:relative;padding-bottom:0}.location-icon{margin-right:.3rem;color:var(--color-accent)}.portfolio-title{font-size:1.8rem;line-height:1.4;margin:.8rem 0 0;color:var(--color-black);font-family:var(--font-mincho);letter-spacing:.03em}.no-image{display:flex;justify-content:center;align-items:center;width:100%;height:100%;background-color:var(--color-light-gray);color:var(--color-gray);font-size:1rem;text-align:center;padding:2rem}.portfolio-before-after-comparison{display:flex;justify-content:space-between;align-items:center;margin-bottom:3rem;flex-wrap:wrap;gap:1rem}.comparison-item{flex:1;min-width:250px;max-width:45%}.comparison-title{font-size:1.2rem;margin-bottom:1rem;text-align:center;font-family:var(--font-mincho);position:relative;padding-bottom:.5rem}.comparison-title:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:50px;height:2px;background-color:var(--color-accent)}.comparison-image{border:1px solid var(--color-light-gray);border-radius:var(--border-radius-sm);overflow:hidden;box-shadow:var(--shadow-sm);height:300px}.comparison-image img{width:100%;height:100%;object-fit:cover;display:block}.comparison-arrow{font-size:2rem;color:var(--color-accent);margin:0 1rem;align-self:center}.portfolio-detail-body{margin-bottom:3rem;line-height:1.8;color:var(--color-dark-gray);opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.portfolio-detail-body.visible{opacity:1;transform:translateY(0)}.section-title{font-size:1.4rem;margin:2.5rem 0 1.5rem;color:var(--color-black);position:relative;padding-bottom:.8rem;font-family:var(--font-mincho);letter-spacing:.03em;border-bottom:1px solid var(--color-light-gray)}.section-title:after{content:"";position:absolute;bottom:-1px;left:0;width:80px;height:1px;background-color:var(--color-accent)}.portfolio-description{margin-bottom:2.5rem}.portfolio-description p{margin-bottom:1.5rem;font-size:1.05rem;line-height:1.8}.portfolio-description p:last-child{margin-bottom:0}.portfolio-specs{margin-bottom:2.5rem}.specs-table{width:100%;border-collapse:collapse;border:1px solid var(--color-light-gray)}.specs-table th,.specs-table td{padding:1rem;border-bottom:1px solid var(--color-light-gray);text-align:left;vertical-align:top}.specs-table th{background-color:var(--color-accent-light);color:var(--color-dark-gray);font-weight:600;width:30%;font-family:var(--font-mincho)}.specs-table tr:last-child th,.specs-table tr:last-child td{border-bottom:none}.portfolio-testimonial{margin-bottom:2.5rem;padding:1.5rem;background-color:var(--color-accent-light);border-radius:var(--border-radius-sm);position:relative}.testimonial-content{position:relative;padding:1.5rem;font-style:italic;color:var(--color-dark-gray);background-color:var(--color-white);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-sm)}.quote-icon{position:absolute;top:-15px;left:15px;font-size:2.5rem;color:var(--color-accent);font-family:serif;opacity:.5}.quote-end{top:auto;left:auto;right:15px;bottom:-25px}.testimonial-content p{margin:0;position:relative;z-index:1}.portfolio-detail-footer{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--color-light-gray);opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.portfolio-detail-footer.visible{opacity:1;transform:translateY(0)}.back-to-list{display:inline-block;padding:.8rem 1.8rem;background-color:transparent;color:var(--color-accent);border:1px solid var(--color-accent);font-size:.95rem;font-weight:500;transition:all .3s ease;position:relative;overflow:hidden;font-family:var(--font-mincho);letter-spacing:.05em;text-decoration:none}.back-to-list:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(to right,transparent,rgba(46,204,113,.2),transparent);transition:left .5s ease}.back-to-list:hover{background-color:var(--color-accent);color:var(--color-white);transform:translateY(-2px)}.back-to-list:hover:before{left:100%}.portfolio-detail-related{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease;margin-bottom:3rem;position:relative}.portfolio-detail-related.visible{opacity:1;transform:translateY(0)}.related-title{font-size:1.5rem;margin-bottom:2rem;color:var(--color-black);position:relative;padding-bottom:.8rem;font-family:var(--font-mincho);letter-spacing:.05em;text-align:center}.related-title:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:50px;height:1px;background-color:var(--color-accent)}.related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;max-width:1000px;margin:0 auto}.related-item{background-color:var(--color-white);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-md);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;height:100%}.related-item:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}.related-link{display:block;text-decoration:none;color:inherit;height:100%}.related-image{width:100%;height:0;padding-bottom:65%;overflow:hidden;position:relative}.related-image img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.related-item:hover .related-image img{transform:scale(1.05)}.related-content{padding:1rem}.related-category{display:inline-block;background-color:var(--color-accent-light);color:var(--color-accent-dark);font-size:.8rem;padding:.2rem .7rem;margin-bottom:.5rem}.related-item-title{display:block;font-size:1.1rem;font-weight:600;line-height:1.4;font-family:var(--font-mincho);color:var(--color-black);transition:color .3s ease}.related-link:hover .related-item-title{color:var(--color-accent)}.portfolio-cta-section{background-color:var(--color-washi);padding:3rem 2rem;border-radius:var(--border-radius-sm);box-shadow:var(--shadow-sm);margin-top:4rem;position:relative;opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.portfolio-cta-section.visible{opacity:1;transform:translateY(0)}.portfolio-cta-section:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%232ecc71' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");border-radius:var(--border-radius-sm);z-index:-1}.cta-content{text-align:center}.cta-title{font-size:1.6rem;margin-bottom:1rem;color:var(--color-black);font-family:var(--font-mincho);letter-spacing:.05em}.cta-text{font-size:1.05rem;line-height:1.6;margin-bottom:2rem;max-width:700px;margin-left:auto;margin-right:auto}.cta-buttons{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}.cta-button{display:inline-block;padding:1rem 2rem;font-size:1rem;font-weight:500;text-decoration:none;font-family:var(--font-mincho);letter-spacing:.05em;transition:all .3s ease;position:relative;overflow:hidden;box-shadow:0 0 0 1px var(--color-accent);border:1px solid var(--color-white);margin:3px}.cta-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(to right,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.cta-button:hover{transform:translateY(-3px)}.cta-button:hover:before{left:100%}.contact-button{background-color:var(--color-accent);color:var(--color-white);border:none}.contact-button:hover{background-color:var(--color-white);color:var(--color-accent);border:1px solid var(--color-accent)}.phone-button{background-color:transparent;color:var(--color-accent);border:1px solid var(--color-accent)}.phone-button:hover{background-color:var(--color-accent);color:var(--color-white)}@media (max-width: 991px){.portfolio-before-after-comparison{flex-direction:column;gap:2rem}.comparison-item{width:100%;max-width:100%}.comparison-arrow{transform:rotate(90deg);margin:0}.specs-table th{width:35%}}@media (max-width: 767px){.portfolio-title{font-size:1.5rem}.portfolio-meta{flex-direction:column;align-items:flex-start;gap:.5rem}.portfolio-detail-main{padding:1.8rem}.section-title{font-size:1.3rem}.portfolio-description p{font-size:1rem}.related-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.specs-table th,.specs-table td{padding:.8rem}.specs-table th{width:40%}.cta-buttons{flex-direction:column;gap:1rem}.cta-button{width:100%}}@media (max-width: 480px){.page-title{font-size:1.8rem}.portfolio-title{font-size:1.3rem}.portfolio-detail-main{padding:1.5rem}.portfolio-description p{font-size:.95rem}.specs-table th,.specs-table td{padding:.7rem;font-size:.95rem;display:block;width:100%}.specs-table th{border-bottom:none}.cta-title{font-size:1.4rem}.cta-text{font-size:.95rem}.back-to-list{display:block;text-align:center}.related-item-title{font-size:1rem}}.service-detail-overview,.service-detail-section,.service-process{margin-bottom:4rem;opacity:1;transform:translateY(0);transition:opacity .8s ease,transform .8s ease;text-align:center;position:relative;z-index:2}.service-detail-section.visible{opacity:1;transform:translateY(0)}.service-detail-text{max-width:800px;margin-left:auto;margin-right:auto;text-align:left}.detail-paragraph{margin-bottom:1.5rem;line-height:1.8;font-family:var(--font-sans);color:var(--color-dark-gray)!important;display:block!important;visibility:visible!important;opacity:1!important}.service-process{margin-bottom:4rem;opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease;text-align:center}.service-process.visible{opacity:1;transform:translateY(0)}.process-timeline{position:relative;max-width:800px;margin:0 auto}.process-timeline:before{content:"";position:absolute;top:0;bottom:0;left:20px;width:2px;background-color:var(--color-light-gray)}.process-step{position:relative;padding-left:60px;margin-bottom:2rem;text-align:left}.process-step:last-child{margin-bottom:0}.step-number{position:absolute;left:0;width:40px;height:40px;background-color:var(--color-accent);color:var(--color-white);display:flex;justify-content:center;align-items:center;font-weight:700;font-size:1.1rem;z-index:1;font-family:var(--font-mincho);border-radius:0}.step-content{background-color:var(--color-white);padding:1.5rem;border-radius:8px;box-shadow:var(--shadow-sm)}.step-title{font-size:1.2rem;margin-bottom:.5rem;color:var(--color-dark-gray);font-family:var(--font-mincho)}.step-description{line-height:1.6;color:var(--color-dark-gray);font-family:var(--font-sans)}.service-contact{margin-top:5rem;opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.service-contact.visible{opacity:1;transform:translateY(0)}.contact-box{background-color:var(--color-washi);padding:2.5rem;border-radius:10px;box-shadow:var(--shadow-md);text-align:center;border:1px solid var(--color-light-gray)}.contact-title{font-size:1.6rem;margin-bottom:1.5rem;color:var(--color-dark-gray);font-family:var(--font-mincho);letter-spacing:.03em}.contact-text{margin-bottom:1.5rem;max-width:600px;margin-left:auto;margin-right:auto;font-family:var(--font-sans)}.contact-address{margin-bottom:2rem;padding:1rem;background-color:#fff;border-radius:8px;display:inline-block}.contact-address p{margin-bottom:.5rem;font-family:var(--font-sans)}.contact-address p:last-child{margin-bottom:0;color:var(--color-accent-dark);font-weight:700}.contact-buttons{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}.custom-button{display:inline-block;padding:.8rem 2.5rem;background-color:var(--color-accent);color:var(--color-white);font-family:var(--font-mincho);border:none;position:relative;overflow:hidden;transition:all .3s ease;letter-spacing:.1em;min-width:200px;text-align:center}.custom-button:before,.custom-button:after{content:"";position:absolute;border:1px solid var(--color-white);pointer-events:none;transition:all .3s ease}.custom-button:before{top:5px;right:5px;bottom:5px;left:5px}.custom-button:after{top:0;right:0;bottom:0;left:0}.custom-button:hover{background-color:var(--color-white);color:var(--color-accent)}.custom-button:hover:before,.custom-button:hover:after{border-color:var(--color-accent)}.back-button{background-color:var(--color-white);color:var(--color-accent)}.back-button:before,.back-button:after{border-color:var(--color-accent)}.back-button:hover{background-color:var(--color-accent);color:var(--color-white)}.back-button:hover:before,.back-button:hover:after{border-color:var(--color-white)}.fade-in{opacity:1!important;transform:translateY(0)!important;transition:opacity .8s ease,transform .8s ease}@media (min-width: 768px){.features-list{grid-template-columns:repeat(2,1fr);gap:1rem 2rem}.process-timeline:before{left:30px}.contact-buttons{flex-direction:row;gap:1.5rem}.custom-button{width:auto}}@media (max-width: 767px){.page-header{padding:7rem 0 3rem}.page-title{font-size:2rem}.image-slider{min-height:300px}.service-detail-text{text-align:center}.portrait-mode .detail-image,.landscape-mode .detail-image{max-height:300px}.section-title{font-size:1.5rem}.service-description{font-size:1rem}.features-title{font-size:1.2rem}.features-list{grid-template-columns:repeat(2,1fr);gap:.8rem 1rem}.process-step{padding-left:50px}.step-number{width:32px;height:32px;font-size:.9rem}.step-title{font-size:1.1rem}.contact-title{font-size:1.4rem}.image-controls{padding:0 10px}.image-control{width:30px;height:30px;font-size:14px}.indicator{width:8px;height:8px}.step-content{text-align:center}.contact-buttons{flex-direction:column;align-items:center;gap:1rem}.custom-button{width:100%;max-width:280px}}@media (max-width: 480px){.portrait-mode .detail-image{max-height:250px}.landscape-mode .detail-image{max-height:220px}.step-content{text-align:center}.image-slider{min-height:220px}.section-title{font-size:1.3rem}.features-title,.step-title{font-size:1rem}.service-detail-text{text-align:center}.feature-item,.step-description{font-size:.9rem}.features-list{grid-template-columns:repeat(2,1fr);gap:.6rem .8rem}.feature-item{padding-left:1.5rem}.process-timeline:before{left:15px}.process-step{padding-left:40px}.step-number{width:30px;height:30px;font-size:.85rem}.contact-title{font-size:1.2rem}.contact-text{font-size:.9rem}.contact-address{width:100%;padding:.8rem}.contact-address p{font-size:.9rem}}.service-detail-page{position:relative;padding-bottom:6rem;font-family:Noto Sans JP,sans-serif}.service-detail-page:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM60 91c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM35 41c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM12 60c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2z' fill='%232ecc71' fill-opacity='0.02' fill-rule='evenodd'/%3E%3C/svg%3E");z-index:-1;opacity:.6}.page-title:after{content:"";position:absolute;bottom:-10px;left:0;width:100%;height:2px;background-color:var(--color-accent)}.breadcrumb a{color:var(--color-white);transition:color .3s ease;position:relative}.breadcrumb a:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background-color:var(--color-accent);transition:width .3s ease}.breadcrumb a:hover:after{width:100%}.service-detail-content{padding:2rem 0}.service-detail-loading{display:flex;justify-content:center;align-items:center;min-height:400px;font-size:1.2rem;color:var(--color-gray);font-family:var(--font-mincho);letter-spacing:.05em}.back-link{display:inline-block;margin-top:1rem;padding:.5rem 1rem;background-color:var(--color-accent);color:#fff;border-radius:4px;text-decoration:none;transition:background-color .3s ease}.back-link:hover{background-color:var(--color-accent-dark)}.service-detail-image-container{margin-bottom:4rem;opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.service-detail-image-container.visible{opacity:1;transform:translateY(0)}.image-slider{position:relative;max-width:800px;margin:0 auto;border-radius:8px;overflow:hidden;box-shadow:var(--shadow-md);background-color:var(--color-off-white);display:flex;justify-content:center;align-items:center;min-height:450px}.no-image{display:flex;justify-content:center;align-items:center;width:100%;height:100%;color:var(--color-gray);font-family:var(--font-mincho)}.portrait-mode.image-slider{background-color:transparent;box-shadow:none;border-radius:0;overflow:visible;height:auto;min-height:450px}.portrait-mode .detail-image{object-position:center;width:auto;height:auto;max-width:100%;max-height:450px;position:relative;border-radius:8px;box-shadow:var(--shadow-md)}.landscape-mode.image-slider{height:450px}.landscape-mode .detail-image{width:100%;height:100%;object-fit:cover}.detail-image{display:block;transition:opacity .5s ease,transform .5s ease}.detail-image.fade-out{opacity:0;transform:scale(1.02)}.detail-image.fade-in{opacity:1;transform:scale(1)}.auto-scroll-active .detail-image{transition:opacity .8s ease,transform .8s ease}.image-controls{position:absolute;top:50%;width:100%;display:flex;justify-content:space-between;transform:translateY(-50%);padding:0 20px;z-index:10}.image-control{background-color:#0000004d;color:#fff;border:none;border-radius:50%;width:40px;height:40px;display:flex;justify-content:center;align-items:center;cursor:pointer;font-size:18px;transition:background-color .3s ease}.image-control:hover{background-color:#0009}.image-indicators{position:absolute;bottom:20px;left:0;right:0;display:flex;justify-content:center;gap:10px;z-index:10}.indicator{width:12px;height:12px;border-radius:50%;background-color:#ffffff80;cursor:pointer;transition:background-color .3s ease,transform .3s ease}.indicator.active{background-color:var(--color-white);transform:scale(1.2)}.auto-scroll-toggle{position:absolute;bottom:20px;right:20px;background-color:#0000004d;color:#fff;border:none;border-radius:4px;padding:5px 10px;font-size:.8rem;cursor:pointer;transition:background-color .3s ease;z-index:10;display:flex;align-items:center;gap:5px}.auto-scroll-toggle:hover{background-color:#0009}.auto-scroll-icon{width:14px;height:14px;display:inline-block}.service-detail-overview{margin-bottom:4rem;opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease;text-align:center}.service-detail-overview.visible{opacity:1;transform:translateY(0)}.section-title{font-size:1.8rem;margin-bottom:1.5rem;position:relative;padding-bottom:.5rem;color:var(--color-dark-gray)!important;font-family:var(--font-mincho);letter-spacing:.03em;text-align:center;display:inline-block;z-index:2}.section-title:after{content:"";position:absolute;bottom:0;left:50%;width:60px;height:2px;background-color:var(--color-accent);transform:translate(-50%)}.service-description{font-size:1.1rem;line-height:1.8;margin-bottom:2rem;font-family:var(--font-sans);max-width:800px;margin-left:auto;margin-right:auto;color:var(--color-dark-gray)!important;display:block!important;visibility:visible!important;opacity:1!important}.service-features{background-color:var(--color-washi);padding:1.5rem 2rem;position:relative;margin-bottom:2rem;max-width:800px;margin-left:auto;margin-right:auto;text-align:left}.service-features:before,.service-features:after{content:"";position:absolute;border:1px solid var(--color-accent);pointer-events:none}.service-features:before{top:5px;right:5px;bottom:5px;left:5px}.service-features:after{top:0;right:0;bottom:0;left:0}.features-title{font-size:1.3rem;margin-bottom:1rem;color:var(--color-dark-gray);font-family:var(--font-mincho);text-align:center}.features-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem 1.5rem}.feature-item{position:relative;padding-left:1.8rem;line-height:1.6;font-family:var(--font-sans)}.feature-item:before{content:"✓";position:absolute;left:0;color:var(--color-accent);font-weight:700}.company-info-page{padding-bottom:2rem}.info-table-container{margin-top:1rem}.company-table{box-shadow:var(--shadow-sm);margin-bottom:1.5rem}.company-table th{background-color:var(--color-off-white);width:30%;padding:1.2rem;font-weight:600;color:var(--color-dark-gray)}.company-table td{padding:1.2rem;color:var(--color-dark-gray)}.company-table tr:nth-child(2n) td{background-color:#f0f0f04d}.business-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:2rem;list-style:none;padding:0;max-width:800px;margin-left:auto;margin-right:auto}.business-item{position:relative;padding-left:1.8rem;font-size:1.1rem;color:var(--color-dark-gray);line-height:1.5}.business-item:before{content:"";position:absolute;left:0;top:.5rem;width:.8rem;height:.8rem;background-color:var(--color-accent);transform:rotate(45deg)}.company-overview,.business-content{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.company-overview.visible,.business-content.visible{opacity:1;transform:translateY(0)}.company-overview{transition-delay:.1s}.business-content{transition-delay:.3s}.clients{transition-delay:.5s}.clients-note{font-size:1rem;margin-bottom:2rem;color:var(--color-gray);font-style:italic;text-align:center}.clients-list{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;max-width:1000px;margin-left:auto;margin-right:auto}.client-item{background-color:var(--color-off-white);padding:1.5rem;text-align:center;border-radius:5px;box-shadow:var(--shadow-sm);transition:transform .3s ease,box-shadow .3s ease;color:var(--color-dark-gray);border:1px solid transparent}.client-link{text-decoration:none;cursor:pointer;display:flex;justify-content:center;align-items:center;position:relative}.client-link:after{content:"→";position:absolute;right:10px;opacity:0;transition:opacity .3s ease,transform .3s ease}.client-link:hover:after{opacity:1;transform:translate(5px)}.client-item:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:var(--color-accent)}@media (max-width: 992px){.business-list{grid-template-columns:repeat(2,1fr);gap:1.2rem}.clients-list{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.business-list{grid-template-columns:1fr;gap:1rem;max-width:400px}.company-table{max-width:600px;margin-left:auto;margin-right:auto}.company-table th{width:35%}.clients-list{grid-template-columns:repeat(2,1fr);max-width:500px}}@media (max-width: 576px){.company-table th,.company-table td{display:block;width:100%;text-align:center}.company-table th{border-bottom:none;padding-bottom:.5rem}.company-table td{padding-top:.5rem}.business-item{font-size:1rem;text-align:center;padding-left:0;padding-top:1.5rem}.business-item:before{left:50%;top:0;transform:translate(-50%) rotate(45deg)}.clients-list{grid-template-columns:1fr;gap:1rem;max-width:280px}.client-item{padding:1.2rem}}.history-page{padding-bottom:2rem}.history-intro-content{margin-top:1rem;margin-bottom:1rem;max-width:800px;margin-left:auto;margin-right:auto}.history-intro-text{font-size:1.1rem;line-height:1.8;margin-bottom:1rem;color:var(--color-dark-gray)}.history-intro-text:last-child{margin-bottom:0}.timeline{position:relative;margin:.5rem auto 3rem;padding-left:2rem;z-index:2;max-width:800px}.timeline:before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background-color:var(--color-accent);opacity:.5;border-radius:2px;z-index:2}.timeline-item{position:relative;margin-bottom:4rem;opacity:0;transform:translate(30px);transition:opacity .8s ease,transform .8s ease;z-index:3}.timeline-item:last-child{margin-bottom:0}.timeline-item.visible{opacity:1;transform:translate(0)}.timeline-marker{position:absolute;left:-2.5rem;top:.5rem;width:1rem;height:1rem;background-color:var(--color-accent);border-radius:50%;border:3px solid var(--color-white);box-shadow:var(--shadow-sm);z-index:3}.timeline-content{position:relative;padding:1.5rem 2rem;background-color:var(--color-white);border-radius:10px;box-shadow:var(--shadow-sm);z-index:3;border:1px solid rgba(46,204,113,.1)}.timeline-year{font-size:1.3rem;margin-bottom:.5rem;color:var(--color-dark-gray);font-weight:700;font-family:var(--font-mincho)}.timeline-title{font-size:1.1rem;margin-bottom:1rem;color:var(--color-accent-dark);font-weight:600}.timeline-text{font-size:1rem;line-height:1.6;color:var(--color-dark-gray)}.future-vision{margin:3rem auto 0;background-color:var(--color-off-white);padding:3rem;border-radius:10px;position:relative;border:1px solid rgba(46,204,113,.2);max-width:800px}.future-vision:before{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border:1px solid rgba(46,204,113,.3);pointer-events:none}.future-content{margin-top:2rem;position:relative;z-index:2}.future-text{font-size:1.1rem;line-height:1.8;margin-bottom:1.5rem;color:var(--color-dark-gray)}.future-text:last-child{margin-bottom:0}.timeline-item:nth-child(1){transition-delay:.1s}.timeline-item:nth-child(2){transition-delay:.2s}.timeline-item:nth-child(3){transition-delay:.3s}.timeline-item:nth-child(4){transition-delay:.4s}.timeline-item:nth-child(5){transition-delay:.5s}.timeline-item:nth-child(6){transition-delay:.6s}.timeline-item:nth-child(7){transition-delay:.7s}.timeline-item:nth-child(8){transition-delay:.8s}.timeline-item:nth-child(9){transition-delay:.9s}@media (max-width: 768px){.timeline{padding-left:1.5rem;width:90%}.timeline-marker{left:-2rem;width:.8rem;height:.8rem}.timeline-content{padding:1.2rem 1.5rem}.timeline-year{font-size:1.2rem}.timeline-title{font-size:1rem}.future-vision{padding:2rem;width:90%}.history-intro-text,.future-text{font-size:1rem}}@media (max-width: 576px){.timeline{padding-left:1.2rem;margin:1.5rem auto 3rem}.timeline:before{width:3px}.timeline-marker{left:-1.65rem;width:.7rem;height:.7rem;top:.3rem}.timeline-item{margin-bottom:3rem}.timeline-content{padding:1rem;text-align:center}.timeline-year{font-size:1.1rem}.timeline-title{font-size:.95rem}.timeline-text{font-size:.9rem;text-align:center}.future-vision{padding:1.5rem}.future-text,.history-intro-text{text-align:center}}.president-message-page{padding-bottom:2rem}.message-container{margin-top:1.5rem;max-width:800px;margin-left:auto;margin-right:auto}.about-section-title{text-align:center}.about-section-title:after{left:50%;transform:translate(-50%)}.message-content{background-color:var(--color-white);border-radius:10px;box-shadow:var(--shadow-sm);padding:3rem;position:relative;border:1px solid rgba(46,204,113,.1)}.message-content:before{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border:1px solid rgba(46,204,113,.2);pointer-events:none}.message-header{display:flex;align-items:center;margin-bottom:2.5rem;gap:2rem;position:relative;z-index:2}.president-photo{flex-shrink:0;width:150px;height:150px;border-radius:50%;overflow:hidden;background-color:var(--color-off-white);box-shadow:var(--shadow-sm)}.president-photo img{width:100%;height:100%;object-fit:cover}.president-photo-placeholder{width:100%;height:100%;display:flex;justify-content:center;align-items:center;background-color:var(--color-light-gray);color:var(--color-white);font-size:1.2rem}.placeholder-icon{font-size:1rem;color:var(--color-gray)}.president-info{flex-grow:1}.president-position{font-size:1rem;color:var(--color-gray);margin-bottom:.5rem}.president-name{font-size:1.8rem;font-weight:700;color:var(--color-dark-gray);margin:0;font-family:var(--font-mincho)}.message-body{margin-bottom:3rem;position:relative;z-index:2}.message-text{font-size:1.1rem;line-height:1.8;margin-bottom:1.5rem;color:var(--color-dark-gray);text-indent:1em}.message-text:last-child{margin-bottom:0}.message-signature{text-align:right;margin-top:2rem;position:relative;z-index:2}.signature-name{font-size:1.3rem;font-family:var(--font-mincho);font-weight:600;color:var(--color-dark-gray);display:inline-block;position:relative;padding-bottom:5px}.signature-name:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background-color:var(--color-dark-gray)}.management-philosophy{margin-top:4rem;max-width:800px;margin-left:auto;margin-right:auto}.philosophy-container{margin-top:2rem}.philosophy-quote{background-color:var(--color-off-white);padding:2.5rem;border-radius:10px;text-align:center;margin-bottom:2.5rem;position:relative;border:1px solid rgba(46,204,113,.1)}.philosophy-quote:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1px solid rgba(46,204,113,.2);pointer-events:none;border-radius:6px}.philosophy-quote:after{content:'"';position:absolute;bottom:.5rem;right:1.5rem;font-size:4rem;color:#2ecc711a;line-height:1;font-family:serif}.quote-text{font-size:1.8rem;font-family:var(--font-mincho);font-weight:700;line-height:1.4;color:var(--color-dark-gray);margin:0;position:relative;z-index:2}.quote-text:before{content:'"';position:absolute;top:-1.5rem;left:-1rem;font-size:4rem;color:#2ecc711a;line-height:1;font-family:serif}.philosophy-content{padding:0 1.5rem}.philosophy-text{font-size:1.1rem;line-height:1.8;margin-bottom:1.5rem;color:var(--color-dark-gray)}.philosophy-text:last-child{margin-bottom:0}.message-section,.management-philosophy{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.message-section.visible,.management-philosophy.visible{opacity:1;transform:translateY(0)}.message-section{transition-delay:.1s}.management-philosophy{transition-delay:.4s}@media (max-width: 768px){.message-content{padding:2rem}.message-header{flex-direction:column;gap:1.5rem;text-align:center}.president-info{text-align:center}.president-name{font-size:1.5rem}.message-text,.philosophy-text{font-size:1rem}.philosophy-quote{padding:2rem}.quote-text{font-size:1.5rem}}@media (max-width: 576px){.message-content{padding:1.5rem}.president-photo{width:120px;height:120px}.message-text{text-indent:0;text-align:center}.signature-name{font-size:1.2rem}.philosophy-quote{padding:1.5rem}.quote-text{font-size:1.3rem}.philosophy-content{padding:0}.philosophy-text{text-align:center}}.job-list-page{padding-bottom:2rem}.job-cards{display:flex;flex-direction:column;gap:2rem;margin-bottom:4rem;max-width:900px;margin-left:auto;margin-right:auto}.job-card{background-color:var(--color-white);box-shadow:var(--shadow-md);overflow:hidden;border:1px solid var(--color-light-gray);transition:transform .3s ease,box-shadow .3s ease;opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease,box-shadow .3s ease;position:relative}.job-card:before{content:"";position:absolute;top:5px;left:5px;right:5px;bottom:5px;border:1px solid transparent;pointer-events:none;z-index:1;transition:all .3s ease}.job-card.visible{opacity:1;transform:translateY(0)}.job-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--color-accent)}.job-card:hover:before{border-color:var(--color-accent)}.job-card-header{background-color:var(--color-accent);color:var(--color-white);padding:1.5rem;display:flex;justify-content:space-between;align-items:center;position:relative;z-index:2}.job-title{font-size:1.5rem;margin:0;font-family:var(--font-mincho);letter-spacing:.05em;color:var(--color-white)}.job-type-badge{background-color:transparent;color:var(--color-white);padding:.4rem 1.2rem;font-size:.9rem;font-weight:500;position:relative;border:1px solid var(--color-white);font-family:var(--font-mincho)}.job-type-badge:before{content:"";position:absolute;top:2px;left:2px;right:2px;bottom:2px;border:1px solid transparent;transition:all .3s ease}.job-card-body{padding:1.5rem;position:relative;z-index:2}.job-info{margin-bottom:1.5rem}.job-info-item{display:flex;margin-bottom:.5rem}.info-label{font-weight:500;width:70px;flex-shrink:0}.job-description{margin-bottom:1.5rem;line-height:1.8}.job-requirements,.job-profile,.job-details,.job-benefits,.job-career{background-color:var(--color-off-white);padding:1.2rem 1.5rem;margin-bottom:1.5rem;border:1px solid var(--color-light-gray);position:relative}.job-requirements:before,.job-profile:before,.job-details:before,.job-benefits:before,.job-career:before{content:"";position:absolute;top:4px;left:4px;right:4px;bottom:4px;border:1px solid var(--color-light-gray);opacity:.7;pointer-events:none}.requirements-title,.profile-title,.details-title,.benefits-title,.career-title{font-size:1.1rem;margin-bottom:.8rem;color:var(--color-dark-gray)}.requirements-list,.details-list,.benefits-list{list-style:none;margin:0;padding:0}.requirement-item,.detail-item,.benefit-item{position:relative;padding-left:1.5rem;margin-bottom:.5rem;line-height:1.6}.requirement-item:last-child,.detail-item:last-child,.benefit-item:last-child{margin-bottom:0}.requirement-item:before,.detail-item:before,.benefit-item:before{content:"■";position:absolute;left:0;color:var(--color-dark-gray);font-size:.7rem;top:.2rem}.profile-text,.career-text{line-height:1.6;margin:0}.contact-section{margin-top:3rem}.contact-box{background-color:var(--color-off-white);padding:2.5rem;box-shadow:var(--shadow-md);text-align:center;border:1px solid var(--color-light-gray);position:relative}.contact-box:before{content:"";position:absolute;top:5px;left:5px;right:5px;bottom:5px;border:1px solid var(--color-light-gray);pointer-events:none}.contact-title{font-size:1.6rem;margin-bottom:1.5rem;color:var(--color-dark-gray)}.contact-text{margin-bottom:1.5rem;max-width:600px;margin-left:auto;margin-right:auto}.contact-button-container{display:flex;justify-content:center}.action-button{display:inline-block;padding:.8rem 2rem;background-color:var(--color-accent);color:var(--color-white);border:1px solid var(--color-accent);font-weight:500;transition:all .3s ease;position:relative;text-decoration:none;font-family:var(--font-mincho);letter-spacing:.05em;border-radius:0}.action-button:before{content:"";position:absolute;top:3px;left:3px;right:3px;bottom:3px;border:1px solid transparent;transition:all .3s ease}.action-button:hover{background-color:var(--color-accent-dark);border-color:var(--color-accent-dark);color:var(--color-white);transform:translateY(-3px);box-shadow:var(--shadow-md)}.action-button:hover:before{border-color:var(--color-white)}@media (max-width: 768px){.job-list-page,.intro-section{text-align:center}.job-card-header{flex-direction:column;align-items:center;gap:.5rem;text-align:center}.job-title{font-size:1.3rem}.job-type-badge{align-self:center}.job-card-body{padding:1.2rem;text-align:center}.job-info-item{flex-direction:column;align-items:center}.info-label{width:auto;margin-bottom:.3rem}.requirements-title,.profile-title,.details-title,.benefits-title,.career-title{font-size:1rem;text-align:center}.requirement-item,.detail-item,.benefit-item{text-align:left}.contact-title{font-size:1.4rem}.contact-box{padding:1.5rem}}@media (max-width: 576px){.action-button{width:100%;text-align:center}.requirement-item,.detail-item,.benefit-item{padding-left:0;padding-top:1.5rem;text-align:center}.requirement-item:before,.detail-item:before,.benefit-item:before{top:0;left:50%;transform:translate(-50%)}.job-description,.profile-text,.career-text{text-align:center}}.joblist-button,.action-buttons a[href="/recruit/joblist"]{display:inline-block!important;padding:.8rem 2rem!important;background-color:var(--color-white)!important;color:var(--color-accent)!important;border:1px solid var(--color-accent)!important;font-weight:500!important;transition:all .3s ease!important;position:relative!important;font-family:var(--font-mincho)!important;letter-spacing:.05em!important;border-radius:0!important;text-decoration:none!important;text-align:center!important}.joblist-button:before,.action-buttons a[href="/recruit/joblist"]:before{content:""!important;position:absolute!important;top:3px!important;left:3px!important;right:3px!important;bottom:3px!important;border:1px solid transparent!important;transition:all .3s ease!important}.joblist-button:hover,.action-buttons a[href="/recruit/joblist"]:hover{background-color:var(--color-accent)!important;border-color:var(--color-accent)!important;transform:translateY(-3px)!important;box-shadow:var(--shadow-sm)!important;color:var(--color-white)!important}.joblist-button:hover:before,.action-buttons a[href="/recruit/joblist"]:hover:before{border-color:var(--color-white)!important}.contact-button,.action-buttons a[href="/contact"]{display:inline-block!important;padding:.8rem 2rem!important;background-color:var(--color-accent)!important;color:var(--color-white)!important;border:1px solid var(--color-accent)!important;font-weight:500!important;transition:all .3s ease!important;position:relative!important;font-family:var(--font-mincho)!important;letter-spacing:.05em!important;border-radius:0!important;text-decoration:none!important;text-align:center!important}.contact-button:before,.action-buttons a[href="/contact"]:before{content:""!important;position:absolute!important;top:3px!important;left:3px!important;right:3px!important;bottom:3px!important;border:1px solid transparent!important;transition:all .3s ease!important}.contact-button:hover,.action-buttons a[href="/contact"]:hover{background-color:var(--color-white)!important;border-color:var(--color-accent)!important;transform:translateY(-3px)!important;box-shadow:var(--shadow-sm)!important;color:var(--color-accent)!important}.contact-button:hover:before,.action-buttons a[href="/contact"]:hover:before{border-color:var(--color-accent)!important}.custom-button{display:inline-block;padding:.8rem 2rem;font-weight:500;transition:all .3s ease;position:relative;font-family:var(--font-mincho);letter-spacing:.05em;border-radius:0;text-decoration:none;text-align:center}.benefits-page{padding-bottom:2rem}.benefits-section{max-width:1000px;margin:0 auto 4rem}.benefit-category{margin-bottom:3rem;opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.benefit-category.visible{opacity:1;transform:translateY(0)}.benefit-category:last-child{margin-bottom:0}.category-title{font-size:1.6rem;margin-bottom:1.5rem;color:var(--color-dark-gray);position:relative;padding-bottom:.5rem;border-bottom:2px solid var(--color-light-gray)}.benefits-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:1.5rem}.benefit-card{background-color:var(--color-white);padding:1.5rem;border:1px solid var(--color-light-gray);box-shadow:var(--shadow-sm);transition:transform .3s ease,box-shadow .3s ease;opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease,box-shadow .3s ease;position:relative}.benefit-card:before{content:"";position:absolute;top:5px;left:5px;right:5px;bottom:5px;border:1px solid var(--color-light-gray);pointer-events:none;transition:all .3s ease}.benefit-card.visible{opacity:1;transform:translateY(0)}.benefit-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:var(--color-accent)}.benefit-card:hover:before{border-color:var(--color-accent)}.benefit-title{font-size:1.2rem;margin-bottom:.8rem;color:var(--color-dark-gray);position:relative;padding-left:1.5rem}.benefit-title:before{content:"■";position:absolute;left:0;color:var(--color-dark-gray);font-size:.8rem;top:.3rem}.benefit-description{line-height:1.6;margin:0}.welfare-message{max-width:800px;margin:0 auto 4rem}.message-box{background-color:var(--color-off-white);padding:2rem;box-shadow:var(--shadow-sm);border:1px solid var(--color-light-gray);position:relative}.message-box:before{content:"";position:absolute;top:5px;left:5px;right:5px;bottom:5px;border:1px solid var(--color-light-gray);pointer-events:none}.message-title{font-size:1.4rem;margin-bottom:1rem;color:var(--color-dark-gray)}.message-text{line-height:1.8;margin:0}.action-box{background-color:var(--color-off-white);padding:2.5rem;box-shadow:var(--shadow-md);text-align:center;border:1px solid var(--color-light-gray);position:relative}.action-box:before{content:"";position:absolute;top:5px;left:5px;right:5px;bottom:5px;border:1px solid var(--color-light-gray);pointer-events:none}.action-title{font-size:1.6rem;margin-bottom:1.5rem;color:var(--color-dark-gray);text-align:center}.action-text{margin-bottom:1.5rem;max-width:600px;margin-left:auto;margin-right:auto;text-align:center}.action-buttons{display:flex;justify-content:center;gap:1rem;width:100%;margin:0 auto}@media (min-width: 768px){.benefits-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 992px){.benefits-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.benefits-page,.intro-section{text-align:center}.category-title{font-size:1.4rem;text-align:center}.benefit-title{font-size:1.1rem;text-align:center;padding-left:0;padding-top:1.5rem}.benefit-title:before{left:50%;transform:translate(-50%);top:0}.benefit-description{text-align:center}.message-title{font-size:1.3rem;text-align:center}.message-text{text-align:center}.message-box{padding:1.5rem}.action-title{font-size:1.4rem;text-align:center}.action-text{text-align:center}.action-box{padding:1.5rem}.custom-button{text-align:center}}@media (max-width: 576px){.action-buttons{flex-direction:column;align-items:center;max-width:250px;margin:0 auto}.action-buttons .custom-button,.action-buttons .joblist-button,.action-buttons .contact-button{width:100%;text-align:center}.action-button,.secondary-button{width:100%}.category-title{font-size:1.3rem}}.staff-introduction-page{padding-bottom:2rem}.intro-section{max-width:800px;margin:0 auto 3rem}.intro-text{font-size:1.1rem;line-height:1.8;margin-bottom:1rem}.staff-cards-section{margin-bottom:4rem}.staff-cards{display:grid;grid-template-columns:repeat(1,1fr);gap:2rem;max-width:1000px;margin:0 auto}.staff-card{background-color:var(--color-white);border-radius:10px;box-shadow:var(--shadow-md);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease,box-shadow .3s ease;position:relative;border:1px solid var(--color-light-gray)}.staff-card.visible{opacity:1;transform:translateY(0)}.staff-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.staff-card-image{width:100%;height:200px;overflow:hidden}.staff-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.staff-card:hover .staff-card-image img{transform:scale(1.05)}.staff-card-content{padding:1.5rem}.staff-position{font-size:1.4rem;margin-bottom:.5rem;color:var(--color-dark-gray)}.staff-experience{font-size:1rem;color:var(--color-gray);margin-bottom:.5rem;font-weight:500}.staff-specialty{font-size:1rem;color:var(--color-dark-gray);margin-bottom:1rem;font-weight:500;background-color:var(--color-off-white);padding:.3rem .6rem;border-radius:4px;display:inline-block}.staff-short-desc{font-size:1rem;line-height:1.6;margin-bottom:.5rem}.staff-description{font-size:1rem;line-height:1.6;color:var(--color-gray);font-style:italic}.action-section{margin-top:2rem}.action-box{background-color:var(--color-off-white);padding:2.5rem;border-radius:10px;box-shadow:var(--shadow-md);text-align:center;border:1px solid var(--color-light-gray)}.action-title{font-size:1.6rem;margin-bottom:1.5rem;color:var(--color-dark-gray)}.action-text{margin-bottom:1.5rem;max-width:600px;margin-left:auto;margin-right:auto}.action-buttons{display:flex;justify-content:center;gap:1rem}.secondary-button{display:inline-block;padding:1rem 2rem;background-color:var(--color-white);color:var(--color-dark-gray);border:1px solid var(--color-dark-gray);border-radius:50px;font-weight:500;transition:all .3s ease}.secondary-button:hover{background-color:var(--color-off-white);transform:translateY(-3px);box-shadow:var(--shadow-sm)}@media (min-width: 768px){.staff-cards{grid-template-columns:repeat(2,1fr)}.staff-card-image{height:220px}}@media (min-width: 992px){.staff-cards{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.action-title{font-size:1.4rem}.action-box{padding:1.5rem}}@media (max-width: 576px){.action-buttons{flex-direction:column;gap:.8rem}.action-button,.secondary-button{width:100%}.staff-card-image{height:180px}}.contact-page{position:relative;padding-bottom:6rem;min-height:100vh}.background-animation{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;overflow:hidden;pointer-events:none}.breadcrumb{margin-top:1.5rem;font-size:.9rem}.breadcrumb a{color:var(--color-light-gray);transition:color .3s ease}.breadcrumb a:hover{color:var(--color-white)}.sub-nav{background-color:var(--color-off-white);padding:.5rem 0;margin-bottom:3rem}.tabs-container{position:relative;display:flex;justify-content:center;width:100%}.contact-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;gap:1rem;padding:.5rem 0;justify-content:center;margin:0 auto}.contact-tabs::-webkit-scrollbar{display:none}.contact-tab{padding:.8rem 1.5rem;font-weight:500;white-space:nowrap;color:var(--color-dark-gray);transition:all .3s ease;position:relative;border:1px solid transparent;font-family:var(--font-mincho);letter-spacing:.05em}.contact-tab:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border:1px solid transparent;transition:all .3s ease}.contact-tab:hover{border-color:var(--color-light-gray)}.contact-tab:hover:before{top:3px;left:3px;right:3px;bottom:3px;border-color:var(--color-light-gray)}.contact-tab.active{border-color:var(--color-accent);color:var(--color-accent);background-color:var(--color-white)}.contact-tab.active:before{top:3px;left:3px;right:3px;bottom:3px;border-color:var(--color-accent)}.contact-content{padding:2rem 0;position:relative;min-height:400px}.section-title{font-size:1.8rem;margin-bottom:2rem;position:relative;padding-bottom:.8rem;color:var(--color-dark-gray)}.section-title:after{content:"";position:absolute;bottom:0;left:0;width:60px;height:3px;background-color:var(--color-dark-gray)}.contact-method{margin-bottom:3rem;opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.contact-method.visible{opacity:1;transform:translateY(0)}@media (max-width: 768px){.page-header{padding:4rem 0 1.5rem}.page-title{font-size:2rem}.section-title{font-size:1.5rem}.contact-tab{padding:.7rem 1.2rem;font-size:.9rem}.contact-tabs{gap:.5rem}.tabs-container{justify-content:center;padding:0 1rem}}@media (max-width: 576px){.page-title{font-size:1.8rem}.tabs-container{width:100%;display:flex;justify-content:center;padding:0 1rem}.contact-tabs{flex-direction:column;width:100%;max-width:400px;margin:0 auto;gap:.5rem;align-items:center}.contact-tab{width:100%;text-align:center;padding:.6rem 1rem;font-size:.85rem;display:flex;justify-content:center}}.contact-method{opacity:1;transform:translateY(0)}.form-method{padding:var(--spacing-lg) 0;max-width:800px;margin:0 auto}.form-intro{margin-bottom:2rem;text-align:center;color:var(--color-gray);line-height:1.6}.form-note{display:inline-block;margin-top:.5rem;font-size:.9rem;background-color:var(--color-accent-light);padding:.3rem .8rem;border-radius:var(--border-radius-sm)}.contact-form{display:flex;flex-direction:column;gap:2rem}.form-section{background-color:var(--color-white);border-radius:var(--border-radius-sm);padding:2rem;box-shadow:var(--shadow-sm);border:1px solid var(--color-light-gray);opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease;border-left:3px solid var(--color-accent)}.form-section.visible{opacity:1;transform:translateY(0)}.form-section-title{font-size:1.2rem;margin-bottom:1.5rem;padding-bottom:.8rem;color:var(--color-dark-gray);font-family:var(--font-mincho);letter-spacing:.03em;border-bottom:1px solid var(--color-light-gray);position:relative}.form-section-title:after{content:"";position:absolute;bottom:-1px;left:0;width:50px;height:2px;background-color:var(--color-accent)}.form-group{margin-bottom:1.8rem;position:relative}.form-group:last-child{margin-bottom:0}label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--color-dark-gray);font-family:var(--font-mincho);position:relative;font-size:1.05rem}.required{color:#e74c3c;margin-left:.25rem;font-size:.9rem}.optional{color:var(--color-gray);font-size:.9rem;font-weight:400;margin-left:.25rem}input[type=text],input[type=email],input[type=tel],select,textarea{width:100%;padding:1rem;border:1px solid var(--color-light-gray);border-radius:var(--border-radius-sm);font-size:1rem;transition:border-color var(--transition-speed),box-shadow var(--transition-speed);font-family:var(--font-sans);background-color:var(--color-white)}input::placeholder,textarea::placeholder{color:#aaa}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #2ecc711a}input.error,select.error,textarea.error{border-color:#e74c3c;background-color:#e74c3c0d}.form-error{color:#e74c3c;font-size:.85rem;margin-top:.5rem;padding-left:.5rem;position:relative}.form-error:before{content:"!";position:absolute;left:0;top:0;font-weight:700}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236d6d6d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:1rem;padding-right:2.5rem}.textarea-help{font-size:.85rem;color:var(--color-gray);margin-top:.5rem;font-style:italic}.recaptcha-container{margin-bottom:1.5rem;display:flex;justify-content:center}.form-footer{background-color:var(--color-off-white);border-radius:var(--border-radius-sm);padding:2rem;box-shadow:var(--shadow-sm);border:1px solid var(--color-light-gray);text-align:center;opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.form-footer.visible{opacity:1;transform:translateY(0)}.form-policy{font-size:.9rem;margin-bottom:1.5rem;color:var(--color-gray);line-height:1.6;padding:1rem;background-color:#00000005;border-radius:var(--border-radius-sm)}.form-policy a{color:var(--color-accent);text-decoration:underline}.form-policy a:hover{color:var(--color-accent-dark)}.form-submit-error{background-color:#e74c3c1a;color:#e74c3c;padding:.8rem;border-radius:var(--border-radius-sm);margin-bottom:1.5rem;border-left:3px solid #e74c3c}.form-submit{margin-top:1.5rem}.submit-button{background-color:var(--color-accent);color:var(--color-white);border:none;padding:1.2rem 3rem;font-size:1.1rem;font-weight:500;cursor:pointer;border-radius:var(--border-radius-sm);transition:background-color var(--transition-speed),transform var(--transition-speed),box-shadow var(--transition-speed);font-family:var(--font-mincho);letter-spacing:.05em;position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;min-width:220px;box-shadow:0 2px 5px #2ecc714d}.submit-button:hover:not(:disabled){background-color:var(--color-accent-dark);transform:translateY(-3px);box-shadow:0 4px 8px #2ecc7166}.submit-button:active:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 4px #2ecc714d}.submit-button:disabled{opacity:.7;cursor:not-allowed}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .8s linear infinite;margin-right:.5rem}@keyframes spin{to{transform:rotate(360deg)}}.form-success-message{background-color:var(--color-white);border-radius:var(--border-radius-sm);padding:3rem 2rem;text-align:center;box-shadow:var(--shadow-md);border:1px solid rgba(46,204,113,.3);max-width:600px;margin:0 auto}.success-icon{width:80px;height:80px;margin:0 auto 1.5rem;color:var(--color-accent);animation:scaleIn .5s ease}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.form-success-message h3{font-size:1.5rem;margin-bottom:1rem;color:var(--color-dark-gray);font-family:var(--font-mincho)}.form-success-message p{margin-bottom:2rem;color:var(--color-gray);line-height:1.6}.reset-button{background-color:var(--color-white);color:var(--color-accent);border:1px solid var(--color-accent);padding:.8rem 2rem;font-size:1rem;cursor:pointer;border-radius:var(--border-radius-sm);transition:all var(--transition-speed);font-family:var(--font-mincho)}.reset-button:hover{background-color:var(--color-accent);color:var(--color-white);transform:translateY(-2px)}@media (max-width: 768px){.form-method{text-align:center}.form-section,.form-footer{padding:1.5rem}.form-section-title{font-size:1.1rem;text-align:center}.form-section-title:after{left:50%;transform:translate(-50%)}label{font-size:1rem;text-align:center}input[type=text],input[type=email],input[type=tel],select,textarea{padding:.8rem;font-size:.95rem}.form-error{text-align:center;padding-left:0}.form-error:before{position:static;margin-right:5px}.form-success-message{padding:2rem 1.5rem}.success-icon{width:60px;height:60px}.form-success-message h3{font-size:1.3rem}.submit-button{width:100%;padding:1rem}.textarea-help{text-align:center}}@media (max-width: 480px){.form-section,.form-footer{padding:1.2rem}.form-section-title{font-size:1rem}.form-group{margin-bottom:1.2rem}label{font-size:.95rem}.recaptcha-container{transform:scale(.85);transform-origin:center;margin-left:-15px;margin-right:-15px}.form-intro{font-size:.9rem}.textarea-help{font-size:.8rem}}.phone-method{padding:var(--spacing-lg) 0;max-width:800px;margin:0 auto}.phone-container{background-color:var(--color-white);border-radius:var(--border-radius);padding:3rem 2rem;text-align:center;box-shadow:var(--shadow-md);margin-bottom:3rem;border:1px solid var(--color-light-gray);opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.phone-container.visible{opacity:1;transform:translateY(0)}.phone-icon{width:100px;height:100px;background-color:var(--color-accent);border-radius:50%;display:flex;justify-content:center;align-items:center;margin:0 auto 1.5rem;position:relative}.phone-icon-inner{position:relative;width:50px;height:50px}.phone-icon-inner:before{content:"";position:absolute;width:30px;height:30px;border:3px solid var(--color-white);border-radius:50%;bottom:0;left:5px}.phone-icon-inner:after{content:"";position:absolute;width:3px;height:20px;background-color:var(--color-white);transform:rotate(-45deg);right:10px;top:8px}.phone-number{font-size:2.5rem;font-weight:700;margin-bottom:1.5rem;color:var(--color-dark-gray);font-family:var(--font-mincho);letter-spacing:.05em}.contact-description{font-size:1.1rem;color:var(--color-gray);margin-bottom:2rem;line-height:1.8;max-width:600px;margin-left:auto;margin-right:auto}.phone-button{display:inline-block;background-color:var(--color-accent);color:var(--color-white);padding:1rem 3rem;border-radius:var(--border-radius);font-weight:500;transition:all var(--transition-speed);font-family:var(--font-mincho);letter-spacing:.05em;position:relative;overflow:hidden}.phone-button:hover{background-color:var(--color-accent-dark);transform:translateY(-3px);box-shadow:var(--shadow-md);color:var(--color-white)}.phone-button:active{transform:translateY(-1px)}.business-hours{background-color:var(--color-white);border-radius:var(--border-radius);padding:2rem;box-shadow:var(--shadow-md);margin-bottom:3rem;border:1px solid var(--color-light-gray);opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.business-hours.visible{opacity:1;transform:translateY(0)}.hours-title{font-size:1.5rem;margin-bottom:1.5rem;color:var(--color-dark-gray);font-family:var(--font-mincho);letter-spacing:.03em;text-align:center;position:relative;padding-bottom:.8rem}.hours-title:after{content:"";position:absolute;width:60px;height:2px;background-color:var(--color-accent);bottom:0;left:50%;transform:translate(-50%)}.hours-table{width:100%;border-collapse:collapse;margin-bottom:1.5rem}.hours-table th,.hours-table td{padding:1rem;border-bottom:1px solid var(--color-light-gray)}.hours-table th{text-align:left;width:40%;font-weight:600;color:var(--color-dark-gray);font-family:var(--font-mincho)}.hours-note{font-size:.9rem;color:var(--color-gray);text-align:center}.contact-cta{background-color:var(--color-off-white);border-radius:var(--border-radius);padding:2.5rem 2rem;text-align:center;margin-bottom:1rem;border-left:3px solid var(--color-accent);opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.contact-cta.visible{opacity:1;transform:translateY(0)}.cta-title{font-size:1.4rem;margin-bottom:1rem;color:var(--color-dark-gray);font-family:var(--font-mincho);letter-spacing:.03em}.cta-text{font-size:1.05rem;color:var(--color-gray);margin-bottom:1.5rem;line-height:1.7;max-width:600px;margin-left:auto;margin-right:auto}.cta-button{display:inline-block;background-color:transparent;color:var(--color-accent);border:2px solid var(--color-accent);padding:.9rem 2.5rem;border-radius:var(--border-radius);font-weight:500;transition:all var(--transition-speed);font-family:var(--font-mincho);letter-spacing:.05em;position:relative}.cta-button:hover{background-color:var(--color-accent);color:var(--color-white);transform:translateY(-3px);box-shadow:var(--shadow-sm)}.cta-button:active{transform:translateY(-1px)}@media (max-width: 767px){.phone-method{text-align:center}.phone-container,.business-hours,.contact-cta{padding:2rem 1.5rem}.phone-icon{width:80px;height:80px}.phone-number{font-size:2rem}.contact-description{font-size:1rem;margin-bottom:1.5rem}.phone-button{width:100%;padding:.8rem 1rem}.hours-title{font-size:1.3rem}.hours-table{margin-left:auto;margin-right:auto}.hours-table th,.hours-table td{text-align:center}.cta-title{font-size:1.2rem}.cta-text{font-size:1rem}.cta-button{width:100%;padding:.8rem 1rem}}@media (max-width: 480px){.phone-container,.business-hours,.contact-cta{padding:1.5rem 1rem}.phone-icon{width:70px;height:70px}.phone-number{font-size:1.8rem}.hours-table th,.hours-table td{display:block;width:100%;padding:.6rem 0;text-align:center}.hours-table th{border-bottom:none;padding-bottom:.2rem}.hours-table td{padding-top:.2rem}.contact-description,.hours-note,.cta-text{text-align:center}}.faq-method{padding:var(--spacing-lg) 0;max-width:800px;margin:0 auto}.faq-list{margin-bottom:3rem;opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.faq-list.visible{opacity:1;transform:translateY(0)}.faq-item{background-color:var(--color-white);border-radius:var(--border-radius-sm);margin-bottom:1.2rem;box-shadow:var(--shadow-sm);border:1px solid var(--color-light-gray);overflow:hidden;transition:all .3s ease;cursor:pointer}.faq-item:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.faq-item.active{border-left:3px solid var(--color-accent)}.faq-question{position:relative;padding:1.5rem 3rem 1.5rem 4rem;margin:0;font-size:1.1rem;color:var(--color-dark-gray);font-family:var(--font-mincho);display:flex;align-items:center;cursor:pointer}.faq-icon{position:absolute;left:1.5rem;width:1.8rem;height:1.8rem;background-color:var(--color-accent-light);color:var(--color-accent-dark);border-radius:50%;display:flex;justify-content:center;align-items:center;font-size:1rem;font-weight:700;font-family:var(--font-sans)}.faq-toggle{position:absolute;right:1.5rem;color:var(--color-accent);font-size:1.2rem;transition:transform .3s ease}.faq-item.active .faq-toggle{transform:rotate(180deg)}.faq-answer-container{max-height:0;overflow:hidden;transition:max-height .5s ease}.faq-answer-container.open{max-height:1000px}.faq-answer{padding:0 1.5rem 1.5rem 4rem;margin:0;line-height:1.7;color:var(--color-gray);position:relative}.answer-icon{background-color:#e74c3c1a;color:#e74c3c}.faq-help{background-color:var(--color-off-white);border-radius:var(--border-radius-sm);padding:2rem;margin-bottom:3rem;text-align:center;border-left:3px solid var(--color-accent);opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.faq-help.visible{opacity:1;transform:translateY(0)}.help-title{font-size:1.3rem;margin-bottom:1rem;color:var(--color-dark-gray);font-family:var(--font-mincho)}.help-text{font-size:1.05rem;line-height:1.7;max-width:600px;margin:0 auto;color:var(--color-gray)}.faq-contact-options{display:flex;gap:1.5rem;margin-bottom:2rem;opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.faq-contact-options.visible{opacity:1;transform:translateY(0)}.contact-option{flex:1;background-color:var(--color-white);border-radius:var(--border-radius-sm);padding:2rem;text-align:center;box-shadow:var(--shadow-sm);border:1px solid var(--color-light-gray);transition:transform .3s ease,box-shadow .3s ease}.contact-option:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}.option-title{font-size:1.2rem;margin-bottom:1rem;color:var(--color-dark-gray);font-family:var(--font-mincho)}.option-text{font-size:.95rem;margin-bottom:1.5rem;line-height:1.6;color:var(--color-gray);min-height:3rem}.option-button{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:.8rem 1.2rem;border-radius:var(--border-radius-sm);margin-bottom:.8rem;font-weight:500;transition:all .3s ease}.option-icon{margin-right:.5rem;font-size:1.2rem}.phone-option{background-color:var(--color-accent);color:var(--color-white)}.phone-option:hover{background-color:var(--color-accent-dark);color:var(--color-white)}.form-option{background-color:var(--color-white);color:var(--color-accent);border:1px solid var(--color-accent)}.form-option:hover{background-color:var(--color-accent);color:var(--color-white)}.option-note{font-size:.85rem;color:var(--color-gray);margin-bottom:1rem}.option-link{font-size:.9rem;color:var(--color-accent);text-decoration:underline;display:inline-block;transition:color .3s ease}.option-link:hover{color:var(--color-accent-dark)}@media (max-width: 767px){.faq-method{text-align:center}.faq-contact-options{flex-direction:column}.faq-question{padding:1.2rem 2.5rem 1.2rem 3.5rem;font-size:1rem;text-align:left}.faq-icon{left:1.2rem;width:1.5rem;height:1.5rem;font-size:.9rem}.faq-toggle{right:1.2rem}.faq-answer{padding:0 1.2rem 1.2rem 3.5rem;text-align:left}.help-title{font-size:1.2rem}.help-text{font-size:1rem}.option-title{font-size:1.1rem}.option-text{min-height:auto}}@media (max-width: 480px){.faq-item{text-align:center}.faq-question{padding:1rem 2.2rem 1rem 3rem;font-size:.95rem;text-align:left}.faq-icon{left:1rem;width:1.3rem;height:1.3rem;font-size:.8rem}.faq-toggle{right:1rem}.faq-answer{padding:0 1rem 1rem 3rem;font-size:.9rem;text-align:left}.faq-help,.contact-option{padding:1.5rem 1rem}.help-title{font-size:1.1rem}.help-text{font-size:.95rem}.section-title,.option-title,.option-text,.option-note{text-align:center}}.sitemap-page{position:relative;padding-bottom:6rem}.sitemap-content{padding:2rem 0;position:relative}.sitemap-content:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 20 L 40 20 M 20 0 L 20 40' stroke='%232ecc71' stroke-width='0.5' stroke-dasharray='1 5' /%3E%3C/svg%3E");opacity:.06;z-index:-1}.sitemap-intro{max-width:800px;margin:0 auto 3rem;text-align:center;font-size:1.1rem;line-height:1.8;opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.sitemap-intro.visible{opacity:1;transform:translateY(0)}.sitemap-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:3rem;margin-bottom:2rem}.sitemap-column{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease;background-color:var(--color-white);padding:2rem;border-radius:var(--border-radius-sm);box-shadow:var(--shadow-sm);border-left:3px solid var(--color-accent)}.sitemap-column.visible{opacity:1;transform:translateY(0)}.sitemap-category{font-size:1.5rem;margin-bottom:1.5rem;position:relative;padding-bottom:.8rem;color:var(--color-dark-gray);border-bottom:1px solid var(--color-light-gray);font-family:var(--font-mincho);letter-spacing:.03em}.sitemap-category:after{content:"";position:absolute;bottom:-1px;left:0;width:40px;height:2px;background-color:var(--color-accent)}.sitemap-list{list-style:none;padding:0;margin:0}.sitemap-item{margin-bottom:1.5rem;position:relative}.sitemap-item:last-child{margin-bottom:0}.sitemap-link{font-size:1.1rem;font-weight:500;color:var(--color-dark-gray);display:inline-block;margin-bottom:.5rem;transition:color .3s ease;position:relative}.sitemap-link:hover{color:var(--color-accent)}.main-link{font-weight:600;display:inline-block;padding-bottom:.3rem;border-bottom:1px solid var(--color-light-gray);width:fit-content}.main-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background-color:var(--color-accent);transition:width .3s ease}.main-link:hover:after{width:100%}.sitemap-sublist{list-style:none;padding-left:1.5rem;margin:.5rem 0 0}.sitemap-subitem{margin-bottom:.8rem;position:relative}.sitemap-subitem:last-child{margin-bottom:0}.sitemap-subitem:before{content:"▸";position:absolute;left:-1.2rem;color:var(--color-accent)}.sitemap-page .sitemap-sublink{font-size:1rem;color:var(--color-dark-gray);transition:color .3s ease;display:inline-block;margin-bottom:.5rem;text-decoration:none;border:none;background:none;padding:0;border-radius:0;font-weight:400}.sitemap-page .sitemap-sublink:hover{color:var(--color-accent)}.sitemap-page .sitemap-joblist-link{font-size:1rem;color:var(--color-dark-gray);transition:color .3s ease;display:inline-block;margin-bottom:.5rem;text-decoration:none;border:none;background:none;padding:0;border-radius:0;font-weight:400}.sitemap-page .sitemap-joblist-link:hover{color:var(--color-accent)}.no-link{font-weight:600;color:var(--color-dark-gray);cursor:default}.sitemap-thirdlist{list-style:none;padding-left:1.5rem;margin:.5rem 0 .8rem}.sitemap-thirditem{margin-bottom:.5rem;position:relative}.sitemap-thirditem:last-child{margin-bottom:0}.sitemap-thirditem:before{content:"–";position:absolute;left:-1rem;color:var(--color-gray)}.sitemap-thirdlink{font-size:.95rem;color:var(--color-dark-gray);transition:color .3s ease}.sitemap-thirdlink:hover{color:var(--color-accent)}.footer-links-column{grid-column:1 / -1}@media (min-width: 768px){.sitemap-grid{grid-template-columns:repeat(2,1fr);gap:2rem 3rem}.footer-links-column{grid-column:auto}}@media (min-width: 992px){.sitemap-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.page-header{padding:7rem 0 3rem}.page-title{font-size:2rem}.sitemap-category{font-size:1.3rem}.sitemap-link{font-size:1rem}.sitemap-page .sitemap-sublink,.sitemap-page .sitemap-joblist-link{font-size:.95rem}.sitemap-thirdlink{font-size:.9rem}}@media (max-width: 576px){.sitemap-intro{font-size:1rem;text-align:left}.sitemap-category{font-size:1.2rem}.sitemap-column{padding:1.5rem}}.privacy-policy-page{position:relative;padding-bottom:6rem}.background-animation{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;overflow:hidden}.breadcrumb{color:var(--color-light-gray);font-size:.9rem;margin-top:1.5rem}.breadcrumb a{color:var(--color-white);transition:color .3s ease}.breadcrumb a:hover{color:var(--color-accent)}.privacy-content{padding:2rem 0;position:relative}.privacy-content:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 20 L 40 20 M 20 0 L 20 40' stroke='%232ecc71' stroke-width='0.5' stroke-dasharray='1 5' /%3E%3C/svg%3E");opacity:.06;z-index:-1}.privacy-container{max-width:800px;margin:0 auto;background-color:var(--color-white);border-radius:var(--border-radius-sm);padding:3rem;box-shadow:var(--shadow-md);border-left:3px solid var(--color-accent);position:relative}.privacy-container:before{content:"";position:absolute;top:2rem;right:2rem;width:100px;height:100px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath fill='%232ecc71' fill-opacity='0.05' d='M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM60 91c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM35 41c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM12 60c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2z'/%3E%3C/svg%3E");background-size:cover;opacity:.1;z-index:-1;pointer-events:none}.privacy-intro{margin-bottom:2.5rem;font-size:1.1rem;line-height:1.8;opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.privacy-intro.visible{opacity:1;transform:translateY(0)}.privacy-section{margin-bottom:2.5rem;opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease;position:relative}.privacy-section.visible{opacity:1;transform:translateY(0)}.section-title{font-size:1.4rem;margin-bottom:1.2rem;color:var(--color-dark-gray);border-bottom:1px solid var(--color-light-gray);padding-bottom:.5rem;font-family:var(--font-mincho);letter-spacing:.03em;position:relative}.section-title:after{content:"";position:absolute;bottom:-1px;left:0;width:40px;height:2px;background-color:var(--color-accent)}.privacy-section p{margin-bottom:1rem;line-height:1.7}.privacy-list{padding-left:1.5rem;margin-bottom:1rem}.privacy-list li{margin-bottom:.8rem;line-height:1.6;position:relative}.privacy-list li:before{content:"•";position:absolute;left:-1rem;color:var(--color-accent)}.privacy-list li:last-child{margin-bottom:0}.contact-info{background-color:var(--color-off-white);padding:1.5rem;border-radius:var(--border-radius-sm);margin-top:1rem;border-left:3px solid var(--color-accent-light)}.contact-info p{margin-bottom:.5rem}.contact-info p:last-child{margin-bottom:0}.privacy-footer{margin-top:3rem;text-align:right;padding-top:1.5rem;border-top:1px solid var(--color-light-gray);opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.privacy-footer.visible{opacity:1;transform:translateY(0)}.update-date{margin-bottom:.5rem;font-size:.9rem;color:var(--color-gray)}.company-name{font-weight:600;font-size:1rem;color:var(--color-dark-gray);font-family:var(--font-mincho);letter-spacing:.03em}.fade-in{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.fade-in.visible{opacity:1;transform:translateY(0)}button.cookie-settings-button{background-color:var(--color-accent-light);color:var(--color-accent-dark);border:1px solid var(--color-accent);border-radius:var(--border-radius-sm);padding:.5rem 1rem;font-size:.9rem;cursor:pointer;transition:all .3s ease}button.cookie-settings-button:hover{background-color:var(--color-accent);color:var(--color-white)}@media (max-width: 768px){.page-header{padding:7rem 0 3rem}.page-title{font-size:2rem}.privacy-container{padding:2rem}.section-title{font-size:1.3rem}.privacy-intro{font-size:1rem}}@media (max-width: 576px){.privacy-container{padding:1.5rem}.section-title{font-size:1.2rem}.contact-info{padding:1rem}.privacy-list li{margin-bottom:.6rem}}
