.section-num{font-family:Inter,sans-serif;font-size:13px;font-weight:600;color:var(--green-deep);display:inline-flex;align-items:center;gap:12px}.section-num:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green)}.section-tag{font-family:Inter,sans-serif;font-size:12px;font-weight:500;color:var(--ink-3);letter-spacing:.15em;text-transform:uppercase}.section-head{display:flex;align-items:center;gap:18px;padding:28px 0}.hero-section .frame{max-width:1320px}.hero{min-height:calc(100vh - 70px);display:grid;grid-template-columns:1.1fr 1fr;gap:40px;padding:50px 0 60px;align-items:center}.hero .left{padding-right:20px}.hero h1{font-size:42px;font-weight:600;line-height:1.3;letter-spacing:.02em;margin-bottom:24px;color:var(--ink)}.hero h1 .em{background:linear-gradient(transparent 65%,var(--green-soft) 65%);padding:0 4px}.hero .lead{font-size:14px;line-height:2;color:var(--ink-2);max-width:480px;margin-bottom:36px}.hero-visual{position:relative;aspect-ratio:1/1;border-radius:18px;overflow:hidden;background:var(--paper-3);box-shadow:0 30px 80px #00000014}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}.hero-visual .photo-label{position:absolute;bottom:22px;left:22px;z-index:3;font-family:Inter,sans-serif;font-size:11px;color:var(--ink);letter-spacing:.12em;background:#ffffffeb;padding:8px 14px;border-radius:100px;backdrop-filter:blur(8px);font-weight:500}.hero-visual .photo-label .dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:8px;vertical-align:middle;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.4)}}.strengths{padding:100px 0 80px;background:var(--paper-2)}.strengths .frame{max-width:1320px}.strengths-head{text-align:center;max-width:720px;margin:0 auto 60px}.strengths-head h2{font-size:36px;font-weight:600;line-height:1.4;margin:18px 0 16px}.strengths-head h2 .em{color:var(--green-deep)}.strengths-head p{color:var(--ink-2);font-size:14px;line-height:1.9}.strengths-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.strength{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:36px 32px;position:relative;overflow:hidden;transition:all .3s}.strength:hover{transform:translateY(-4px);border-color:var(--green);box-shadow:0 12px 40px #0000000a}.strength .ring{position:absolute;width:180px;height:180px;border-radius:50%;border:1.5px solid var(--green);top:-60px;right:-60px;opacity:.4;transition:opacity .3s}.strength .ring:after{content:"";position:absolute;inset:18px;border:1.5px solid var(--green);border-radius:50%;opacity:.5}.strength:hover .ring{opacity:.7;transform:scale(1.05)}.strength .label{font-family:Inter,sans-serif;font-size:11px;color:var(--ink-3);letter-spacing:.15em;margin-bottom:8px}.strength .axis{font-family:Inter,sans-serif;font-size:56px;font-weight:700;line-height:1;letter-spacing:-.02em;margin-bottom:8px;background:linear-gradient(110deg,var(--ink) 0%,var(--ink) 65%,var(--green-deep) 65%,var(--green-deep) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.strength h3{font-size:18px;font-weight:600;margin-bottom:14px}.strength p{font-size:13px;color:var(--ink-2);line-height:1.9}.strength .meta{margin-top:22px;padding-top:16px;border-top:1px dashed var(--line);font-size:12px;color:var(--ink-3);display:flex;gap:16px}.strength .meta strong{color:var(--ink);font-weight:600}.convergence{margin-top:36px;text-align:center}.convergence-pill{display:inline-flex;align-items:center;gap:14px;background:var(--ink);color:var(--paper);padding:14px 28px;border-radius:100px;font-size:14px;font-weight:500}.convergence-pill .x{color:var(--green);font-weight:700;font-family:Inter,sans-serif}.services{padding:110px 0 80px}.services .frame{max-width:1320px}.services .section-head{padding-bottom:48px}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{border:1px solid var(--line);border-radius:18px;padding:28px 26px 24px;background:var(--paper);cursor:pointer;transition:all .3s;display:flex;flex-direction:column;min-height:320px;position:relative;overflow:hidden}.service-card:hover{background:var(--ink);color:var(--paper);transform:translateY(-4px);border-color:var(--ink)}.service-card .num{font-family:Inter,sans-serif;font-size:11px;font-weight:500;color:var(--green-deep);letter-spacing:.15em;margin-bottom:14px}.service-card:hover .num{color:var(--green)}.service-card .icon-frame{width:56px;height:56px;border:1.5px solid var(--ink);border-radius:50%;margin-bottom:22px;display:flex;align-items:center;justify-content:center;position:relative;transition:all .3s}.service-card:hover .icon-frame{border-color:var(--green)}.service-card .icon-frame:after{content:"";width:12px;height:12px;border-radius:50%;background:var(--green)}.service-card h3{font-size:20px;font-weight:600;margin-bottom:10px;line-height:1.4}.service-card .desc{font-size:12px;color:var(--ink-2);line-height:1.8;margin-bottom:16px}.service-card:hover .desc{color:#ffffffb3}.service-card .brands{margin-top:auto;padding-top:14px;border-top:1px dashed var(--line)}.service-card:hover .brands{border-top-color:#ffffff26}.service-card .brand{font-size:11px;color:var(--ink-3);display:flex;align-items:center;gap:6px;padding:3px 0;font-family:Inter,sans-serif}.service-card:hover .brand{color:#ffffff8c}.service-card .brand:before{content:"▸";color:var(--green-deep)}.service-card:hover .brand:before{color:var(--green)}.service-card .arrow{position:absolute;bottom:20px;right:20px;width:32px;height:32px;border-radius:50%;background:var(--paper-3);display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--ink-3);transition:all .3s}.service-card:hover .arrow{background:var(--green);color:var(--ink);transform:rotate(-45deg)}.about{padding:110px 0}.about .frame{max-width:1320px}.about-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;margin-top:40px;align-items:start}.ceo-photo-wrap{position:relative;aspect-ratio:4/5;max-width:400px}.ceo-photo-wrap:before{content:"";position:absolute;inset:-20px -20px 40px 40px;background:var(--green);border-radius:0 0 0 200px;z-index:0}.ceo-photo{position:relative;z-index:1;width:100%;height:100%;border-radius:12px;background:#f0f0e8;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;color:var(--ink-3);font-size:13px;box-shadow:0 20px 60px #00000014}.ceo-info .role{font-family:Inter,sans-serif;font-size:11px;color:var(--ink-3);letter-spacing:.2em;margin-bottom:8px}.ceo-info .name{font-size:38px;font-weight:600;line-height:1.2;margin-bottom:8px}.ceo-info .name .en{display:block;font-size:14px;color:var(--ink-3);font-weight:400;margin-top:4px;letter-spacing:.1em}.ceo-info .cert{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-2);background:var(--green-soft);padding:6px 14px;border-radius:100px;margin-bottom:24px}.ceo-info .cert:before{content:"●";color:var(--green-deep);font-size:8px}.ceo-info .bio{font-size:14px;line-height:2;color:var(--ink-2);margin-bottom:28px}.ceo-books{display:flex;gap:16px;padding:20px 0 24px;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);align-items:center}.book{width:64px;aspect-ratio:3/4;border-radius:4px;overflow:hidden;box-shadow:2px 4px 12px #00000026;flex-shrink:0}.book img{width:100%;height:100%;object-fit:cover;display:block}.ceo-books .text{flex:1;font-size:12px;color:var(--ink-2)}.ceo-books .text .ttl{font-weight:600;color:var(--ink);display:block;margin-bottom:4px}.company-table{width:100%;margin-top:28px;border-collapse:collapse;font-size:13px}.company-table th,.company-table td{padding:14px 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.company-table th{width:110px;color:var(--ink-3);font-weight:500;font-family:Inter,sans-serif;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.company-table td{color:var(--ink);font-weight:500}.company-table td .sub{display:block;color:var(--ink-3);font-size:11px;font-weight:400;margin-top:2px}.news{padding:100px 0;background:var(--paper-2)}.news .frame{max-width:1320px}.news-row{display:grid;grid-template-columns:110px 100px 1fr 36px;gap:24px;align-items:center;padding:22px 8px;border-bottom:1px solid var(--line);cursor:pointer;transition:all .2s}.news-row:first-of-type{border-top:1px solid var(--line)}.news-row:hover{background:var(--paper);padding-left:20px}.news-row .date{font-family:Inter,sans-serif;color:var(--ink-3);font-size:13px;font-weight:500}.news-row .badge{font-size:11px;padding:4px 10px;border:1px solid var(--line);border-radius:100px;text-align:center;color:var(--ink-2);background:var(--paper);font-weight:500}.news-row .badge.press{color:var(--green-deep);border-color:var(--green)}.news-row .title{font-size:14px;color:var(--ink);font-weight:500}.news-row .arrow{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--ink-3);transition:all .2s}.news-row:hover .arrow{background:var(--green);border-color:var(--green);color:var(--ink);transform:rotate(-45deg)}.news-foot{text-align:center;margin-top:36px}.news-foot .more{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;border:1px solid var(--ink);border-radius:100px;font-size:13px;font-weight:500;transition:all .2s}.news-foot .more:hover{background:var(--ink);color:var(--paper)}.news-foot .more:after{content:"→"}.contact{padding:120px 0;background:#ececea;color:var(--ink);position:relative;overflow:hidden}.contact:before{content:"";position:absolute;top:-200px;right:-200px;width:600px;height:600px;border-radius:50%;border:1px solid rgba(34,38,42,.1);pointer-events:none}.contact:after{content:"";position:absolute;top:-150px;right:-150px;width:500px;height:500px;border-radius:50%;border:1px solid rgba(111,227,74,.45);pointer-events:none}.contact .frame{max-width:1320px}.contact-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:80px;position:relative}.contact-left .label{font-family:Inter,sans-serif;font-size:12px;letter-spacing:.2em;color:var(--green);margin-bottom:16px}.contact-left h2{font-size:44px;font-weight:600;line-height:1.3;margin-bottom:24px}.contact-left h2 .x{color:var(--green);font-family:Inter,sans-serif;font-weight:700}.contact-left p{font-size:14px;line-height:2;color:#22262ab3}.contact-form{display:flex;flex-direction:column;gap:18px;position:relative}.contact-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form label{display:flex;flex-direction:column;gap:8px}.contact-form .form-label{font-family:Inter,sans-serif;font-size:11px;letter-spacing:.1em;color:#22262a8c;text-transform:uppercase;display:inline-flex;align-items:center;gap:8px}.contact-form .form-label em{font-style:normal;font-size:10px;font-weight:500;background:var(--ink);color:var(--paper);padding:2px 6px;border-radius:3px;letter-spacing:.05em}.contact-form .form-label em.opt{background:transparent;color:var(--ink-3);border:1px solid rgba(34,38,42,.25)}.contact-form input[type=text],.contact-form input[type=email],.contact-form select,.contact-form textarea{background:transparent;border:none;border-bottom:1px solid rgba(34,38,42,.18);padding:10px 0;color:var(--ink);font-size:15px;font-family:inherit;transition:border-color .2s;appearance:none;-webkit-appearance:none}.contact-form select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'><path d='M1 1.5L6 6.5L11 1.5' stroke='%23444' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 4px center;padding-right:24px}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:none;border-bottom-color:var(--ink)}.contact-form textarea{min-height:110px;resize:vertical}.contact-form .form-consent{flex-direction:row;align-items:center;gap:10px;font-size:13px;color:#22262abf;line-height:1.6;margin-top:4px}.contact-form .form-consent input{width:16px;height:16px;accent-color:var(--ink)}.contact-form .form-consent a{color:var(--ink);border-bottom:1px solid var(--ink-3)}.contact-form .form-consent a:hover{border-bottom-color:var(--ink)}.contact-form .submit{align-self:flex-end;margin-top:12px;background:var(--green);color:var(--ink);border:none;padding:16px 36px;border-radius:100px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:10px;transition:all .2s}.contact-form .submit:hover{background:var(--ink);color:var(--paper);transform:translateY(-2px)}.contact-form .submit:after{content:"→"}.contact-form .submit:disabled{background:var(--ink-3);color:var(--paper);cursor:wait;transform:none}.contact-form .form-note{font-size:11px;color:var(--ink-3);line-height:1.8;margin-top:4px}.contact-form .form-pending{padding:14px 18px;background:#ffebb48c;border:1px solid rgba(180,140,40,.35);border-radius:8px;font-size:12px;color:#6e4f00;line-height:1.8}.contact-form .form-pending code{background:#0000000f;padding:1px 6px;border-radius:3px;font-family:ui-monospace,Menlo,monospace;font-size:11px}.form-success{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:48px 36px;text-align:center;box-shadow:0 16px 40px #0000000a}.form-success-icon{width:64px;height:64px;border-radius:50%;background:var(--green);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;margin-bottom:20px}.form-success h3{font-size:22px;font-weight:600;margin-bottom:14px}.form-success p{font-size:14px;line-height:1.9;color:var(--ink-2)}.form-success .form-success-meta{margin-top:14px;font-size:12px;color:var(--ink-3)}.form-error{padding:12px 16px;background:#ff505014;border:1px solid rgba(255,80,80,.3);border-radius:8px;font-size:13px;color:#b3261e;line-height:1.7}@media(max-width:980px){.contact-form .form-row{grid-template-columns:1fr;gap:12px}}@media(max-width:980px){.hero,.strengths-grid{grid-template-columns:1fr}.services-grid{grid-template-columns:1fr 1fr}.about-grid{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr;gap:40px}.hero h1{font-size:38px}}
