@import"https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;500;700&family=Noto+Sans+JP:wght@400;700;900&display=swap";:root{--color-bg: #f8f9fa;--color-text: #333333;--color-accent: #E65A4C;--color-secondary: #007AFF;--color-highlight: #F2D94E;--color-dark: #1a1a2e;--color-gray: #f5f5f5;--font-heading: "Noto Sans JP", sans-serif;--font-body: "Zen Maru Gothic", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);line-height:1.8;-webkit-font-smoothing:antialiased;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.05'/%3E%3C/svg%3E")}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.4;color:var(--color-accent)}a{color:inherit;text-decoration:none;transition:all .3s ease}a:hover{color:var(--color-secondary)}.container{max-width:1000px;margin:0 auto;padding:0 20px}.section{padding:100px 0;opacity:0;animation:fadeUp 1s ease-out forwards}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.section-title{font-size:2.5rem;text-align:center;margin-bottom:60px;position:relative;display:inline-block;margin-left:auto;margin-right:auto}.section-title:after{content:"";display:block;width:60px;height:4px;background-color:var(--color-highlight);margin:10px auto 0;border-radius:2px}.text-center{text-align:center}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.header{height:80px;display:flex;justify-content:space-between;align-items:center;position:fixed;top:0;left:0;right:0;background-color:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1000;border-bottom:1px solid rgba(0,0,0,.05);transition:all .3s ease}.logo{font-family:var(--font-heading);font-size:1.5rem;font-weight:700}.nav a{margin-left:30px;font-size:.9rem;letter-spacing:.05rem}.hero{height:90vh;display:flex;justify-content:center;align-items:center;background:transparent;position:relative;overflow:hidden}.canvas-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;opacity:0;animation:bgFadeIn 2s ease-out forwards;animation-delay:2.5s}@keyframes bgFadeIn{to{opacity:.8}}.hero-content{text-align:center;z-index:1}.hero-title{font-family:var(--font-heading);font-size:3rem;margin-bottom:2rem;display:flex;flex-direction:row;gap:4rem;justify-content:center;align-items:flex-start}.hero-highlight{writing-mode:vertical-rl;text-orientation:upright;letter-spacing:.5rem;font-size:5rem;font-weight:800;color:var(--color-text);margin-top:0}@keyframes impact-pulse{0%{transform:scale(1);filter:blur(0px)}50%{transform:scale(1.05);filter:blur(.5px)}to{transform:scale(1);filter:blur(0px)}}.vertical-text,.hero-highlight{opacity:0;animation:textFadeIn 1s cubic-bezier(.22,1,.36,1) forwards}.fade-in-delay-1{animation-delay:.5s}.fade-in-delay-2{animation-delay:1.2s}.fade-in-delay-3{animation-delay:2s;animation-duration:1.5s}@keyframes textFadeIn{0%{opacity:0;transform:translateY(20px) scale(.95);filter:blur(4px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.vertical-text{writing-mode:vertical-rl;text-orientation:upright;letter-spacing:.5rem}.hero-subtitle{font-family:Times New Roman,serif;font-size:1.2rem;letter-spacing:.2rem;color:#888;margin-top:2rem}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;margin-top:40px}.bg-gray{background-color:var(--color-gray)}.contact-text{margin-bottom:40px}.contact-button{display:inline-block;padding:15px 50px;border:2px solid var(--color-secondary);color:var(--color-secondary);font-family:var(--font-heading);font-size:1.2rem;transition:all .3s;border-radius:50px;font-weight:700}.contact-button:hover{background-color:var(--color-secondary);color:#fff}.contact-button-premium{display:inline-block;position:relative;padding:20px 60px;background:linear-gradient(135deg,var(--color-secondary),var(--color-dark));color:#fff;font-family:var(--font-heading);font-size:1.5rem;letter-spacing:.05em;text-decoration:none;overflow:hidden;transition:all .4s ease;border:none;border-radius:50px;box-shadow:0 4px 15px #007aff4d;font-weight:900}.contact-button-premium:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.4),transparent);transition:all .6s}.contact-button-premium:hover{transform:translateY(-3px);box-shadow:0 8px 25px #007aff80;background:linear-gradient(135deg,var(--color-secondary),#0056b3)}.contact-button-premium:hover:before{left:100%}.contact-note{font-size:.9rem;color:#666;margin-top:15px;font-family:var(--font-body)}.footer{padding:40px 0;text-align:center;font-size:.8rem;color:#888;border-top:1px solid #eaeaea}@media(max-width:768px){.container{padding:0 15px}.section{padding:60px 0}.section-title{font-size:1.8rem;margin-bottom:40px}.header{height:auto;padding:15px 20px;flex-wrap:wrap}.logo{font-size:1.2rem}.nav{width:100%;margin-top:10px;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.nav a{margin:0;font-size:.85rem;padding:5px 10px}.hero{height:70vh;min-height:500px;padding:80px 20px 40px}.hero-title{font-size:1.5rem;gap:1rem;flex-direction:column;align-items:center}.vertical-text{writing-mode:horizontal-tb;text-orientation:mixed;letter-spacing:.2rem;font-size:1.5rem}.hero-highlight{writing-mode:horizontal-tb;text-orientation:mixed;letter-spacing:.2rem;font-size:2rem;margin-top:1rem}.hero-subtitle{font-size:1rem;margin-top:1rem}.services-grid{grid-template-columns:1fr;gap:30px;margin-top:30px}.service-card{padding:30px 20px}.card-title{font-size:1.5rem}.card-desc{font-size:.95rem}.contact-button-premium{padding:15px 40px;font-size:1.2rem;width:100%;max-width:300px}.detail-page{padding-top:120px;padding-bottom:60px}.detail-title{font-size:2rem}.detail-subtitle{font-size:1rem}.detail-heading{font-size:1.5rem}.highlight-box{padding:20px}.stats-list{font-size:1rem}.stats-list strong{font-size:1.4rem}.company-item{flex-direction:column;padding:12px 0}.company-item dt{width:100%;margin-bottom:5px}}@media(max-width:480px){.hero-title,.vertical-text{font-size:1.2rem}.hero-highlight{font-size:1.6rem}.section-title{font-size:1.5rem}.contact-button-premium{padding:12px 30px;font-size:1rem}}.detail-page{padding-top:150px;padding-bottom:80px;min-height:100vh;overflow-y:auto}.detail-image{width:100%;max-width:600px;height:auto;display:block;margin:0 auto 40px;border-radius:8px;box-shadow:0 4px 6px #0000001a}html,body{overflow-x:hidden;overflow-y:auto;height:auto}.company-info{margin-top:2rem;width:100%}.company-list{text-align:left;display:block;width:100%;max-width:600px;margin:0 auto;font-family:var(--font-body)}.company-item{display:flex;border-bottom:1px solid #eee;padding:15px 0;width:100%}.company-item dt{width:120px;font-weight:700;color:#555}.company-item dd{flex:1}.highlight-box{border:4px solid var(--color-highlight);padding:40px;text-align:center;background-color:#fff;border-radius:20px;box-shadow:0 10px 30px #f2d94e33}.stats-list{list-style:none;padding:0;font-size:1.2rem}.stats-list li{margin-bottom:15px;border-bottom:1px dotted #ccc;padding-bottom:10px}.stats-list strong{font-size:1.8rem}.text-red{color:#b91c1c;color:var(--color-text)}.strong-text{font-weight:700;font-size:1.2rem}.cta-section{text-align:center;margin-top:80px}.service-card{background:#1a1a2ecc;border:1px solid rgba(0,255,255,.2);border-radius:16px;padding:40px 30px;transition:all .4s cubic-bezier(.165,.84,.44,1);position:relative;overflow:hidden;height:100%;display:flex;flex-direction:column;box-shadow:0 4px 6px #0003}.service-card:hover{transform:translateY(-8px);box-shadow:0 0 30px #00ffff4d;background:#1a1a2e;border-color:var(--color-secondary)}.card-title{color:#fff;border-bottom:3px solid var(--color-secondary);font-size:1.8rem;margin-bottom:20px;padding-bottom:15px;display:inline-block;font-weight:700}.card-desc{color:#ddd;font-size:1rem;line-height:returning}.card-badge{font-family:var(--font-heading);font-size:1.2rem;color:var(--color-accent);margin-bottom:20px;writing-mode:vertical-rl;position:absolute;top:20px;right:20px;letter-spacing:.2rem;font-weight:700}.card-title{font-size:1.8rem;margin-bottom:20px;border-bottom:3px solid var(--color-highlight);padding-bottom:15px;display:inline-block;color:var(--color-text);font-weight:700}.card-desc{font-size:1rem;color:#555;line-height:returning}
