@import"https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;700&family=Yuji+Syuku&display=swap";:root{--color-bg: #ffffff;--color-text: #1c1c1c;--color-accent: #333333;--color-gray: #f5f5f5;--font-heading: "Yuji Syuku", serif;--font-body: "Shippori Mincho", 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:400;line-height:1.4}a{color:inherit;text-decoration:none;transition:opacity .3s}a:hover{opacity:.7}.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:2px;background-color:var(--color-accent);margin:10px auto 0}.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:1px solid var(--color-text);color:var(--color-text);font-family:var(--font-brush);font-size:1.2rem;transition:all .3s}.contact-button:hover{background-color:var(--color-text);color:#fff}.contact-button-premium{display:inline-block;position:relative;padding:20px 60px;background-color:var(--color-text);color:#fff;font-family:var(--font-heading);font-size:1.5rem;letter-spacing:.1em;text-decoration:none;overflow:hidden;transition:all .4s ease;border:1px solid var(--color-text);box-shadow:0 4px 15px #0003}.contact-button-premium:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.2),transparent);transition:all .6s}.contact-button-premium:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000004d;background-color:#333}.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){.hero-title{font-size:2.5rem;gap:2rem}.header{flex-direction:column;height:auto;padding:15px}.nav{margin-top:15px}.nav a{margin:0 10px}}.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}@media(max-width:768px){.company-item{flex-direction:column}}.highlight-box{border:4px double var(--color-text);padding:40px;text-align:center;background-color:#fff}.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:#fffc;border:1px solid rgba(0,0,0,.05);border-radius:4px;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 #00000005}.service-card:hover{transform:translateY(-8px);box-shadow:0 15px 30px #00000014;background:#fff;border-color:#0000001a}.card-badge{font-family:var(--font-brush);font-size:1.2rem;color:var(--color-accent);margin-bottom:20px;writing-mode:vertical-rl;position:absolute;top:20px;right:20px;letter-spacing:.2rem}.card-title{font-size:1.8rem;margin-bottom:20px;border-bottom:1px solid #f0f0f0;padding-bottom:15px;display:inline-block}.card-desc{font-size:1rem;color:#555;line-height:returning}
