@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{top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);z-index:1000;background-color:#f5f5f5;align-items:center;width:100%;height:90px;transition:all .4s;display:flex;position:fixed;box-shadow:0 2px 10px #0000000d}.header a{color:inherit;text-decoration:none}.header a:hover{color:inherit}.header.header-transparent{box-shadow:none;background-color:#0000}.header.header-transparent .nav-item a{color:var(--color-white)}.header.header-transparent .nav-jp{color:var(--color-white);text-shadow:0 1px 3px #00000080}.header.header-transparent .nav-en{color:#ffffffb3;text-shadow:0 1px 3px #00000080}.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 #ffffffb3;box-shadow:0 2px 4px #0003}.header.header-transparent .company-prefix{color:var(--color-white);text-shadow:0 1px 3px #00000080}.header.header-transparent .company-name-container{border-bottom:1px solid #ffffff80}.header.header-scrolled{background-color:#fffffff2;box-shadow:0 2px 10px #0000001a}.header.header-scrolled .nav-jp{color:var(--color-dark-gray);text-shadow:none}.header.header-scrolled .nav-en{color:var(--color-gray);text-shadow:none}.header.header-scrolled .nav-item a:after{background-color:var(--color-accent)}.header.header-scrolled .hamburger span{background:var(--color-dark-gray);box-shadow:none}.header.header-scrolled .contact-link{background-color:var(--color-accent);color:var(--color-white);border:1px solid var(--color-accent);box-shadow:0 2px 4px #0000001a}.header.header-scrolled .company-prefix{color:var(--color-dark-gray);text-shadow:none}.header.header-scrolled .company-name-container{border-bottom:1px solid #2ecc714d}.header.header-non-home{box-shadow:none;background-color:#0000}.header.header-non-home .nav-jp{color:var(--color-white);text-shadow:0 1px 3px #00000080}.header.header-non-home .nav-en{color:#ffffffb3;text-shadow:0 1px 3px #00000080}.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 #00000080}.header.header-non-home .company-name-container{border-bottom:1px solid #ffffff80}.header.header-non-home .contact-link{background-color:var(--color-accent);color:var(--color-white);border:1px solid #ffffffb3;box-shadow:0 2px 4px #0003}.header.header-non-home.header-scrolled{background-color:#ffffffd9;box-shadow:0 2px 10px #0000001a}.header.header-non-home.header-scrolled .nav-jp{color:var(--color-dark-gray);text-shadow:none}.header.header-non-home.header-scrolled .nav-en{color:var(--color-gray);text-shadow:none}.header.header-non-home.header-scrolled .nav-item a:after{background-color:var(--color-accent)}.header.header-non-home.header-scrolled .hamburger span{background:var(--color-dark-gray);box-shadow:none}.header.header-non-home.header-scrolled .company-prefix{color:var(--color-dark-gray);text-shadow:none}.header.header-non-home.header-scrolled .company-name-container{border-bottom:1px solid #2ecc714d}.header.header-non-home.header-scrolled .contact-link{background-color:var(--color-accent);color:var(--color-white);border:1px solid var(--color-accent);box-shadow:0 2px 4px #0000001a}@media (max-width:767px){.header{height:70px}}@media (max-width:360px){.header{height:60px}}.header-container{justify-content:space-between;align-items:center;width:100%;max-width:100%;margin:0;padding:0;display:flex}.logo{z-index:1001;justify-content:flex-start;align-items:center;min-width:240px;height:90px;padding-left:20px;display:flex}.logo a{color:inherit;justify-content:flex-start;align-items:center;height:100%;text-decoration:none;display:flex}.logo a:hover{color:inherit}.logo a:hover .company-text-logo{opacity:.85;transform:scale(1.02)}.logo a:hover .company-name-container{border-bottom-color:var(--color-accent)}@media (max-width:991px){.logo{flex:1;width:auto;min-width:auto;padding-left:15px}}@media (max-width:767px){.logo{padding-left:10px}}@media (max-width:360px){.logo{padding-left:5px}}.company-text-logo{font-family:var(--font-mincho);text-transform:none;justify-content:flex-start;align-items:center;line-height:1.2;transition:all .3s;display:flex}.company-name-container{border-bottom:1px solid #2ecc714d;justify-content:flex-start;align-items:center;padding-bottom:.2rem;display:flex}.company-prefix{letter-spacing:.05em;color:var(--color-white);white-space:nowrap;text-shadow:0 1px 2px #0006;font-size:2rem;font-weight:500}@media (max-width:991px){.company-prefix{font-size:1.6rem}}@media (max-width:991px) and (min-width:768px){.company-prefix{font-size:1.5rem}}@media (max-width:767px){.company-prefix{font-size:1.3rem}}@media (max-width:360px){.company-prefix{font-size:1.1rem}}.main-nav{flex:1;justify-content:center;margin-left:40px;padding:0 10px;display:none}@media (min-width:992px){.main-nav{display:flex}}.nav-list{justify-content:space-between;gap:5%;width:100%;max-width:800px;margin:0;padding:0;list-style:none;display:flex}@media (min-width:1200px){.nav-list{max-width:1000px}}.nav-item{position:relative}.nav-item a{font-family:var(--font-mincho);padding:.5rem 0;text-decoration:none;transition:color .3s;display:inline-block;position:relative}.nav-item a:after{content:"";bottom:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);background-color:var(--color-white);width:0;height:1px;transition:width .3s;position:absolute}.nav-item a:hover:after{width:100%}.nav-item a:hover .nav-jp{color:var(--color-accent)}.nav-text{flex-direction:column;align-items:center;line-height:1.2;display:flex}.nav-jp{color:var(--color-white);text-shadow:0 1px 3px #00000080;margin-bottom:.2rem;font-size:1.15rem;font-weight:600}@media (min-width:1200px){.nav-jp{font-size:1.25rem}}.nav-en{color:#ffffffb3;font-size:.7rem;font-family:var(--font-sans);letter-spacing:.05em;text-shadow:0 1px 3px #00000080;font-weight:500}@media (min-width:1200px){.nav-en{font-size:.75rem}}.contact-button-container{flex-shrink:0;justify-content:center;width:240px;margin-left:1.5rem;padding-right:20px;display:flex}@media (min-width:992px){.contact-button-container{display:flex}}@media (max-width:991px){.contact-button-container{display:none!important}}.contact-link{white-space:nowrap;background-color:var(--color-accent);color:var(--color-white);border:1px solid var(--color-accent);font-size:1.1rem;font-weight:600;font-family:var(--font-mincho);letter-spacing:.05em;border-radius:4px;padding:12px 24px;text-decoration:none;transition:all .3s;display:inline-block}.contact-link:hover{background-color:var(--color-accent-dark);color:var(--color-white);transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.mobile-menu-toggle{z-index:1001;cursor:pointer;display:block}@media (min-width:992px){.mobile-menu-toggle{display:none}}@media (max-width:991px){.mobile-menu-toggle{padding-right:15px}}.hamburger{width:30px;height:22px;transition:all .5s ease-in-out;position:relative;transform:rotate(0)}.hamburger span{opacity:1;background:var(--color-white);border-radius:1px;width:100%;height:2px;transition:all .25s ease-in-out;display:block;position:absolute;left:0;transform:rotate(0);box-shadow:0 1px 2px #0000004d}.hamburger span:first-child{top:0}.hamburger span:nth-child(2){top:9px}.hamburger span:nth-child(3){top:18px}.hamburger.active span:first-child{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)}@media (max-width:360px){.hamburger{width:25px;height:18px}.hamburger span:nth-child(2){top:8px}.hamburger span:nth-child(3){top:16px}.hamburger.active span:first-child,.hamburger.active span:nth-child(3){top:8px}}.mobile-menu{top:calc(var(--spacing,.25rem)*0);z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#f5f5f5fa;justify-content:center;align-items:center;width:100%;height:100vh;padding:80px 20px 20px;transition:right .3s;display:flex;position:fixed;right:-100%;overflow-y:auto}.mobile-menu.open{right:0}@media (min-width:992px){.mobile-menu{display:none}}.mobile-nav-list{text-align:center;width:100%;margin:0;padding:0;list-style:none}.mobile-nav-item{margin-bottom:1rem}.mobile-nav-item a{color:var(--color-black);font-weight:500;font-family:var(--font-mincho);letter-spacing:.05em;padding:.3rem 0;text-decoration:none;transition:color .3s;display:inline-block;position:relative}.mobile-nav-item a:after{content:"";bottom:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);background-color:var(--color-accent);width:0;height:1px;transition:width .3s;position:absolute}.mobile-nav-item a:hover .mobile-nav-jp{color:var(--color-accent)}.mobile-nav-item a:hover:after{width:100%}.mobile-nav-text{flex-direction:column;align-items:center;display:flex}.mobile-nav-jp{color:var(--color-black);margin-bottom:.1rem;font-size:1rem}.mobile-nav-en{color:var(--color-gray);font-size:.6rem;font-family:var(--font-sans);letter-spacing:.05em}.contact-mobile-item{margin-top:1.5rem}.contact-mobile-item .contact-link{padding:.6rem 1.5rem;font-size:.9rem;display:inline-block}.cookie-consent{right:calc(var(--spacing,.25rem)*0);bottom:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);color:#fff;z-index:10000;font-family:var(--font-sans);background-color:#000000e6;padding:15px;position:fixed;box-shadow:0 -2px 10px #0003}@media (max-width:480px){.cookie-consent{padding:10px 5px}}.cookie-content{flex-direction:column;align-items:center;gap:10px;max-width:1200px;margin:0 auto;padding:10px;display:flex}.cookie-content p{text-align:center;margin:0;font-size:.95rem;line-height:1.5}@media (max-width:480px){.cookie-content p{font-size:.85rem}}@media (max-width:768px){.cookie-content{padding:10px 15px}}.cookie-header{justify-content:space-between;align-items:center;width:100%;display:flex}.cookie-header h3{font-size:1.2rem;font-family:var(--font-mincho);letter-spacing:.05em;margin:0}@media (max-width:480px){.cookie-header h3{font-size:1.1rem}}.close-button{color:#adb5bd;cursor:pointer;background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1;transition:color .3s}.close-button:hover{color:#fff}.privacy-link{color:#2ecc71;text-decoration:underline;transition:color .3s}.privacy-link:hover{color:#27ae60}.cookie-buttons{justify-content:center;gap:10px;width:100%;margin-top:10px;display:flex}@media (max-width:768px){.cookie-buttons{flex-direction:column;max-width:300px}}@media (max-width:480px){.cookie-buttons{max-width:250px}}.accept-all-button,.accept-selected-button,.settings-button,.decline-button{cursor:pointer;font-weight:700;font-family:var(--font-mincho);letter-spacing:.05em;white-space:nowrap;border:none;border-radius:0;padding:8px 20px;transition:background-color .3s}@media (max-width:768px){.accept-all-button,.accept-selected-button,.settings-button,.decline-button{width:100%;margin-bottom:5px;padding:10px;font-size:.9rem}}@media (max-width:480px){.accept-all-button,.accept-selected-button,.settings-button,.decline-button{padding:8px;font-size:.85rem}}.accept-all-button{color:#fff;background-color:#2ecc71}.accept-all-button:hover{background-color:#27ae60}.accept-selected-button{color:#fff;background-color:#1971c2}.accept-selected-button:hover{background-color:#1864ab}.settings-button{color:#fff;background-color:#495057}.settings-button:hover{background-color:#343a40}.decline-button{color:#fff;background-color:#868e96}.decline-button:hover{background-color:#495057}.cookie-details{background-color:#202020e6;border-radius:0;width:100%;max-width:800px;margin:10px 0;padding:15px}.cookie-option{border-bottom:1px solid #3d3d3d;margin-bottom:12px;padding-bottom:12px}.cookie-option:last-child{border-bottom:none;margin-bottom:0}.cookie-label{cursor:pointer;align-items:center;margin-bottom:5px;display:flex}.cookie-label input[type=checkbox]{cursor:pointer;margin-right:10px}.cookie-label input[type=checkbox]:disabled{cursor:not-allowed}.cookie-type{font-weight:700;font-family:var(--font-mincho)}.cookie-description{color:#adb5bd;margin:0;padding-left:25px;font-size:.9rem}.cookie-settings-button{color:#2ecc71;cursor:pointer;font-size:.9rem;font-family:var(--font-sans);z-index:10;background:0 0;border:none;padding:5px;text-decoration:underline;position:relative}.cookie-settings-button:hover{color:#27ae60}.footer{background-color:var(--color-washi);color:var(--color-black);border-top:1px dashed #ccc;padding:3rem 0 2rem;position:relative;overflow:visible}.footer a{color:var(--color-dark-gray);transition:color .3s}.footer a:hover{color:var(--color-accent)}.footer-pattern{top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);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;width:100%;height:8px;position:absolute}.footer-content{flex-direction:column;gap:2rem;margin-bottom:3rem;display:flex}@media (min-width:992px){.footer-content{flex-direction:row;justify-content:space-between}.footer-info{flex:1}}.footer-title{font-size:1.5rem;font-family:var(--font-mincho);letter-spacing:.05em;color:var(--color-black);margin-bottom:1rem;padding-bottom:.5rem;display:inline-block;position:relative}.footer-title:after{content:"";bottom:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);background-color:var(--color-accent);width:50%;height:1px;position:absolute}.footer-address{margin-bottom:1rem;font-size:.95rem;font-style:normal;line-height:1.6}.footer-address a{color:var(--color-accent);font-weight:500}.footer-nav-container{flex-wrap:wrap;justify-content:space-between;gap:2rem;display:flex}@media (min-width:992px){.footer-nav-container{flex-direction:row;flex:2;justify-content:space-between}}.footer-nav{flex:1;min-width:300px}.footer-nav-title{font-size:1.1rem;font-family:var(--font-mincho);letter-spacing:.03em;color:var(--color-black);margin-bottom:1rem;padding-bottom:.5rem;position:relative}.footer-nav-title:after{content:"";bottom:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);background-color:var(--color-accent);width:40px;height:1px;position:absolute}.footer-nav-list{grid-template-columns:repeat(2,1fr);gap:1rem 2rem;margin:0;padding:0;list-style:none;display:grid}@media (max-width:768px){.footer-nav-list{grid-template-columns:1fr}}.footer-nav-item{font-size:.95rem;position:relative}.footer-nav-item a{font-family:var(--font-sans);padding:.3rem 0;transition:color .3s;display:inline-block;position:relative}.footer-nav-item a:after{content:"";bottom:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);background-color:var(--color-accent);width:0;height:1px;transition:width .3s;position:absolute}.footer-nav-item a:hover:after{width:100%}.footer-contact-box{flex:none;align-items:flex-start;margin-top:2rem;display:flex}@media (max-width:768px){.footer-contact-box{justify-content:center;width:100%;margin-top:2rem}}.footer-mini-contact-card{border:1px solid var(--color-accent);background-color:#fff;flex-direction:column;gap:.7rem;min-width:240px;padding:1.2rem 1.5rem;display:flex;position:relative}.footer-mini-contact-card:before{content:"";border:1px solid var(--color-accent);pointer-events:none;position:absolute;top:5px;right:5px;bottom:5px;left:5px}@media (max-width:480px){.footer-mini-contact-card{width:100%;max-width:300px;padding:1rem 1.2rem}}.mini-contact-item{color:var(--color-dark-gray);z-index:1;border-radius:0;align-items:flex-start;padding:.2rem 0;text-decoration:none;transition:all .3s;display:flex;position:relative}.mini-contact-item:hover{color:var(--color-accent)}.mini-contact-icon{color:var(--color-accent);margin-top:.2rem;margin-right:.5rem;font-size:1rem}@media (max-width:480px){.mini-contact-icon{font-size:.9rem}}.mini-contact-text{flex-direction:column;align-items:flex-start;line-height:1.3;display:flex}.mini-contact-main{margin-bottom:.2rem;font-size:.9rem;font-weight:500}@media (max-width:480px){.mini-contact-main{font-size:.85rem}}.mini-contact-sub{opacity:.8;font-size:.8rem}@media (max-width:480px){.mini-contact-sub{font-size:.75rem}}.footer-bottom{border-top:1px solid #0000001a;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.5rem;padding-top:2rem;display:flex}@media (max-width:768px){.footer-bottom{text-align:center;flex-direction:column;align-items:center}}.footer-left{flex:1;min-width:280px}@media (max-width:768px){.footer-left{flex-direction:column;align-items:center;width:100%;display:flex}}.footer-policy-links{flex-wrap:wrap;gap:1.5rem;margin-bottom:1rem;font-size:.9rem;display:flex}.footer-policy-links a,.footer-policy-links .footer-cookie-button{color:var(--color-dark-gray);cursor:pointer;background:0 0;border:none;padding:.3rem 0;font-size:.9rem;text-decoration:none;display:inline-block;position:relative}.footer-policy-links a:after,.footer-policy-links .footer-cookie-button:after{content:"";bottom:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);background-color:var(--color-accent);width:0;height:1px;transition:width .3s;position:absolute}.footer-policy-links a:hover:after,.footer-policy-links .footer-cookie-button:hover:after{width:100%}@media (max-width:768px){.footer-policy-links{justify-content:center}}@media (max-width:480px){.footer-policy-links{flex-direction:column;align-items:center;gap:.5rem}}.copyright{opacity:.8;font-size:.85rem;font-family:var(--font-mincho);letter-spacing:.03em;margin:0}.faq-chatbot-container{z-index:1000;font-family:sans-serif;position:fixed;bottom:20px;right:20px}.faq-chatbot-trigger{color:#fff;cursor:pointer;background-color:#2ecc71;border:none;border-radius:4px;justify-content:center;align-items:center;width:auto;min-width:180px;height:50px;padding:0 20px;font-family:Shippori Mincho,Noto Serif JP,serif;font-size:15px;font-weight:600;transition:all .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 8px #0003}.faq-chatbot-trigger:hover{background-color:#27ae60;transform:translateY(-2px);box-shadow:0 6px 12px #00000026}@media (max-width:768px){.faq-chatbot-trigger{min-width:150px;font-size:14px}}@media (max-width:480px){.faq-chatbot-trigger{min-width:130px;padding:0 15px;font-size:13px}}.faq-chatbot-trigger-icon{width:20px;height:20px;margin-right:8px}.faq-chatbot-dialog{top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);z-index:1100;opacity:0;visibility:hidden;background-color:#00000080;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .3s,visibility .3s;display:flex;position:fixed}.faq-chatbot-dialog.open{opacity:1;visibility:visible}.faq-chat-box{background-color:#fff;border-radius:4px;flex-direction:column;width:90%;max-width:500px;height:80vh;max-height:600px;animation:.3s forwards slideUp;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 16px #0000001a}@media (max-width:768px){.faq-chat-box{width:95%;height:90vh;max-height:none}}@media (max-width:480px){.faq-chat-box{border-radius:0;width:100%;height:100%}}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.faq-chat-header{color:#333;background-color:#fff;border-bottom:1px solid #f2f2f2;border-top-left-radius:4px;border-top-right-radius:4px;justify-content:space-between;align-items:center;padding:15px;display:flex}@media (max-width:480px){.faq-chat-header{border-radius:0}}.faq-chat-title{text-align:center;flex-direction:column;flex-grow:1;display:flex}.faq-chat-title h3{text-align:center;color:#333;width:100%;margin:0;font-family:Shippori Mincho,Noto Serif JP,serif;font-size:1.2rem}.faq-chat-title p{text-align:center;opacity:.9;color:#666;width:100%;margin:5px 0 0;font-size:.85rem}.faq-chat-close{color:#666;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:1.5rem;transition:all .2s;display:flex;position:absolute;top:15px;right:15px}.faq-chat-close:hover{transform:scale(1.1)}.faq-chat-body{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");flex:1;padding:15px;position:relative;overflow-y:auto}.faq-chat-message{text-align:center;border-radius:8px;max-width:85%;margin-bottom:15px;margin-left:auto;margin-right:auto;padding:12px 15px;font-size:16px;line-height:1.5;position:relative}.faq-bot-message{color:#333;background-color:#ffffffe6;border-radius:8px;align-self:center;box-shadow:0 1px 3px #0000001a}.faq-categories{flex-direction:column;gap:15px;width:100%;margin-top:15px;display:flex}.faq-category-card{text-align:center;cursor:pointer;background-color:#fffc;border:1px solid #0000000d;border-radius:2px;padding:15px;transition:all .3s;box-shadow:0 2px 4px #0000000d}.faq-category-card:hover{border-color:#eafaf1d9;transform:translateY(-3px);box-shadow:0 4px 8px #00000014}.faq-category-card h4{color:#333;margin:0;font-family:Shippori Mincho,Noto Serif JP,serif;font-size:1rem}.faq-questions{flex-direction:column;gap:10px;width:100%;display:flex}.faq-back-button{color:#2ecc71;cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;margin-bottom:15px;padding:5px 0;font-size:.9rem;transition:all .2s;display:flex}.faq-back-button:hover{color:#27ae60;transform:translate(-3px)}.faq-question-item{text-align:center;cursor:pointer;background-color:#fffc;border:1px solid #0000000d;border-radius:2px;padding:15px;transition:all .3s;box-shadow:0 2px 4px #0000000d}.faq-question-item:hover{border-color:#eafaf1d9;transform:translateY(-2px);box-shadow:0 4px 8px #00000014}.faq-answer{box-sizing:border-box;background-color:#ffffffe6;border-radius:2px;width:100%;margin-top:10px;padding:20px;animation:.5s fadeIn;box-shadow:0 2px 4px #0000000d}.faq-answer-container{flex-direction:column;align-items:center;gap:15px;width:100%;display:flex}.faq-answer-title{text-align:center;color:#333;box-sizing:border-box;width:100%;margin-bottom:15px;padding-left:25px;font-family:Shippori Mincho,Noto Serif JP,serif;font-size:1.1rem;font-weight:600;position:relative}.faq-answer-title:before{content:"Q";color:#2ecc71;font-size:1.1rem;font-weight:700;position:absolute;left:0}.faq-answer-content{text-align:center;box-sizing:border-box;width:100%;padding-left:25px;line-height:1.6;position:relative}.faq-answer-content:before{content:"A";color:#2ecc71;font-size:1.1rem;font-weight:700;position:absolute;left:0}.faq-guidance-text{text-align:center;color:#666;margin:10px 0;font-size:.9rem}.faq-actions{justify-content:space-between;gap:10px;width:100%;margin-top:20px;display:flex}@media (max-width:768px){.faq-actions{flex-direction:column}}.faq-action-button{text-align:center;color:#2ecc71;cursor:pointer;background-color:#fff;border:1px solid #2ecc71;border-radius:2px;flex:1;padding:10px 15px;font-family:sans-serif;font-size:.9rem;text-decoration:none;transition:all .3s}.faq-action-button:hover,.faq-action-button.primary{color:#fff;background-color:#2ecc71}.faq-action-button.primary:hover{background-color:#27ae60}.logo-animation{top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);z-index:2000;opacity:1;visibility:visible;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed}.logo-animation.completed{opacity:0;visibility:hidden;pointer-events:none}.logo-backdrop{top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);filter:brightness(1.1);background-image:url(/images/takumi_haikei.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;width:100%;height:100%;position:absolute}.logo-image-container{z-index:10;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.logo-image{filter:drop-shadow(0 5px 15px #0003);width:auto;max-width:300px;height:auto}@media (max-width:768px){.logo-image{max-width:240px}}@media (max-width:480px){.logo-image{max-width:180px}}.fade-up{opacity:0;animation:1.5s forwards fadeUp;transform:translateY(30px)}.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{opacity:0;width:100%;min-height:100vh;transition:opacity .8s;animation:1s forwards fadeIn}.main-content.loading{opacity:0}.main-content.loaded{opacity:1}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.text-center{text-align:center}.content-wrapper{border-radius:var(--border-radius-sm);box-shadow:var(--shadow-sm);background-color:#fffc;margin-bottom:1rem;padding:2rem}.hero-section{background-color:var(--color-white);align-items:center;height:100vh;min-height:600px;padding-top:80px;display:flex;position:relative;overflow:hidden}.hero-window-frame{top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);z-index:1;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute}.window-frame{z-index:2;background-color:#0003;border:8px solid #fafafacc;width:100%;height:100%;position:relative;overflow:hidden;box-shadow:0 0 10px #0000004d}@media (max-width:767px){.window-frame{border-width:8px;width:95%;height:70%}}.text-container{background-image:linear-gradient(90deg,#0006,#0000001a);justify-content:center;align-items:center;display:flex}.text-container.takumi-bg{background-image:linear-gradient(90deg,#000000b3,#00000080),url(/images/takumi_haikei.jpg);background-position:50%;background-size:cover;position:relative}.text-container.takumi-bg .hero-content{text-shadow:1px 1px 3px #000c;z-index:2;position:relative}.text-container.takumi-bg.mobile{background-image:linear-gradient(90deg,#000000b3,#00000080),url(/images/service1-2.jpg);background-position:50%;background-size:cover}@media (max-width:767px){.text-container.takumi-bg.mobile{background-image:linear-gradient(90deg,#000000b3,#00000080),url(/images/service1-2.jpg);background-position:50%;background-size:cover}}.text-container.takumi-bg.desktop{background-image:linear-gradient(90deg,#000000b3,#00000080),url(/images/takumi_haikei.jpg);background-position:50%;background-size:cover}.window-scenes{top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);z-index:1;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;width:100%;height:100%;display:grid;position:absolute}.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{top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);opacity:0;background-position:50%;background-size:cover;width:100%;height:100%;transition:opacity 1.5s ease-in-out;position:absolute}.window-scene.active{opacity:1;transform:scale(1)}.hero-content{text-align:center;z-index:10;color:var(--color-white);text-shadow:0 2px 6px #00000080;max-width:700px;margin:0 auto;padding:2rem;position:relative}@media (max-width:767px){.hero-content{max-width:90%;padding:1.5rem}}@media (max-width:480px){.hero-content{max-width:95%;padding:1.2rem}}.hero-title{flex-direction:column;align-items:center;gap:.5rem;width:100%;margin-bottom:1.5rem;font-size:2.5rem;line-height:1.3;display:flex}@media (max-width:767px){.hero-title{font-size:2rem}}@media (max-width:480px){.hero-title{font-size:1.7rem}}.hero-title-line1{font-weight:500;font-family:var(--font-mincho);letter-spacing:.08em;color:var(--color-white)}@media (max-width:767px){.hero-title-line1{margin-bottom:.5rem;font-size:1.3rem}}@media (max-width:480px){.hero-title-line1{font-size:1.2rem}}.hero-title-line2.company-name{font-weight:900;font-family:var(--font-mincho);letter-spacing:.1em;color:var(--color-white);text-align:center;text-shadow:1px 1px 2px #000c;border-bottom:3px solid #fffc;justify-content:center;align-items:baseline;width:100%;margin:1rem 0;padding-bottom:.5rem;display:inline-flex;position:relative}@media (max-width:767px){.hero-title-line2.company-name{flex-direction:column;align-items:center;gap:.2rem;margin:.5rem 0;padding-bottom:.3rem;display:flex}}@media (max-width:480px){.hero-title-line2.company-name{font-size:1.5rem}}.company-prefix-hero{letter-spacing:.05em;margin-right:.5rem;font-size:1.8rem}@media (max-width:767px){.company-prefix-hero{letter-spacing:.05em;margin-right:0;font-size:1.1rem}}.company-name-text{letter-spacing:.1em;font-size:2.5rem}@media (max-width:767px){.company-name-text{letter-spacing:.1em;font-size:1.8rem}}.hero-subtitle{font-size:1.2rem;font-weight:400;font-family:var(--font-serif);letter-spacing:.05em;color:var(--color-white);margin-bottom:2rem}@media (max-width:767px){.hero-subtitle{display:none}}.hero-button{font-family:var(--font-mincho);letter-spacing:.05em;border-radius:var(--border-radius-sm);padding:1rem 3rem;font-size:1.1rem;font-weight:500;transition:all .3s}.secondary-button{color:var(--color-black);border:1px solid var(--color-accent);background-color:#0000}.secondary-button:hover{background-color:#2ecc711a;transform:translateY(-3px);box-shadow:0 4px 8px #0000001a}.mission-section{text-align:center;background-color:#0000;padding:6rem 0;position:relative}.mission-content{max-width:800px;margin:0 auto}.mission-text-container{border-radius:var(--border-radius-sm);box-shadow:var(--shadow-sm);background-color:#ffffffb3;padding:2rem;position:relative}.mission-text{font-family:var(--font-mincho);opacity:0;margin-bottom:1.5rem;font-size:1.3rem;line-height:2;transition:opacity 5s,transform 5s;transform:translateY(20px)}.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;display:inline-block;position:relative}.mission-text .highlight:after{content:"";left:calc(var(--spacing,.25rem)*0);background-color:var(--color-accent);width:100%;height:1px;position:absolute;bottom:-2px}@media (max-width:767px){.mission-text{font-size:1.1rem;line-height:1.8}}@media (max-width:480px){.mission-text{font-size:1rem;line-height:1.7}}.section-title{text-align:center;margin-bottom:var(--spacing-xl);font-family:var(--font-mincho);position:relative}.section-title:after{content:"";background-color:var(--color-accent);width:60px;height:2px;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}@media (max-width:767px){.section-title{font-size:1.8rem}}.about-section{text-align:center;padding:6rem 0;position:relative}.about-content{flex-direction:column;align-items:center;gap:3rem;display:flex}@media (min-width:768px){.about-content{flex-direction:row}}.about-image{border-radius:var(--border-radius-sm);max-width:100%;height:auto;box-shadow:var(--shadow-md);flex:1;overflow:hidden}.about-image img{width:100%;height:auto;transition:transform .5s;display:block}.about-image:hover img{transform:scale(1.05)}.about-text{text-align:center;flex:1;padding:0 1rem}.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}@media (min-width:768px){.about-text{text-align:center;padding:0 2rem}}.about-action{text-align:center;margin-top:2rem}.about-button{padding:.8rem 2.5rem;display:inline-block}.services-section{text-align:center;padding:6rem 0;position:relative}.service-item{margin-bottom:5rem;position:relative}.service-item:last-child{margin-bottom:3rem}@media (min-width:768px){.service-item.reversed .service-content{flex-direction:row-reverse}}.service-content{flex-direction:column;align-items:center;gap:2rem;display:flex}@media (min-width:768px){.service-content{flex-direction:row}}.service-text{text-align:center;flex:1;order:2;padding:0 1rem}@media (min-width:768px){.service-text{text-align:center;order:1;padding:0 2rem}}.service-image{border-radius:var(--border-radius-sm);box-shadow:var(--shadow-md);flex:0 auto;order:1;position:relative;overflow:hidden}.service-image img{object-fit:contain;z-index:1;width:100%;height:auto;transition:transform .5s;display:block;position:relative}@media (min-width:768px){.service-image{order:2;max-width:40%}}@media (max-width:767px){.service-image{max-width:320px;margin:0 auto}}@media (max-width:480px){.service-image{max-width:260px}}.service-title{color:var(--color-black);font-size:1.8rem;font-family:var(--font-mincho);text-align:center;opacity:0;margin-bottom:1rem;padding-bottom:.5rem;transition:opacity .8s,transform .8s;display:inline-block;position:relative;transform:translateY(20px)}.service-title.visible{opacity:1;transform:translateY(0)}.service-title:after{content:"";background-color:var(--color-accent);width:50px;height:1px;margin:0 auto;position:absolute;bottom:0;left:0;right:0}@media (max-width:767px){.service-title{font-size:1.5rem}.service-title:after{content:"";background-color:var(--color-accent);width:50px;height:1px;margin:0 auto;position:absolute;bottom:0;left:0;right:0}}.service-description{opacity:0;text-align:center;margin-bottom:1.5rem;font-size:1.05rem;line-height:1.8;transition:opacity .8s .3s,transform .8s .3s;transform:translateY(20px)}.service-description.visible{opacity:1;transform:translateY(0)}.service-action{opacity:0;text-align:center;margin-top:1.5rem;transition:opacity .8s .6s,transform .8s .6s;transform:translateY(20px)}.service-action.visible{opacity:1;transform:translateY(0)}.service-button{color:var(--color-accent);border:1px solid var(--color-accent);border-radius:var(--border-radius-sm);font-family:var(--font-mincho);letter-spacing:.03em;background-color:#0000;padding:.6rem 1.5rem;transition:all .3s;display:inline-block;position:relative;overflow:hidden}.service-button:after{content:"";width:0;top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);background-color:var(--color-accent);opacity:.2;z-index:-1;height:100%;transition:width .3s;position:absolute}.service-button:hover{background-color:var(--color-accent);color:#fff;box-shadow:var(--shadow-sm);transform:translateY(-2px)}.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:"";background-color:#ffffff4d;width:30px;height:100%;animation:3s infinite buttonShine;position:absolute;top:0;left:-30px;transform:skew(-20deg)}@keyframes buttonShine{0%{left:-30px}20%{left:120%}to{left:120%}}.regions-section{text-align:center;padding:6rem 0;position:relative}.regions-content{flex-direction:column;align-items:center;gap:3rem;display:flex}@media (min-width:768px){.regions-content{flex-direction:row-reverse}}.regions-text{text-align:center;flex:1;order:2;padding:0 1rem}@media (min-width:768px){.regions-text{text-align:center;order:1;padding:0 2rem}}.regions-image{border-radius:var(--border-radius-sm);max-width:100%;box-shadow:var(--shadow-md);flex:1;order:1;overflow:hidden}.regions-image img{object-fit:cover;width:100%;height:auto;transition:transform .5s;display:block}.regions-image:hover img{transform:scale(1.05)}@media (min-width:768px){.regions-image{order:2;max-width:45%}}.regions-paragraph{text-align:center;margin-bottom:1.5rem;font-size:1.05rem;line-height:1.8}.regions-paragraph strong{color:var(--color-accent);font-weight:600}.regions-action{text-align:center;margin-top:2rem}.regions-button{padding:.8rem 2.5rem;display:inline-block}.news-section{text-align:center;padding:6rem 0;position:relative}.news-list{text-align:left;margin:3rem 0}.window-animation{perspective:1000px;position:relative;overflow:hidden}.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}@media (max-width:767px){.window-animation .window-sash-left,.window-animation .window-sash-right{border-width:3px}}.window-frame-animation{width:100%;height:100%;transform-style:preserve-3d;background-color:#f8f5f0;background-image:linear-gradient(90deg,#d9c7a2b3 0%,#e6d7b980 25%,#d9c7a2b3 50%,#e6d7b980 75%,#d9c7a2b3 100%);border:8px solid #d9c7a2;position:relative;overflow:hidden;box-shadow:0 5px 15px #0000004d}.window-frame-animation:before{content:"";z-index:2;pointer-events:none;border:2px solid #e5dbc0;position:absolute;top:4px;right:4px;bottom:4px;left:4px}@media (max-width:480px){.window-frame-animation{border-width:5px}}.window-sash-left{top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);transform-origin:0;z-index:10;box-sizing:border-box;background-color:#fffffff2;background-image:linear-gradient(135deg,#fffc 0%,#f0f8ff80 50%,#fffc 100%);border:5px solid #c9b28f;width:50%;height:100%;transition:transform 2.5s cubic-bezier(.4,0,.2,1);position:absolute;box-shadow:inset 0 0 10px #0000000d,2px 0 8px #0000001a}@media (max-width:480px){.window-sash-left{border-width:3px}}.window-sash-right{top:calc(var(--spacing,.25rem)*0);right:calc(var(--spacing,.25rem)*0);transform-origin:100%;z-index:10;box-sizing:border-box;background-color:#fffffff2;background-image:linear-gradient(135deg,#fffc 0%,#f0f8ff80 50%,#fffc 100%);border:5px solid #c9b28f;width:50%;height:100%;transition:transform 2.5s cubic-bezier(.4,0,.2,1);position:absolute;box-shadow:inset 0 0 10px #0000000d,-2px 0 8px #0000001a}@media (max-width:480px){.window-sash-right{border-width:3px}}.window-handle-left{z-index:11;background-color:#555;border:1px solid #444;border-radius:8px;width:16px;height:45px;position:absolute;top:50%;right:15px;transform:translateY(-50%);box-shadow:0 2px 4px #0000004d,inset 0 1px 2px #fff3}.window-handle-left:after{content:"";background:linear-gradient(135deg,#999,#777);border-radius:50%;width:10px;height:10px;position:absolute;top:8px;left:3px;box-shadow:inset 0 1px 2px #00000080}@media (max-width:767px){.window-handle-left{width:14px;height:35px}}@media (max-width:480px){.window-handle-left{width:12px;height:30px}}.window-handle-right{z-index:11;background-color:#555;border:1px solid #444;border-radius:8px;width:16px;height:45px;position:absolute;top:50%;left:15px;transform:translateY(-50%);box-shadow:0 2px 4px #0000004d,inset 0 1px 2px #fff3}.window-handle-right:after{content:"";background:linear-gradient(135deg,#999,#777);border-radius:50%;width:10px;height:10px;position:absolute;top:8px;left:3px;box-shadow:inset 0 1px 2px #00000080}@media (max-width:767px){.window-handle-right{width:14px;height:35px}}@media (max-width:480px){.window-handle-right{width:12px;height:30px}}.window-reflection{top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);pointer-events:none;z-index:4;background:linear-gradient(135deg,#fff6 0%,#dcf0ff33 25%,#dcf0ff1a 50%,#dcf0ff33 75%,#fff6 100%);width:100%;height:100%;position:absolute}.door-animation{perspective:1000px;position:relative;overflow:hidden}.door-animation.animate .door-panel{transform:rotateY(-105deg);box-shadow:-15px 0 25px #00000026}.door-animation.animate:after{content:"";z-index:2;pointer-events:none;background-color:#00000008;border:1px solid #0000000d;position:absolute;top:8px;right:8px;bottom:8px;left:8px;box-shadow:inset 0 0 30px #0000001a}.door-frame-animation{width:100%;height:100%;transform-style:preserve-3d;background-color:#f5f2ee;border:8px solid #a88c77;position:relative;overflow:hidden;box-shadow:0 5px 15px #0000004d}.door-frame-animation:before{content:"";z-index:2;pointer-events:none;border:2px solid #e8e0d5;position:absolute;top:4px;right:4px;bottom:4px;left:4px}@media (max-width:480px){.door-frame-animation{border-width:5px}}.door-panel{top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);transform-origin:0;z-index:10;background-color:#fff;background-image:linear-gradient(90deg,#0000 8%,#00000014 8% 9%,#0000 9% 91%,#00000014 91% 92%,#0000 92%),linear-gradient(#0000 8%,#00000014 8% 9%,#0000 9% 91%,#00000014 91% 92%,#0000 92%),linear-gradient(90deg,#0000 35%,#00000012 35% 36%,#0000 36% 64%,#00000012 64% 65%,#0000 65%),linear-gradient(#0000 20%,#00000012 20% 21%,#0000 21% 79%,#00000012 79% 80%,#0000 80%);background-size:100% 100%,100% 100%,100% 100%,100% 100%;border:1px solid #c8beb480;width:100%;height:100%;transition:transform 5s cubic-bezier(.4,0,.2,1);position:absolute;box-shadow:inset 0 0 20px #0000000d,2px 0 10px #0000001a}.door-panel:after{content:"";pointer-events:none;z-index:3;background-color:#00000005;width:28%;height:58%;position:absolute;top:21%;left:36%;box-shadow:inset 0 0 10px #00000008}.door-panel:before{content:"";top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);opacity:.7;pointer-events:none;z-index:2;background-image:repeating-linear-gradient(0deg,#0000,#0000 12px,#00000003 12px 13px),repeating-linear-gradient(90deg,#f0f0f080,#fafafa80 1px,#f0f0f080 2px);width:100%;height:100%;position:absolute}.door-handle{z-index:11;background-color:#a0a0a0;border:1px solid #888;border-radius:4px;width:18px;height:50px;position:absolute;top:50%;right:20px;transform:translateY(-50%);box-shadow:0 2px 4px #0003,inset 0 1px 2px #ffffff80}.door-handle:before{content:"";background:linear-gradient(90deg,#888,#ccc);border-radius:3px;width:12px;height:30px;position:absolute;top:10px;left:3px;box-shadow:inset 0 1px 3px #0003}.door-handle:after{content:"";background-color:#444;border-radius:50%;width:6px;height:6px;position:absolute;bottom:10px;left:6px;box-shadow:inset 0 -1px 1px #ffffff4d}@media (max-width:767px){.door-handle{width:16px;height:40px;right:15px}}@media (max-width:480px){.door-handle{width:14px;height:35px}}.door-reflection{top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);pointer-events:none;z-index:5;background:linear-gradient(135deg,#fff6 0%,#fff3 25%,#ffffff1a 50%,#fff3 75%,#fff6 100%);width:100%;height:100%;position:absolute}.shutter-animation{perspective:1000px;position:relative;overflow:hidden}.shutter-animation.animate .shutter-panel{transform:translateY(-103%);box-shadow:0 -10px 20px #00000026}.shutter-animation.animate:before{content:"";top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);z-index:1;background-color:#00000008;width:100%;height:100%;position:absolute;box-shadow:inset 0 0 30px #0000001a}.shutter-frame-animation{background-color:#e8e8e8;background-image:linear-gradient(90deg,#c0c0c0b3 0%,#d2d2d280 25%,#c0c0c0b3 50%,#d2d2d280 75%,#c0c0c0b3 100%);border:8px solid silver;width:100%;height:100%;position:relative;overflow:hidden;box-shadow:0 5px 15px #0000004d}.shutter-frame-animation:before{content:"";z-index:2;pointer-events:none;background:linear-gradient(135deg,#ffffff4d 0%,#dcdcdc1a 100%);border:2px solid #d8d8d8;position:absolute;top:4px;right:4px;bottom:4px;left:4px;box-shadow:inset 0 0 10px #0000001a}.shutter-frame-animation:after{content:"";top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);pointer-events:none;z-index:3;background-image:linear-gradient(90deg,#a0a0a099 0%,#a0a0a000 2% 98%,#a0a0a099 100%);width:100%;height:100%;position:absolute}@media (max-width:480px){.shutter-frame-animation{border-width:5px}}.shutter-panel{top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);transform-origin:top;z-index:10;width:100%;height:100%;transition:transform 8s cubic-bezier(.16,1,.3,1);position:absolute;box-shadow:0 5px 15px #0003}.shutter-slats{top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);background-color:#d8d8d8;background-image:linear-gradient(#ddd 0%,#bbb 10%,#ddd 15%,#e8e8e8 25%,#ddd 35%,#bbb 40%,#ddd 45%,#e8e8e8 55%,#ddd 65%,#bbb 70%,#ddd 75%,#e8e8e8 85%,#ddd 95%,#bbb 100%);background-size:100% 15px;border-bottom:3px solid #999;width:100%;height:100%;position:absolute;box-shadow:inset 0 0 15px #00000026,0 2px 5px #0000001a}.shutter-slats:after{content:"";top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);pointer-events:none;z-index:2;background-image:repeating-linear-gradient(0deg,#0000,#0000 14px,#0000001a 14px,#0003 15px);width:100%;height:100%;position:absolute}.shutter-handle{z-index:11;background:linear-gradient(#999,#777);border:1px solid #888;border-radius:5px;width:50px;height:10px;position:absolute;bottom:15px;left:50%;transform:translate(-50%);box-shadow:0 2px 3px #0003}.shutter-handle:before{content:"";background:linear-gradient(#888,#666);border-radius:3px;width:30px;height:6px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 1px 2px #0000004d}@media (max-width:767px){.shutter-handle{width:40px;height:8px}}@media (max-width:480px){.shutter-handle{width:35px;height:7px}}.glass-animation{perspective:1000px;position:relative;overflow:hidden}.glass-animation.animate .glass-panel{transform:translate(-100%)}.glass-frame-animation{background-color:#f0f8ffcc;border:8px solid #999;width:100%;height:100%;position:relative;overflow:hidden;box-shadow:0 5px 15px #0000004d}@media (max-width:480px){.glass-frame-animation{border-width:5px}}.glass-panel{top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);z-index:10;background-color:#f0f8ff80;width:100%;height:100%;transition:transform 1s;position:absolute;transform:translateZ(0)}.glass-reflection{top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);pointer-events:none;z-index:4;background:linear-gradient(135deg,#ffffffb3 0%,#f0f8ff4d 50%,#dcf0ffb3 100%);width:100%;height:100%;position:absolute}.screen-animation{perspective:1000px;position:relative;overflow:hidden}.screen-animation.animate .screen-mesh{transform:translateY(-100%)}.screen-frame-animation{background-color:#f5f5f5;border:8px solid #666;width:100%;height:100%;position:relative;overflow:hidden;box-shadow:0 5px 15px #0000004d}@media (max-width:480px){.screen-frame-animation{border-width:5px}}.screen-mesh{top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);opacity:.7;z-index:10;pointer-events:none;background-color:#323232cc;background-image:repeating-linear-gradient(0deg,#0000,#0000 1px,#0003 1px 2px),repeating-linear-gradient(90deg,#0000,#0000 1px,#0003 1px 2px);background-size:2px 2px;width:100%;height:100%;transition:transform 1.5s;position:absolute;transform:translateY(0)}.screen-handle{z-index:11;background-color:#777;border-radius:3px;width:30px;height:8px;position:absolute;top:50%;right:20px;transform:translateY(-50%);box-shadow:0 1px 3px #0000004d}.news-item{border-bottom:1px solid var(--color-light-gray);flex-wrap:wrap;align-items:center;padding:1.2rem 1rem;transition:background-color .3s;display:flex;position:relative;overflow:hidden}.news-item:before{content:"";top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);background-color:var(--color-accent);transform-origin:bottom;width:3px;height:100%;transition:transform .3s;position:absolute;transform:scaleY(0)}.news-item:hover{background-color:var(--color-accent-light)}.news-item:hover:before{transform:scaleY(1)}@media (min-width:768px){.news-item{padding:1.5rem}}@media (max-width:767px){.news-item{flex-direction:column;align-items:flex-start;gap:.3rem;padding:.8rem;display:flex}}@media (max-width:480px){.news-item{padding:.7rem .6rem}}.news-date{width:100px;font-family:var(--font-mincho);color:var(--color-gray);font-size:.9rem}@media (min-width:768px){.news-date{width:120px}}@media (max-width:767px){.news-date{width:auto;margin-bottom:.2rem;font-size:.85rem}}@media (max-width:480px){.news-date{font-size:.75rem}}.news-category{background-color:var(--color-light-gray);width:100px;color:var(--color-dark-gray);border-radius:var(--border-radius-sm);text-align:center;margin-right:1.5rem;padding:.3rem .8rem;font-size:.8rem}@media (min-width:768px){.news-category{width:120px}}@media (max-width:767px){.news-category{width:auto;margin-bottom:.4rem;margin-right:0;padding:.2rem .6rem;font-size:.8rem}}@media (max-width:480px){.news-category{padding:.15rem .5rem;font-size:.7rem}}.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}.news-title a:hover{color:var(--color-accent)}@media (max-width:767px){.news-title{width:100%;font-size:.95rem;line-height:1.4}}@media (max-width:480px){.news-title{font-size:.9rem}}.news-empty{text-align:center;color:var(--color-gray);padding:2rem;font-style:italic}.news-action{text-align:center}.news-button{padding:.8rem 2.5rem;display:inline-block}.fade-in-left{opacity:0;transition:opacity .8s,transform .8s;transform:translate(-30px)}.fade-in-right{opacity:0;transition:opacity .8s,transform .8s;transform:translate(30px)}.fade-in.visible,.fade-in-left.visible,.fade-in-right.visible{opacity:1;transform:translate(0)}.home-contact-banner-section{background-color:var(--color-white);text-align:center;margin-bottom:2rem;padding:3rem 0;position:relative}.home-contact-banner-section:before{content:"";top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);opacity:.06;z-index:0;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");width:100%;height:100%;position:absolute}.home-banner-buttons{z-index:1;opacity:0;flex-wrap:wrap;justify-content:space-between;gap:1.5rem;transition:opacity .8s,transform .8s;display:flex;position:relative;transform:translateY(30px)}.home-banner-buttons.visible{opacity:1;transform:translateY(0)}@media (max-width:767px){.home-banner-buttons{flex-direction:column}}.home-banner-button{border-radius:var(--border-radius-sm);font-family:var(--font-mincho);background-color:var(--color-accent);min-height:120px;color:var(--color-white);border:1px solid var(--color-accent);flex:1;justify-content:center;align-items:center;padding:1.5rem;text-decoration:none;transition:all .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 8px #00000014}.home-banner-button:hover{transform:translateY(-5px);box-shadow:0 8px 16px #0000001f}@media (max-width:767px){.home-banner-button{min-height:100px;padding:1.2rem}}@media (max-width:480px){.home-banner-button{min-height:80px;padding:1rem}}.banner-shine-effect{width:30px;top:calc(var(--spacing,.25rem)*0);pointer-events:none;background-color:#ffffff4d;height:100%;animation:3s infinite buttonShine;position:absolute;left:-30px;transform:skew(-20deg)}.banner-button-icon{z-index:1;color:var(--color-white);margin-right:1rem;font-size:2.2rem}@media (max-width:767px){.banner-button-icon{font-size:1.8rem}}@media (max-width:480px){.banner-button-icon{margin-right:.7rem;font-size:1.5rem}}.banner-button-text{z-index:1;flex-direction:column;display:flex}.banner-button-label{color:var(--color-white);margin-bottom:.5rem;font-size:1.1rem}@media (max-width:767px){.banner-button-label{font-size:1rem}}@media (max-width:480px){.banner-button-label{margin-bottom:.3rem;font-size:.9rem}}.banner-button-number{color:var(--color-white);font-size:1.8rem;font-weight:700}@media (max-width:767px){.banner-button-number{font-size:1.5rem}}@media (max-width:480px){.banner-button-number{font-size:1.3rem}}.banner-button-desc{color:var(--color-white);font-size:1rem}@media (max-width:767px){.banner-button-desc{font-size:.9rem}}@media (max-width:480px){.banner-button-desc{font-size:.85rem}}.custom-button{text-align:center;background-color:var(--color-accent);color:var(--color-white);font-family:var(--font-mincho);letter-spacing:.05em;box-sizing:border-box;border:none;max-width:100%;padding:.8rem 2rem;text-decoration:none;transition:all .3s;display:inline-block;position:relative;overflow:hidden}.custom-button:before{content:"";pointer-events:none;background-color:#ffffff4d;width:30px;height:100%;animation:4s infinite buttonShine;position:absolute;top:0;left:-30px;transform:skew(-20deg)}.custom-button:hover{background-color:var(--color-accent-dark);transform:translateY(-3px);box-shadow:0 4px 8px #0003}@media (max-width:480px){.cookie-consent{z-index:10000;padding:10px}}.about-page{min-height:100vh;padding-bottom:4rem;position:relative}@media (max-width:768px){.tabs-container{padding-right:70px}}@media (max-width:576px){.tabs-container{padding-right:0}}.about-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;justify-content:center;gap:1rem;margin:0 auto;padding:.5rem 0;display:flex;overflow-x:auto}.about-tabs::-webkit-scrollbar{display:none}@media (max-width:576px){.about-tabs{flex-direction:column;gap:.5rem;width:100%;max-width:400px;margin:0 auto}}.slide-hint{color:var(--color-gray);opacity:.9;z-index:10;pointer-events:none;white-space:nowrap;background-color:#fffffff2;border:1px solid #0000000d;border-radius:3px;padding:.3rem .6rem;font-size:.8rem;transition:opacity .3s;display:none;position:absolute;top:50%;right:15px;transform:translateY(-50%);box-shadow:0 1px 3px #0000001a}.slide-hint.hidden{opacity:0;visibility:hidden}@media (max-width:768px){.slide-hint{padding:.25rem .5rem;font-size:.75rem;display:block;right:15px}}@media (max-width:576px){.slide-hint{display:none}}.about-tab{white-space:nowrap;color:var(--color-dark-gray);font-weight:500;font-family:var(--font-mincho);letter-spacing:.05em;border:1px solid #0000;padding:.8rem 1.5rem;transition:all .3s;display:inline-block;position:relative}.about-tab:before{content:"";border:1px solid #0000;transition:all .3s;position:absolute;top:0;right:0;bottom:0;left:0}.about-tab:hover{border-color:var(--color-light-gray)}.about-tab:hover:before{border-color:var(--color-light-gray);top:3px;right:3px;bottom:3px;left:3px}.about-tab.active{border-color:var(--color-accent);color:var(--color-accent);background-color:var(--color-white)}.about-tab.active:before{border-color:var(--color-accent);top:3px;right:3px;bottom:3px;left:3px}@media (max-width:768px){.about-tab{padding:.6rem 1rem;font-size:.9rem}}@media (max-width:576px){.about-tab{text-align:center;width:100%;padding:.6rem 1rem;font-size:.85rem}}.about-content{padding:2rem 0}.fade-in{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(20px)}.about-section{margin-bottom:2.5rem}.about-section-title{text-align:center;color:var(--color-dark-gray);margin-bottom:1.5rem;padding-bottom:.8rem;font-size:1.8rem;position:relative}.about-section-title:after{content:"";background-color:var(--color-accent);width:60px;height:3px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}@media (max-width:576px){.about-section-title{font-size:1.5rem}}.info-table{border-collapse:collapse;width:100%;margin-bottom:2rem}.info-table th,.info-table td{text-align:left;border-bottom:1px solid var(--color-light-gray);padding:1rem}@media (max-width:768px){.info-table th,.info-table td{padding:.8rem}}@media (max-width:576px){.info-table th,.info-table td{width:100%;display:block}}.info-table th{background-color:var(--color-off-white);width:30%;font-weight:600}@media (max-width:768px){.info-table th{width:35%}}@media (max-width:576px){.info-table th{border-bottom:none;padding-bottom:.3rem}.info-table td{padding-top:.3rem}}.services-page{font-family:var(--font-sans);padding-bottom:6rem;position:relative}.services-page:before{content:"";z-index:-1;opacity:.6;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");width:100%;height:100%;position:absolute;top:0;left:0}.breadcrumb a{color:var(--color-white);text-decoration:none;transition:color .3s;position:relative}.text-left{text-align:left}.services-content{padding:2rem 0}.services-intro{text-align:left;max-width:800px;margin:0 auto 3rem}@media (max-width:767px){.services-intro{text-align:center}}.services-intro-text{font-size:1.1rem;line-height:1.8;font-family:var(--font-sans);z-index:2;color:var(--color-dark-gray)!important;visibility:visible!important;opacity:1!important;display:block!important}@media (max-width:767px){.services-intro-text{text-align:center}}@media (max-width:480px){.services-intro-text{text-align:center}}.services-items{flex-direction:column;gap:6rem;margin-bottom:4rem;display:flex}.service-item{flex-direction:column;gap:2rem;transition:none;display:flex;opacity:1!important;transform:translateY(0)!important}.service-item.visible{opacity:1;transform:translateY(0)}@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}}@media (max-width:767px){.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-top:1rem;padding-left:0;padding-right:0}}.service-image{background-color:#0000;flex:1;order:1;font-size:0;line-height:0;position:relative;overflow:hidden}@media (min-width:768px){.service-image{flex:0 0 45%;height:auto}}@media (max-width:767px){.service-image{max-height:300px}}@media (max-width:480px){.service-image{max-height:250px}}.image-wrapper{width:100%;height:100%;box-shadow:none;background-color:#0000;border-radius:0;margin:0;padding:0;font-size:0;line-height:0;position:relative;overflow:hidden}.image-wrapper:hover .service-main-image{transform:scale(1.05)}@media (min-width:768px){.image-wrapper{height:100%}}@media (max-width:767px){.image-wrapper{height:100%}}.service-main-image{object-fit:cover;object-position:center center;width:100%;height:100%;margin:0;padding:0;transition:transform .5s;display:block}@media (min-width:768px){.service-main-image{height:100%}}@media (max-width:767px){.service-main-image{height:100%}}.service-details{z-index:2;flex:1;order:2;color:var(--color-dark-gray)!important;visibility:visible!important;display:block!important}@media (min-width:768px){.service-details{flex:1;padding:1rem 0}}.service-title{font-size:1.8rem;font-family:var(--font-mincho);letter-spacing:.03em;z-index:2;margin-bottom:1.5rem;padding-bottom:.8rem;position:relative;color:var(--color-dark-gray)!important;visibility:visible!important;opacity:1!important;display:block!important}.service-title:after{content:"";background-color:var(--color-accent);width:50px;height:3px;margin:0 auto;position:absolute;bottom:0;left:0;right:0}@media (max-width:767px){.service-title{text-align:center;font-size:1.5rem}.service-title:after{content:"";background-color:var(--color-accent);width:50px;height:2px;margin:0 auto;position:absolute;bottom:0;left:0;right:0}}@media (max-width:480px){.service-title{font-size:1.3rem}.service-title:after{content:"";background-color:var(--color-accent);width:50px;height:1px;margin:0 auto;position:absolute;bottom:0;left:0;right:0}}.service-description{line-height:1.8;font-family:var(--font-sans);z-index:2;margin-bottom:1.5rem;color:var(--color-dark-gray)!important;visibility:visible!important;opacity:1!important;display:block!important}@media (max-width:767px){.service-description{text-align:center}}@media (max-width:480px){.service-description{font-size:.95rem}}.service-features{background-color:var(--color-washi);border:1px solid var(--color-accent);margin-bottom:1.5rem;padding:1.5rem;position:relative}.service-features:before{content:"";border:1px solid var(--color-accent);pointer-events:none;position:absolute;top:5px;right:5px;bottom:5px;left:5px}.features-title{font-size:1.2rem;font-family:var(--font-mincho);z-index:2;margin-bottom:1rem;color:var(--color-dark-gray)!important;visibility:visible!important;opacity:1!important;display:block!important}@media (max-width:480px){.features-title{text-align:center;font-size:1.1rem}}@media (max-width:480px){.features-list{grid-template-columns:1fr;gap:.6rem}}.feature-item{line-height:1.6;font-family:var(--font-sans);z-index:2;margin-bottom:.8rem;padding-left:1.5rem;position:relative;color:var(--color-dark-gray)!important;visibility:visible!important;opacity:1!important;display:block!important}.feature-item:last-child{margin-bottom:0}.feature-item:before{content:"✓";color:var(--color-accent);font-weight:700;position:absolute;left:0}@media (max-width:480px){.feature-item{text-align:left;padding-left:1.5rem;font-size:.9rem}}.services-contact{margin-top:5rem;transition:none;opacity:1!important;transform:translateY(0)!important}.services-contact.visible{opacity:1;transform:translateY(0)}.contact-box{text-align:center;background-color:var(--color-washi);box-shadow:var(--shadow-md);border:1px solid var(--color-light-gray);border-radius:10px;padding:2.5rem}.contact-title{font-size:1.6rem;font-family:var(--font-mincho);letter-spacing:.03em;margin-bottom:1.5rem;color:var(--color-dark-gray)!important}.contact-text{max-width:600px;font-family:var(--font-sans);margin-bottom:1.5rem;margin-left:auto;margin-right:auto;color:var(--color-dark-gray)!important}.contact-info{margin-bottom:1.5rem}.contact-tel{color:var(--color-accent-dark);margin-bottom:.3rem;font-size:1.3rem;font-weight:700}.contact-hours{color:var(--color-gray);margin-bottom:1.5rem;font-size:.9rem}@media (max-width:767px){.contact-buttons{flex-direction:column;align-items:center}}.custom-button{text-align:center;background-color:var(--color-accent);font-family:var(--font-mincho);border:1px solid var(--color-accent);letter-spacing:.1em;min-width:200px;padding:.8rem 2.5rem;text-decoration:none;transition:all .3s;display:inline-block;position:relative;overflow:hidden;color:var(--color-white)!important}.custom-button:before{content:"";border:1px solid var(--color-white);pointer-events:none;transition:all .3s;position:absolute;top:5px;right:5px;bottom:5px;left:5px}.custom-button:hover{background-color:var(--color-white);border-color:var(--color-accent);color:var(--color-accent)!important}.custom-button:hover:before{border-color:var(--color-accent)}.service-detail-link{text-align:center;background-color:var(--color-accent);border:1px solid var(--color-accent);font-size:1rem;font-weight:500;font-family:var(--font-mincho);letter-spacing:.03em;z-index:3;padding:.8rem 2rem;text-decoration:none;transition:all .3s;position:relative;overflow:hidden;color:var(--color-white)!important;visibility:visible!important;opacity:1!important;display:inline-block!important}.service-detail-link:before{content:"";border:1px solid var(--color-white);pointer-events:none;transition:all .3s;position:absolute;top:5px;right:5px;bottom:5px;left:5px}.service-detail-link:hover{background-color:var(--color-white);border-color:var(--color-accent);box-shadow:var(--shadow-md);transform:translateY(-3px);color:var(--color-accent)!important}.service-detail-link:hover:before{border-color:var(--color-accent)}@media (max-width:767px){.service-detail-link{text-align:center;width:100%;max-width:300px;margin-left:auto;margin-right:auto}}@media (max-width:480px){.service-detail-link{max-width:250px;padding:.8rem 1.5rem;font-size:.95rem}}.service-action{z-index:3;margin-top:1.5rem;visibility:visible!important;opacity:1!important;display:block!important}@media (max-width:767px){.service-action{text-align:center}}@media (max-width:480px){.service-action{margin-top:2rem}}.fade-in{transition:none;opacity:1!important;transform:translateY(0)!important}@media (max-width:767px){.page-header{padding:7rem 0 3rem}.page-title{font-size:2rem}}.recruit-tab,a.recruit-tab,.recruit-tab:link,.recruit-tab:visited{color:var(--color-dark-gray)!important;background-color:#0000!important;border:1px solid #0000!important;border-radius:0!important;outline:none!important;text-decoration: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{border-color:var(--color-accent)!important;top:3px!important;right:3px!important;bottom:3px!important;left:3px!important}.recruit-tab:not(.active):hover{color:var(--color-dark-gray)!important;background-color:#0000!important;border-color:#0000!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){color:var(--color-dark-gray)!important;border-color:#0000!important}a.recruit-tab,.recruit-tab{white-space:nowrap;color:var(--color-dark-gray);font-weight:500;font-family:var(--font-mincho);letter-spacing:.05em;background-color:#0000;border:1px solid #0000;border-radius:0;padding:.8rem 1.5rem;text-decoration:none;transition:all .3s;position:relative}.action-buttons a,.action-buttons .secondary-button,.action-buttons .action-button{font-weight:500;font-family:var(--font-mincho);letter-spacing:.05em;border-radius:0;padding:.8rem 2rem;text-decoration:none;transition:all .3s;display:inline-block;position:relative}.recruit-content a[href="/recruit/joblist"],.action-buttons a[href="/recruit/joblist"],a.secondary-button{font-weight:500;font-family:var(--font-mincho);letter-spacing:.05em;padding:.8rem 2rem;text-decoration:none;transition:all .3s;display:inline-block;position:relative;background-color:var(--color-white)!important;color:var(--color-accent)!important;border:1px solid var(--color-accent)!important;border-radius:0!important}.recruit-content a[href="/recruit/joblist"]:before,.action-buttons a[href="/recruit/joblist"]:before,a.secondary-button:before{content:"";border:1px solid #0000;transition:all .3s;position:absolute;top:3px;right:3px;bottom:3px;left:3px}.recruit-content a[href="/recruit/joblist"]:hover,.action-buttons a[href="/recruit/joblist"]:hover,a.secondary-button:hover{box-shadow:var(--shadow-sm);transform:translateY(-3px);background-color:var(--color-accent)!important;border-color:var(--color-accent)!important;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{min-height:100vh;padding-bottom:6rem;position:relative}.page-subtitle{margin-top:1.5rem;margin-bottom:1rem;font-size:1.2rem;font-weight:300}@media (max-width:768px){.page-subtitle{font-size:1rem}}.recruit-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;justify-content:center;gap:2rem;margin:0 auto;padding:.5rem 0;display:flex;overflow-x:auto}.recruit-tabs::-webkit-scrollbar{display:none}@media (max-width:768px){.recruit-tabs{gap:.5rem}}@media (max-width:576px){.recruit-tabs{flex-direction:column;align-items:center;gap:.5rem;width:100%;max-width:400px;margin:0 auto}}.recruit-tab{white-space:nowrap;color:var(--color-dark-gray);font-weight:500;font-family:var(--font-mincho);letter-spacing:.05em;border:1px solid #0000;padding:.8rem 1.5rem;text-decoration:none;transition:all .3s;position:relative}.recruit-tab:before{content:"";pointer-events:none;border:1px solid #0000;transition:all .3s;position:absolute;top:0;right:0;bottom:0;left:0}.recruit-tab:not(.active):hover{color:var(--color-dark-gray);border-color:#0000;text-decoration:none}.recruit-tab:not(.active):hover:before{border-color:#0000}.recruit-tab.active{border-color:var(--color-accent);color:var(--color-accent);background-color:var(--color-white);text-decoration:none}.recruit-tab.active:before{border-color:var(--color-accent);top:3px;right:3px;bottom:3px;left:3px}@media (max-width:768px){.recruit-tab{padding:.7rem 1.2rem;font-size:.9rem}}@media (max-width:576px){.recruit-tab{text-align:center;justify-content:center;width:100%;padding:.6rem 1rem;font-size:.85rem;display:flex}}.recruit-content{min-height:400px;padding:2rem 0;position:relative}.recruit-section{margin-bottom:4rem}.section-title{color:var(--color-dark-gray);margin-bottom:1.5rem;padding-bottom:.8rem;font-size:1.8rem;position:relative}.action-button{text-align:center;background-color:var(--color-accent);color:var(--color-white);border:1px solid var(--color-accent);font-weight:500;font-family:var(--font-mincho);letter-spacing:.05em;border-radius:0;padding:1rem 3rem;transition:all .3s;display:inline-block;position:relative}.action-button:hover{background-color:var(--color-accent-dark);border-color:var(--color-accent-dark);box-shadow:var(--shadow-md);color:var(--color-white);transform:translateY(-3px)}@media (max-width:576px){.action-button{text-align:center;width:100%;padding:.8rem 1.5rem}}@media (max-width:576px){.page-title{font-size:1.8rem}.secondary-button{text-align:center;width:100%;padding:.8rem 1.5rem}.action-buttons{flex-direction:column;gap:.8rem}}.news-page{box-sizing:border-box;width:100%;max-width:100%;padding-bottom:6rem;position:relative;overflow-x:hidden}.news-page:before{content:"";z-index:-1;opacity:.6;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");width:100%;height:100%;position:absolute;top:0;left:0}.breadcrumb{color:var(--color-light-gray);text-align:center;margin-top:1.5rem;font-size:.9rem}.sns-info-banner{background-color:var(--color-washi);border-top:1px solid #0000000d;border-bottom:1px solid #0000000d;margin-bottom:3rem;padding:1.5rem 0;position:relative}.sns-info-banner:before{content:"";opacity:.08;z-index:-1;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");width:100%;height:100%;position:absolute;top:0;left:0}.sns-message{color:var(--color-dark-gray);text-align:center;font-size:1.05rem;line-height:1.6;font-family:var(--font-mincho);letter-spacing:.03em;margin:0}@media (max-width:767px){.sns-message{font-size:.95rem}}@media (max-width:480px){.sns-message{padding:0 .5rem;font-size:.9rem}}.news-content{box-sizing:border-box;max-width:100%;padding:0 0 3rem;overflow-x:hidden}.news-layout{box-sizing:border-box;grid-template-columns:1fr;gap:2rem;width:100%;display:grid}.news-search{opacity:0;background-color:var(--color-white);border-radius:var(--border-radius-sm);width:100%;box-shadow:var(--shadow-sm);box-sizing:border-box;max-width:100%;margin-bottom:2.5rem;padding:1.5rem;transition:opacity .8s,transform .8s;position:relative;transform:translateY(30px)}.news-search:before{content:"";background-color:var(--color-accent);border-radius:var(--border-radius-sm)var(--border-radius-sm)0 0;opacity:.7;width:100%;height:4px;position:absolute;top:0;left:0}.news-search.visible{opacity:1;transform:translateY(0)}.news-search form{align-items:center;width:100%;display:flex}@media (max-width:480px){.news-search form{align-items:center;display:flex}}.news-search input[type=text]{border:1px solid var(--color-light-gray);background-color:var(--color-white);font-size:1rem;font-family:var(--font-sans);box-sizing:border-box;border-radius:0;flex:1;padding:.8rem 1.2rem}.news-search input[type=text]:focus{border-color:var(--color-accent);outline:none}@media (max-width:480px){.news-search input[type=text]{flex:.7;min-width:75%;height:34px;padding:.5rem;font-size:.9rem}.news-search{width:95%;margin:0 auto 1.5rem;padding:1rem}}.search-button{background-color:var(--color-accent);color:var(--color-white);cursor:pointer;font-family:var(--font-mincho);border:none;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;margin-left:.5rem;padding:0;transition:background-color .3s;display:flex}@media (max-width:480px){.search-button{flex:.3;width:auto;max-width:20%;height:34px;margin-left:.3rem;padding:0 .5rem;font-size:.9rem}}.search-icon{font-size:.9rem}@media (max-width:480px){.search-icon{font-size:.8rem}}.news-grid{box-sizing:border-box;grid-template-columns:repeat(2,1fr);gap:2rem;width:100%;max-width:100%;margin-bottom:3rem;display:grid}@media (min-width:992px){.news-grid{grid-template-columns:repeat(2,1fr);max-width:900px;margin:0 auto 3rem}}@media (max-width:767px){.news-grid{gap:1.5rem}}@media (max-width:480px){.news-grid{grid-template-columns:1fr;gap:1.5rem;width:95%;margin:0 auto}}.news-window{width:100%;box-shadow:var(--shadow-md);opacity:0;border:5px solid var(--color-dark-gray);perspective:1000px;aspect-ratio:1;box-sizing:border-box;max-width:100%;transition:opacity .8s,transform .8s,box-shadow .3s;position:relative;overflow:hidden;transform:translateY(30px)}.news-window.visible{opacity:1;transform:translateY(0)}.news-window:hover{box-shadow:var(--shadow-lg);transform:translateY(-10px)}@media (max-width:480px){.news-window{aspect-ratio:auto;border-width:3px;width:100%;max-width:100%;height:220px;max-height:220px;margin:0 auto}}.window-link{width:100%;height:100%;color:inherit;text-decoration:none;display:block}.window-frame{-webkit-clip-path:polygon(5px 5px,calc(100% - 5px) 5px,calc(100% - 5px) calc(100% - 5px),5px calc(100% - 5px));clip-path:polygon(5px 5px,calc(100% - 5px) 5px,calc(100% - 5px) calc(100% - 5px),5px calc(100% - 5px));box-sizing:border-box;background:linear-gradient(135deg,#ffffffe6 0%,#f8f8f8cc 100%);justify-content:center;align-items:center;width:100%;height:100%;padding:1rem;display:flex;position:absolute;top:0;left:0}.window-frame:before{content:"";pointer-events:none;border:2px solid #2ecc714d;position:absolute;top:0;right:0;bottom:0;left:0}@media (max-width:480px){.window-frame{width:100%;height:100%;padding:.5rem}}.window-frame-inner{text-align:center;box-sizing:border-box;flex-direction:column;justify-content:center;width:100%;height:100%;padding:1rem;display:flex;position:relative;overflow:hidden}@media (max-width:767px){.window-frame-inner{padding:.8rem}}@media (max-width:480px){.window-frame-inner{padding:.5rem}}.window-handle{background-color:var(--color-accent);border:1px solid #ffffff80;border-radius:6px;width:12px;height:40px;position:absolute;top:50%;right:15px;transform:translateY(-50%);box-shadow:1px 1px 3px #0003}@media (max-width:480px){.window-handle{width:8px;height:30px;right:10px}}.window-reflection{pointer-events:none;opacity:.5;background:linear-gradient(135deg,#ffffff80 0%,#fff3 25%,#fff0 50%,#fff3 75%,#ffffff80 100%);width:100%;height:100%;position:absolute;top:0;left:0}.window-header{flex-direction:column;justify-content:center;align-items:center;margin-bottom:1rem;display:flex}.window-date{color:var(--color-gray);font-size:.9rem;font-family:var(--font-mincho);letter-spacing:.05em;margin-bottom:.5rem}@media (max-width:480px){.window-date{margin-bottom:.3rem;font-size:.85rem}}.window-category{background-color:var(--color-accent-light);color:var(--color-accent-dark);font-size:.8rem;font-family:var(--font-sans);margin-bottom:.8rem;padding:.2rem .8rem;display:inline-block}@media (max-width:480px){.window-category{margin-bottom:.5rem;padding:.15rem .6rem;font-size:.75rem}}.window-title{text-align:center;font-size:1.2rem;font-weight:600;font-family:var(--font-mincho);letter-spacing:.02em;margin:0 0 1rem;line-height:1.4;position:relative}.window-title:after{content:"";background-color:var(--color-accent);width:50px;height:2px;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}@media (max-width:767px){.window-title{font-size:1.1rem}.window-title:after{width:40px;bottom:-8px}}@media (max-width:480px){.window-title{-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;max-height:2.6em;margin-bottom:.5rem;font-size:.95rem;line-height:1.3;display:-webkit-box;overflow:hidden}.window-title:after{width:30px;bottom:-6px}}.window-excerpt{display:none}.window-more{text-align:center;margin-top:1.5rem}.desktop-only{display:block}@media (max-width:767px){.desktop-only{display:none}}@media (max-width:480px){.desktop-only{display:none}}.more-link{color:var(--color-accent);border:1px solid var(--color-accent);font-size:.9rem;font-weight:500;font-family:var(--font-mincho);letter-spacing:.05em;background-color:#0000;padding:.5rem 1.2rem;transition:all .3s;display:inline-block;position:relative;overflow:hidden}@media (max-width:480px){.more-link{border-width:1px;padding:.3rem .8rem;font-size:.8rem}}.no-news-message{text-align:center;color:var(--color-gray);background-color:var(--color-white);box-shadow:var(--shadow-sm);font-size:1.1rem;font-family:var(--font-mincho);letter-spacing:.05em;border-left:3px solid var(--color-accent-light);grid-column:1/-1;padding:3rem 2rem}@media (max-width:480px){.pagination{flex-wrap:wrap;justify-content:center}}@media (max-width:767px){.page-button{width:35px;height:35px;font-size:.9rem}}header.header{background-color:#0000;transition:background-color .3s}header.header.header-scrolled{background-color:#fffffff2}@media (max-width:767px){.page-header{padding:7rem 0 3rem}.page-title{font-size:2rem}.container{box-sizing:border-box;width:95%;margin:0 auto;padding-left:0;padding-right:0}}@media (max-width:480px){.page-title{font-size:1.8rem}.container{width:95%;margin:0 auto;padding:0}}.news-detail-page{padding-bottom:6rem;position:relative}.news-detail-page:before{content:"";z-index:-1;opacity:.6;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");width:100%;height:100%;position:absolute;top:0;left:0}@media (max-width:767px){.news-detail-page{text-align:center}}.page-title{font-size:2.5rem;font-family:var(--font-mincho);letter-spacing:.05em;margin-bottom:1rem;display:inline-block;position:relative}.construction-info-banner{background-color:var(--color-washi);border-top:1px solid #0000000d;border-bottom:1px solid #0000000d;margin-bottom:3rem;padding:1.5rem 0;position:relative}.construction-info-banner:before{content:"";opacity:.08;z-index:-1;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");width:100%;height:100%;position:absolute;top:0;left:0}.construction-message{color:var(--color-dark-gray);text-align:center;font-size:1rem;line-height:1.6;font-family:var(--font-sans);margin:0}@media (max-width:767px){.construction-message{font-size:.9rem}}@media (max-width:480px){.construction-message{text-align:center;font-size:.85rem}}.instagram-link{color:var(--color-accent);margin-left:.5rem;text-decoration:underline;transition:color .3s;display:inline-block;position:relative}.instagram-link:hover{color:var(--color-accent-dark)}@media (max-width:480px){.instagram-link{margin-top:.3rem;margin-left:0;display:block}}.loading-text:after{content:"";background:linear-gradient(to right,transparent,var(--color-accent),transparent);width:100%;height:1px;position:absolute;bottom:0;left:0}.news-detail-content{padding:0 0 3rem}.news-detail-main{background-color:var(--color-white);box-shadow:var(--shadow-sm);border-left:3px solid var(--color-accent);margin-bottom:3rem;padding:2.5rem;position:relative}.news-detail-main:after{content:"";border-style:solid;border-width:0 30px 30px 0;border-color:transparent var(--color-accent-light)transparent transparent;opacity:.5;width:0;height:0;position:absolute;top:0;right:0}@media (max-width:767px){.news-detail-main{padding:1.8rem}}@media (max-width:480px){.news-detail-main{padding:1.5rem}}.news-detail-header{opacity:0;border-bottom:1px solid var(--color-light-gray);margin-bottom:2.5rem;padding-bottom:1.5rem;transition:opacity .8s,transform .8s;transform:translateY(30px)}.news-detail-header.visible{opacity:1;transform:translateY(0)}.news-meta{align-items:center;margin-bottom:1rem;display:flex}@media (max-width:767px){.news-meta{justify-content:center}}.news-date{color:var(--color-gray);font-size:1rem;font-family:var(--font-mincho);letter-spacing:.05em}.news-category{background-color:var(--color-accent-light);color:var(--color-accent-dark);font-size:.8rem;font-family:var(--font-sans);margin-left:1rem;padding:.2rem .8rem;display:inline-block}.news-title{color:var(--color-black);font-size:1.8rem;line-height:1.4;font-family:var(--font-mincho);letter-spacing:.03em;margin:.8rem 0 0}@media (max-width:767px){.news-title{font-size:1.5rem}}@media (max-width:480px){.news-title{font-size:1.3rem}}.news-detail-image{opacity:0;margin-bottom:2.5rem;transition:opacity .8s,transform .8s;transform:translateY(30px)}.news-detail-image.visible{opacity:1;transform:translateY(0)}.news-detail-image img{object-fit:cover;width:100%;max-width:100%;height:auto;box-shadow:var(--shadow-md)}.news-detail-body{color:var(--color-dark-gray);opacity:0;margin-bottom:3rem;line-height:1.8;transition:opacity .8s,transform .8s;transform:translateY(30px)}.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}@media (max-width:767px){.news-detail-body p{text-align:center}}.news-detail-body blockquote{border-left:3px solid var(--color-accent);background-color:var(--color-accent-light);color:var(--color-black);margin:1.5rem 0;padding:1rem 1.5rem;font-style:italic}.news-detail-body ul,.news-detail-body ol{margin:1.5rem 0;padding-left:1.5rem}.news-detail-body li{margin-bottom:.5rem}@media (min-width:768px){.news-detail-body{font-size:1.05rem}}.news-detail-footer{border-top:1px solid var(--color-light-gray);opacity:0;margin-top:3rem;padding-top:1.5rem;transition:opacity .8s,transform .8s;transform:translateY(30px)}.news-detail-footer.visible{opacity:1;transform:translateY(0)}.back-to-list{color:var(--color-accent);border:1px solid var(--color-accent);font-size:.95rem;font-weight:500;font-family:var(--font-mincho);letter-spacing:.05em;background-color:#0000;padding:.8rem 1.8rem;transition:all .3s;display:inline-block;position:relative;overflow:hidden}.back-to-list:before{content:"";background:linear-gradient(90deg,#0000,#2ecc7133,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}@media (max-width:767px){.back-to-list{text-align:center;display:block}}.news-detail-related{opacity:0;margin-bottom:3rem;transition:opacity .8s,transform .8s;position:relative;transform:translateY(30px)}.news-detail-related.visible{opacity:1;transform:translateY(0)}.related-title{text-align:center;color:var(--color-black);font-size:1.5rem;font-family:var(--font-mincho);letter-spacing:.05em;margin-bottom:2rem;padding-bottom:.8rem;position:relative}.related-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:2rem;max-width:800px;margin:0 auto;display:grid}@media (min-width:768px){.related-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:767px){.related-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}}@media (max-width:480px){.related-grid{grid-template-columns:repeat(2,1fr);gap:1rem}}.related-window{aspect-ratio:1;background-color:var(--color-white);box-shadow:var(--shadow-md);border:5px solid var(--color-dark-gray);perspective:1000px;transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden}.related-window:hover{box-shadow:var(--shadow-lg);transform:translateY(-10px)}@media (max-width:767px){.related-window{aspect-ratio:1}}.related-window-frame{-webkit-clip-path:polygon(5px 5px,calc(100% - 5px) 5px,calc(100% - 5px) calc(100% - 5px),5px calc(100% - 5px));clip-path:polygon(5px 5px,calc(100% - 5px) 5px,calc(100% - 5px) calc(100% - 5px),5px calc(100% - 5px));background:linear-gradient(135deg,#ffffffe6 0%,#f8f8f8cc 100%);justify-content:center;align-items:center;width:100%;height:100%;padding:1rem;display:flex;position:absolute;top:0;left:0}.related-window-frame:before{content:"";pointer-events:none;border:2px solid #2ecc714d;position:absolute;top:0;right:0;bottom:0;left:0}.related-window-content{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:1rem;display:flex}@media (max-width:480px){.related-window-content{padding:.5rem}}.related-window-handle{background-color:var(--color-accent);border:1px solid #ffffff80;border-radius:6px;width:10px;height:35px;position:absolute;top:50%;right:12px;transform:translateY(-50%);box-shadow:1px 1px 3px #0003}.related-window-reflection{pointer-events:none;opacity:.5;background:linear-gradient(135deg,#ffffff80 0%,#fff3 25%,#fff0 50%,#fff3 75%,#ffffff80 100%);width:100%;height:100%;position:absolute;top:0;left:0}.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;font-weight:600;line-height:1.4;font-family:var(--font-mincho);color:var(--color-black);transition:color .3s}@media (max-width:480px){.related-item-title{font-size:.95rem}}.related-link{width:100%;height:100%;text-decoration:none;display:block}.portfolio-page{box-sizing:border-box;width:100%;max-width:100%;padding-bottom:6rem;position:relative;overflow-x:hidden}.portfolio-page:before{content:"";z-index:-1;opacity:.6;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");width:100%;height:100%;position:absolute;top:0;left:0}.breadcrumb a:after{content:"";background-color:var(--color-accent);width:0;height:1px;transition:width .3s;position:absolute;bottom:-2px;left:0}.portfolio-info-banner{background-color:var(--color-washi);border-top:1px solid #0000000d;border-bottom:1px solid #0000000d;margin-bottom:3rem;padding:1.5rem 0;position:relative}.portfolio-info-banner:before{content:"";opacity:.08;z-index:-1;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");width:100%;height:100%;position:absolute;top:0;left:0}.portfolio-message{color:var(--color-dark-gray);text-align:center;font-size:1.05rem;line-height:1.6;font-family:var(--font-mincho);letter-spacing:.03em;margin:0}@media (max-width:767px){.portfolio-message{padding:0 1rem;font-size:.95rem}}.portfolio-content{box-sizing:border-box;max-width:100%;padding:0 0 3rem;overflow-x:hidden}.portfolio-layout{box-sizing:border-box;width:100%}.portfolio-search{opacity:0;background-color:var(--color-white);border-radius:var(--border-radius-sm);width:100%;box-shadow:var(--shadow-sm);box-sizing:border-box;max-width:100%;margin-bottom:2rem;padding:1.5rem;transition:opacity .8s,transform .8s;position:relative;transform:translateY(30px)}.portfolio-search:before{content:"";background-color:var(--color-accent);border-radius:var(--border-radius-sm)var(--border-radius-sm)0 0;opacity:.7;width:100%;height:4px;position:absolute;top:0;left:0}.portfolio-search.visible{opacity:1;transform:translateY(0)}.portfolio-search form{align-items:center;width:100%;display:flex}@media (max-width:480px){.portfolio-search form{flex-direction:column;gap:.8rem}}.portfolio-search input[type=text]{border:1px solid var(--color-light-gray);background-color:var(--color-white);font-size:1rem;font-family:var(--font-sans);box-sizing:border-box;border-radius:0;flex:1;padding:.8rem 1.2rem}.portfolio-search input[type=text]:focus{border-color:var(--color-accent);outline:none}@media (max-width:480px){.portfolio-search input[type=text]{width:100%}}.search-button{background-color:var(--color-accent);color:var(--color-white);cursor:pointer;font-family:var(--font-mincho);border:none;flex-shrink:0;margin-left:.5rem;padding:.8rem 1.2rem;transition:background-color .3s}.search-button:hover{background-color:var(--color-accent-dark)}@media (max-width:480px){.search-button{width:100%;margin-left:0}}.search-icon{font-size:1.2rem}.category-filter{opacity:0;margin-bottom:2.5rem;transition:opacity .8s,transform .8s;transform:translateY(30px)}.category-filter.visible{opacity:1;transform:translateY(0)}.category-buttons{flex-wrap:wrap;justify-content:center;gap:.8rem;display:flex}@media (max-width:767px){.category-buttons{gap:.5rem}}@media (max-width:480px){.category-buttons{-webkit-overflow-scrolling:touch;justify-content:flex-start;margin-bottom:.5rem;padding-bottom:.5rem;overflow-x:auto}}.category-button{background-color:var(--color-white);border:1px solid var(--color-light-gray);color:var(--color-dark-gray);cursor:pointer;font-size:.9rem;font-family:var(--font-mincho);letter-spacing:.03em;opacity:0;padding:.6rem 1.2rem;transition:all .5s;transform:translateY(20px)}.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)}@media (max-width:767px){.category-button{padding:.5rem 1rem;font-size:.85rem}}@media (max-width:480px){.category-button{flex-shrink:0}}.portfolio-grid{box-sizing:border-box;grid-template-columns:repeat(3,1fr);gap:2rem;width:100%;margin-bottom:3rem;display:grid}@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}}@media (max-width:767px){.portfolio-grid{grid-template-columns:1fr;max-width:500px;margin-left:auto;margin-right:auto}}.portfolio-window{background-color:var(--color-white);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-md);opacity:0;box-sizing:border-box;border:3px solid #0000;height:100%;transition:opacity .8s,transform .8s,box-shadow .3s;position:relative;overflow:hidden;transform:translateY(30px)}.portfolio-window.visible{opacity:1;transform:translateY(0)}.portfolio-window:hover{border:3px solid var(--color-accent);box-shadow:0 0 0 1px var(--color-accent),var(--shadow-lg);transform:translateY(-10px)}@media (max-width:480px){.portfolio-window{max-width:100%}}.portfolio-link{height:100%;color:inherit;text-decoration:none;display:block}.portfolio-image-container{width:100%;height:0;padding-bottom:56.25%;position:relative;overflow:hidden}.portfolio-before-after{width:200%;height:100%;transition:transform .5s;display:flex;position:absolute;top:0;left:0}.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{object-fit:cover;width:100%;height:100%}.image-label{color:#fff;border-radius:var(--border-radius-sm);z-index:2;background-color:#000000b3;padding:.3rem .6rem;font-size:.8rem;position:absolute;bottom:10px;left:10px}.portfolio-content-box{padding:1.5rem}@media (max-width:480px){.portfolio-content-box{padding:1.2rem}}.portfolio-header{justify-content:space-between;align-items:center;margin-bottom:.8rem;display:flex}@media (max-width:767px){.portfolio-header{flex-direction:column;align-items:flex-start;gap:.5rem}}.portfolio-category{background-color:var(--color-accent-light);color:var(--color-accent-dark);border-radius:var(--border-radius-sm);white-space:nowrap;padding:.2rem .8rem;font-size:.8rem}.portfolio-date{color:var(--color-gray);font-size:.85rem}@media (max-width:767px){.portfolio-date{margin-top:.3rem}}.portfolio-title{font-size:1.2rem;font-weight:600;line-height:1.4;font-family:var(--font-mincho);letter-spacing:.02em;margin:0 0 .8rem}.portfolio-title:after{content:none}@media (max-width:480px){.portfolio-title{font-size:1.1rem}}.no-underline:after{display:none}.portfolio-location{color:var(--color-gray);border-bottom:none;align-items:center;margin-bottom:1.2rem;padding-bottom:0;font-size:.9rem;display:flex;position:relative}.portfolio-more{text-align:right}.more-link{color:var(--color-accent);border:1px solid var(--color-accent);font-size:.9rem;font-weight:500;font-family:var(--font-mincho);letter-spacing:.05em;background-color:#0000;padding:.4rem 1rem;transition:all .3s;display:inline-block;position:relative;overflow:hidden}.more-link:before{content:"";background:linear-gradient(90deg,#0000,#2ecc7133,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.more-link:hover{background-color:var(--color-accent);color:var(--color-white);transform:translateY(-2px)}.more-link:hover:before{left:100%}@media (max-width:480px){.more-link{text-align:center;width:100%}}.no-portfolio-message{text-align:center;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);grid-column:1/-1;padding:3rem 2rem}.pagination{justify-content:center;gap:.5rem;margin-top:3rem;display:flex}@media (max-width:480px){.pagination{flex-wrap:wrap}}.page-button{border:1px solid var(--color-light-gray);background-color:var(--color-white);width:40px;height:40px;color:var(--color-dark-gray);cursor:pointer;font-size:1rem;font-family:var(--font-sans);justify-content:center;align-items:center;transition:all .3s;display:flex}.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 (max-width:991px){.page-header{padding:7rem 0 3rem}.page-title{font-size:2.2rem}}@media (max-width:767px){.page-header{padding:6rem 0 2.5rem}.page-title{font-size:2rem}}.portfolio-detail-page{padding-bottom:6rem;position:relative}.portfolio-detail-page:before{content:"";top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);z-index:-1;opacity:.6;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");width:100%;height:100%;position:absolute}.loading-container{justify-content:center;align-items:center;min-height:400px;display:flex}.loading-text{color:var(--color-gray);font-size:1.2rem;font-family:var(--font-mincho);letter-spacing:.05em;padding-bottom:.5rem;position:relative}.loading-text:after{content:"";left:calc(var(--spacing,.25rem)*0);background:linear-gradient(to right,transparent,var(--color-accent),transparent);width:100%;height:1px;position:absolute;bottom:0}.portfolio-detail-content{padding:0 0 3rem}.portfolio-detail-main{background-color:var(--color-white);box-shadow:var(--shadow-sm);border-left:3px solid var(--color-accent);margin-bottom:3rem;padding:2.5rem;position:relative}.portfolio-detail-main:after{content:"";top:calc(var(--spacing,.25rem)*0);right:calc(var(--spacing,.25rem)*0);border-style:solid;border-width:0 30px 30px 0;border-color:transparent var(--color-accent-light)transparent transparent;opacity:.5;width:0;height:0;position:absolute}@media (max-width:767px){.portfolio-detail-main{padding:1.8rem}}@media (max-width:480px){.portfolio-detail-main{padding:1.5rem}}.portfolio-detail-header{opacity:0;border-bottom:1px solid var(--color-light-gray);margin-bottom:2.5rem;padding-bottom:1.5rem;transition:opacity .8s,transform .8s;transform:translateY(30px)}.portfolio-detail-header.visible{opacity:1;transform:translateY(0)}.portfolio-meta{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}@media (max-width:767px){.portfolio-meta{flex-direction:column;align-items:flex-start;gap:.5rem}}.portfolio-date{color:var(--color-gray);font-size:.95rem;font-family:var(--font-mincho);letter-spacing:.05em}.portfolio-category{background-color:var(--color-accent-light);color:var(--color-accent-dark);font-size:.85rem;font-family:var(--font-sans);padding:.2rem .8rem;display:inline-block}.portfolio-location{color:var(--color-gray);border-bottom:none;align-items:center;padding-bottom:0;font-size:.95rem;display:inline-flex;position:relative}.location-icon{color:var(--color-accent);margin-right:.3rem}.portfolio-title{color:var(--color-black);font-size:1.8rem;line-height:1.4;font-family:var(--font-mincho);letter-spacing:.03em;margin:.8rem 0 0}@media (max-width:767px){.portfolio-title{font-size:1.5rem}}@media (max-width:480px){.portfolio-title{font-size:1.3rem}}.no-image{text-align:center;background-color:var(--color-light-gray);width:100%;height:100%;color:var(--color-gray);justify-content:center;align-items:center;padding:2rem;font-size:1rem;display:flex}.portfolio-before-after-comparison{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:3rem;display:flex}@media (max-width:991px){.portfolio-before-after-comparison{flex-direction:column;gap:2rem}}.comparison-item{flex:1;min-width:250px;max-width:45%}@media (max-width:991px){.comparison-item{width:100%;max-width:100%}}.comparison-title{text-align:center;font-size:1.2rem;font-family:var(--font-mincho);margin-bottom:1rem;padding-bottom:.5rem;position:relative}.comparison-title:after{content:"";background-color:var(--color-accent);width:50px;height:2px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.comparison-image{border:1px solid var(--color-light-gray);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-sm);height:300px;overflow:hidden}.comparison-image img{object-fit:cover;width:100%;height:100%;display:block}.comparison-arrow{color:var(--color-accent);align-self:center;margin:0 1rem;font-size:2rem}@media (max-width:991px){.comparison-arrow{margin:0;transform:rotate(90deg)}}.portfolio-detail-body{color:var(--color-dark-gray);opacity:0;margin-bottom:3rem;line-height:1.8;transition:opacity .8s,transform .8s;transform:translateY(30px)}.portfolio-detail-body.visible{opacity:1;transform:translateY(0)}.section-title{color:var(--color-black);font-size:1.4rem;font-family:var(--font-mincho);letter-spacing:.03em;border-bottom:1px solid var(--color-light-gray);margin:2.5rem 0 1.5rem;padding-bottom:.8rem;position:relative}.section-title:after{content:"";left:calc(var(--spacing,.25rem)*0);background-color:var(--color-accent);width:80px;height:1px;position:absolute;bottom:-1px}@media (max-width:767px){.section-title{font-size:1.3rem}}.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}@media (max-width:767px){.portfolio-description p{font-size:1rem}}@media (max-width:480px){.portfolio-description p{font-size:.95rem}}.portfolio-specs{margin-bottom:2.5rem}.specs-table{border-collapse:collapse;border:1px solid var(--color-light-gray);width:100%}.specs-table th,.specs-table td{border-bottom:1px solid var(--color-light-gray);text-align:left;vertical-align:top;padding:1rem}@media (max-width:767px){.specs-table th,.specs-table td{padding:.8rem}}@media (max-width:480px){.specs-table th,.specs-table td{width:100%;padding:.7rem;font-size:.95rem;display:block}}.specs-table th{background-color:var(--color-accent-light);color:var(--color-dark-gray);width:30%;font-weight:600;font-family:var(--font-mincho)}@media (max-width:991px){.specs-table th{width:35%}}@media (max-width:767px){.specs-table th{width:40%}}@media (max-width:480px){.specs-table th{border-bottom:none}}.specs-table tr:last-child th,.specs-table tr:last-child td{border-bottom:none}.portfolio-testimonial{background-color:var(--color-accent-light);border-radius:var(--border-radius-sm);margin-bottom:2.5rem;padding:1.5rem;position:relative}.testimonial-content{color:var(--color-dark-gray);background-color:var(--color-white);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-sm);padding:1.5rem;font-style:italic;position:relative}.testimonial-content p{z-index:1;margin:0;position:relative}.quote-icon{color:var(--color-accent);opacity:.5;font-family:serif;font-size:2.5rem;position:absolute;top:-15px;left:15px}.quote-end{inset:auto 15px -25px auto}.portfolio-detail-footer{border-top:1px solid var(--color-light-gray);opacity:0;margin-top:3rem;padding-top:1.5rem;transition:opacity .8s,transform .8s;transform:translateY(30px)}.portfolio-detail-footer.visible{opacity:1;transform:translateY(0)}.back-to-list{color:var(--color-accent);border:1px solid var(--color-accent);font-size:.95rem;font-weight:500;font-family:var(--font-mincho);letter-spacing:.05em;background-color:#0000;padding:.8rem 1.8rem;text-decoration:none;transition:all .3s;display:inline-block;position:relative;overflow:hidden}.back-to-list:before{content:"";top:calc(var(--spacing,.25rem)*0);background:linear-gradient(90deg,#0000,#2ecc7133,#0000);width:100%;height:100%;transition:left .5s;position:absolute;left:-100%}.back-to-list:hover{background-color:var(--color-accent);color:var(--color-white);transform:translateY(-2px)}.back-to-list:hover:before{left:100%}@media (max-width:480px){.back-to-list{text-align:center;display:block}}.portfolio-detail-related{opacity:0;margin-bottom:3rem;transition:opacity .8s,transform .8s;position:relative;transform:translateY(30px)}.portfolio-detail-related.visible{opacity:1;transform:translateY(0)}.related-title{color:var(--color-black);text-align:center;font-size:1.5rem;font-family:var(--font-mincho);letter-spacing:.05em;margin-bottom:2rem;padding-bottom:.8rem;position:relative}.related-title:after{content:"";background-color:var(--color-accent);width:50px;height:1px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.related-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;max-width:1000px;margin:0 auto;display:grid}@media (max-width:767px){.related-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}.related-item{background-color:var(--color-white);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-md);height:100%;transition:transform .3s,box-shadow .3s;overflow:hidden}.related-item:hover{box-shadow:var(--shadow-lg);transform:translateY(-8px)}.related-item:hover .related-image img{transform:scale(1.05)}.related-link{height:100%;color:inherit;text-decoration:none;display:block}.related-link:hover .related-item-title{color:var(--color-accent)}.related-image{width:100%;height:0;padding-bottom:65%;position:relative;overflow:hidden}.related-image img{top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);object-fit:cover;width:100%;height:100%;transition:transform .5s;position:absolute}.related-content{padding:1rem}.related-category{background-color:var(--color-accent-light);color:var(--color-accent-dark);margin-bottom:.5rem;padding:.2rem .7rem;font-size:.8rem;display:inline-block}.related-item-title{font-size:1.1rem;font-weight:600;line-height:1.4;font-family:var(--font-mincho);color:var(--color-black);transition:color .3s;display:block}@media (max-width:480px){.related-item-title{font-size:1rem}}.portfolio-cta-section{background-color:var(--color-washi);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-sm);opacity:0;margin-top:4rem;padding:3rem 2rem;transition:opacity .8s,transform .8s;position:relative;transform:translateY(30px)}.portfolio-cta-section.visible{opacity:1;transform:translateY(0)}.portfolio-cta-section:before{content:"";top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);border-radius:var(--border-radius-sm);z-index:-1;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");width:100%;height:100%;position:absolute}.cta-content{text-align:center}.cta-title{color:var(--color-black);font-size:1.6rem;font-family:var(--font-mincho);letter-spacing:.05em;margin-bottom:1rem}@media (max-width:480px){.cta-title{font-size:1.4rem}}.cta-text{max-width:700px;margin-bottom:2rem;margin-left:auto;margin-right:auto;font-size:1.05rem;line-height:1.6}@media (max-width:480px){.cta-text{font-size:.95rem}}.cta-buttons{flex-wrap:wrap;justify-content:center;gap:1.5rem;display:flex}@media (max-width:767px){.cta-buttons{flex-direction:column;gap:1rem}}.cta-button{font-size:1rem;font-weight:500;font-family:var(--font-mincho);letter-spacing:.05em;box-shadow:0 0 0 1px var(--color-accent);border:1px solid var(--color-white);margin:3px;padding:1rem 2rem;text-decoration:none;transition:all .3s;display:inline-block;position:relative;overflow:hidden}.cta-button:before{content:"";top:calc(var(--spacing,.25rem)*0);background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .5s;position:absolute;left:-100%}.cta-button:hover{transform:translateY(-3px)}.cta-button:hover:before{left:100%}@media (max-width:767px){.cta-button{width: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{color:var(--color-accent);border:1px solid var(--color-accent);background-color:#0000}.phone-button:hover{background-color:var(--color-accent);color:var(--color-white)}@media (max-width:480px){.page-title{font-size:1.8rem}}.service-detail-page{padding-bottom:6rem;font-family:Noto Sans JP,sans-serif;position:relative}.service-detail-page:before{content:"";top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);z-index:-1;opacity:.6;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");width:100%;height:100%;position:absolute}.page-title:after{content:"";background-color:var(--color-accent);width:100%;height:2px;position:absolute;bottom:-10px;left:0}@media (max-width:767px){.page-title{font-size:2rem}}.breadcrumb a{color:var(--color-white);transition:color .3s;position:relative}.breadcrumb a:hover:after{width:100%}.breadcrumb a:after{content:"";left:calc(var(--spacing,.25rem)*0);background-color:var(--color-accent);width:0;height:1px;transition:width .3s;position:absolute;bottom:-2px}.service-detail-content{padding:2rem 0}.service-detail-loading{min-height:400px;color:var(--color-gray);font-size:1.2rem;font-family:var(--font-mincho);letter-spacing:.05em;justify-content:center;align-items:center;display:flex}.back-link{background-color:var(--color-accent);color:#fff;border-radius:4px;margin-top:1rem;padding:.5rem 1rem;text-decoration:none;transition:background-color .3s;display:inline-block}.back-link:hover{background-color:var(--color-accent-dark)}.service-detail-image-container{opacity:0;margin-bottom:4rem;transition:opacity .8s,transform .8s;transform:translateY(30px)}.service-detail-image-container.visible{opacity:1;transform:translateY(0)}.image-slider{max-width:900px;box-shadow:var(--shadow-md);background-color:var(--color-off-white);border-radius:8px;justify-content:center;align-items:center;margin:0 auto;display:flex;position:relative;overflow:hidden}@media (max-width:767px){.image-slider{border-radius:4px}}.no-image{width:100%;min-height:300px;color:var(--color-gray);font-family:var(--font-mincho);justify-content:center;align-items:center;display:flex}.detail-image{object-fit:contain;width:100%;height:auto;max-height:600px;transition:opacity .5s,transform .5s;display:block}@media (max-width:767px){.detail-image{max-height:400px}}@media (max-width:480px){.detail-image{max-height:300px}}.detail-image.fade-out{opacity:0;transform:scale(1.02)}.detail-image.fade-in{opacity:1;transform:scale(1)}.portrait-mode.image-slider{background-color:var(--color-off-white)}.portrait-mode .detail-image{object-fit:contain;width:auto;max-width:100%;max-height:550px}@media (max-width:767px){.portrait-mode .detail-image{max-height:400px}}@media (max-width:480px){.portrait-mode .detail-image{max-height:320px}}.landscape-mode .detail-image{object-fit:contain;width:100%;height:auto}.auto-scroll-active .detail-image{transition:opacity .8s,transform .8s}.image-controls{z-index:10;justify-content:space-between;width:100%;padding:0 20px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}@media (max-width:767px){.image-controls{padding:0 10px}}.image-control{color:#fff;cursor:pointer;background-color:#0000004d;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;transition:background-color .3s;display:flex}.image-control:hover{background-color:#0009}@media (max-width:767px){.image-control{width:30px;height:30px;font-size:14px}}.image-indicators{z-index:10;justify-content:center;gap:10px;display:flex;position:absolute;bottom:20px;left:0;right:0}.indicator{cursor:pointer;background-color:#ffffff80;border-radius:50%;width:12px;height:12px;transition:background-color .3s,transform .3s}.indicator.active{background-color:var(--color-white);transform:scale(1.2)}@media (max-width:767px){.indicator{width:8px;height:8px}}.auto-scroll-toggle{color:#fff;cursor:pointer;z-index:10;background-color:#0000004d;border:none;border-radius:4px;align-items:center;gap:5px;padding:5px 10px;font-size:.8rem;transition:background-color .3s;display:flex;position:absolute;bottom:20px;right:20px}.auto-scroll-toggle:hover{background-color:#0009}.auto-scroll-icon{width:14px;height:14px;display:inline-block}.service-detail-overview{opacity:0;text-align:center;z-index:2;margin-bottom:4rem;transition:opacity .8s,transform .8s;position:relative;transform:translateY(30px)}.service-detail-overview.visible{opacity:1;transform:translateY(0)}.section-title{text-align:center;font-size:1.8rem;font-family:var(--font-mincho);letter-spacing:.03em;z-index:2;margin-bottom:1.5rem;padding-bottom:.5rem;display:inline-block;position:relative;color:var(--color-dark-gray)!important}.section-title:after{content:"";background-color:var(--color-accent);width:60px;height:2px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}@media (max-width:767px){.section-title{font-size:1.5rem}}@media (max-width:480px){.section-title{font-size:1.3rem}}.service-description{font-size:1.1rem;line-height:1.8;font-family:var(--font-sans);max-width:800px;margin-bottom:2rem;margin-left:auto;margin-right:auto;color:var(--color-dark-gray)!important;visibility:visible!important;opacity:1!important;display:block!important}@media (max-width:767px){.service-description{font-size:1rem}}.service-features{background-color:var(--color-washi);text-align:left;max-width:800px;margin-bottom:2rem;margin-left:auto;margin-right:auto;padding:1.5rem 2rem;position:relative}.service-features:before,.service-features:after{content:"";border:1px solid var(--color-accent);pointer-events:none;position:absolute}.service-features:before{top:5px;right:5px;bottom:5px;left:5px}.service-features:after{top:0;right:0;bottom:0;left:0}.features-title{color:var(--color-dark-gray);font-size:1.3rem;font-family:var(--font-mincho);text-align:center;margin-bottom:1rem}@media (max-width:767px){.features-title{font-size:1.2rem}}@media (max-width:480px){.features-title{font-size:1rem}}.features-list{grid-template-columns:repeat(2,1fr);gap:.8rem 1.5rem;margin:0;padding:0;list-style:none;display:grid}@media (min-width:768px){.features-list{grid-template-columns:repeat(2,1fr);gap:1rem 2rem}}@media (max-width:767px){.features-list{grid-template-columns:repeat(2,1fr);gap:.8rem 1rem}}@media (max-width:480px){.features-list{grid-template-columns:repeat(2,1fr);gap:.6rem .8rem}}.feature-item{line-height:1.6;font-family:var(--font-sans);padding-left:1.8rem;position:relative}.feature-item:before{content:"✓";left:calc(var(--spacing,.25rem)*0);color:var(--color-accent);font-weight:700;position:absolute}@media (max-width:480px){.feature-item{padding-left:1.5rem;font-size:.9rem}}.service-detail-section{opacity:1;text-align:center;z-index:2;margin-bottom:4rem;transition:opacity .8s,transform .8s;position:relative;transform:translateY(0)}.service-detail-section.visible{opacity:1;transform:translateY(0)}.service-detail-text{text-align:left;max-width:800px;margin-left:auto;margin-right:auto}@media (max-width:767px){.service-detail-text{text-align:center}}@media (max-width:480px){.service-detail-text{text-align:center}}.detail-paragraph{line-height:1.8;font-family:var(--font-sans);margin-bottom:1.5rem;color:var(--color-dark-gray)!important;visibility:visible!important;opacity:1!important;display:block!important}.service-process{opacity:0;text-align:center;margin-bottom:4rem;transition:opacity .8s,transform .8s;transform:translateY(30px)}.service-process.visible{opacity:1;transform:translateY(0)}.process-timeline{max-width:800px;margin:0 auto;position:relative}.process-timeline:before{content:"";background-color:var(--color-light-gray);width:2px;position:absolute;top:0;bottom:0;left:20px}@media (min-width:768px){.process-timeline:before{left:30px}}@media (max-width:480px){.process-timeline:before{left:15px}}.process-step{text-align:left;margin-bottom:2rem;padding-left:60px;position:relative}.process-step:last-child{margin-bottom:0}@media (max-width:767px){.process-step{padding-left:50px}}@media (max-width:480px){.process-step{padding-left:40px}}.step-number{left:calc(var(--spacing,.25rem)*0);background-color:var(--color-accent);width:40px;height:40px;color:var(--color-white);z-index:1;font-size:1.1rem;font-weight:700;font-family:var(--font-mincho);border-radius:0;justify-content:center;align-items:center;display:flex;position:absolute}@media (max-width:767px){.step-number{width:32px;height:32px;font-size:.9rem}}@media (max-width:480px){.step-number{width:30px;height:30px;font-size:.85rem}}.step-content{background-color:var(--color-white);box-shadow:var(--shadow-sm);border-radius:8px;padding:1.5rem}@media (max-width:767px){.step-content{text-align:center}}@media (max-width:480px){.step-content{text-align:center}}.step-title{color:var(--color-dark-gray);font-size:1.2rem;font-family:var(--font-mincho);margin-bottom:.5rem}@media (max-width:767px){.step-title{font-size:1.1rem}}@media (max-width:480px){.step-title{font-size:1rem}}.step-description{color:var(--color-dark-gray);line-height:1.6;font-family:var(--font-sans)}@media (max-width:480px){.step-description{font-size:.9rem}}.service-contact{opacity:0;margin-top:5rem;transition:opacity .8s,transform .8s;transform:translateY(30px)}.service-contact.visible{opacity:1;transform:translateY(0)}.contact-box{background-color:var(--color-washi);box-shadow:var(--shadow-md);text-align:center;border:1px solid var(--color-light-gray);border-radius:10px;padding:2.5rem}.contact-title{color:var(--color-dark-gray);font-size:1.6rem;font-family:var(--font-mincho);letter-spacing:.03em;margin-bottom:1.5rem}@media (max-width:767px){.contact-title{font-size:1.4rem}}@media (max-width:480px){.contact-title{font-size:1.2rem}}.contact-text{max-width:600px;font-family:var(--font-sans);margin-bottom:1.5rem;margin-left:auto;margin-right:auto}@media (max-width:480px){.contact-text{font-size:.9rem}}.contact-address{background-color:#fff;border-radius:8px;margin-bottom:2rem;padding:1rem;display:inline-block}.contact-address p{font-family:var(--font-sans);margin-bottom:.5rem}.contact-address p:last-child{color:var(--color-accent-dark);margin-bottom:0;font-weight:700}@media (max-width:480px){.contact-address p{font-size:.9rem}.contact-address{width:100%;padding:.8rem}}.contact-buttons{flex-wrap:wrap;justify-content:center;gap:1.5rem;display:flex}@media (min-width:768px){.contact-buttons{flex-direction:row;gap:1.5rem}}@media (max-width:767px){.contact-buttons{flex-direction:column;align-items:center;gap:1rem}}.custom-button{text-align:center;background-color:var(--color-accent);color:var(--color-white);font-family:var(--font-mincho);letter-spacing:.1em;border:none;min-width:200px;padding:.8rem 2.5rem;transition:all .3s;display:inline-block;position:relative;overflow:hidden}.custom-button:before,.custom-button:after{content:"";border:1px solid var(--color-white);pointer-events:none;transition:all .3s;position:absolute}.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)}@media (min-width:768px){.custom-button{width:auto}}@media (max-width:767px){.custom-button{width:100%;max-width:280px}}.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{transition:opacity .8s,transform .8s;opacity:1!important;transform:translateY(0)!important}@media (max-width:767px){.page-header{padding:7rem 0 3rem}}.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%;color:var(--color-dark-gray);padding:1.2rem;font-weight:600}@media (max-width:768px){.company-table th{width:35%}}@media (max-width:576px){.company-table th{text-align:center;border-bottom:none;width:100%;padding-bottom:.5rem;display:block}}.company-table td{color:var(--color-dark-gray);padding:1.2rem}@media (max-width:576px){.company-table td{text-align:center;width:100%;padding-top:.5rem;display:block}}.company-table tr:nth-child(2n) td{background-color:#f0f0f04d}@media (max-width:768px){.company-table{max-width:600px;margin-left:auto;margin-right:auto}}.business-list{grid-template-columns:repeat(2,1fr);gap:1.5rem;max-width:800px;margin-top:2rem;margin-left:auto;margin-right:auto;padding:0;list-style:none;display:grid}@media (max-width:992px){.business-list{grid-template-columns:repeat(2,1fr);gap:1.2rem}}@media (max-width:768px){.business-list{grid-template-columns:1fr;gap:1rem;max-width:400px}}.business-item{color:var(--color-dark-gray);padding-left:1.8rem;font-size:1.1rem;line-height:1.5;position:relative}.business-item:before{content:"";background-color:var(--color-accent);width:.8rem;height:.8rem;position:absolute;top:.5rem;left:0;transform:rotate(45deg)}@media (max-width:576px){.business-item:before{top:0;left:50%;transform:translate(-50%)rotate(45deg)}.business-item{text-align:center;padding-top:1.5rem;padding-left:0;font-size:1rem}}.company-overview,.business-content{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(30px)}.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{text-align:center;color:var(--color-gray);margin-bottom:2rem;font-size:1rem;font-style:italic}.clients-list{grid-template-columns:repeat(4,1fr);gap:1.5rem;max-width:1000px;margin-left:auto;margin-right:auto;display:grid}@media (max-width:992px){.clients-list{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.clients-list{grid-template-columns:repeat(2,1fr);max-width:500px}}@media (max-width:576px){.clients-list{grid-template-columns:1fr;gap:1rem;max-width:280px}}.client-item{text-align:center;background-color:var(--color-off-white);box-shadow:var(--shadow-sm);color:var(--color-dark-gray);border:1px solid #0000;border-radius:5px;padding:1.5rem;transition:transform .3s,box-shadow .3s}.client-item:hover{box-shadow:var(--shadow-md);border-color:var(--color-accent);transform:translateY(-5px)}@media (max-width:576px){.client-item{padding:1.2rem}}.client-link{cursor:pointer;justify-content:center;align-items:center;text-decoration:none;display:flex;position:relative}.client-link:after{content:"→";opacity:0;transition:opacity .3s,transform .3s;position:absolute;right:10px}.client-link:hover:after{opacity:1;transform:translate(5px)}.history-page{padding-bottom:2rem}.history-intro-content{max-width:800px;margin:1rem auto}.history-intro-text{color:var(--color-dark-gray);margin-bottom:1rem;font-size:1.1rem;line-height:1.8}.history-intro-text:last-child{margin-bottom:0}@media (max-width:768px){.history-intro-text{font-size:1rem}}@media (max-width:576px){.history-intro-text{text-align:center}}.timeline{z-index:2;max-width:800px;margin:.5rem auto 3rem;padding-left:2rem;position:relative}.timeline:before{content:"";background-color:var(--color-accent);opacity:.5;z-index:2;border-radius:2px;width:4px;height:100%;position:absolute;top:0;left:0}@media (max-width:576px){.timeline:before{width:3px}}@media (max-width:768px){.timeline{width:90%;padding-left:1.5rem}}@media (max-width:576px){.timeline{margin:1.5rem auto 3rem;padding-left:1.2rem}}.timeline-item{opacity:0;z-index:3;margin-bottom:4rem;transition:opacity .8s,transform .8s;position:relative;transform:translate(30px)}.timeline-item:last-child{margin-bottom:0}.timeline-item.visible{opacity:1;transform:translate(0)}.timeline-item:first-child{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:576px){.timeline-item{margin-bottom:3rem}}.timeline-marker{background-color:var(--color-accent);border:3px solid var(--color-white);width:1rem;height:1rem;box-shadow:var(--shadow-sm);z-index:3;border-radius:50%;position:absolute;top:.5rem;left:-2.5rem}@media (max-width:768px){.timeline-marker{width:.8rem;height:.8rem;left:-2rem}}@media (max-width:576px){.timeline-marker{width:.7rem;height:.7rem;top:.3rem;left:-1.65rem}}.timeline-content{background-color:var(--color-white);box-shadow:var(--shadow-sm);z-index:3;border:1px solid #2ecc711a;border-radius:10px;padding:1.5rem 2rem;position:relative}@media (max-width:768px){.timeline-content{padding:1.2rem 1.5rem}}@media (max-width:576px){.timeline-content{text-align:center;padding:1rem}}.timeline-year{color:var(--color-dark-gray);font-size:1.3rem;font-weight:700;font-family:var(--font-mincho);margin-bottom:.5rem}@media (max-width:768px){.timeline-year{font-size:1.2rem}}@media (max-width:576px){.timeline-year{font-size:1.1rem}}.timeline-title{color:var(--color-accent-dark);margin-bottom:1rem;font-size:1.1rem;font-weight:600}@media (max-width:768px){.timeline-title{font-size:1rem}}@media (max-width:576px){.timeline-title{font-size:.95rem}}.timeline-text{color:var(--color-dark-gray);font-size:1rem;line-height:1.6}@media (max-width:576px){.timeline-text{text-align:center;font-size:.9rem}}.future-vision{background-color:var(--color-off-white);border:1px solid #2ecc7133;border-radius:10px;max-width:800px;margin:3rem auto 0;padding:3rem;position:relative}.future-vision:before{content:"";pointer-events:none;border:1px solid #2ecc714d;position:absolute;top:10px;right:10px;bottom:10px;left:10px}@media (max-width:768px){.future-vision{width:90%;padding:2rem}}@media (max-width:576px){.future-vision{padding:1.5rem}}.future-content{z-index:2;margin-top:2rem;position:relative}.future-text{color:var(--color-dark-gray);margin-bottom:1.5rem;font-size:1.1rem;line-height:1.8}.future-text:last-child{margin-bottom:0}@media (max-width:768px){.future-text{font-size:1rem}}@media (max-width:576px){.future-text{text-align:center}}.president-message-page{padding-bottom:2rem}.message-container{max-width:800px;margin-top:1.5rem;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);box-shadow:var(--shadow-sm);border:1px solid #2ecc711a;border-radius:10px;padding:3rem;position:relative}.message-content:before{content:"";pointer-events:none;border:1px solid #2ecc7133;position:absolute;top:10px;right:10px;bottom:10px;left:10px}@media (max-width:768px){.message-content{padding:2rem}}@media (max-width:576px){.message-content{padding:1.5rem}}.message-header{z-index:2;align-items:center;gap:2rem;margin-bottom:2.5rem;display:flex;position:relative}@media (max-width:768px){.message-header{text-align:center;flex-direction:column;gap:1.5rem}}.president-photo{background-color:var(--color-off-white);width:150px;height:150px;box-shadow:var(--shadow-sm);border-radius:50%;flex-shrink:0;overflow:hidden}.president-photo img{object-fit:cover;width:100%;height:100%}@media (max-width:576px){.president-photo{width:120px;height:120px}}.president-photo-placeholder{background-color:var(--color-light-gray);width:100%;height:100%;color:var(--color-white);justify-content:center;align-items:center;font-size:1.2rem;display:flex}.placeholder-icon{color:var(--color-gray);font-size:1rem}.president-info{flex-grow:1}@media (max-width:768px){.president-info{text-align:center}}.president-position{color:var(--color-gray);margin-bottom:.5rem;font-size:1rem}.president-name{color:var(--color-dark-gray);font-size:1.8rem;font-weight:700;font-family:var(--font-mincho);margin:0}@media (max-width:768px){.president-name{font-size:1.5rem}}.message-body{z-index:2;margin-bottom:3rem;position:relative}.message-text{color:var(--color-dark-gray);text-indent:1em;margin-bottom:1.5rem;font-size:1.1rem;line-height:1.8}.message-text:last-child{margin-bottom:0}@media (max-width:768px){.message-text{font-size:1rem}}@media (max-width:576px){.message-text{text-indent:0;text-align:center}}.message-signature{text-align:right;z-index:2;margin-top:2rem;position:relative}.signature-name{font-size:1.3rem;font-family:var(--font-mincho);color:var(--color-dark-gray);padding-bottom:5px;font-weight:600;display:inline-block;position:relative}.signature-name:after{content:"";background-color:var(--color-dark-gray);width:100%;height:1px;position:absolute;bottom:0;left:0}@media (max-width:576px){.signature-name{font-size:1.2rem}}.management-philosophy{opacity:0;max-width:800px;margin-top:4rem;margin-left:auto;margin-right:auto;transition:opacity .8s .4s,transform .8s .4s;transform:translateY(30px)}.management-philosophy.visible{opacity:1;transform:translateY(0)}.philosophy-container{margin-top:2rem}.philosophy-quote{text-align:center;background-color:var(--color-off-white);border:1px solid #2ecc711a;border-radius:10px;margin-bottom:2.5rem;padding:2.5rem;position:relative}.philosophy-quote:before{content:"";pointer-events:none;border:1px solid #2ecc7133;border-radius:6px;position:absolute;top:8px;right:8px;bottom:8px;left:8px}.philosophy-quote:after{content:"”";color:#2ecc711a;font-family:serif;font-size:4rem;line-height:1;position:absolute;bottom:.5rem;right:1.5rem}@media (max-width:768px){.philosophy-quote{padding:2rem}}@media (max-width:576px){.philosophy-quote{padding:1.5rem}}.quote-text{font-size:1.8rem;font-family:var(--font-mincho);color:var(--color-dark-gray);z-index:2;margin:0;font-weight:700;line-height:1.4;position:relative}.quote-text:before{content:"“";color:#2ecc711a;font-family:serif;font-size:4rem;line-height:1;position:absolute;top:-1.5rem;left:-1rem}@media (max-width:768px){.quote-text{font-size:1.5rem}}@media (max-width:576px){.quote-text{font-size:1.3rem}}.philosophy-content{padding:0 1.5rem}@media (max-width:576px){.philosophy-content{padding:0}}.philosophy-text{color:var(--color-dark-gray);margin-bottom:1.5rem;font-size:1.1rem;line-height:1.8}.philosophy-text:last-child{margin-bottom:0}@media (max-width:768px){.philosophy-text{font-size:1rem}}@media (max-width:576px){.philosophy-text{text-align:center}}.message-section{opacity:0;transition:opacity .8s .1s,transform .8s .1s;transform:translateY(30px)}.message-section.visible{opacity:1;transform:translateY(0)}.job-list-page{padding-bottom:2rem}@media (max-width:768px){.job-list-page{text-align:center}}.job-cards{flex-direction:column;gap:2rem;max-width:900px;margin-bottom:4rem;margin-left:auto;margin-right:auto;display:flex}.job-card{background-color:var(--color-white);box-shadow:var(--shadow-md);border:1px solid var(--color-light-gray);opacity:0;transition:opacity .8s,transform .8s,box-shadow .3s;position:relative;overflow:hidden;transform:translateY(30px)}.job-card:before{content:"";pointer-events:none;z-index:1;border:1px solid #0000;transition:all .3s;position:absolute;top:5px;right:5px;bottom:5px;left:5px}.job-card.visible{opacity:1;transform:translateY(0)}.job-card:hover{box-shadow:var(--shadow-lg);border-color:var(--color-accent);transform:translateY(-5px)}.job-card:hover:before{border-color:var(--color-accent)}.job-card-header{background-color:var(--color-accent);color:var(--color-white);z-index:2;justify-content:space-between;align-items:center;padding:1.5rem;display:flex;position:relative}@media (max-width:768px){.job-card-header{text-align:center;flex-direction:column;align-items:center;gap:.5rem}}.job-title{font-size:1.5rem;font-family:var(--font-mincho);letter-spacing:.05em;color:var(--color-white);margin:0}@media (max-width:768px){.job-title{font-size:1.3rem}}.job-type-badge{color:var(--color-white);border:1px solid var(--color-white);font-size:.9rem;font-weight:500;font-family:var(--font-mincho);background-color:#0000;padding:.4rem 1.2rem;position:relative}.job-type-badge:before{content:"";border:1px solid #0000;transition:all .3s;position:absolute;top:2px;right:2px;bottom:2px;left:2px}@media (max-width:768px){.job-type-badge{align-self:center}}.job-card-body{z-index:2;padding:1.5rem;position:relative}@media (max-width:768px){.job-card-body{text-align:center;padding:1.2rem}}.job-info{margin-bottom:1.5rem}.job-info-item{margin-bottom:.5rem;display:flex}@media (max-width:768px){.job-info-item{flex-direction:column;align-items:center}}.info-label{flex-shrink:0;width:70px;font-weight:500}@media (max-width:768px){.info-label{width:auto;margin-bottom:.3rem}}.job-description{margin-bottom:1.5rem;line-height:1.8}@media (max-width:576px){.job-description{text-align:center}}.job-requirements,.job-profile,.job-details,.job-benefits,.job-career{background-color:var(--color-off-white);border:1px solid var(--color-light-gray);margin-bottom:1.5rem;padding:1.2rem 1.5rem;position:relative}.job-requirements:before,.job-profile:before,.job-details:before,.job-benefits:before,.job-career:before{content:"";border:1px solid var(--color-light-gray);opacity:.7;pointer-events:none;position:absolute;top:4px;right:4px;bottom:4px;left:4px}.requirements-title,.profile-title,.details-title,.benefits-title,.career-title{color:var(--color-dark-gray);margin-bottom:.8rem;font-size:1.1rem}@media (max-width:768px){.requirements-title,.profile-title,.details-title,.benefits-title,.career-title{text-align:center;font-size:1rem}}.requirements-list,.details-list,.benefits-list{margin:0;padding:0;list-style:none}.requirement-item,.detail-item,.benefit-item{margin-bottom:.5rem;padding-left:1.5rem;line-height:1.6;position:relative}.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:"■";color:var(--color-dark-gray);font-size:.7rem;position:absolute;top:.2rem;left:0}@media (max-width:768px){.requirement-item,.detail-item,.benefit-item{text-align:left}}@media (max-width:576px){.requirement-item,.detail-item,.benefit-item{text-align:center;padding-top:1.5rem;padding-left:0}.requirement-item:before,.detail-item:before,.benefit-item:before{top:0;left:50%;transform:translate(-50%)}}.profile-text,.career-text{margin:0;line-height:1.6}@media (max-width:576px){.profile-text,.career-text{text-align:center}}.contact-section{margin-top:3rem}.contact-box{text-align:center;background-color:var(--color-off-white);box-shadow:var(--shadow-md);border:1px solid var(--color-light-gray);padding:2.5rem;position:relative}.contact-box:before{content:"";border:1px solid var(--color-light-gray);pointer-events:none;position:absolute;top:5px;right:5px;bottom:5px;left:5px}@media (max-width:768px){.contact-box{padding:1.5rem}}.contact-title{color:var(--color-dark-gray);margin-bottom:1.5rem;font-size:1.6rem}@media (max-width:768px){.contact-title{font-size:1.4rem}}.contact-text{max-width:600px;margin-bottom:1.5rem;margin-left:auto;margin-right:auto}.contact-button-container{justify-content:center;display:flex}.action-button{background-color:var(--color-accent);color:var(--color-white);border:1px solid var(--color-accent);font-weight:500;font-family:var(--font-mincho);letter-spacing:.05em;border-radius:0;padding:.8rem 2rem;text-decoration:none;transition:all .3s;display:inline-block;position:relative}.action-button:before{content:"";border:1px solid #0000;transition:all .3s;position:absolute;top:3px;right:3px;bottom:3px;left:3px}.action-button:hover{background-color:var(--color-accent-dark);border-color:var(--color-accent-dark);color:var(--color-white);box-shadow:var(--shadow-md);transform:translateY(-3px)}.action-button:hover:before{border-color:var(--color-white)}@media (max-width:576px){.action-button{text-align:center;width:100%}}.joblist-button,.action-buttons a[href="/recruit/joblist"]{background-color:var(--color-white)!important;color:var(--color-accent)!important;border:1px solid var(--color-accent)!important;font-weight:500!important;font-family:var(--font-mincho)!important;letter-spacing:.05em!important;text-align:center!important;border-radius:0!important;padding:.8rem 2rem!important;text-decoration:none!important;transition:all .3s!important;display:inline-block!important;position:relative!important}.joblist-button:before,.action-buttons a[href="/recruit/joblist"]:before{content:""!important;border:1px solid #0000!important;transition:all .3s!important;position:absolute!important;top:3px!important;right:3px!important;bottom:3px!important;left:3px!important}.joblist-button:hover,.action-buttons a[href="/recruit/joblist"]:hover{background-color:var(--color-accent)!important;border-color:var(--color-accent)!important;box-shadow:var(--shadow-sm)!important;color:var(--color-white)!important;transform:translateY(-3px)!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"]{background-color:var(--color-accent)!important;color:var(--color-white)!important;border:1px solid var(--color-accent)!important;font-weight:500!important;font-family:var(--font-mincho)!important;letter-spacing:.05em!important;text-align:center!important;border-radius:0!important;padding:.8rem 2rem!important;text-decoration:none!important;transition:all .3s!important;display:inline-block!important;position:relative!important}.contact-button:before,.action-buttons a[href="/contact"]:before{content:""!important;border:1px solid #0000!important;transition:all .3s!important;position:absolute!important;top:3px!important;right:3px!important;bottom:3px!important;left:3px!important}.contact-button:hover,.action-buttons a[href="/contact"]:hover{background-color:var(--color-white)!important;border-color:var(--color-accent)!important;box-shadow:var(--shadow-sm)!important;color:var(--color-accent)!important;transform:translateY(-3px)!important}.contact-button:hover:before,.action-buttons a[href="/contact"]:hover:before{border-color:var(--color-accent)!important}.custom-button{font-weight:500;font-family:var(--font-mincho);letter-spacing:.05em;text-align:center;border-radius:0;padding:.8rem 2rem;text-decoration:none;transition:all .3s;display:inline-block;position:relative}@media (max-width:768px){.custom-button{text-align:center}}.benefits-page{padding-bottom:2rem}@media (max-width:768px){.benefits-page{text-align:center}}@media (max-width:768px){.intro-section{text-align:center}}.benefits-section{max-width:1000px;margin:0 auto 4rem}.benefit-category{opacity:0;margin-bottom:3rem;transition:opacity .8s,transform .8s;transform:translateY(30px)}.benefit-category.visible{opacity:1;transform:translateY(0)}.benefit-category:last-child{margin-bottom:0}.category-title{color:var(--color-dark-gray);border-bottom:2px solid var(--color-light-gray);margin-bottom:1.5rem;padding-bottom:.5rem;font-size:1.6rem;position:relative}@media (max-width:768px){.category-title{text-align:center;font-size:1.4rem}}@media (max-width:576px){.category-title{font-size:1.3rem}}.benefits-grid{grid-template-columns:repeat(1,1fr);gap:1.5rem;display:grid}@media (min-width:768px){.benefits-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:992px){.benefits-grid{grid-template-columns:repeat(2,1fr)}}.benefit-card{background-color:var(--color-white);border:1px solid var(--color-light-gray);box-shadow:var(--shadow-sm);opacity:0;padding:1.5rem;transition:opacity .6s,transform .6s,box-shadow .3s;position:relative;transform:translateY(20px)}.benefit-card:before{content:"";border:1px solid var(--color-light-gray);pointer-events:none;transition:all .3s;position:absolute;top:5px;right:5px;bottom:5px;left:5px}.benefit-card.visible{opacity:1;transform:translateY(0)}.benefit-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-accent);transform:translateY(-5px)}.benefit-card:hover:before{border-color:var(--color-accent)}.benefit-title{color:var(--color-dark-gray);margin-bottom:.8rem;padding-left:1.5rem;font-size:1.2rem;position:relative}.benefit-title:before{content:"■";color:var(--color-dark-gray);font-size:.8rem;position:absolute;top:.3rem;left:0}@media (max-width:768px){.benefit-title{text-align:center;padding-top:1.5rem;padding-left:0;font-size:1.1rem}.benefit-title:before{top:0;left:50%;transform:translate(-50%)}}.benefit-description{margin:0;line-height:1.6}@media (max-width:768px){.benefit-description{text-align:center}}.welfare-message{max-width:800px;margin:0 auto 4rem}.message-box{background-color:var(--color-off-white);box-shadow:var(--shadow-sm);border:1px solid var(--color-light-gray);padding:2rem;position:relative}.message-box:before{content:"";border:1px solid var(--color-light-gray);pointer-events:none;position:absolute;top:5px;right:5px;bottom:5px;left:5px}@media (max-width:768px){.message-box{padding:1.5rem}}.message-title{color:var(--color-dark-gray);margin-bottom:1rem;font-size:1.4rem}@media (max-width:768px){.message-title{text-align:center;font-size:1.3rem}}.message-text{margin:0;line-height:1.8}@media (max-width:768px){.message-text{text-align:center}}.action-box{text-align:center;background-color:var(--color-off-white);box-shadow:var(--shadow-md);border:1px solid var(--color-light-gray);padding:2.5rem;position:relative}.action-box:before{content:"";border:1px solid var(--color-light-gray);pointer-events:none;position:absolute;top:5px;right:5px;bottom:5px;left:5px}.action-title{color:var(--color-dark-gray);text-align:center;margin-bottom:1.5rem;font-size:1.6rem}.action-text{text-align:center;max-width:600px;margin-bottom:1.5rem;margin-left:auto;margin-right:auto}@media (max-width:768px){.action-text{text-align:center}}.action-buttons{justify-content:center;gap:1rem;width:100%;margin:0 auto;display:flex}@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{text-align:center;width:100%}.action-button,.secondary-button{width:100%}}.staff-introduction-page{padding-bottom:2rem}.intro-section{max-width:800px;margin:0 auto 3rem}.intro-text{margin-bottom:1rem;font-size:1.1rem;line-height:1.8}.staff-cards-section{margin-bottom:4rem}.staff-cards{grid-template-columns:repeat(1,1fr);gap:2rem;max-width:1000px;margin:0 auto;display:grid}@media (min-width:768px){.staff-cards{grid-template-columns:repeat(2,1fr)}}@media (min-width:992px){.staff-cards{grid-template-columns:repeat(3,1fr)}}.staff-card{background-color:var(--color-white);box-shadow:var(--shadow-md);opacity:0;border:1px solid var(--color-light-gray);border-radius:10px;transition:opacity .8s,transform .8s,box-shadow .3s;position:relative;overflow:hidden;transform:translateY(30px)}.staff-card.visible{opacity:1;transform:translateY(0)}.staff-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px)}.staff-card:hover .staff-card-image img{transform:scale(1.05)}.staff-card-image{width:100%;height:200px;overflow:hidden}.staff-card-image img{object-fit:cover;width:100%;height:100%;transition:transform .5s}@media (min-width:768px){.staff-card-image{height:220px}}@media (max-width:576px){.staff-card-image{height:180px}}.staff-card-content{padding:1.5rem}.staff-position{color:var(--color-dark-gray);margin-bottom:.5rem;font-size:1.4rem}.staff-experience{color:var(--color-gray);margin-bottom:.5rem;font-size:1rem;font-weight:500}.staff-specialty{color:var(--color-dark-gray);background-color:var(--color-off-white);border-radius:4px;margin-bottom:1rem;padding:.3rem .6rem;font-size:1rem;font-weight:500;display:inline-block}.staff-short-desc{margin-bottom:.5rem;font-size:1rem;line-height:1.6}.staff-description{color:var(--color-gray);font-size:1rem;font-style:italic;line-height:1.6}.action-section{margin-top:2rem}.action-box{text-align:center;background-color:var(--color-off-white);box-shadow:var(--shadow-md);border:1px solid var(--color-light-gray);border-radius:10px;padding:2.5rem}@media (max-width:768px){.action-box{padding:1.5rem}}.action-title{color:var(--color-dark-gray);margin-bottom:1.5rem;font-size:1.6rem}@media (max-width:768px){.action-title{font-size:1.4rem}}.action-text{max-width:600px;margin-bottom:1.5rem;margin-left:auto;margin-right:auto}.action-buttons{justify-content:center;gap:1rem;display:flex}@media (max-width:576px){.action-buttons{flex-direction:column;gap:.8rem}}.secondary-button{background-color:var(--color-white);color:var(--color-dark-gray);border:1px solid var(--color-dark-gray);border-radius:50px;padding:1rem 2rem;font-weight:500;transition:all .3s;display:inline-block}.secondary-button:hover{background-color:var(--color-off-white);box-shadow:var(--shadow-sm);transform:translateY(-3px)}@media (max-width:576px){.secondary-button,.action-button{width:100%}}.contact-page{min-height:100vh;padding-bottom:6rem;position:relative}.background-animation{z-index:-1;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.breadcrumb{margin-top:1.5rem;font-size:.9rem}.breadcrumb a{color:var(--color-light-gray);transition:color .3s}.breadcrumb a:hover{color:var(--color-white)}.sub-nav{background-color:var(--color-off-white);margin-bottom:3rem;padding:.5rem 0}.tabs-container{justify-content:center;width:100%;display:flex;position:relative}@media (max-width:768px){.tabs-container{justify-content:center;padding:0 1rem}}@media (max-width:576px){.tabs-container{justify-content:center;width:100%;padding:0 1rem;display:flex}}.contact-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;justify-content:center;gap:1rem;margin:0 auto;padding:.5rem 0;display:flex;overflow-x:auto}.contact-tabs::-webkit-scrollbar{display:none}@media (max-width:768px){.contact-tabs{gap:.5rem}}@media (max-width:576px){.contact-tabs{flex-direction:column;align-items:center;gap:.5rem;width:100%;max-width:400px;margin:0 auto}}.contact-tab{white-space:nowrap;color:var(--color-dark-gray);font-weight:500;font-family:var(--font-mincho);letter-spacing:.05em;border:1px solid #0000;padding:.8rem 1.5rem;transition:all .3s;position:relative}.contact-tab:before{content:"";border:1px solid #0000;transition:all .3s;position:absolute;top:0;right:0;bottom:0;left:0}.contact-tab:hover{border-color:var(--color-light-gray)}.contact-tab:hover:before{border-color:var(--color-light-gray);top:3px;right:3px;bottom:3px;left:3px}.contact-tab.active{border-color:var(--color-accent);color:var(--color-accent);background-color:var(--color-white)}.contact-tab.active:before{border-color:var(--color-accent);top:3px;right:3px;bottom:3px;left:3px}@media (max-width:768px){.contact-tab{padding:.7rem 1.2rem;font-size:.9rem}}@media (max-width:576px){.contact-tab{text-align:center;justify-content:center;width:100%;padding:.6rem 1rem;font-size:.85rem;display:flex}}.contact-content{min-height:400px;padding:2rem 0;position:relative}.section-title{color:var(--color-dark-gray);margin-bottom:2rem;padding-bottom:.8rem;font-size:1.8rem;position:relative}.section-title:after{content:"";background-color:var(--color-dark-gray);width:60px;height:3px;position:absolute;bottom:0;left:0}@media (max-width:768px){.section-title{font-size:1.5rem}}.contact-method{opacity:1;transform:translateY(0)}@media (max-width:768px){.page-header{padding:4rem 0 1.5rem}.page-title{font-size:2rem}}@media (max-width:576px){.page-title{font-size:1.8rem}}.form-method{padding:var(--spacing-lg)0;max-width:800px;margin:0 auto}@media (max-width:768px){.form-method{text-align:center}}.form-intro{text-align:center;color:var(--color-gray);margin-bottom:2rem;line-height:1.6}@media (max-width:480px){.form-intro{font-size:.9rem}}.form-note{background-color:var(--color-accent-light);border-radius:var(--border-radius-sm);margin-top:.5rem;padding:.3rem .8rem;font-size:.9rem;display:inline-block}.contact-form{flex-direction:column;gap:2rem;display:flex}.form-section{background-color:var(--color-white);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-sm);border:1px solid var(--color-light-gray);opacity:0;border-left:3px solid var(--color-accent);padding:2rem;transition:opacity .8s,transform .8s;transform:translateY(30px)}.form-section.visible{opacity:1;transform:translateY(0)}@media (max-width:768px){.form-section{padding:1.5rem}}@media (max-width:480px){.form-section{padding:1.2rem}}.form-section-title{color:var(--color-dark-gray);font-size:1.2rem;font-family:var(--font-mincho);letter-spacing:.03em;border-bottom:1px solid var(--color-light-gray);margin-bottom:1.5rem;padding-bottom:.8rem;position:relative}.form-section-title:after{content:"";background-color:var(--color-accent);width:50px;height:2px;position:absolute;bottom:-1px;left:0}@media (max-width:768px){.form-section-title{text-align:center;font-size:1.1rem}.form-section-title:after{left:50%;transform:translate(-50%)}}@media (max-width:480px){.form-section-title{font-size:1rem}}.form-group{margin-bottom:1.8rem;position:relative}.form-group:last-child{margin-bottom:0}@media (max-width:480px){.form-group{margin-bottom:1.2rem}}label{color:var(--color-dark-gray);font-weight:600;font-family:var(--font-mincho);margin-bottom:.5rem;font-size:1.05rem;display:block;position:relative}@media (max-width:768px){label{text-align:center;font-size:1rem}}@media (max-width:480px){label{font-size:.95rem}}.required{color:#e74c3c;margin-left:.25rem;font-size:.9rem}.optional{color:var(--color-gray);margin-left:.25rem;font-size:.9rem;font-weight:400}input[type=text],input[type=email],input[type=tel],select,textarea{border:1px solid var(--color-light-gray);border-radius:var(--border-radius-sm);width:100%;transition:border-color var(--transition-speed),box-shadow var(--transition-speed);font-size:1rem;font-family:var(--font-sans);background-color:var(--color-white);padding:1rem}@media (max-width:768px){input[type=text],input[type=email],input[type=tel],select,textarea{padding:.8rem;font-size:.95rem}}input::placeholder,textarea::placeholder{color:#aaa}input:focus,select:focus,textarea:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #2ecc711a}input.error,select.error,textarea.error{background-color:#e74c3c0d;border-color:#e74c3c}.form-error{color:#e74c3c;margin-top:.5rem;padding-left:.5rem;font-size:.85rem;position:relative}.form-error:before{content:"!";font-weight:700;position:absolute;top:0;left:0}@media (max-width:768px){.form-error{text-align:center;padding-left:0}.form-error:before{margin-right:5px;position:static}}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-position:right 1rem center;background-repeat:no-repeat;background-size:1rem;padding-right:2.5rem}.textarea-help{color:var(--color-gray);margin-top:.5rem;font-size:.85rem;font-style:italic}@media (max-width:768px){.textarea-help{text-align:center}}@media (max-width:480px){.textarea-help{font-size:.8rem}}.recaptcha-container{justify-content:center;margin-bottom:1.5rem;display:flex}@media (max-width:480px){.recaptcha-container{transform-origin:50%;margin-left:-15px;margin-right:-15px;transform:scale(.85)}}.form-footer{text-align:center;background-color:var(--color-off-white);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-sm);border:1px solid var(--color-light-gray);opacity:0;padding:2rem;transition:opacity .8s,transform .8s;transform:translateY(30px)}.form-footer.visible{opacity:1;transform:translateY(0)}@media (max-width:768px){.form-footer{padding:1.5rem}}@media (max-width:480px){.form-footer{padding:1.2rem}}.form-policy{color:var(--color-gray);border-radius:var(--border-radius-sm);background-color:#00000005;margin-bottom:1.5rem;padding:1rem;font-size:.9rem;line-height:1.6}.form-policy a{color:var(--color-accent);text-decoration:underline}.form-policy a:hover{color:var(--color-accent-dark)}.form-submit-error{color:#e74c3c;border-radius:var(--border-radius-sm);background-color:#e74c3c1a;border-left:3px solid #e74c3c;margin-bottom:1.5rem;padding:.8rem}.form-submit{margin-top:1.5rem}.submit-button{background-color:var(--color-accent);color:var(--color-white);cursor:pointer;border-radius:var(--border-radius-sm);transition:background-color var(--transition-speed),transform var(--transition-speed),box-shadow var(--transition-speed);font-size:1.1rem;font-weight:500;font-family:var(--font-mincho);letter-spacing:.05em;border:none;justify-content:center;align-items:center;min-width:220px;padding:1.2rem 3rem;display:inline-flex;position:relative;overflow:hidden;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}@media (max-width:768px){.submit-button{width:100%;padding:1rem}}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;margin-right:.5rem;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.form-success-message{text-align:center;background-color:var(--color-white);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-md);border:1px solid #2ecc714d;max-width:600px;margin:0 auto;padding:3rem 2rem}.form-success-message h3{color:var(--color-dark-gray);font-size:1.5rem;font-family:var(--font-mincho);margin-bottom:1rem}@media (max-width:768px){.form-success-message h3{font-size:1.3rem}}.form-success-message p{color:var(--color-gray);margin-bottom:2rem;line-height:1.6}@media (max-width:768px){.form-success-message{padding:2rem 1.5rem}}.success-icon{width:80px;height:80px;color:var(--color-accent);margin:0 auto 1.5rem;animation:.5s scaleIn}@media (max-width:768px){.success-icon{width:60px;height:60px}}@keyframes scaleIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.reset-button{background-color:var(--color-white);color:var(--color-accent);border:1px solid var(--color-accent);cursor:pointer;border-radius:var(--border-radius-sm);transition:all var(--transition-speed);font-size:1rem;font-family:var(--font-mincho);padding:.8rem 2rem}.reset-button:hover{background-color:var(--color-accent);color:var(--color-white);transform:translateY(-2px)}.phone-method{padding:var(--spacing-lg)0;max-width:800px;margin:0 auto}@media (max-width:767px){.phone-method{text-align:center}}.phone-container{text-align:center;background-color:var(--color-white);border-radius:var(--border-radius);box-shadow:var(--shadow-md);border:1px solid var(--color-light-gray);opacity:0;margin-bottom:3rem;padding:3rem 2rem;transition:opacity .8s,transform .8s;transform:translateY(30px)}.phone-container.visible{opacity:1;transform:translateY(0)}@media (max-width:767px){.phone-container{padding:2rem 1.5rem}}@media (max-width:480px){.phone-container{padding:1.5rem 1rem}}.phone-icon{background-color:var(--color-accent);border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;margin:0 auto 1.5rem;display:flex;position:relative}@media (max-width:767px){.phone-icon{width:80px;height:80px}}@media (max-width:480px){.phone-icon{width:70px;height:70px}}.phone-icon-inner{width:50px;height:50px;position:relative}.phone-icon-inner:before{content:"";border:3px solid var(--color-white);border-radius:50%;width:30px;height:30px;position:absolute;bottom:0;left:5px}.phone-icon-inner:after{content:"";background-color:var(--color-white);width:3px;height:20px;position:absolute;top:8px;right:10px;transform:rotate(-45deg)}.phone-number{color:var(--color-dark-gray);font-size:2.5rem;font-weight:700;font-family:var(--font-mincho);letter-spacing:.05em;margin-bottom:1.5rem}@media (max-width:767px){.phone-number{font-size:2rem}}@media (max-width:480px){.phone-number{font-size:1.8rem}}.contact-description{color:var(--color-gray);max-width:600px;margin-bottom:2rem;margin-left:auto;margin-right:auto;font-size:1.1rem;line-height:1.8}@media (max-width:767px){.contact-description{margin-bottom:1.5rem;font-size:1rem}}@media (max-width:480px){.contact-description{text-align:center}}.phone-button{background-color:var(--color-accent);color:var(--color-white);border-radius:var(--border-radius);transition:all var(--transition-speed);font-weight:500;font-family:var(--font-mincho);letter-spacing:.05em;padding:1rem 3rem;display:inline-block;position:relative;overflow:hidden}.phone-button:hover{background-color:var(--color-accent-dark);box-shadow:var(--shadow-md);color:var(--color-white);transform:translateY(-3px)}.phone-button:active{transform:translateY(-1px)}@media (max-width:767px){.phone-button{width:100%;padding:.8rem 1rem}}.business-hours{background-color:var(--color-white);border-radius:var(--border-radius);box-shadow:var(--shadow-md);border:1px solid var(--color-light-gray);opacity:0;margin-bottom:3rem;padding:2rem;transition:opacity .8s,transform .8s;transform:translateY(30px)}.business-hours.visible{opacity:1;transform:translateY(0)}@media (max-width:767px){.business-hours{padding:2rem 1.5rem}}@media (max-width:480px){.business-hours{padding:1.5rem 1rem}}.hours-title{text-align:center;color:var(--color-dark-gray);font-size:1.5rem;font-family:var(--font-mincho);letter-spacing:.03em;margin-bottom:1.5rem;padding-bottom:.8rem;position:relative}.hours-title:after{content:"";background-color:var(--color-accent);width:60px;height:2px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}@media (max-width:767px){.hours-title{font-size:1.3rem}}.hours-table{border-collapse:collapse;width:100%;margin-bottom:1.5rem}.hours-table th,.hours-table td{border-bottom:1px solid var(--color-light-gray);padding:1rem}@media (max-width:480px){.hours-table th,.hours-table td{text-align:center;width:100%;padding:.6rem 0;display:block}}.hours-table th{text-align:left;width:40%;color:var(--color-dark-gray);font-weight:600;font-family:var(--font-mincho)}@media (max-width:767px){.hours-table th{text-align:center}}@media (max-width:480px){.hours-table th{border-bottom:none;padding-bottom:.2rem}}@media (max-width:767px){.hours-table td{text-align:center}}@media (max-width:480px){.hours-table td{padding-top:.2rem}}@media (max-width:767px){.hours-table{margin-left:auto;margin-right:auto}}.hours-note{text-align:center;color:var(--color-gray);font-size:.9rem}@media (max-width:480px){.hours-note{text-align:center}}.contact-cta{text-align:center;background-color:var(--color-off-white);border-radius:var(--border-radius);border-left:3px solid var(--color-accent);opacity:0;margin-bottom:1rem;padding:2.5rem 2rem;transition:opacity .8s,transform .8s;transform:translateY(30px)}.contact-cta.visible{opacity:1;transform:translateY(0)}@media (max-width:767px){.contact-cta{padding:2rem 1.5rem}}@media (max-width:480px){.contact-cta{padding:1.5rem 1rem}}.cta-title{color:var(--color-dark-gray);font-size:1.4rem;font-family:var(--font-mincho);letter-spacing:.03em;margin-bottom:1rem}@media (max-width:767px){.cta-title{font-size:1.2rem}}.cta-text{color:var(--color-gray);max-width:600px;margin-bottom:1.5rem;margin-left:auto;margin-right:auto;font-size:1.05rem;line-height:1.7}@media (max-width:767px){.cta-text{font-size:1rem}}@media (max-width:480px){.cta-text{text-align:center}}.cta-button{color:var(--color-accent);border:2px solid var(--color-accent);border-radius:var(--border-radius);transition:all var(--transition-speed);font-weight:500;font-family:var(--font-mincho);letter-spacing:.05em;background-color:#0000;padding:.9rem 2.5rem;display:inline-block;position:relative}.cta-button:hover{background-color:var(--color-accent);color:var(--color-white);box-shadow:var(--shadow-sm);transform:translateY(-3px)}.cta-button:active{transform:translateY(-1px)}@media (max-width:767px){.cta-button{width:100%;padding:.8rem 1rem}}.faq-method{padding:var(--spacing-lg)0;max-width:800px;margin:0 auto}@media (max-width:767px){.faq-method{text-align:center}}.faq-list{opacity:0;margin-bottom:3rem;transition:opacity .8s,transform .8s;transform:translateY(30px)}.faq-list.visible{opacity:1;transform:translateY(0)}.faq-item{background-color:var(--color-white);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-sm);border:1px solid var(--color-light-gray);cursor:pointer;margin-bottom:1.2rem;transition:all .3s;overflow:hidden}.faq-item:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.faq-item.active{border-left:3px solid var(--color-accent)}.faq-item.active .faq-toggle{transform:rotate(180deg)}@media (max-width:480px){.faq-item{text-align:center}}.faq-question{color:var(--color-dark-gray);font-size:1.1rem;font-family:var(--font-mincho);cursor:pointer;align-items:center;margin:0;padding:1.5rem 3rem 1.5rem 4rem;display:flex;position:relative}@media (max-width:767px){.faq-question{text-align:left;padding:1.2rem 2.5rem 1.2rem 3.5rem;font-size:1rem}}@media (max-width:480px){.faq-question{text-align:left;padding:1rem 2.2rem 1rem 3rem;font-size:.95rem}}.faq-icon{background-color:var(--color-accent-light);width:1.8rem;height:1.8rem;color:var(--color-accent-dark);font-size:1rem;font-weight:700;font-family:var(--font-sans);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;left:1.5rem}@media (max-width:767px){.faq-icon{width:1.5rem;height:1.5rem;font-size:.9rem;left:1.2rem}}@media (max-width:480px){.faq-icon{width:1.3rem;height:1.3rem;font-size:.8rem;left:1rem}}.faq-toggle{color:var(--color-accent);font-size:1.2rem;transition:transform .3s;position:absolute;right:1.5rem}@media (max-width:767px){.faq-toggle{right:1.2rem}}@media (max-width:480px){.faq-toggle{right:1rem}}.faq-answer-container{max-height:0;transition:max-height .5s;overflow:hidden}.faq-answer-container.open{max-height:1000px}.faq-answer{color:var(--color-gray);margin:0;padding:0 1.5rem 1.5rem 4rem;line-height:1.7;position:relative}@media (max-width:767px){.faq-answer{text-align:left;padding:0 1.2rem 1.2rem 3.5rem}}@media (max-width:480px){.faq-answer{text-align:left;padding:0 1rem 1rem 3rem;font-size:.9rem}}.answer-icon{color:#e74c3c;background-color:#e74c3c1a}.faq-help{text-align:center;background-color:var(--color-off-white);border-radius:var(--border-radius-sm);border-left:3px solid var(--color-accent);opacity:0;margin-bottom:3rem;padding:2rem;transition:opacity .8s,transform .8s;transform:translateY(30px)}.faq-help.visible{opacity:1;transform:translateY(0)}@media (max-width:480px){.faq-help{padding:1.5rem 1rem}}.help-title{color:var(--color-dark-gray);font-size:1.3rem;font-family:var(--font-mincho);margin-bottom:1rem}@media (max-width:767px){.help-title{font-size:1.2rem}}@media (max-width:480px){.help-title{font-size:1.1rem}}.help-text{max-width:600px;color:var(--color-gray);margin:0 auto;font-size:1.05rem;line-height:1.7}@media (max-width:767px){.help-text{font-size:1rem}}@media (max-width:480px){.help-text{font-size:.95rem}}.faq-contact-options{opacity:0;gap:1.5rem;margin-bottom:2rem;transition:opacity .8s,transform .8s;display:flex;transform:translateY(30px)}.faq-contact-options.visible{opacity:1;transform:translateY(0)}@media (max-width:767px){.faq-contact-options{flex-direction:column}}.contact-option{text-align:center;background-color:var(--color-white);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-sm);border:1px solid var(--color-light-gray);flex:1;padding:2rem;transition:transform .3s,box-shadow .3s}.contact-option:hover{box-shadow:var(--shadow-md);transform:translateY(-5px)}@media (max-width:480px){.contact-option{padding:1.5rem 1rem}}.option-title{color:var(--color-dark-gray);font-size:1.2rem;font-family:var(--font-mincho);margin-bottom:1rem}@media (max-width:767px){.option-title{font-size:1.1rem}}@media (max-width:480px){.option-title{text-align:center}}.option-text{color:var(--color-gray);min-height:3rem;margin-bottom:1.5rem;font-size:.95rem;line-height:1.6}@media (max-width:767px){.option-text{min-height:auto}}@media (max-width:480px){.option-text{text-align:center}}.option-button{border-radius:var(--border-radius-sm);justify-content:center;align-items:center;width:100%;margin-bottom:.8rem;padding:.8rem 1.2rem;font-weight:500;transition:all .3s;display:inline-flex}.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{color:var(--color-gray);margin-bottom:1rem;font-size:.85rem}@media (max-width:480px){.option-note{text-align:center}}.option-link{color:var(--color-accent);font-size:.9rem;text-decoration:underline;transition:color .3s;display:inline-block}.option-link:hover{color:var(--color-accent-dark)}@media (max-width:480px){.section-title{text-align:center}}.sitemap-page{padding-bottom:6rem;position:relative}.sitemap-page .sitemap-sublink{color:var(--color-dark-gray);background:0 0;border:none;border-radius:0;margin-bottom:.5rem;padding:0;font-size:1rem;font-weight:400;text-decoration:none;transition:color .3s;display:inline-block}.sitemap-page .sitemap-sublink:hover{color:var(--color-accent)}@media (max-width:768px){.sitemap-page .sitemap-sublink{font-size:.95rem}}.sitemap-page .sitemap-joblist-link{color:var(--color-dark-gray);background:0 0;border:none;border-radius:0;margin-bottom:.5rem;padding:0;font-size:1rem;font-weight:400;text-decoration:none;transition:color .3s;display:inline-block}.sitemap-page .sitemap-joblist-link:hover{color:var(--color-accent)}@media (max-width:768px){.sitemap-page .sitemap-joblist-link{font-size:.95rem}}.sitemap-content{padding:2rem 0;position:relative}.sitemap-content:before{content:"";opacity:.06;z-index:-1;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");width:100%;height:100%;position:absolute;top:0;left:0}.sitemap-intro{text-align:center;opacity:0;max-width:800px;margin:0 auto 3rem;font-size:1.1rem;line-height:1.8;transition:opacity .8s,transform .8s;transform:translateY(30px)}.sitemap-intro.visible{opacity:1;transform:translateY(0)}@media (max-width:576px){.sitemap-intro{text-align:left;font-size:1rem}}.sitemap-grid{grid-template-columns:repeat(1,1fr);gap:3rem;margin-bottom:2rem;display:grid}@media (min-width:768px){.sitemap-grid{grid-template-columns:repeat(2,1fr);gap:2rem 3rem}}@media (min-width:992px){.sitemap-grid{grid-template-columns:repeat(3,1fr)}}.sitemap-column{opacity:0;background-color:var(--color-white);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-sm);border-left:3px solid var(--color-accent);padding:2rem;transition:opacity .8s,transform .8s;transform:translateY(30px)}.sitemap-column.visible{opacity:1;transform:translateY(0)}@media (max-width:576px){.sitemap-column{padding:1.5rem}}.sitemap-category{color:var(--color-dark-gray);border-bottom:1px solid var(--color-light-gray);font-size:1.5rem;font-family:var(--font-mincho);letter-spacing:.03em;margin-bottom:1.5rem;padding-bottom:.8rem;position:relative}.sitemap-category:after{content:"";background-color:var(--color-accent);width:40px;height:2px;position:absolute;bottom:-1px;left:0}@media (max-width:768px){.sitemap-category{font-size:1.3rem}}@media (max-width:576px){.sitemap-category{font-size:1.2rem}}.sitemap-list{margin:0;padding:0;list-style:none}.sitemap-item{margin-bottom:1.5rem;position:relative}.sitemap-item:last-child{margin-bottom:0}.sitemap-link{color:var(--color-dark-gray);margin-bottom:.5rem;font-size:1.1rem;font-weight:500;transition:color .3s;display:inline-block;position:relative}.sitemap-link:hover{color:var(--color-accent)}@media (max-width:768px){.sitemap-link{font-size:1rem}}.main-link{border-bottom:1px solid var(--color-light-gray);width:-webkit-fit-content;width:fit-content;padding-bottom:.3rem;font-weight:600;display:inline-block;position:relative}.main-link:after{content:"";background-color:var(--color-accent);width:0;height:1px;transition:width .3s;position:absolute;bottom:0;left:0}.main-link:hover:after{width:100%}.sitemap-sublist{margin:.5rem 0 0;padding-left:1.5rem;list-style:none}.sitemap-subitem{margin-bottom:.8rem;position:relative}.sitemap-subitem:last-child{margin-bottom:0}.sitemap-subitem:before{content:"▸";color:var(--color-accent);position:absolute;left:-1.2rem}.no-link{color:var(--color-dark-gray);cursor:default;font-weight:600}.sitemap-thirdlist{margin:.5rem 0 .8rem;padding-left:1.5rem;list-style:none}.sitemap-thirditem{margin-bottom:.5rem;position:relative}.sitemap-thirditem:last-child{margin-bottom:0}.sitemap-thirditem:before{content:"–";color:var(--color-gray);position:absolute;left:-1rem}.sitemap-thirdlink{color:var(--color-dark-gray);font-size:.95rem;transition:color .3s}.sitemap-thirdlink:hover{color:var(--color-accent)}@media (max-width:768px){.sitemap-thirdlink{font-size:.9rem}}.footer-links-column{grid-column:1/-1}@media (min-width:768px){.footer-links-column{grid-column:auto}}/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */.privacy-policy-page{padding-bottom:6rem;position:relative}.background-animation{z-index:-1;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.breadcrumb{color:var(--color-light-gray);margin-top:1.5rem;font-size:.9rem}.breadcrumb a{color:var(--color-white);transition:color .3s}.breadcrumb a:hover{color:var(--color-accent)}.privacy-content{padding:2rem 0;position:relative}.privacy-content:before{content:"";opacity:.06;z-index:-1;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");width:100%;height:100%;position:absolute;top:0;left:0}.privacy-container{background-color:var(--color-white);border-radius:var(--border-radius-sm);max-width:800px;box-shadow:var(--shadow-md);border-left:3px solid var(--color-accent);margin:0 auto;padding:3rem;position:relative}.privacy-container:before{content:"";opacity:.1;z-index:-1;pointer-events:none;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;width:100px;height:100px;position:absolute;top:2rem;right:2rem}@media (max-width:768px){.privacy-container{padding:2rem}}@media (max-width:576px){.privacy-container{padding:1.5rem}}.privacy-intro{opacity:0;margin-bottom:2.5rem;font-size:1.1rem;line-height:1.8;transition:opacity .8s,transform .8s;transform:translateY(30px)}.privacy-intro.visible{opacity:1;transform:translateY(0)}@media (max-width:768px){.privacy-intro{font-size:1rem}}.privacy-section{opacity:0;margin-bottom:2.5rem;transition:opacity .8s,transform .8s;position:relative;transform:translateY(30px)}.privacy-section.visible{opacity:1;transform:translateY(0)}.privacy-section p{margin-bottom:1rem;line-height:1.7}.section-title{color:var(--color-dark-gray);border-bottom:1px solid var(--color-light-gray);font-size:1.4rem;font-family:var(--font-mincho);letter-spacing:.03em;margin-bottom:1.2rem;padding-bottom:.5rem;position:relative}.section-title:after{content:"";background-color:var(--color-accent);width:40px;height:2px;position:absolute;bottom:-1px;left:0}@media (max-width:768px){.section-title{font-size:1.3rem}}@media (max-width:576px){.section-title{font-size:1.2rem}}.privacy-list{margin-bottom:1rem;padding-left:1.5rem}.privacy-list li{margin-bottom:.8rem;line-height:1.6;position:relative}.privacy-list li:before{content:"•";color:var(--color-accent);position:absolute;left:-1rem}.privacy-list li:last-child{margin-bottom:0}@media (max-width:576px){.privacy-list li{margin-bottom:.6rem}}.contact-info{background-color:var(--color-off-white);border-radius:var(--border-radius-sm);border-left:3px solid var(--color-accent-light);margin-top:1rem;padding:1.5rem}.contact-info p{margin-bottom:.5rem}.contact-info p:last-child{margin-bottom:0}@media (max-width:576px){.contact-info{padding:1rem}}.privacy-footer{text-align:right;border-top:1px solid var(--color-light-gray);opacity:0;margin-top:3rem;padding-top:1.5rem;transition:opacity .8s,transform .8s;transform:translateY(30px)}.privacy-footer.visible{opacity:1;transform:translateY(0)}.update-date{color:var(--color-gray);margin-bottom:.5rem;font-size:.9rem}.company-name{color:var(--color-dark-gray);font-size:1rem;font-weight:600;font-family:var(--font-mincho);letter-spacing:.03em}.fade-in{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(30px)}.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);cursor:pointer;padding:.5rem 1rem;font-size:.9rem;transition:all .3s}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}}
