:root{--bg: #050505;--text: #f5f5f5;--muted: #a5a5a5;--line: rgba(255,255,255,.16);--card: rgba(255,255,255,.07);--accent: #d6ff00;--dark: #0b0b0b;--white: #ffffff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Noto Sans JP,Yu Gothic,sans-serif;color:var(--text);background:transparent;line-height:1.8}a{color:inherit;text-decoration:none}.site-header{position:fixed;inset:0 0 auto;z-index:100;height:76px;padding:0 40px;display:flex;align-items:center;justify-content:space-between;background:#050505b8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.logo{display:flex;align-items:center;gap:14px;font-size:1.35rem;font-weight:900;letter-spacing:.08em}.logo-icon{width:42px;height:42px;object-fit:contain;display:block}.nav-dropdown{position:relative;display:inline-flex;align-items:center}.nav-parent{cursor:pointer;color:var(--muted);font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:color .25s ease}.nav-parent:hover{color:var(--accent)}.dropdown-menu{position:absolute;top:100%;left:0;min-width:200px;padding:12px;border-radius:16px;background:#141414f2;border:1px solid var(--line);display:grid;gap:6px;opacity:0;visibility:hidden;transform:translateY(10px);transition:all .25s ease;z-index:200}.dropdown-menu a{padding:10px 12px;border-radius:10px;color:#ccc;transition:all .2s ease}.dropdown-menu a:hover{background:#ffffff14;color:#fff;transform:translate(4px)}.nav-dropdown:hover .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.global-nav{display:flex;gap:28px;font-size:.86rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.global-nav a{color:var(--muted);transition:color .25s ease}.global-nav a:hover{color:var(--accent)}.nav-toggle{display:none}.hero{position:relative;min-height:100vh;display:grid;place-items:center;padding:120px 32px 80px;overflow:hidden}.hero-bg{position:absolute;inset:0;transform:scale(1.04)}.hero-content{position:relative;width:min(1120px,100%)}.eyebrow{margin:0 0 16px;color:var(--accent);font-size:.78rem;font-weight:900;letter-spacing:.22em}h1,h2,h3,p{margin-top:0}h1{margin-bottom:28px;font-size:clamp(3rem,8vw,7.5rem);line-height:.95;letter-spacing:-.06em}.lead{max-width:640px;color:#d9d9d9;font-size:clamp(1rem,2vw,1.2rem)}.hero-actions{margin-top:40px;display:flex;gap:16px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-width:180px;padding:14px 24px;border-radius:999px;font-weight:800;transition:transform .25s ease,background .25s ease,color .25s ease}.btn:hover{transform:translateY(-3px)}.btn.primary{background:var(--accent);color:#111}.btn.ghost{border:1px solid var(--line);color:var(--white)}.section{padding:120px 40px}.section-title{width:min(1120px,100%);margin:0 auto 56px}.section-title h2{font-size:clamp(2.1rem,5vw,4.5rem);line-height:1;letter-spacing:-.05em}.split{width:min(1120px,100%);margin:0 auto;display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center}.split p{color:#d2d2d2;font-size:1.03rem}.image-card{min-height:420px;border-radius:28px;border:1px solid var(--line);display:grid;place-items:center;color:#ffffffa6;font-weight:900;letter-spacing:.12em;background-size:cover;background-position:center}.dark-section{background:#0e0e0e;border-block:1px solid var(--line)}.card-grid{width:min(1120px,100%);margin:0 auto;display:grid;gap:20px}.card-grid.two{grid-template-columns:repeat(2,1fr)}.card-grid.three{grid-template-columns:repeat(3,1fr)}.card-grid.four{grid-template-columns:repeat(4,1fr)}.use-card{display:block;min-height:260px;padding:28px;border:1px solid var(--line);border-radius:24px;background:var(--card);transition:transform .25s ease,border-color .25s ease}.use-card:hover{transform:translateY(-6px);border-color:#d6ff00cc}.num{color:var(--accent);font-weight:900;letter-spacing:.14em}.use-card h3{margin-bottom:18px;font-size:1.35rem}.use-card p:last-child{color:var(--muted)}.label{display:inline-block;margin-bottom:18px;padding:4px 10px;border-radius:999px;background:var(--accent);color:#111;font-size:.7rem;font-weight:900}.contact-box{width:min(920px,100%);margin:0 auto;padding:64px;border-radius:32px;border:1px solid var(--line);background:#ffffff0f;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.contact-box h2{font-size:clamp(2rem,5vw,4rem);line-height:1.1}.contact-box p{color:#d8d8d8}.company-page .hero h1{font-size:clamp(2.2rem,5vw,4.5rem)}.company-table{width:min(1120px,100%);margin:0 auto;border:1px solid var(--line);border-radius:28px;background:#ffffff12;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow:hidden}.company-table dl{margin:0}.company-table div{display:grid;grid-template-columns:220px 1fr;border-bottom:1px solid var(--line)}.company-table div:last-child{border-bottom:none}.company-table dt,.company-table dd{margin:0;padding:22px 28px}.company-table dt{color:var(--accent);font-weight:900}.company-table dd{color:#e5e5e5}.map-box{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:28px;overflow:hidden;border:1px solid var(--line);background:#ffffff12}.map-box iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.company-page #access .split{grid-template-columns:.9fr 1.4fr}.service-page .hero h1{font-size:clamp(2.4rem,6vw,5.2rem)}.service-page .hero-content p{max-width:760px}.nav-dropdown.active .nav-parent,.dropdown-menu a.active,.global-nav a.active{color:var(--accent)}.info-page .hero h1{font-size:clamp(2.8rem,7vw,6rem)}.news-list,.info-card,.policy-card{width:min(1120px,100%);margin:0 auto;border:1px solid var(--line);border-radius:28px;background:#ffffff12;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow:hidden}.news-item{display:grid;grid-template-columns:180px 1fr;gap:28px;padding:28px 32px;border-bottom:1px solid var(--line)}.news-item:last-child{border-bottom:none}.news-item time{color:var(--accent);font-weight:900;letter-spacing:.08em}.news-item h3{margin-bottom:8px;font-size:1.35rem}.news-item p,.info-card p,.policy-card p,.policy-card li{color:#e5e5e5}.info-card,.policy-card{padding:40px}.policy-card ul{margin:24px 0 0;padding-left:1.4em}.policy-card li{margin-bottom:12px}.form-box{margin-top:32px;border-radius:24px;overflow:hidden;background:#fff}.form-box iframe{width:100%;height:1300px;border:0;display:block}.news-more{margin-top:20px;text-align:center}.news-more .btn{min-width:140px;padding:12px 28px;border:1px solid var(--line);border-radius:999px;background:#ffffff14;color:var(--white);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;font-weight:800;line-height:1}.news-more .btn:hover{background:var(--accent);color:#111;border-color:var(--accent);transform:translateY(-3px)}.news-item.is-hidden{display:none}main,.site-footer{position:relative;z-index:1}.site-footer{padding:32px;text-align:center;color:var(--muted);border-top:1px solid var(--line)}.fade-in{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.fade-in.is-visible{opacity:1;transform:translateY(0)}.scroll-bg{position:fixed;inset:0;z-index:0;pointer-events:none;background-size:cover;background-position:center;background-repeat:no-repeat;transition:background-image .7s ease,opacity .7s ease}body:before{content:"";position:fixed;inset:0;z-index:-1;background:#00000059;pointer-events:none}.bg-section{position:relative;min-height:100vh}@media(max-width:900px){.site-header{padding:0 20px}.nav-toggle{display:grid;gap:6px;width:44px;height:44px;place-content:center;border:1px solid var(--line);border-radius:999px;background:transparent}.nav-toggle span{display:block;width:18px;height:2px;background:#fff}.global-nav{position:fixed;top:76px;right:20px;left:20px;display:none;flex-direction:column;padding:24px;border:1px solid var(--line);border-radius:24px;background:#080808f5}.global-nav.is-open{display:flex}.split,.card-grid.two,.card-grid.three,.card-grid.four{grid-template-columns:1fr}.section{padding:88px 22px}.contact-box{padding:36px 24px}.company-table div{grid-template-columns:1fr}.company-table dt,.company-table dd{padding:16px 20px}.company-page #access .split{grid-template-columns:1fr}.news-item{grid-template-columns:1fr;gap:10px;padding:22px}.info-card,.policy-card{padding:26px}.form-box iframe{height:1400px}}@media(max-width:900px)and (max-height:500px){.site-header{height:60px}.logo{font-size:1rem;gap:10px}.logo-icon{width:34px;height:34px}.nav-toggle{width:38px;height:38px}.global-nav{top:60px;padding:12px 16px;gap:8px;border-radius:18px;font-size:.78rem;line-height:1.3}.global-nav a,.nav-parent{display:block;padding:4px 0}.dropdown-menu{padding:8px;gap:4px}.dropdown-menu a{padding:6px 10px}}
