:root{--color-bg:#f8f6f1;--color-bg-alt:#f0ede6;--color-surface:#fff;--color-border:#e0dbd0;--color-text-primary:#1a1a18;--color-text-secondary:#4a4a44;--color-text-muted:#8a8a80;--color-accent:#3d6b5e;--color-accent-light:#5a9b8a;--color-accent-pale:#e8f0ee;--color-accent2:#8b6f47;--color-accent2-pale:#f3ede4;--color-hero-bg:#243830;--color-hero-text:#f5f2ec;--font-sans:"Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;--font-serif:"M PLUS Rounded 1c", "Hiragino Kaku Gothic ProN", sans-serif;--section-padding:96px 24px;--section-padding-sm:64px 20px;--max-width:960px;--max-width-wide:1100px;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--shadow-sm:0 1px 4px #0000000f;--shadow-md:0 4px 16px #00000014;--shadow-hover:0 8px 32px #0000001f;--transition:.25s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text-primary);font-size:18px;font-weight:400;line-height:1.85}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.container{max-width:var(--max-width);margin:0 auto;padding:0 24px}.container--wide{max-width:var(--max-width-wide);margin:0 auto;padding:0 24px}.section{padding:var(--section-padding)}.section--alt{background-color:var(--color-bg-alt)}.section__eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);margin-bottom:12px;font-size:.8rem;font-weight:500}.section__title{font-family:var(--font-serif);color:var(--color-text-primary);margin-bottom:24px;font-size:clamp(1.7rem,3.2vw,2.25rem);font-weight:700;line-height:1.6}.section__lead{color:var(--color-text-secondary);max-width:680px;font-size:1.05rem;line-height:2}.nav{z-index:100;transition:background-color var(--transition), box-shadow var(--transition);justify-content:space-between;align-items:center;padding:16px 24px;display:flex;position:fixed;top:0;left:0;right:0}.nav--scrolled{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#1e2e2af2;box-shadow:0 1px #ffffff14}.nav__logo{font-family:var(--font-serif);color:var(--color-hero-text);letter-spacing:.05em;opacity:.95;font-size:1rem;font-weight:600}.nav__links{gap:28px;list-style:none;display:flex}.nav__links a{color:#f0ede6cc;letter-spacing:.04em;transition:color var(--transition);font-size:.85rem}.nav__links a:hover{color:var(--color-hero-text)}.hero{background-color:var(--color-hero-bg);flex-direction:column;justify-content:center;min-height:100vh;padding:120px 24px 80px;display:flex;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background-image:radial-gradient(circle,#5a9b8a26 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0}.hero:after{content:"";pointer-events:none;background:radial-gradient(#3d6b5e59 0%,#0000 70%);width:500px;height:500px;position:absolute;bottom:-100px;right:-100px}.hero__inner{max-width:var(--max-width);z-index:1;width:100%;margin:0 auto;position:relative}.hero__brand{letter-spacing:.2em;color:#f0ede680;text-transform:uppercase;margin-bottom:32px;font-size:.8rem;font-weight:300}.hero__main-title{font-family:var(--font-serif);color:var(--color-hero-text);letter-spacing:.01em;margin-bottom:16px;font-size:clamp(2.6rem,6.5vw,4.5rem);font-weight:800;line-height:1.25}.hero__sub-title{font-family:var(--font-serif);color:#f5f2ecbf;margin-bottom:40px;font-size:clamp(1.1rem,2.8vw,1.45rem);font-weight:500;line-height:1.7}.hero__accent-bar{background:var(--color-accent-light);border-radius:2px;width:48px;height:3px;margin-bottom:32px}.hero__description{color:#f0ede6a6;max-width:600px;margin-bottom:48px;font-size:clamp(1rem,2vw,1.1rem);line-height:2}.hero__cta{flex-wrap:wrap;gap:16px;display:flex}.btn{border-radius:var(--radius-md);font-size:.95rem;font-weight:500;font-family:var(--font-sans);cursor:pointer;transition:all var(--transition);letter-spacing:.04em;border:none;align-items:center;gap:8px;padding:14px 28px;display:inline-flex}.btn--primary{background-color:var(--color-accent-light);color:#fff;box-shadow:0 4px 16px #3d6b5e4d}.btn--primary:hover{background-color:var(--color-accent);transform:translateY(-2px);box-shadow:0 8px 24px #3d6b5e66}.btn--outline{color:#f0ede6d9;background-color:#0000;border:1px solid #f0ede64d}.btn--outline:hover{background-color:#f0ede614;border-color:#f0ede699;transform:translateY(-2px)}.hero__scroll-indicator{color:#f0ede666;letter-spacing:.1em;text-transform:uppercase;flex-direction:column;align-items:center;gap:8px;font-size:.7rem;animation:2.5s ease-in-out infinite float;display:flex;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}.hero__scroll-indicator:after{content:"";background:linear-gradient(#f0ede666,#0000);width:1px;height:32px}@keyframes float{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(6px)}}.concept{padding:var(--section-padding);background-color:var(--color-surface)}.concept__layout{grid-template-columns:1fr 1fr;align-items:start;gap:64px;display:grid}.concept__text p{color:var(--color-text-secondary);margin-bottom:20px;line-height:2}.concept__text p:last-child{margin-bottom:0}.concept__visual{flex-direction:column;gap:16px;display:flex}.concept__keyword{border-left:3px solid var(--color-accent);background-color:var(--color-accent-pale);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--color-accent);transition:transform var(--transition);padding:20px 24px;font-size:.95rem;font-weight:500;line-height:1.6}.concept__keyword:hover{transform:translate(4px)}.what-we-do{padding:var(--section-padding);background-color:var(--color-bg-alt)}.cards-grid{grid-template-columns:repeat(2,1fr);gap:20px;margin-top:40px;display:grid}.card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition);border:1px solid var(--color-border);padding:32px;position:relative;overflow:hidden}.card:before{content:"";background:linear-gradient(90deg, var(--color-accent), var(--color-accent-light));opacity:0;height:3px;transition:opacity var(--transition);position:absolute;top:0;left:0;right:0}.card:hover{box-shadow:var(--shadow-hover);border-color:var(--color-accent-pale);transform:translateY(-4px)}.card:hover:before{opacity:1}.card__number{color:var(--color-accent-pale);background:linear-gradient(135deg, var(--color-accent), var(--color-accent-light));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:12px;font-family:Georgia,serif;font-size:2rem;font-weight:700;line-height:1}.card__title{color:var(--color-text-primary);margin-bottom:12px;font-size:1.1rem;font-weight:700;line-height:1.4}.card__body{color:var(--color-text-secondary);font-size:.97rem;line-height:1.9}.use-cases{background-color:var(--color-bg-alt)}.use-cases .section__lead{margin-bottom:48px}.use-cases-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.use-case-card{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:all var(--transition);flex-direction:column;gap:10px;padding:28px;display:flex;position:relative;overflow:hidden}.use-case-card:after{content:"";background:linear-gradient(90deg, var(--color-accent), var(--color-accent-light));opacity:0;height:3px;transition:opacity var(--transition);position:absolute;bottom:0;left:0;right:0}.use-case-card:hover{box-shadow:var(--shadow-hover);border-color:var(--color-accent-pale);transform:translateY(-4px)}.use-case-card:hover:after{opacity:1}.use-case-card__area{letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);background:var(--color-accent-pale);border-radius:100px;width:fit-content;padding:3px 10px;font-size:.72rem;font-weight:600;display:inline-block}.use-case-card__emoji{font-size:1.8rem;line-height:1}.use-case-card__title{color:var(--color-text-primary);font-size:1rem;font-weight:700;line-height:1.5}.use-case-card__body{color:var(--color-text-secondary);flex:1;font-size:.88rem;line-height:1.85}.use-case-card__examples{border-top:1px solid var(--color-border);flex-direction:column;gap:4px;margin-top:4px;padding-top:12px;list-style:none;display:flex}.use-case-card__examples li{color:var(--color-text-muted);padding-left:14px;font-size:.82rem;line-height:1.6;position:relative}.use-case-card__examples li:before{content:"→";color:var(--color-accent-light);font-size:.78rem;position:absolute;left:0}.consultation{background-color:var(--color-hero-bg);padding:var(--section-padding);position:relative;overflow:hidden}.consultation:before{content:"";pointer-events:none;background-image:radial-gradient(circle,#5a9b8a14 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0}.consultation__inner{z-index:1;text-align:center;max-width:680px;margin:0 auto;position:relative}.consultation__title{font-family:var(--font-serif);color:var(--color-hero-text);margin-bottom:24px;font-size:clamp(1.5rem,3vw,2rem);font-weight:700;line-height:1.5}.consultation__lead{color:#f5f2ecb8;margin-bottom:32px;font-size:1rem;line-height:2}.consultation__sub{color:var(--color-accent-light);letter-spacing:.03em;margin-bottom:16px;font-size:.88rem;font-weight:500}.consultation__list{text-align:left;flex-direction:column;gap:10px;margin-bottom:36px;list-style:none;display:flex}.consultation__list li{color:#f5f2ecc7;border-radius:var(--radius-md);transition:background-color var(--transition);background:#5a9b8a14;border:1px solid #5a9b8a33;padding:12px 16px 12px 40px;font-size:.95rem;line-height:1.7;position:relative}.consultation__list li:before{content:"✓";color:var(--color-accent-light);font-size:.85rem;position:absolute;top:13px;left:14px}.consultation__list li:hover{background:#5a9b8a24}.consultation__cta-lead{color:#f5f2ec8c;margin-bottom:24px;font-size:.92rem;line-height:1.7}.btn--consultation{background:var(--color-accent-light);color:#fff;border-radius:var(--radius-md);transition:all var(--transition);align-items:center;gap:8px;padding:16px 36px;font-size:1rem;display:inline-flex;box-shadow:0 4px 20px #5a9b8a59}.btn--consultation:hover{background:var(--color-accent);transform:translateY(-2px);box-shadow:0 8px 28px #5a9b8a73}.fields{padding:var(--section-padding);background-color:var(--color-surface)}.fields__note{color:var(--color-text-muted);background:var(--color-bg-alt);border-radius:var(--radius-sm);border-left:2px solid var(--color-border);margin-top:24px;padding:10px 16px;font-size:.82rem;line-height:1.7}.fields-list{flex-direction:column;gap:2px;margin-top:40px;display:flex}.field-item{border-bottom:1px solid var(--color-border);transition:background-color var(--transition);grid-template-columns:240px 1fr;gap:0;display:grid}.field-item:first-child{border-top:1px solid var(--color-border)}.field-item:hover{background-color:var(--color-bg-alt)}.field-item__org{border-right:1px solid var(--color-border);padding:28px 32px 28px 0}.field-item__org-name{color:var(--color-text-primary);margin-bottom:2px;font-size:.95rem;font-weight:700;line-height:1.4}.field-item__org-role{color:var(--color-text-muted);margin-bottom:8px;font-size:.8rem;font-weight:400;line-height:1.4}.field-item__org-name--link{color:var(--color-text-primary);transition:color var(--transition);align-items:center;gap:4px;margin-bottom:4px;font-size:.95rem;font-weight:700;line-height:1.4;text-decoration:none;display:inline-flex}.field-item__org-name--link:hover{color:var(--color-accent)}.field-item__org-link-icon{opacity:.6;transition:opacity var(--transition), transform var(--transition);font-size:.8rem}.field-item__org-name--link:hover .field-item__org-link-icon{opacity:1;transform:translate(1px,-1px)}.field-item__org-tag{background:var(--color-accent-pale);color:var(--color-accent);letter-spacing:.03em;border-radius:100px;padding:3px 8px;font-size:.72rem;font-weight:500;display:inline-block}.field-item__content{padding:28px 0 28px 32px}.field-item__domain{color:var(--color-accent);letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px;font-size:.82rem;font-weight:500}.field-item__description{color:var(--color-text-secondary);font-size:.97rem;line-height:1.9}.profile{padding:var(--section-padding);background-color:var(--color-hero-bg);color:var(--color-hero-text);position:relative;overflow:hidden}.profile:before{content:"";pointer-events:none;background-image:radial-gradient(circle,#5a9b8a14 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0}.profile__inner{z-index:1;position:relative}.profile .section__eyebrow{color:var(--color-accent-light)}.profile .section__title{color:var(--color-hero-text);margin-bottom:6px}.profile__role{color:var(--color-accent-light);letter-spacing:.06em;opacity:.9;margin-bottom:32px;font-size:.85rem;font-weight:500}.profile__layout{grid-template-columns:200px 1fr;align-items:start;gap:48px;margin-top:40px;display:grid}.profile__avatar{border:3px solid #5a9b8a66;border-radius:50%;flex-shrink:0;width:160px;height:160px;overflow:hidden;box-shadow:0 8px 32px #00000059}.profile__avatar img{object-fit:cover;object-position:center top;width:100%;height:100%;display:block}.profile__text p{color:#f0ede6bf;margin-bottom:20px;font-size:1.02rem;line-height:2}.profile__text p:last-child{margin-bottom:0}.profile__career{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.profile__career-tag{color:#f0ede6b3;background:#5a9b8a1a;border:1px solid #5a9b8a66;border-radius:100px;padding:6px 14px;font-size:.8rem;font-weight:400}.contact{padding:var(--section-padding);background-color:var(--color-bg);text-align:center}.contact .section__title{margin-bottom:16px}.contact .section__lead{text-align:center;margin:0 auto 40px}.contact__tags{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:40px;display:flex}.contact__tag{background:var(--color-accent-pale);color:var(--color-accent);border:1px solid #3d6b5e33;border-radius:100px;padding:6px 16px;font-size:.82rem;font-weight:500}.btn--cta{background:linear-gradient(135deg, var(--color-accent) 0%, var(--color-accent-light) 100%);color:#fff;border-radius:var(--radius-md);transition:all var(--transition);align-items:center;gap:10px;padding:18px 40px;font-size:1rem;display:inline-flex;box-shadow:0 4px 24px #3d6b5e4d}.btn--cta:hover{transform:translateY(-3px);box-shadow:0 8px 32px #3d6b5e73}.footer{background-color:var(--color-hero-bg);text-align:center;border-top:1px solid #ffffff0f;padding:40px 24px}.footer__logo{font-family:var(--font-serif);color:#f0ede6b3;margin-bottom:8px;font-size:.95rem;font-weight:600}.footer__copy{color:#f0ede64d;letter-spacing:.04em;font-size:.78rem}.fade-in{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(20px)}.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 (width<=768px){:root{--section-padding:64px 20px}.nav__links{display:none}.hero{min-height:100svh;padding:100px 20px 60px}.concept__layout{grid-template-columns:1fr;gap:40px}.cards-grid{grid-template-columns:1fr;gap:16px}.card{padding:24px}.field-item{grid-template-columns:1fr}.field-item__org{border-right:none;border-bottom:1px solid var(--color-border);padding:24px 0 12px}.field-item__content{padding:16px 0 24px}.profile__layout{grid-template-columns:1fr;gap:32px}.profile__avatar{width:120px;height:120px}.contact__tags{gap:8px}.use-cases-grid{grid-template-columns:1fr;gap:16px}.use-case-card{padding:22px}.consultation__inner{text-align:left}.btn--consultation{justify-content:center;width:100%}}@media (width<=480px){.hero__cta{flex-direction:column;align-items:flex-start}.btn{justify-content:center;width:100%}}
