@font-face{font-family:Helvetica-Bold-Subset;src:local("Helvetica-Bold"),local("HelveticaNeue-Bold"),local("Helvetica Neue Bold"),local("Arial-Bold"),local("Helvetica"),local("Arial");font-weight:100 900;unicode-range:U+0020-007E}:root{--bg-color: #ffffff;--text-color: #1a1a1a;--line-color: rgba(0, 0, 0, .1);--accent-color: #ff6600;--font-heading: "Helvetica-Bold-Subset", "Helvetica", "Helvetica Neue", Arial, "A-OTF Ryumin Pr6N", "Ryumin", "Ryumin R-KL", "ＭＳ Ｐ明朝", "MS PMincho", "Hiragino Mincho ProN", serif;--font-body: "Helvetica-Bold-Subset", "Helvetica", "Helvetica Neue", Arial, "Tsukushi Gothic", "筑紫ゴシック", "Hiragino Sans", "ヒラギノ角ゴ ProN W3", sans-serif}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);font-feature-settings:"palt" 1;color:var(--text-color);background-color:var(--bg-color);font-weight:400;line-height:1.8;letter-spacing:.08em;text-transform:capitalize;word-break:break-all;-webkit-font-smoothing:antialiased}h1,h2,.logo,.footer-logo,.hero-h1,.hero-h1-ja{font-family:var(--font-heading);font-feature-settings:"palt" 1}h3,h4,h5,h6,.hero-h3{font-family:var(--font-body);font-feature-settings:"palt" 1}.section-border{border-bottom:1px solid var(--line-color)}.container-wide{width:100%;padding:0 5%}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--line-color);position:sticky;top:0;background:#ffffffe6;backdrop-filter:blur(10px);z-index:1000}.logo{display:flex;align-items:center;height:100%}.logo a{height:100%;display:flex;align-items:center}.logo img{height:30px;width:auto;object-fit:contain}@media(max-width:768px){header{height:70px}.logo img{height:25px}}.menu-btn{display:none;flex-direction:column;justify-content:space-between;width:30px;height:22px;background:none;border:none;cursor:pointer;z-index:1100;padding:0}.menu-btn span{width:100%;height:2px;background-color:var(--text-color);transition:all .3s ease}html,body{overflow-x:hidden}@media(max-width:900px){.menu-btn{display:flex}nav{position:fixed;top:0;right:-80%;width:80%;height:100vh;background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:40px;transition:all .4s cubic-bezier(.77,0,.175,1);z-index:1050;font-size:1.5rem;visibility:hidden;opacity:0;box-shadow:-10px 0 30px #0000001a}nav.active{right:0;visibility:visible;opacity:1}.menu-btn.active span:nth-child(1){transform:translateY(10px) rotate(45deg)}.menu-btn.active span:nth-child(2){opacity:0}.menu-btn.active span:nth-child(3){transform:translateY(-10px) rotate(-45deg)}}.menu-overlay{position:fixed;top:0;left:0;width:100%;height:100vh;background:#0006;backdrop-filter:blur(2px);z-index:1025;opacity:0;visibility:hidden;transition:all .4s ease}.menu-overlay.active{opacity:1;visibility:visible}.nav-list{display:flex;gap:40px;list-style:none;margin:0;padding:0;font-size:15px!important;font-weight:400;letter-spacing:.05em}.nav-list li{display:flex;align-items:center}.nav-list a,.submenu-toggle-btn{text-decoration:none;color:inherit;transition:all .3s ease;display:flex;align-items:center;gap:5px;background:none;border:none;padding:0;cursor:pointer;font-family:inherit;font-size:15px;letter-spacing:inherit}.nav-list a:hover,.submenu-toggle-btn:hover,.has-submenu:hover .submenu-toggle-btn{color:var(--accent-color)}.header-contact-btn{background-color:var(--text-color)!important;color:#fff!important;padding:8px 24px!important;border-radius:4px;transition:all .3s ease;border:1px solid var(--text-color)!important}.header-contact-btn:hover{background-color:transparent!important;color:var(--text-color)!important}.mega-menu{position:fixed;top:80px;left:0;width:100%;background:#f8f8f8;border-bottom:1px solid #eee;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .4s cubic-bezier(.165,.84,.44,1);z-index:1020;padding:60px 0}@media(min-width:901px){.has-submenu:hover .mega-menu{opacity:1;visibility:visible;transform:translateY(0)}}.mega-menu.is-active{opacity:1;visibility:visible;transform:translateY(0)}.mega-menu-container{max-width:1200px;margin:0 auto;padding:0 5%}.mega-menu-inner{display:flex;gap:80px}.mega-menu-category{flex:1}.mega-menu-label{font-size:.7rem;color:#999;text-transform:uppercase;letter-spacing:.2em;margin-bottom:30px;border-bottom:1px solid #ddd;padding-bottom:10px}.mega-menu-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.mega-menu-item{display:flex!important;gap:32px;padding:24px;background:#fff;border:1px solid rgba(0,0,0,.04);border-radius:4px;transition:all .6s cubic-bezier(.23,1,.32,1);text-decoration:none!important;box-shadow:0 4px 15px #00000005}.mega-menu-item:hover{border-color:#0000001a;box-shadow:0 15px 40px #00000014;transform:translateY(-4px);background:#fff}.mega-menu-thumb{width:100px;aspect-ratio:1;overflow:hidden;background:#f5f5f5;border-radius:2px}.mega-menu-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.165,.84,.44,1)}.mega-menu-item:hover img{transform:scale(1.1)}.mega-menu-info{display:flex;flex-direction:column;justify-content:center;gap:5px}.submenu-title{font-size:18px;font-weight:500;color:#1a1a1a;letter-spacing:.05em;margin-bottom:4px}.submenu-desc{font-size:.7rem;color:#999;text-transform:uppercase;letter-spacing:.1em;font-weight:400}.submenu-arrow{display:inline-block;width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin-left:6px;margin-top:-3px;transition:transform .3s ease}.submenu-toggle-btn.is-open .submenu-arrow{transform:rotate(-135deg);margin-top:3px}.icon-external{width:14px;height:14px;opacity:.4}@media(max-width:900px){.nav-list{flex-direction:column;gap:0;align-items:center;text-align:center;width:100%;padding:60px 0}.nav-list li{width:100%;padding:0;border-bottom:1px solid #f0f0f0;display:block}.nav-list li:last-child{border-bottom:none}.nav-list a,.submenu-toggle-btn{padding:20px 0;justify-content:center;width:100%;font-size:1.1rem;color:var(--text-color);letter-spacing:.1em;text-transform:uppercase}.nav-list li:has(.header-contact-btn){border-bottom:none;padding:30px 20px 10px}.nav-list .header-contact-btn{background-color:var(--text-color)!important;color:#fff!important;padding:16px 40px!important;border-radius:50px!important;width:100%!important;max-width:280px;margin:0 auto;display:flex!important;justify-content:center;font-size:.9rem!important;font-weight:500;border:none!important;box-shadow:0 4px 15px #0000001a}.mega-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;background:#f9f9f9;padding:0;max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1)}.mega-menu.is-active{max-height:1000px}.submenu-toggle-btn{position:relative}.submenu-toggle-btn .submenu-arrow{display:inline-block;width:8px;height:8px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin-left:10px;margin-top:-4px;transition:transform .3s ease}.submenu-toggle-btn.is-open .submenu-arrow{transform:rotate(-135deg);margin-top:4px}.mega-menu-container{padding:0}.mega-menu-inner{flex-direction:column;gap:0}.mega-menu-label{display:none}.mega-menu-grid{grid-template-columns:1fr;gap:0}.mega-menu-item{padding:15px 10%;border-top:1px solid #eee;background:#fcfcfc;border-radius:0;box-shadow:none;gap:0;justify-content:center}.mega-menu-item:hover{transform:none;box-shadow:none;background:#f5f5f5}.mega-menu-thumb{display:none}.submenu-title{font-size:.95rem;margin-bottom:0;text-align:center}.submenu-desc{display:none}}.hero{height:90vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.hero-visual{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;overflow:hidden}.hero-visual:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:#0006;z-index:1}.hero-visual video{position:absolute;top:50%;left:50%;width:100vw;height:100vh;min-width:100%;min-height:100%;object-fit:cover;transform:translate(-50%,-50%);pointer-events:none;filter:brightness(1.02) contrast(.98)}.hero-content{position:relative;z-index:2;text-align:center}.hero-logo{max-width:60vw;max-height:40vh;width:auto;object-fit:contain}.hero-h3{font-size:1rem;font-weight:300;color:#fffc;margin-bottom:20px;letter-spacing:.2em;position:relative;z-index:2;text-align:center}.hero-h1{font-size:clamp(4rem,12vw,10rem);font-weight:100;line-height:.9;letter-spacing:-.02em;color:#fff;position:relative;z-index:2;text-align:center}.hero-h1-ja{font-size:clamp(2rem,5vw,3.5rem);font-weight:300;line-height:1.4;letter-spacing:.1em;color:#fff;position:relative;z-index:2;text-align:center}.split-grid{display:grid;grid-template-columns:1fr 1fr}.split-item{padding:120px 10%;border-right:1px solid var(--line-color)}.split-item:last-child{border-right:none;padding:0}.split-item h3{font-size:.75rem;font-weight:400;color:var(--accent-color);margin-bottom:40px;letter-spacing:.1em}.split-item h2{font-size:3.5rem;font-weight:300;line-height:1.3;margin-bottom:60px}.service-list{display:flex;flex-direction:column}.service-row{display:flex;align-items:center;border-bottom:1px solid var(--line-color)}.service-row:last-child{border-bottom:none}.service-row-reverse{flex-direction:row-reverse}.service-row-image{width:50%;overflow:hidden;position:relative;aspect-ratio:4/3;border-right:1px solid var(--line-color)}.service-row-reverse .service-row-image{border-right:none;border-left:1px solid var(--line-color)}.service-row-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1)}.service-row:hover .service-row-image img{transform:scale(1.05)}.service-row-content{width:50%;padding:10% 8%;display:flex;flex-direction:column;justify-content:center}.service-row-content h3{font-size:.75rem;font-weight:400;color:var(--accent-color);margin-bottom:30px;letter-spacing:.1em}.service-row-content h2{font-size:2.2rem;font-weight:300;line-height:1.4;margin-bottom:40px}.service-link{display:inline-flex;align-items:center;margin-top:40px;font-size:.85rem;color:var(--text-color);text-decoration:none;letter-spacing:.1em;position:relative;padding-bottom:5px;align-self:flex-start}.service-link:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background-color:var(--text-color);transform:scaleX(1);transform-origin:left;transition:transform .4s cubic-bezier(.16,1,.3,1)}.service-link:hover:after{transform:scaleX(0);transform-origin:right}.bg-navy{background-color:#172a4d;color:#fff;border-bottom:none}.contact-section{padding:120px 5%;display:flex;flex-direction:column;align-items:center;text-align:center;max-width:1000px;margin:0 auto}.contact-section h2{font-size:2.5rem;font-weight:300;margin-bottom:40px}.contact-section p{font-size:.85rem;line-height:2;color:#666;margin-bottom:50px}.contact-btn{display:inline-block;padding:15px 50px;border:1px solid var(--line-color);text-decoration:none;color:var(--text-color);font-size:.85rem;letter-spacing:.1em;transition:all .3s ease}.contact-btn:hover{background-color:var(--text-color);color:#fff}@media(max-width:900px){.contact-section{padding:80px 5%}}.parallax-section{height:60vh;background-attachment:fixed;background-position:center;background-repeat:no-repeat;background-size:cover;width:100%}@media(max-width:900px){.parallax-section{background-attachment:scroll;height:40vh}}.instagram-section{padding:120px 15%;background-color:#fff}.instagram-header{display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:60px;text-decoration:none;color:var(--text-color);transition:opacity .3s ease}.instagram-header:hover{opacity:.7}.instagram-header svg{width:28px;height:28px}.instagram-header h2{font-size:1.5rem;font-weight:300;letter-spacing:.05em;margin:0}.instagram-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1vw;max-width:1000px;margin:0 auto}@media(max-width:768px){.instagram-section{padding:60px 0}}.instagram-item{display:block;aspect-ratio:1;overflow:hidden;position:relative;border:1px solid var(--line-color)}.instagram-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}.instagram-item:hover img{transform:scale(1.08)}.instagram-item:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:#0000001a;opacity:0;transition:opacity .3s ease}.instagram-item:hover:after{opacity:1}footer{padding:100px 5%}.footer-top{display:flex;justify-content:space-between;margin-bottom:100px}.footer-logo{font-weight:700;font-size:2.5rem;letter-spacing:-.05em}.footer-nav-grid{display:flex;gap:120px}.footer-nav-col h3{font-size:.7rem;font-weight:700;margin-bottom:30px;text-transform:uppercase;letter-spacing:.1em}.footer-nav-col ul{list-style:none}.footer-nav-col li{font-size:.8rem;margin-bottom:12px;transition:color .3s ease;cursor:pointer}.footer-nav-col li:hover{color:var(--accent-color)}@media(max-width:768px){.footer-top,.footer-nav-grid{flex-direction:column;gap:40px}.footer-bottom{text-align:left!important;padding-top:40px!important}}.reveal-up{opacity:0;transform:translateY(30px);transition:none}.reveal-text{opacity:0;filter:blur(5px);transform:translateY(20px)}.reveal-stagger-item{opacity:0;transform:translateY(20px)}body{background-color:#fff;background-image:linear-gradient(rgba(0,0,0,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.03) 1px,transparent 1px);background-size:50px 50px;background-attachment:fixed}.footer-primary-nav[data-astro-cid-sz7xmlte]{list-style:none;padding:0;margin:0}.footer-primary-nav[data-astro-cid-sz7xmlte]>li[data-astro-cid-sz7xmlte]{margin-bottom:16px}.footer-primary-nav[data-astro-cid-sz7xmlte]>li[data-astro-cid-sz7xmlte]:last-child{margin-bottom:0}.footer-primary-nav[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte],.footer-pulldown-btn[data-astro-cid-sz7xmlte]{text-decoration:none;color:inherit;font-size:.95rem;transition:opacity .3s;display:flex;align-items:center;background:none;border:none;cursor:pointer;padding:0;font-family:inherit}.footer-primary-nav[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover,.footer-pulldown-btn[data-astro-cid-sz7xmlte]:hover{opacity:.7}.footer-pulldown-menu[data-astro-cid-sz7xmlte]{list-style:none;padding:4px 0 0;margin:6px 0 0;display:none;flex-direction:column;gap:0}.footer-pulldown-menu[data-astro-cid-sz7xmlte].is-active{display:flex}.footer-pulldown-menu[data-astro-cid-sz7xmlte] li[data-astro-cid-sz7xmlte]{margin-bottom:5px}.footer-pulldown-menu[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{font-size:.8rem;color:#888;letter-spacing:.05em;display:flex;align-items:center}.footer-pulldown-menu[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:before{content:"ー";margin-right:4px;font-size:.7rem;opacity:.7}.pulldown-arrow[data-astro-cid-sz7xmlte]{display:inline-block;width:8px;height:8px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin-left:8px;margin-top:-4px;transition:transform .3s}.footer-pulldown-btn[data-astro-cid-sz7xmlte].is-active .pulldown-arrow[data-astro-cid-sz7xmlte]{transform:rotate(-135deg);margin-top:2px}.icon-external[data-astro-cid-sz7xmlte]{width:14px;height:14px;margin-left:6px;opacity:.6}.footer-bottom[data-astro-cid-sz7xmlte]{padding:20px 5%;display:flex;justify-content:space-between;align-items:center;margin-top:40px}.footer-legal[data-astro-cid-sz7xmlte]{font-size:12px;color:#888}.footer-legal-links[data-astro-cid-sz7xmlte]{list-style:none;padding:0;margin:0;display:flex;gap:20px}.footer-legal-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{text-decoration:none;color:inherit;transition:opacity .3s}.footer-legal-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{opacity:.7}.footer-copyright[data-astro-cid-sz7xmlte]{font-size:12px;color:#888}.footer-ticker-bar[data-astro-cid-sz7xmlte]{width:100%;position:relative}.ticker-track[data-astro-cid-sz7xmlte]{display:flex;width:max-content;animation:scroll-left 80s linear infinite;will-change:transform}.ticker-item[data-astro-cid-sz7xmlte]{font-family:Helvetica,Arial,sans-serif;font-size:clamp(4rem,15vw,9rem);font-weight:800;color:#1a1a1a;letter-spacing:.05em;padding-right:5rem;flex-shrink:0;line-height:.8;text-transform:uppercase;user-select:none}@media(max-width:768px){.footer-top[data-astro-cid-sz7xmlte]{margin-bottom:0!important}.footer-bottom[data-astro-cid-sz7xmlte]{flex-direction:column;gap:32px;text-align:left;align-items:flex-start;padding:30px 5%;margin-top:60px;border-top:1px solid #eee}.footer-legal-links[data-astro-cid-sz7xmlte]{flex-direction:column;gap:12px}.footer-copyright[data-astro-cid-sz7xmlte]{font-size:10px}.ticker-item[data-astro-cid-sz7xmlte]{padding-right:3rem}}@keyframes scroll-left{0%{transform:translate(0)}to{transform:translate(-50%)}}
