@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap";
:root{--dark:#0d1117;--dark-2:#141b26;--dark-card:#1b2336;--dark-border:#ffffff12;--gold:#c89a38;--gold-light:#e0b95a;--gold-pale:#c89a381f;--gold-border:#c89a3859;--green:#1e7a44;--text:#ede8df;--text-sub:#a09890;--text-muted:#60605a;--light:#f5f2ec;--light-2:#ece8de;--white:#fff;--radius:10px;--shadow:0 8px 32px #00000073;--t:.28s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--dark);color:var(--text);-webkit-font-smoothing:antialiased;font-family:Noto Sans JP,sans-serif;line-height:1.65}nav{z-index:1000;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--dark-border);background:#0d1117eb;justify-content:space-between;align-items:center;height:64px;padding:0 48px;display:flex;position:sticky;top:0}.nav-logo-wrap{align-items:center;gap:10px;text-decoration:none;display:flex}.nav-logo-mark{flex-shrink:0;width:30px;height:30px}.nav-logo-text{color:var(--text);letter-spacing:1.5px;white-space:nowrap;font-size:15px;font-weight:700}.nav-links{gap:32px;list-style:none;display:flex}.nav-links a{color:var(--text-sub);letter-spacing:.5px;transition:color var(--t);font-size:13px;font-weight:500;text-decoration:none;position:relative}.nav-links a:after{content:"";background:var(--gold);width:0;height:1.5px;transition:width var(--t);position:absolute;bottom:-4px;left:0}.nav-links a:hover,.nav-links a.active{color:var(--text)}.nav-links a:hover:after,.nav-links a.active:after{width:100%}.nav-cta-btn{background:var(--gold);color:var(--dark);transition:background var(--t), transform var(--t);border-radius:6px;padding:8px 22px;font-size:13px;font-weight:700;text-decoration:none}.nav-cta-btn:hover{background:var(--gold-light);transform:translateY(-1px)}.nav-hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:6px;display:none}.nav-hamburger span{background:var(--text);width:22px;height:2px;transition:var(--t);border-radius:2px;display:block}.nav-hamburger.open span:first-child{transform:translateY(7px)rotate(45deg)}.nav-hamburger.open span:nth-child(2){opacity:0}.nav-hamburger.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.nav-mobile{background:var(--dark-2);border-bottom:1px solid var(--dark-border);z-index:999;display:none;position:fixed;top:64px;left:0;right:0}.nav-mobile.open{display:block}.nav-mobile a{color:var(--text-sub);border-bottom:1px solid var(--dark-border);transition:color var(--t), background var(--t);padding:15px 28px;font-size:14px;font-weight:500;text-decoration:none;display:block}.nav-mobile a:hover{color:var(--text);background:#ffffff08}.hero-split{background:var(--dark);grid-template-columns:1fr 1fr;min-height:calc(100vh - 64px);display:grid}.hero-text-side{z-index:1;flex-direction:column;justify-content:center;padding:80px 60px 80px 80px;display:flex;position:relative}.hero-text-side:before{content:"";pointer-events:none;background:radial-gradient(at 0%,#c89a380f 0%,#0000 60%);position:absolute;inset:0}.hero-eyebrow{color:var(--gold);letter-spacing:2.5px;text-transform:uppercase;align-items:center;gap:10px;margin-bottom:28px;font-size:11px;font-weight:700;display:inline-flex}.hero-eyebrow:before{content:"";background:var(--gold);width:28px;height:1.5px;display:block}.hero-heading{color:var(--text);margin-bottom:24px;font-size:clamp(26px,3.2vw,44px);font-weight:900;line-height:1.5}.hero-heading .accent{color:var(--gold);position:relative}.hero-heading .accent:after{content:"";background:var(--gold);opacity:.5;height:2px;position:absolute;bottom:-3px;left:0;right:0}.hero-sub{color:var(--text-sub);max-width:420px;margin-bottom:40px;font-size:15px;line-height:2}.hero-buttons{flex-wrap:wrap;gap:14px;display:flex}.btn-gold{background:var(--gold);color:var(--dark);transition:background var(--t), transform var(--t), box-shadow var(--t);border-radius:7px;padding:14px 36px;font-size:14px;font-weight:700;text-decoration:none;box-shadow:0 4px 18px #c89a384d}.btn-gold:hover{background:var(--gold-light);transform:translateY(-2px);box-shadow:0 8px 28px #c89a3866}.btn-outline-light{color:var(--text);border:1.5px solid var(--dark-border);transition:border-color var(--t), color var(--t);background:0 0;border-radius:7px;padding:14px 32px;font-size:14px;font-weight:700;text-decoration:none}.btn-outline-light:hover{color:var(--white);border-color:#ffffff40}.hero-stats-row{border-top:1px solid var(--dark-border);gap:40px;margin-top:52px;padding-top:36px;display:flex}.hero-stat .num{color:var(--gold);font-size:28px;font-weight:900;line-height:1.1}.hero-stat .label{color:var(--text-muted);letter-spacing:.5px;margin-top:4px;font-size:11px}.hero-image-side{position:relative;overflow:hidden}.hero-image-side:before{content:"";background:linear-gradient(to right, var(--dark) 0%, #0d111766 30%, transparent 60%), linear-gradient(to top, var(--dark) 0%, transparent 30%);z-index:1;pointer-events:none;position:absolute;inset:0}.hero-image-side .hero-bg{background:url(https://images.unsplash.com/photo-1713371398485-7bde1bde9def?auto=format&fit=crop&w=1200&q=80) 50%/cover no-repeat;width:100%;height:100%;position:absolute;inset:0}.hero-svg-overlay{z-index:2;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.page-hero{border-bottom:1px solid var(--dark-border);padding:64px 80px;position:relative;overflow:hidden}.page-hero:before{content:"";background-image:radial-gradient(circle,#c89a380a 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0}.page-hero-inner{z-index:1;max-width:800px;position:relative}.page-hero-label{color:var(--gold);letter-spacing:2.5px;text-transform:uppercase;align-items:center;gap:10px;margin-bottom:16px;font-size:11px;font-weight:700;display:inline-flex}.page-hero-label:before{content:"";background:var(--gold);width:24px;height:1.5px;display:block}.page-hero h1{color:var(--text);margin-bottom:10px;font-size:clamp(24px,3vw,38px);font-weight:900;line-height:1.4}.page-hero p{color:var(--text-sub);font-size:14px}.breadcrumb{background:var(--dark-2);border-bottom:1px solid var(--dark-border);padding:12px 80px}.breadcrumb-inner{max-width:1100px;color:var(--text-muted);align-items:center;gap:8px;margin:0 auto;font-size:12px;display:flex}.breadcrumb a{color:var(--gold);opacity:.8;transition:opacity var(--t);text-decoration:none}.breadcrumb a:hover{opacity:1}.section{max-width:1200px;margin:0 auto;padding:96px 80px}.section-full{padding:96px 80px}.section-dark{background:var(--dark-2)}.section-light{background:var(--light)}.section-darker{background:var(--dark)}.section-label{color:var(--gold);letter-spacing:2.5px;text-transform:uppercase;align-items:center;gap:10px;margin-bottom:16px;font-size:11px;font-weight:700;display:inline-flex}.section-label:before{content:"";background:var(--gold);width:24px;height:1.5px;display:block}.section-title-dark{color:var(--text);margin-bottom:12px;font-size:clamp(22px,2.8vw,36px);font-weight:900;line-height:1.4}.section-title-light{color:var(--dark);margin-bottom:12px;font-size:clamp(22px,2.8vw,36px);font-weight:900;line-height:1.4}.section-sub-dark{color:var(--text-sub);margin-bottom:56px;font-size:14px;line-height:1.8}.section-sub-light{color:#666;margin-bottom:56px;font-size:14px;line-height:1.8}.model-split{grid-template-columns:1fr 1fr;align-items:center;gap:80px;max-width:1100px;margin:0 auto;display:grid}.model-diagram-v2{background:var(--dark-card);border:1px solid var(--dark-border);border-top:2px solid var(--gold);border-radius:var(--radius);padding:36px 32px}.model-diagram-v2 h3{color:var(--gold);letter-spacing:.5px;margin-bottom:24px;font-size:14px;font-weight:700}.flow-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.flow-node{border:1px solid var(--dark-border);color:var(--text-sub);text-align:center;background:#ffffff0a;border-radius:8px;padding:10px 18px;font-size:12px;font-weight:500;line-height:1.4}.flow-node.center{background:var(--gold-pale);border-color:var(--gold-border);color:var(--gold-light);font-weight:700}.flow-arrow{color:var(--gold);opacity:.6;font-size:16px}.service-list{flex-direction:column;gap:0;max-width:900px;margin:0 auto;display:flex}.service-row{border-bottom:1px solid var(--dark-border);transition:background var(--t);cursor:default;align-items:flex-start;gap:40px;padding:40px 0;display:flex}.service-row:last-child{border-bottom:none}.service-row:hover{border-radius:var(--radius);background:#ffffff04;margin:0 -20px;padding-left:20px;padding-right:20px}.service-num{color:var(--gold);opacity:.25;font-variant-numeric:tabular-nums;width:72px;transition:opacity var(--t);flex-shrink:0;font-size:48px;font-weight:900;line-height:1}.service-row:hover .service-num{opacity:.6}.service-icon-v2{background:var(--gold-pale);border:1px solid var(--gold-border);width:48px;height:48px;color:var(--gold);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;margin-top:4px;display:flex}.service-body{flex:1}.service-body h3{color:var(--text);margin-bottom:10px;font-size:17px;font-weight:700}.service-body p{color:var(--text-sub);font-size:13px;line-height:1.9}.service-tags{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.service-tag{color:var(--gold);background:var(--gold-pale);border:1px solid var(--gold-border);border-radius:20px;padding:3px 10px;font-size:11px;font-weight:500}.strengths-list{flex-direction:column;gap:20px;max-width:880px;margin:0 auto;display:flex}.strength-strip{background:var(--dark-card);border:1px solid var(--dark-border);border-left:3px solid var(--gold);border-radius:var(--radius);transition:transform var(--t), box-shadow var(--t);align-items:center;gap:32px;padding:32px 36px;display:flex}.strength-strip:hover{box-shadow:var(--shadow);transform:translate(6px)}.strength-num-big{color:var(--gold);opacity:.2;flex-shrink:0;width:56px;font-size:42px;font-weight:900;line-height:1}.strength-icon-v2{background:var(--gold-pale);width:52px;height:52px;color:var(--gold);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.strength-body h3{color:var(--text);margin-bottom:6px;font-size:16px;font-weight:700}.strength-body p{color:var(--text-sub);font-size:13px;line-height:1.8}.message-wrap{max-width:760px;margin:0 auto;position:relative}.message-quote-deco{color:var(--gold);opacity:.12;pointer-events:none;position:absolute;top:-12px;left:-16px}.message-text{color:var(--text-sub);margin-bottom:28px;padding-left:28px;font-size:15px;line-height:2.2}.message-from{text-align:right;color:var(--text-muted);justify-content:flex-end;align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.cta-section{border-top:1px solid var(--gold-border);border-bottom:1px solid var(--gold-border);text-align:center;background:linear-gradient(135deg,#1a1000 0%,#2a1e00 50%,#1a1500 100%);padding:80px;position:relative;overflow:hidden}.cta-section:before{content:"";background-image:radial-gradient(circle,#c89a380f 1px,#0000 1px);background-size:24px 24px;position:absolute;inset:0}.cta-inner{z-index:1;position:relative}.cta-section h2{color:var(--text);margin-bottom:12px;font-size:clamp(20px,2.5vw,32px);font-weight:900}.cta-section p{color:var(--text-sub);margin-bottom:36px;font-size:14px}.service-detail-list{flex-direction:column;gap:28px;max-width:960px;margin:0 auto;display:flex}.sdc-v2{background:var(--dark-card);border:1px solid var(--dark-border);border-radius:var(--radius);transition:border-color var(--t), transform var(--t);grid-template-columns:auto 1fr;align-items:start;gap:32px;padding:36px 40px;display:grid}.sdc-v2:hover{border-color:var(--gold-border);transform:translate(4px)}.sdc-icon-v2{background:var(--gold-pale);border:1px solid var(--gold-border);width:56px;height:56px;color:var(--gold);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sdc-content h3{color:var(--text);margin-bottom:10px;font-size:17px;font-weight:700}.sdc-content p{color:var(--text-sub);margin-bottom:14px;font-size:13px;line-height:1.9}.sdc-tags-v2{flex-wrap:wrap;gap:6px;display:flex}.sdc-tag-v2{color:var(--gold);background:var(--gold-pale);border:1px solid var(--gold-border);border-radius:20px;padding:3px 10px;font-size:11px;font-weight:500}.sdc-badge-v2{background:var(--gold);color:var(--dark);vertical-align:middle;border-radius:6px;margin-left:8px;padding:2px 9px;font-size:10px;font-weight:700;display:inline-block}.materials-v2{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;max-width:860px;margin:0 auto;display:grid}.material-card-v2{background:var(--dark-card);border:1px solid var(--dark-border);border-radius:var(--radius);padding:24px}.material-card-v2 h4{color:var(--gold);border-bottom:1px solid var(--dark-border);align-items:center;gap:8px;margin-bottom:14px;padding-bottom:10px;font-size:13px;font-weight:700;display:flex}.mat-tags{flex-wrap:wrap;gap:7px;display:flex}.mat-tag{color:var(--text-sub);border:1px solid var(--dark-border);background:#ffffff0a;border-radius:20px;padding:3px 10px;font-size:11px}.flow-timeline{gap:0;max-width:1000px;margin:0 auto;padding-bottom:4px;display:flex;overflow-x:auto}.flow-step-v2{flex:1;min-width:160px;padding:0 12px;position:relative}.flow-step-v2:not(:last-child):after{content:"";background:linear-gradient(to right, var(--gold) 0%, #c89a384d 100%);z-index:1;width:24px;height:2px;position:absolute;top:22px;right:-12px}.flow-num-v2{background:var(--gold);width:44px;height:44px;color:var(--dark);border-radius:50%;justify-content:center;align-items:center;margin-bottom:18px;font-size:15px;font-weight:900;display:flex;box-shadow:0 4px 16px #c89a3859}.flow-step-v2 h4{color:var(--text);margin-bottom:8px;font-size:13px;font-weight:700}.flow-step-v2 p{color:var(--text-sub);font-size:12px;line-height:1.8}.contact-page{background:var(--light);padding:80px}.contact-two-col{grid-template-columns:1fr 1.6fr;align-items:start;gap:64px;max-width:1000px;margin:0 auto;display:grid}.contact-info-side .label-text{color:var(--green);letter-spacing:2.5px;text-transform:uppercase;align-items:center;gap:10px;margin-bottom:16px;font-size:11px;font-weight:700;display:inline-flex}.contact-info-side .label-text:before{content:"";background:var(--green);width:22px;height:1.5px;display:block}.contact-info-side h2{color:var(--dark);margin-bottom:16px;font-size:24px;font-weight:900;line-height:1.4}.contact-info-side p{color:#555;margin-bottom:32px;font-size:13px;line-height:1.9}.contact-meta-list{flex-direction:column;gap:14px;display:flex}.contact-meta-row{align-items:flex-start;gap:14px;display:flex}.contact-meta-row .icon-box{width:38px;height:38px;color:var(--green);background:#1a7a441a;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.contact-meta-row .content .lbl{color:#888;font-size:11px;font-weight:500}.contact-meta-row .content .val{color:var(--dark);font-size:13px;font-weight:700}.contact-form-side{background:var(--white);border-radius:14px;padding:40px;box-shadow:0 4px 24px #00000012}.form-grid{flex-direction:column;gap:18px;display:flex}.form-group-v2{flex-direction:column;gap:6px;display:flex}.form-label-v2{color:var(--dark);font-size:13px;font-weight:700}.form-label-v2 .req{color:var(--green);margin-left:4px;font-size:10px}.form-input-v2{color:var(--dark);transition:border-color var(--t), box-shadow var(--t);background:#fafaf8;border:1.5px solid #e0ddd6;border-radius:8px;outline:none;padding:12px 16px;font-family:Noto Sans JP,sans-serif;font-size:14px}.form-input-v2:focus{border-color:var(--green);background:#fff;box-shadow:0 0 0 3px #1a7a4414}.form-input-v2::placeholder{color:#bbb}.form-textarea-v2{resize:vertical;min-height:130px}.form-select-v2{cursor:pointer}.submit-btn-v2{background:var(--dark);color:var(--white);cursor:pointer;transition:background var(--t), transform var(--t);border:none;border-radius:9px;margin-top:4px;padding:15px;font-family:Noto Sans JP,sans-serif;font-size:15px;font-weight:700}.submit-btn-v2:hover:not(:disabled){background:#222;transform:translateY(-1px)}.submit-btn-v2:disabled{cursor:not-allowed;opacity:.7}.form-error{color:#c0392b;margin-top:8px;font-size:12px}.form-success{text-align:center;color:var(--green);padding:32px;font-size:16px;font-weight:700}footer{background:var(--dark);border-top:1px solid var(--dark-border);padding:40px 80px}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;max-width:1100px;margin:0 auto;display:flex}.footer-logo-wrap{align-items:center;gap:10px;display:flex}.footer-logo-text{color:var(--text-sub);letter-spacing:1px;font-size:14px;font-weight:700}.footer-links{gap:24px;list-style:none;display:flex}.footer-links a{color:var(--text-muted);transition:color var(--t);font-size:12px;text-decoration:none}.footer-links a:hover{color:var(--gold)}.footer-copy{color:var(--text-muted);font-size:13px}.photo-strip{grid-template-columns:repeat(3,1fr);height:340px;display:grid;overflow:hidden}.photo-strip-item{position:relative;overflow:hidden}.photo-strip-item:before{content:"";z-index:1;transition:background var(--t);background:linear-gradient(#0000 0%,#0d111740 50%,#0d1117d9 100%);position:absolute;inset:0}.photo-strip-item:hover:before{background:linear-gradient(#0d11171a 0%,#0d111773 40%,#0d1117e6 100%)}.photo-strip-bg{background-position:50%;background-size:cover;transition:transform .7s;position:absolute;inset:0}.photo-strip-item:hover .photo-strip-bg{transform:scale(1.06)}.photo-strip-caption{z-index:2;padding:28px 28px 26px;position:absolute;bottom:0;left:0;right:0}.photo-strip-caption .strip-tag{background:var(--gold);color:var(--dark);letter-spacing:1.5px;text-transform:uppercase;border-radius:4px;margin-bottom:8px;padding:3px 10px;font-size:10px;font-weight:700;display:inline-block}.photo-strip-caption h4{color:#fff;font-size:16px;font-weight:700;line-height:1.4}.photo-strip-caption p{color:#fff9;margin-top:4px;font-size:12px;line-height:1.6}.fade-in{opacity:0;transition:opacity .65s,transform .65s;transform:translateY(24px)}.fade-in.visible{opacity:1;transform:translateY(0)}.fade-in.delay-1{transition-delay:.1s}.fade-in.delay-2{transition-delay:.2s}.fade-in.delay-3{transition-delay:.3s}.fade-in.delay-4{transition-delay:.4s}@media (max-width:900px){nav{padding:0 24px}.nav-links,.nav-cta-btn{display:none}.nav-hamburger{display:flex}.hero-split{grid-template-columns:1fr;min-height:auto}.hero-text-side{padding:60px 28px}.hero-image-side{height:280px}.model-split{grid-template-columns:1fr;gap:40px}.section,.section-full{padding:64px 28px}.page-hero{padding:48px 28px}.breadcrumb{padding:12px 28px}.photo-strip{grid-template-columns:1fr;height:auto}.photo-strip-item{height:220px}.flow-timeline{gap:0}.flow-step-v2{min-width:130px}.contact-page{padding:48px 28px}.contact-two-col{grid-template-columns:1fr;gap:40px}footer{padding:32px 28px}.footer-inner{flex-direction:column;align-items:flex-start;gap:16px}.cta-section{padding:60px 28px}.sdc-v2{grid-template-columns:1fr;gap:16px}}.about-table{border-collapse:collapse;width:100%}.about-table th,.about-table td{text-align:left;vertical-align:top;border-bottom:1px solid #ffffff12;padding:16px 20px;font-size:14px;line-height:1.8}.about-table th{width:160px;color:var(--gold);white-space:nowrap;font-weight:600}.about-table td{color:var(--text-sub)}.about-profile-wrap{max-width:760px;margin:48px auto 0}.about-profile-avatar{border:2px solid var(--gold);background:#c89a381f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:160px;height:160px;display:flex}.about-profile-body h3{color:var(--text);margin:0;font-size:22px;font-weight:900}.about-profile-body .profile-role{color:var(--gold);letter-spacing:.1em;margin-bottom:10px;font-size:12px;font-weight:600}.about-profile-body .profile-name-row{align-items:baseline;gap:10px;margin-bottom:20px;display:flex}.about-profile-body .profile-title{color:var(--gold);letter-spacing:.05em;white-space:nowrap;font-size:13px;font-weight:600}.about-profile-body p{color:var(--text-sub);font-size:14px;line-height:2}@media (max-width:768px){.about-table th{width:100px}.about-profile-wrap{grid-template-columns:1fr;justify-items:center}.about-profile-body{text-align:left}}@media (max-width:600px){.hero-heading{font-size:22px}.hero-stats-row{flex-wrap:wrap;gap:24px}.service-row{flex-direction:column;gap:16px}.service-num{width:auto;font-size:32px}.strength-strip{flex-direction:column;align-items:flex-start;gap:16px}.strength-num-big{display:none}.flow-timeline{flex-direction:column;gap:20px;overflow-x:visible}.flow-step-v2:not(:last-child):after{display:none}.contact-form-side{padding:24px}.materials-v2{grid-template-columns:1fr}}
