:root{--color-ink:#1a1a1a;--color-ink-sub:#555;--color-ink-light:#888;--color-navy:#1e3a5f;--color-navy-mid:#2c5282;--color-rule:#e2e2e2;--color-bg:#fff;--color-bg-alt:#f6f5f0;--color-bg-dark:#1a1a1a;--font-ja:"Noto Sans JP", sans-serif;--font-en:"Inter", sans-serif;--max-w:1080px;--pad-x:2rem;--section-py:7rem}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-ja);color:var(--color-ink);background:var(--color-bg);-webkit-font-smoothing:antialiased;line-height:1.8}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.container{max-width:var(--max-w);padding:0 var(--pad-x);margin:0 auto}.header{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-rule);background:#fffffff5;position:fixed;top:0;left:0;right:0}.header-content{justify-content:space-between;align-items:center;height:68px;display:flex}.logo-link{display:inline-block}.logo-text{letter-spacing:.02em;color:var(--color-ink);font-size:1.1rem;font-weight:700}.logo-subtitle{font-family:var(--font-en);letter-spacing:.14em;color:var(--color-ink-light);margin-top:2px;font-size:.7rem}.nav{align-items:center;gap:2rem;display:flex}.nav-link{color:var(--color-ink-sub);font-size:.875rem;font-weight:500;transition:color .2s}.nav-link:hover{color:var(--color-navy)}.nav-link-cta{border:1.5px solid var(--color-navy);color:var(--color-navy);border-radius:4px;padding:.5rem 1.25rem;font-weight:600;transition:background .2s,color .2s}.nav-link-cta:hover{background:var(--color-navy);color:#fff}.menu-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:.4rem;display:none}.menu-toggle span{background:var(--color-ink);width:22px;height:2px;transition:all .25s}.btn{cursor:pointer;border:2px solid #0000;border-radius:4px;padding:.85rem 2rem;font-size:.95rem;font-weight:600;transition:all .2s;display:inline-block}.btn-primary{background:var(--color-navy);color:#fff}.btn-primary:hover{background:var(--color-navy-mid)}.btn-outline{color:var(--color-navy);border-color:var(--color-navy);background:0 0}.btn-outline:hover{background:var(--color-navy);color:#fff}.section-header{margin-bottom:4rem}.section-label{font-family:var(--font-en);letter-spacing:.16em;color:var(--color-navy);text-transform:uppercase;margin-bottom:.75rem;font-size:.75rem;font-weight:600;display:block}.section-title{letter-spacing:-.02em;color:var(--color-ink);font-size:2.25rem;font-weight:700;line-height:1.3}.section-description{color:var(--color-ink-sub);margin-top:1rem;font-size:1rem;line-height:1.8}.hero{background:var(--color-bg);border-bottom:1px solid var(--color-rule);padding:calc(68px + 6rem) 0 6rem;position:relative;overflow:hidden}.hero .container{z-index:1;position:relative}.hero-blueprint{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.hero-blueprint:before{content:"";background-image:linear-gradient(90deg,#1e3a5f0d 1px,#0000 1px),linear-gradient(#1e3a5f0d 1px,#0000 1px);background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000 30%,#000 90%);mask-image:linear-gradient(90deg,#0000 30%,#000 90%)}.hero-blueprint svg{width:100%;height:100%;position:absolute;inset:0}.hero-content{max-width:720px}.hero-label{font-family:var(--font-en);letter-spacing:.14em;color:var(--color-navy);text-transform:uppercase;margin-bottom:1.5rem;font-size:.8rem;font-weight:600}.hero-title{letter-spacing:-.03em;color:var(--color-ink);margin-bottom:1.75rem;font-size:clamp(2.5rem,5vw,3.75rem);font-weight:900;line-height:1.15}.hero-subtitle{color:var(--color-ink-sub);max-width:560px;margin-bottom:2.5rem;font-size:1.05rem;line-height:1.9}.hero-cta{flex-wrap:wrap;gap:1rem;display:flex}.pain-points{padding:var(--section-py) 0;background:var(--color-bg-alt)}.pain-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2.5rem;display:grid}.pain-card{background:var(--color-bg);border:1px solid var(--color-rule);border-radius:8px;align-items:flex-start;gap:1rem;height:100%;padding:1.5rem;display:flex}.pain-icon{width:36px;height:36px;color:var(--color-navy);flex-shrink:0;margin-top:2px}.pain-icon svg{width:100%;height:100%}.pain-card p{color:var(--color-ink-sub);font-size:.9rem;line-height:1.7}.pain-card strong{color:var(--color-ink);font-weight:600}.pain-cta-text{text-align:center;color:var(--color-ink);margin-bottom:1.25rem;font-size:1rem;font-weight:600}.pain-cta{text-align:center}.btn-pain-cta{background:var(--color-navy);color:#fff;border-radius:4px;padding:.85rem 2.5rem;font-size:.95rem;font-weight:600;transition:background .2s;display:inline-block}.btn-pain-cta:hover{background:var(--color-navy-mid)}.strengths{padding:var(--section-py) 0;background:var(--color-bg)}.strengths-grid{grid-template-columns:repeat(3,1fr);gap:2rem;display:grid}.strength-card{border-top:2px solid var(--color-navy);padding-top:1.75rem}.strength-icon{width:44px;height:44px;color:var(--color-navy);margin-bottom:1.25rem}.strength-icon svg{width:100%;height:100%}.strength-title{color:var(--color-ink);margin-bottom:.25rem;font-size:1.15rem;font-weight:700}.strength-subtitle{color:var(--color-navy);letter-spacing:.04em;margin-bottom:.75rem;font-size:.8rem;font-weight:600}.strength-description{color:var(--color-ink-sub);font-size:.9rem;line-height:1.85}.greeting{padding:var(--section-py) 0;background:var(--color-bg-alt)}.greeting-content{max-width:680px}.greeting-name{color:var(--color-ink);margin-bottom:.2rem;font-size:1.35rem;font-weight:700}.greeting-role{color:var(--color-navy);margin-bottom:1.75rem;font-size:.85rem;font-weight:600}.greeting-career p{color:var(--color-ink-sub);margin-bottom:1rem;font-size:.95rem;line-height:1.9}.greeting-message{border-top:1px solid var(--color-rule);margin-top:2rem;padding-top:2rem}.greeting-message p{color:var(--color-ink-sub);font-size:.95rem;line-height:1.9}.services{padding:var(--section-py) 0;background:var(--color-bg)}.service-price-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:1rem;display:grid}.service-price-card{border:1px solid var(--color-rule);border-radius:8px;flex-direction:column;transition:box-shadow .2s;display:flex;overflow:hidden}.service-price-card:hover{box-shadow:0 4px 24px #00000014}.service-price-image{background:var(--color-bg-alt);height:180px;position:relative;overflow:hidden}.service-price-image img{object-fit:cover;width:100%;height:100%}.service-price-content{flex:1;padding:1.75rem}.service-price-title{color:var(--color-ink);margin-bottom:.4rem;font-size:1.1rem;font-weight:700}.service-price-amount{color:var(--color-navy);margin-bottom:.75rem;font-size:1.35rem;font-weight:700}.service-price-desc{color:var(--color-ink-sub);margin-bottom:1rem;font-size:.88rem;line-height:1.7}.service-price-features{flex-direction:column;gap:.45rem;list-style:none;display:flex}.service-price-features li{color:var(--color-ink-sub);padding-left:1.1rem;font-size:.88rem;line-height:1.6;position:relative}.service-price-features li:before{content:"—";color:var(--color-navy);font-size:.75rem;position:absolute;top:.1em;left:0}.service-price-note{color:var(--color-ink-light);text-align:right;font-size:.8rem}.flow{padding:var(--section-py) 0;background:var(--color-bg-alt)}.flow-steps{grid-template-columns:repeat(4,1fr);gap:0;display:grid;position:relative}.flow-steps:before{content:"";background:var(--color-rule);height:1px;position:absolute;top:1.25rem;left:2rem;right:2rem}.flow-step{padding:0 1.5rem 0 0;position:relative}.flow-step-number{font-family:var(--font-en);letter-spacing:.1em;color:var(--color-navy);margin-bottom:2.5rem;font-size:.72rem;font-weight:700;position:relative}.flow-step-number:before{content:"";background:var(--color-navy);border-radius:50%;width:10px;height:10px;margin-bottom:.5rem;display:block}.flow-step-title{color:var(--color-ink);margin-bottom:.5rem;font-size:1rem;font-weight:700}.flow-step-desc{color:var(--color-ink-sub);font-size:.875rem;line-height:1.8}.company{padding:var(--section-py) 0;background:var(--color-bg)}.company-table{border-collapse:collapse;width:100%}.company-table tr{border-bottom:1px solid var(--color-rule)}.company-table tr:first-child{border-top:1px solid var(--color-rule)}.company-table th,.company-table td{text-align:left;padding:1.1rem 1rem;font-size:.9rem}.company-table th{width:180px;color:var(--color-ink);white-space:nowrap;font-weight:600}.company-table td{color:var(--color-ink-sub)}.business-list{list-style:none}.business-list li{margin-bottom:.25rem}.contact{padding:var(--section-py) 0;background:var(--color-bg-dark);color:#fff}.contact-title{letter-spacing:-.02em;color:#fff;margin-bottom:1rem;font-size:2rem;font-weight:700}.contact-description{color:#ffffffa6;max-width:540px;margin-bottom:3rem;font-size:.95rem;line-height:1.9}.contact-info{flex-wrap:wrap;gap:2rem;margin-bottom:3rem;display:flex}.contact-item{align-items:flex-start;gap:.75rem;display:flex}.contact-icon{color:#fff6;flex-shrink:0;width:40px;height:40px;margin-top:2px}.contact-icon svg{width:100%;height:100%}.contact-item h4{color:#ffffff73;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.2rem;font-size:.78rem;font-weight:600}.contact-item p{color:#ffffffd9;font-size:.95rem;font-weight:500}.contact-link{color:#ffffffd9}.contact-link:hover{text-decoration:underline}.contact-note{color:#ffffff73;font-size:.78rem;font-weight:400}.contact-form-wrapper{max-width:560px}.contact-form-title{color:#ffffffd9;margin-bottom:1.5rem;font-size:1.1rem;font-weight:600}.contact-form{background:#fff;border-radius:8px;padding:2rem}.form-group{margin-bottom:1.25rem}.form-row{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.contact-form label{color:var(--color-ink);margin-bottom:.4rem;font-size:.85rem;font-weight:600;display:block}.contact-form .required{color:#dc2626}.contact-form input,.contact-form textarea{width:100%;font-size:.9rem;font-family:var(--font-ja);color:var(--color-ink);border:1px solid var(--color-rule);background:var(--color-bg);border-radius:4px;padding:.65rem .85rem;transition:border-color .15s}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--color-navy);outline:none}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#bbb}.contact-form textarea{resize:vertical;min-height:110px}.btn-submit{background:var(--color-navy);color:#fff;cursor:pointer;border:none;border-radius:4px;width:100%;padding:.85rem;font-size:.95rem;font-weight:600;transition:background .2s}.btn-submit:hover{background:var(--color-navy-mid)}.btn-submit:disabled{opacity:.5;cursor:not-allowed}.form-message{border-radius:4px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.88rem}.form-message-success{color:#065f46;background:#d1fae5}.form-message-error{color:#991b1b;background:#fee2e2}.form-message-warning{color:#92400e;background:#fef3c7}.form-note{color:#ffffff73;margin-top:1.25rem;font-size:.8rem;line-height:1.7}.form-note a{color:#ffffffa6;text-decoration:underline}.form-success-message{text-align:center;background:#fff;border-radius:8px;padding:2.5rem 2rem}.success-icon{color:#fff;background:#065f46;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 1.25rem;font-size:2rem;font-weight:700;display:flex}.success-title{color:var(--color-ink);margin-bottom:.75rem;font-size:1.25rem;font-weight:700}.success-text{color:var(--color-ink-sub);margin-bottom:1.5rem;font-size:.9rem;line-height:1.8}.success-contact{background:var(--color-bg-alt);border-radius:6px;padding:1rem}.success-contact p{color:var(--color-ink-sub);margin-bottom:.3rem;font-size:.88rem}.success-contact a{color:var(--color-navy);font-weight:600}.footer{background:#111;border-top:1px solid #2a2a2a;padding:2.5rem 0}.footer-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.footer-logo h3{color:#ffffffbf;font-size:.95rem;font-weight:600}.footer-logo p{font-family:var(--font-en);letter-spacing:.1em;color:#ffffff59;margin-top:2px;font-size:.7rem}.footer-nav a{color:#fff6;font-size:.8rem;transition:color .2s}.footer-nav a:hover{color:#ffffffb3}.footer-copyright{color:#ffffff4d;font-size:.78rem}.privacy-page{min-height:100vh;padding:calc(68px + 4rem) 0 6rem}.privacy-content{max-width:740px;margin:0 auto}.privacy-title{color:var(--color-ink);margin-bottom:.5rem;font-size:1.75rem;font-weight:700}.privacy-subtitle{font-family:var(--font-en);color:var(--color-ink-light);letter-spacing:.1em;margin-bottom:3rem;font-size:.8rem}.privacy-section{margin-bottom:2.5rem}.privacy-section h2{color:var(--color-ink);border-bottom:2px solid var(--color-navy);margin-bottom:1rem;padding-bottom:.5rem;font-size:1.1rem;font-weight:700}.privacy-section h3{color:var(--color-ink);margin:1.5rem 0 .5rem;font-size:1rem;font-weight:700}.privacy-section h4{color:var(--color-ink-sub);margin:1.25rem 0 .4rem;font-size:.95rem;font-weight:700}.privacy-section h5{color:var(--color-ink-sub);margin:1rem 0 .4rem;font-size:.9rem;font-weight:600}.privacy-section p,.privacy-section li{color:var(--color-ink-sub);margin-bottom:.6rem;font-size:.9rem;line-height:1.85}.privacy-section ul{margin-bottom:.6rem;padding-left:1.25rem}.privacy-section a{color:var(--color-navy)}.privacy-section a:hover{text-decoration:underline}@media (max-width:1024px){.service-price-grid{grid-template-columns:1fr}.flow-steps{grid-template-columns:1fr 1fr;gap:3rem}.flow-steps:before{display:none}}@media (max-width:768px){:root{--section-py:5rem}.hero-title{font-size:2.4rem}.section-title{font-size:1.75rem}.nav{padding:1.5rem var(--pad-x);border-bottom:1px solid var(--color-rule);opacity:0;pointer-events:none;background:#fff;flex-direction:column;gap:1.25rem;transition:all .25s;position:fixed;top:68px;left:0;right:0;transform:translateY(-110%)}.nav.active{opacity:1;pointer-events:all;transform:translateY(0)}.menu-toggle{display:flex}.strengths-grid{grid-template-columns:1fr;gap:2.5rem}.pain-grid{grid-template-columns:1fr}.flow-steps{grid-template-columns:1fr;gap:2rem}.contact-info{flex-direction:column;gap:1.25rem}.form-row{grid-template-columns:1fr}.footer-content{flex-direction:column;align-items:flex-start}.company-table th{width:120px}}@media (max-width:480px){.hero-title{font-size:2rem}.hero-cta{flex-direction:column}.btn{text-align:center;width:100%}}.cases{padding:var(--section-py) 0;background:var(--color-bg-alt)}.cases-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;display:grid}.case-card{background:var(--color-bg);border:1px solid var(--color-rule);border-radius:4px;flex-direction:column;display:flex;overflow:hidden}.case-image{aspect-ratio:16/9;background:var(--color-bg-alt);overflow:hidden}.case-image img{object-fit:cover;width:100%;height:100%}.case-body{padding:2rem}.case-client{color:var(--color-navy);font-size:1.15rem;font-weight:700}.case-industry{color:var(--color-ink-light);margin-top:.2rem;font-size:.85rem}.case-list{flex-direction:column;gap:.9rem;margin-top:1.25rem;display:flex}.case-row{grid-template-columns:3.5rem 1fr;gap:.75rem;display:grid}.case-row dt{color:var(--color-navy-mid);padding-top:.15rem;font-size:.8rem;font-weight:700}.case-row dd{color:var(--color-ink-sub);font-size:.95rem}.case-row-result dd{color:var(--color-ink);font-weight:500}.case-voice{background:var(--color-bg-alt);border-left:3px solid var(--color-navy);border-radius:2px;margin-top:1.5rem;padding:1.1rem 1.25rem}.case-voice p{color:var(--color-ink);font-size:.95rem}.case-voice cite{color:var(--color-ink-light);text-align:right;margin-top:.6rem;font-size:.85rem;font-style:normal;display:block}.hp-field{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}
