﻿@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');*{margin:0;padding:0;box-sizing:border-box}:root{--accent:#39bbe3;--bg:#1a1a1f;--text-col:#fff}body{background:var(--bg);color:var(--text-col);font-family:"Noto Sans JP",'Space Mono',monospace;min-height:100vh;display:flex;flex-direction:column}a{color:var(--accent);text-decoration:none;transition:color .3s}body.page-home{background:#02020c;overflow-x:hidden;min-height:auto;display:block}body.page-home canvas{display:block;position:fixed;top:0;left:0;z-index:1}#hero-spacer{height:100vh;position:relative;z-index:2}#ui{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:20;display:flex;justify-content:center;align-items:center;transition:opacity .5s ease}#logo{text-align:center;opacity:0;transform:translateY(20px);transition:opacity 1.2s ease,transform 1.8s ease}#logo.visible{opacity:1;transform:translateY(0)}#logo svg{width:clamp(240px,45vw,520px);height:auto;fill:transparent;stroke:#fff;stroke-miterlimit:10;stroke-width:.5}#logo .divider{width:0;height:1px;background:#39bbe3;margin:16px auto;transition:width .8s cubic-bezier(0.23,1,0.32,1)}#logo.fill .divider{width:60px}#logo p{font-size:clamp(11px,1.5vw,16px);letter-spacing:.5em;color:#39bbe3;text-transform:uppercase;opacity:0;transform:translateY(10px);transition:opacity .8s ease,transform .8s ease}#logo.fill p{opacity:1;transform:translateY(0)}#loading{position:fixed;top:0;left:0;width:100%;height:100%;z-index:30;display:flex;justify-content:center;align-items:center}#loading .bar-track{width:min(280px,60vw);height:1px;position:relative;background:rgba(255,255,255,0.4)}#loading .bar-fill{position:absolute;top:0;left:0;height:100%;width:0;background:#13afe3;transition:width .3s ease-out}#loading .bar-label{position:absolute;top:12px;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:.3em;color:rgba(255,255,255,0.4);white-space:nowrap}#loading.done{opacity:0;transition:opacity .6s ease;pointer-events:none}#scroll-hint{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);font-size:9px;letter-spacing:.3em;color:rgba(57,187,227,0.4);opacity:0;transition:opacity 1.5s ease;z-index:25;text-align:center}#scroll-hint .arrow{display:block;margin-top:6px;animation:bounce 2s infinite}@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}.spacer{height:100vh;position:relative;z-index:2}#theme-label{position:fixed;bottom:40px;left:40px;z-index:25;font-size:11px;letter-spacing:.5em;color:var(--text-col);opacity:0;transition:opacity .8s ease;pointer-events:none;text-transform:uppercase}#theme-label.visible{opacity:.5}#location-controls{position:fixed;bottom:40px;right:40px;z-index:55;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.location-btn,#demo-btn{padding:10px 18px;font-size:11px;font-weight:500;letter-spacing:.05em;color:#fff;background:rgba(57,187,227,0.1);border:1px solid rgba(57,187,227,0.35);border-radius:20px;cursor:pointer;transition:all .3s ease}.location-btn:hover{background:rgba(57,187,227,0.3);border-color:rgba(57,187,227,0.8);transform:translateY(-2px)}.location-btn:active{transform:translateY(0)}#demo-btn{background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.25)}#demo-btn:hover{background:rgba(255,255,255,0.15);border-color:rgba(255,255,255,0.5)}#location-status{font-size:10px;letter-spacing:.08em;color:rgba(57,187,227,0.6);text-align:right;width:100%}#location-note{font-size:13px;color:rgba(255,255,255,0.4);text-align:right;width:100%;display:block;margin-top:6px;white-space:nowrap}#location-marker{position:fixed;top:0;left:0;z-index:5;pointer-events:none;width:0;height:0}#location-marker .marker-line{position:absolute;width:1px;background:linear-gradient(to bottom,rgba(228,10,104,0),rgba(228,10,104,0.8));transform:translateX(-50%)}#location-marker .marker-dot{position:absolute;width:8px;height:8px;background:#e40a68;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 12px rgba(228,10,104,0.6),0 0 24px rgba(228,10,104,0.3);animation:marker-pulse 2s ease-in-out infinite}@keyframes marker-pulse{0%,100%{box-shadow:0 0 12px rgba(228,10,104,0.6),0 0 24px rgba(228,10,104,0.3)}50%{box-shadow:0 0 20px rgba(228,10,104,0.9),0 0 40px rgba(228,10,104,0.5)}}#geo-loading-bar{position:fixed;top:0;left:0;width:100%;height:2px;background:rgba(0,0,0,0.3);z-index:200;overflow:hidden}.geo-loading-progress{width:30%;height:100%;background:var(--accent);box-shadow:0 0 8px var(--accent),0 0 16px var(--accent);animation:geo-loading-slide 1.2s ease-in-out infinite}@keyframes geo-loading-slide{0%{transform:translateX(-100%)}100%{transform:translateX(400%)}}.catchcopy-section{position:fixed;top:0;left:0;width:100%;height:100%;z-index:15;pointer-events:none;display:flex;flex-direction:column;justify-content:center;align-items:center;opacity:0;transition:opacity .5s ease;will-change:opacity}.catchcopy-section.visible{opacity:1}.catchcopy-en{font-weight:300;font-size:clamp(80px,18vw,120px);letter-spacing:.15em;text-transform:uppercase;transform:translateX(-80px);opacity:0;transition:transform 1.2s cubic-bezier(0.16,1,0.3,1),opacity .8s ease;align-self:flex-start;margin-left:10%;color:#fff;text-shadow:none}.catchcopy-ja{font-weight:400;font-size:clamp(32px,6vw,72px);letter-spacing:.15em;transform:translateX(80px);opacity:0;transition:transform 1.2s cubic-bezier(0.16,1,0.3,1),opacity .8s ease;align-self:flex-end;margin-right:15%;margin-top:20px;color:#fff;text-shadow:0 0 40px rgba(0,0,0,0.9),0 0 80px rgba(0,0,0,0.6)}.catchcopy-ja br{display:none}.catchcopy-section.visible .catchcopy-en{transform:translateX(0);opacity:.25}.catchcopy-section.visible .catchcopy-ja{transform:translateX(0);opacity:1}#site-header{position:fixed;top:0;left:0;width:100%;z-index:50;padding:24px 50px;opacity:0;transform:translateY(-10px);transition:opacity .6s ease,transform .6s ease;pointer-events:none;display:flex;align-items:center;justify-content:space-between}#site-header.visible{opacity:1;transform:translateY(0);pointer-events:auto}#site-header .header-logo{display:flex;align-items:center;text-decoration:none}#site-header .header-logo svg{height:32px;width:auto;fill:#fff;stroke:#fff;stroke-miterlimit:10;stroke-width:.25px}#site-header nav{display:flex;gap:24px}#site-header nav a{font-size:16px;letter-spacing:.15em;text-transform:uppercase;color:#999;text-decoration:none;transition:color .3s}#site-header nav a:hover{color:#39bbe3}#site-header nav a[aria-current="page"]{color:#39bbe3;pointer-events:none}#content-area{position:relative;z-index:30;background:rgba(10,10,18,0.4);padding-top:10px;overflow-x:hidden;backdrop-filter:blur(12px) saturate(150%);-webkit-backdrop-filter:blur(12px) saturate(150%)}.content-section{padding:150px 50px 100px;max-width:1200px;margin:0 auto}.section-label{font-size:12px;letter-spacing:.5em;text-transform:uppercase;color:#39bbe3;margin-bottom:14px}.section-title{font-weight:300;font-size:clamp(32px,5vw,56px);color:#fff;letter-spacing:.03em;margin-bottom:48px}.section-title::after{content:'';display:block;width:40px;height:1px;background:#39bbe3;margin-top:20px}#sec-philosophy{margin:0 auto}#sec-philosophy .message{font-size:30px}.footer-logo{width:140px;height:auto;margin:60px 0;opacity:.5}.services-primary{display:grid;grid-template-columns:1fr;gap:32px;margin-bottom:40px}.service-card{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.15);border-radius:18px;padding:32px 28px;transition:border-color .3s ease,background .3s ease}.service-card:hover{border-color:rgba(57,187,227,0.6);background:rgba(255,255,255,0.05)}.service-card h3{font-size:28px;font-weight:400;color:#FFF;margin-bottom:32px;display:flex;align-items:center;gap:10px}.service-card h3 .service-icon{color:#39bbe3;flex-shrink:0}.service-table{width:100%;border-collapse:collapse}.service-table td{font-size:14px;color:#ddd;line-height:1.7;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,0.05);vertical-align:top}.service-table td:first-child{color:#39bbe3;font-size:13px;white-space:nowrap;width:1%;padding-right:24px}.service-table tr:last-child td{border-bottom:0}.service-desc{font-size:15px;margin-bottom:40px}.services-secondary{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.service-card-sm{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.06);border-radius:4px;padding:24px 22px;transition:border-color .3s ease,background .3s ease}.service-card-sm:hover{border-color:rgba(75,200,184,0.3);background:rgba(255,255,255,0.05)}.service-card-sm h3{font-size:20px;font-weight:600;color:#fff;margin-bottom:14px}.service-card-sm ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px}.service-card-sm ul li{font-size:12px;color:#bbb;line-height:1.5;padding:4px 12px;background:rgba(255,255,255,0.04);border-radius:20px;border:1px solid rgba(255,255,255,0.08)}@media(max-width:900px){.services-secondary{grid-template-columns:1fr}}.creators-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:48px}.creator-card{display:flex;gap:24px;align-items:flex-start}.creator-card .avatar{width:100px;height:100px;border-radius:50%;background:#1e1e24;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:28px;color:#555;border:1px solid rgba(75,200,184,0.2);overflow:hidden}.creator-card .avatar img{width:100%;height:100%;object-fit:cover}.creator-card .bio h3{font-size:22px;color:#fff;font-weight:400;margin-bottom:4px;display:flex;align-items:center;gap:10px}.creator-card .bio h3 .sns-link{display:inline-flex;color:#999;transition:color .3s}.creator-card .bio h3 .sns-link:hover{color:#39bbe3}.creator-card .bio h3 .sns-link svg{width:16px;height:16px}.creator-card .bio .role{font-size:11px;color:#39bbe3;letter-spacing:.15em;text-transform:uppercase;margin-bottom:12px;display:block}.creator-card .bio p{font-size:15px;color:#ddd;line-height:1.9}.company-table{width:75%;border-collapse:collapse;margin:0 auto}.company-table tr{border-bottom:1px solid rgba(255,255,255,0.06)}.company-table th{font-size:13px;color:#39bbe3;letter-spacing:.05em;padding:20px 4px 20px 0;text-align:left;width:120px;vertical-align:top;font-weight:400}.company-table td{font-size:15px;color:#ddd;padding:20px 0;line-height:1.8}.company-table td ul{list-style:none;margin:0;padding:0}.company-table td ul li{padding:2px 0}.common-table{width:85%;border-collapse:collapse}.common-table tr{border-bottom:1px solid rgba(255,255,255,0.06)}.common-table th{font-size:13px;color:#39bbe3;letter-spacing:.05em;padding:20px 4px 20px 0;text-align:left;width:120px;vertical-align:top;font-weight:400}.common-table td{font-size:15px;color:#ddd;padding:20px 0;line-height:1.8}.common-table td ul{list-style:none;margin:0;padding:0}.common-table td ul li{padding:2px 0}.news-list{max-width:1020px;margin:0 auto}.news-item{display:flex;align-items:baseline;gap:16px;padding:20px 0;border-bottom:1px solid rgba(255,255,255,0.06)}.news-item:first-child{border-top:1px solid rgba(255,255,255,0.06)}.news-item time{font-size:13px;color:#999;letter-spacing:.05em;flex-shrink:0}.news-cat{font-size:11px;color:var(--accent);letter-spacing:.08em;text-transform:uppercase;flex-shrink:0;padding:2px 10px;border:1px solid rgba(75,200,184,0.3);border-radius:12px}.news-item a{font-size:15px;color:#ddd;text-decoration:none;transition:color .3s;line-height:1.6}.news-item a:hover{color:var(--accent)}.news-more{text-align:center;margin-top:48px}.press-release{max-width:1020px;margin:0 auto}.press-meta{display:flex;align-items:center;gap:16px;margin-bottom:32px}.press-meta time{font-size:14px;color:#999;letter-spacing:.05em}.press-subtitle{font-size:18px;color:#ccc;line-height:2;text-align:center;margin-bottom:48px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,0.08)}.press-body{font-size:15px;color:#ccc;line-height:2}.press-body p{margin-bottom:24px}.press-body h2{font-size:18px;color:#fff;letter-spacing:.05em;margin:56px 0 24px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,0.08)}.press-body h3{font-size:16px;font-weight:600;color:#ddd;margin:36px 0 16px}.press-table{width:100%;border-collapse:collapse;margin:24px 0 32px}.press-table th{font-size:14px;color:#999;text-align:left;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,0.06);white-space:nowrap;vertical-align:top;width:160px}.press-table td{font-size:14px;color:#ccc;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,0.06);line-height:1.8}.press-table td a{color:var(--accent);text-decoration:none;transition:opacity .3s}.press-table td a:hover{opacity:.7}.press-speaker{font-size:13px;color:#999;margin-bottom:16px}.press-quote{margin:0 0 32px;padding:24px 32px;border-left:3px solid var(--accent);background:rgba(75,200,184,0.03)}.press-quote p{margin-bottom:16px}.press-quote p:last-child{margin-bottom:0}.press-back{text-align:center;margin-top:64px;padding-top:48px;border-top:1px solid rgba(255,255,255,0.08)}.portfolio-body{font-size:13px;color:#ccc}.portfolio-body h2{padding-bottom:5px;margin-top:15px}.common-body{font-size:13px;color:#ccc}.common-body h2{padding-bottom:5px;margin-top:15px}.contact-cta{text-align:center;max-width:640px;margin:0 auto}.contact-cta p{font-size:15px;line-height:2;color:#ccc;margin-bottom:32px}.contact-btn{display:inline-block;padding:16px 48px;border:1px solid #39bbe3;color:#39bbe3;font-size:14px;text-decoration:none;letter-spacing:2px;transition:all .3s ease}.contact-btn:hover{background:#39bbe3;color:#1a1a1a}.site-footer{padding:48px 8%;text-align:center;background:rgba(0,0,0,0.3);border-top:1px solid rgba(255,255,255,0.08)}.site-footer p{font-size:11px;color:#999;letter-spacing:.15em}.site-footer .footer-nav{margin-bottom:8px;display:flex;justify-content:center;gap:24px}.site-footer .footer-nav a{color:#999;text-decoration:none;font-size:10px;letter-spacing:.1em;transition:color .3s}.site-footer .footer-nav a:hover{color:var(--accent)}.reveal{opacity:0;transform:translateY(40px);transition:opacity .9s cubic-bezier(0.23,1,0.32,1),transform .9s cubic-bezier(0.23,1,0.32,1)}.reveal.visible{opacity:1;transform:translateY(0)}.section-label.reveal{opacity:0;transform:none}.section-label.reveal.visible{opacity:1}.section-label .char{display:inline-block;opacity:0;transform:translateY(12px);transition:opacity .4s ease,transform .4s ease}.section-label.visible .char{opacity:1;transform:translateY(0)}.section-title.reveal::after{width:0;transition:width .8s cubic-bezier(0.23,1,0.32,1) .6s}.section-title.reveal.visible::after{width:40px}.gallery-row{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease}.gallery-row.visible{opacity:1;transform:translateY(0)}.creator-card{opacity:0;transition:opacity .8s ease,transform .8s cubic-bezier(0.23,1,0.32,1)}.creator-card:nth-child(1){transform:translateX(-60px)}.creator-card:nth-child(2){transform:translateX(60px)}.creator-card.card-visible{opacity:1;transform:translateX(0)}.creator-card .avatar{transform:scale(0) rotate(-180deg);transition:transform .7s cubic-bezier(0.34,1.56,0.64,1)}.creator-card.card-visible .avatar{transform:scale(1) rotate(0)}.company-table tr{opacity:0;transform:translateX(-20px);transition:opacity .5s ease,transform .5s ease}.company-table.tbl-visible tr{opacity:1;transform:translateX(0)}.site-footer{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease}.site-footer.visible{opacity:1;transform:translateY(0)}.page-header{padding:24px 50px;display:flex;align-items:center;justify-content:space-between;position:fixed;top:0;left:0;width:100%;z-index:100}.page-header .logo-link{display:flex;align-items:center;text-decoration:none}.page-header .logo-link svg{height:32px;width:auto;fill:#fff;stroke:#fff;stroke-miterlimit:10;stroke-width:.25px}.page-header nav{display:flex;gap:24px}.page-header nav a{font-size:16px;letter-spacing:.15em;text-transform:uppercase;color:#999;text-decoration:none;transition:color .3s}.page-header nav a:hover{color:var(--accent)}.page-header nav a[aria-current="page"]{color:var(--accent);pointer-events:none}.page-hero{padding:140px 50px 60px;border-bottom:1px solid rgba(255,255,255,0.06)}.page-hero .inner{max-width:1020px;margin:0 auto}.page-hero .breadcrumb{font-size:11px;letter-spacing:.1em;color:#666;margin-bottom:20px}.page-hero .breadcrumb a{color:var(--accent);text-decoration:none}.page-hero h1{font-size:clamp(36px,5vw,56px);font-weight:300;letter-spacing:.02em}.page-hero .subtitle-ja{font-size:14px;color:#888;margin-top:12px;letter-spacing:.05em}.page-body{flex:1;padding:60px 50px 80px;max-width:1020px;margin:0 auto;width:100%}.page-body-np{flex:1;padding:60px 0 80px;max-width:1020px;margin:0 auto;width:100%}.page-lead{font-size:15px;color:#ccc;line-height:2;margin-bottom:48px}.page-intro{margin-bottom:48px}.page-intro p{font-size:15px;color:#ccc;line-height:1.9;margin-bottom:12px}.page-intro .email{font-size:13px;color:var(--accent)}.contact-form{display:flex;flex-direction:column;gap:16px;margin-bottom:40px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form input,.contact-form textarea,.contact-form select{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.15);color:#fff;padding:16px 18px;font-size:15px;border-radius:2px;outline:0;transition:border-color .3s;width:100%}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#666}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--accent)}.contact-form select{color:#666;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23666' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center}.contact-form select option{background:var(--bg);color:#fff}.contact-form textarea{height:160px;resize:vertical}.privacy-box{border:1px solid rgba(255,255,255,0.1);border-radius:4px;padding:32px;margin-bottom:24px;max-height:280px;overflow-y:auto}.privacy-box::-webkit-scrollbar{width:4px}.privacy-box::-webkit-scrollbar-track{background:rgba(255,255,255,0.02)}.privacy-box::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.15);border-radius:2px}.privacy-box h3{font-size:15px;font-weight:600;text-align:center;margin-bottom:24px;color:#ddd}.privacy-box ol{padding-left:1.5em;margin:0}.privacy-box li{font-size:13px;color:#bbb;line-height:1.8;margin-bottom:12px}.privacy-box li strong{color:#ddd;font-weight:600}.privacy-box p{font-size:13px;color:#bbb;line-height:1.8;margin-bottom:8px;padding-left:1.5em}.consent-row{display:flex;align-items:center;gap:10px;margin-bottom:32px}.consent-row input[type="checkbox"]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.consent-row label{font-size:13px;color:#999;cursor:pointer}.submit-btn{background:var(--accent);color:#1a1a1a;border:0;padding:18px 48px;font-size:13px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;border-radius:2px;transition:opacity .3s;display:block;margin:0 auto}.submit-btn:hover{opacity:.8}.submit-btn:disabled{opacity:.3;cursor:not-allowed}.policy-section{margin-bottom:48px}.policy-section h2{font-size:17px;font-weight:600;color:#eee;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,0.08)}.policy-section p{font-size:14px;color:#bbb;line-height:1.9;margin-bottom:12px}.signatory{margin-bottom:64px;padding:32px 0;border-top:1px solid rgba(255,255,255,0.06);border-bottom:1px solid rgba(255,255,255,0.06)}.signatory p{font-size:14px;color:#bbb;line-height:1.9}.signatory .date{color:#888;font-size:13px;margin-bottom:16px}.signatory .name{color:#ddd;font-weight:600}.contact-box{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.06);border-radius:4px;padding:28px 32px;margin-bottom:64px}.contact-box h3{font-size:14px;font-weight:600;color:#ddd;margin-bottom:16px}.contact-box p{font-size:13px;color:#999;line-height:1.9}.contact-box a{color:var(--accent);text-decoration:none}.detail-section{margin-bottom:48px}.detail-section>h2{font-size:18px;font-weight:600;color:#eee;margin-bottom:32px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,0.1)}.detail-lead{font-size:14px;color:#bbb;line-height:1.9;margin-bottom:32px}.detail-item{margin-bottom:36px}.detail-item h3{font-size:15px;font-weight:600;color:#ddd;margin-bottom:12px;display:flex;gap:8px}.detail-item h3 .num{color:var(--accent);flex-shrink:0}.detail-item p{font-size:14px;color:#bbb;line-height:1.9;margin-bottom:8px;padding-left:28px}.detail-item .indent{padding-left:28px}.info-table{width:100%;border-collapse:collapse;margin:16px 0;margin-left:28px;max-width:calc(100% - 28px)}.info-table td{font-size:13px;color:#bbb;line-height:1.8;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,0.05);vertical-align:top}.info-table td:first-child{color:var(--accent);font-size:12px;white-space:nowrap;width:1%;padding-right:24px}.detail-subhead{font-weight:600;color:#ddd;margin-top:16px}.detail-note{margin-top:12px}.safety-detail{padding-left:28px;margin-top:12px}.safety-detail h4{font-size:13px;font-weight:600;color:#ccc;margin:16px 0 6px}.safety-detail p{font-size:13px;color:#aaa;line-height:1.8;margin-bottom:8px}.page-footer{padding:40px 50px 120px 50px;border-top:1px solid rgba(255,255,255,0.06);text-align:center}.page-footer p{font-size:11px;color:#666;letter-spacing:.1em}.page-footer a{color:#666;text-decoration:none;font-size:10px;letter-spacing:.1em;transition:color .3s}.page-footer a:hover{color:var(--accent)}.page-footer .footer-link{margin-bottom:8px}.menu-toggle{display:none;background:0;border:0;cursor:pointer;padding:6px;z-index:110;position:relative;width:25px;height:18px}.menu-toggle span{display:block;width:100%;height:1px;background:#fff;border-radius:1px;position:absolute;left:0;transition:transform .3s ease,opacity .3s ease}.menu-toggle span:nth-child(1){top:0}.menu-toggle span:nth-child(2){top:50%;transform:translateY(-50%)}.menu-toggle span:nth-child(3){bottom:0}.nav-open .menu-toggle span:nth-child(1){top:50%;transform:translateY(-50%) rotate(45deg)}.nav-open .menu-toggle span:nth-child(2){opacity:0}.nav-open .menu-toggle span:nth-child(3){bottom:auto;top:50%;transform:translateY(-50%) rotate(-45deg)}.show{display:block!important;visibility:visible!important}.hide{display:none!important;visibility:hidden!important}.linelink{position:relative;display:inline-block;text-decoration:none}.linelink::after{position:absolute;bottom:0;left:0;content:'';width:100%;height:1px;background:var(--accent);transform:scale(0,1);transform-origin:right top;transition:transform .3s}.linelink:hover::after{transform-origin:left top;transform:scale(1,1)}@media(max-width:768px){.menu-toggle{display:block}#site-header nav,.page-header nav{display:none}#site-header.nav-open{transform:none!important;transition:none!important}.nav-open nav{display:flex!important;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(26,26,31,0.97);z-index:100;flex-direction:column;justify-content:center;align-items:center;gap:40px}#site-header nav a,.page-header nav a{font-size:20px;color:#fff}#site-header nav a[aria-current="page"],.page-header nav a[aria-current="page"]{color:var(--accent)}.creator-card{flex-direction:column;align-items:flex-start;text-align:left}.creator-card .avatar{align-self:center}.gallery-row .g-slide{--slide-w:160px}#location-controls{bottom:10px;right:10px}.company-table{width:100%}.footer-logo{width:140px;height:auto;margin:60px 0;opacity:.5}}@media(max-width:600px){.page-header{padding:24px 20px}.page-hero{padding:60px 20px 40px}.page-body{padding:40px 20px 60px}.page-body-np{padding:40px 20px 60px}.page-footer{padding:30px 20px 100px 20px}.form-row{grid-template-columns:1fr}.info-table,.info-table tbody,.info-table tr,.info-table td{display:block;width:100%}.info-table{margin-left:20px;max-width:calc(100% - 20px)}.info-table tr{padding:12px 0;border-bottom:1px solid rgba(255,255,255,0.05)}.info-table tr:last-child{border-bottom:0}.info-table td{padding:0;border-bottom:0}.info-table td:first-child{white-space:normal;width:auto;font-weight:600;margin-bottom:4px;padding-right:0}.detail-item p,.detail-item .indent{padding-left:20px}.safety-detail{padding-left:20px}.contact-box{padding:24px 20px}.service-card{padding:24px 20px}.service-table,.service-table tbody,.service-table tr,.service-table td{display:block;width:100%}.service-table tr{padding:12px 0;border-bottom:1px solid rgba(255,255,255,0.05)}.service-table tr:last-child{border-bottom:0}.service-table td{padding:0;border-bottom:0}.service-table td:first-child{white-space:normal;width:auto;font-size:13px;font-weight:600;margin-bottom:4px;padding-right:0}.service-table td:last-child{font-size:13px;color:#bbb;line-height:1.7}.content-section{padding:80px 20px 60px}.catchcopy-philosophy{padding:0 5%}.catchcopy-philosophy .ph-catch{margin-bottom:24px}.catchcopy-ja br{display:inline}#sec-philosophy .message{font-size:17px}#site-header{padding:24px 20px}}@media only screen and (max-width:768px){.hide-on-mobile{display:none!important;visibility:hidden!important}.show-on-mobile{display:block!important;visibility:visible!important}}.cover-reveal{display:inline-block;overflow:hidden;position:relative}.cover-reveal__line{display:block;position:relative;overflow:hidden}.cover-reveal__text{display:inline-block;opacity:0;transition:none}.cover-reveal__line::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--bg-cover-color,transparent);transform:scaleX(0);transform-origin:left center;z-index:0}.cover-reveal__line::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--cover-color,#333);transform:scaleX(0);transform-origin:left center;will-change:transform;z-index:1}.cover-reveal__text{position:relative;z-index:2}.cover-reveal.is-visible .cover-reveal__line::after{animation:cover-in var(--cover-duration,0.4s) var(--cover-easing,cubic-bezier(0.77,0,0.175,1)) forwards;animation-delay:var(--line-delay,0s)}.cover-reveal.has-bg-cover.is-visible .cover-reveal__line::before{animation:bg-cover-in var(--cover-duration,0.4s) var(--cover-easing,cubic-bezier(0.77,0,0.175,1)) forwards;animation-delay:var(--line-delay,0s)}.cover-reveal.is-visible .cover-reveal__text{animation:text-appear 0s forwards;animation-delay:var(--text-appear-delay,0.4s)}@keyframes cover-in{0%{transform:scaleX(0);transform-origin:left center}50%{transform:scaleX(1);transform-origin:left center}50.01%{transform-origin:right center}100%{transform:scaleX(0);transform-origin:right center}}@keyframes bg-cover-in{0%{transform:scaleX(0);transform-origin:left center}50%,100%{transform:scaleX(1);transform-origin:left center}}@keyframes text-appear{to{opacity:1}}.cover-reveal--rtl .cover-reveal__line::after{transform-origin:right center}.cover-reveal--rtl .cover-reveal__line::before{transform-origin:right center}.cover-reveal--rtl.is-visible .cover-reveal__line::after{animation-name:cover-in-rtl}.cover-reveal--rtl.has-bg-cover.is-visible .cover-reveal__line::before{animation-name:bg-cover-in-rtl}@keyframes cover-in-rtl{0%{transform:scaleX(0);transform-origin:right center}50%{transform:scaleX(1);transform-origin:right center}50.01%{transform-origin:left center}100%{transform:scaleX(0);transform-origin:left center}}@keyframes bg-cover-in-rtl{0%{transform:scaleX(0);transform-origin:right center}50%,100%{transform:scaleX(1);transform-origin:right center}}.cover-reveal--tb .cover-reveal__line::after{transform:scaleY(0);transform-origin:top center}.cover-reveal--tb .cover-reveal__line::before{transform:scaleY(0);transform-origin:top center}.cover-reveal--tb.is-visible .cover-reveal__line::after{animation-name:cover-in-tb}.cover-reveal--tb.has-bg-cover.is-visible .cover-reveal__line::before{animation-name:bg-cover-in-tb}@keyframes cover-in-tb{0%{transform:scaleY(0);transform-origin:top center}50%{transform:scaleY(1);transform-origin:top center}50.01%{transform-origin:bottom center}100%{transform:scaleY(0);transform-origin:bottom center}}@keyframes bg-cover-in-tb{0%{transform:scaleY(0);transform-origin:top center}50%,100%{transform:scaleY(1);transform-origin:top center}}