@import "https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;700&display=swap";:root{color:#182130;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 0 0,#c4e0ffd9,#0000 30%),linear-gradient(#f4efe4 0%,#fbfaf8 55%,#f2f6fb 100%);font-family:Noto Sans JP,sans-serif;font-weight:400;line-height:1.6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}#root{min-height:100vh}.site-shell{width:min(1200px,100% - 32px);margin:0 auto;padding:24px 0 64px}.site-header,.site-footer,.hero,.section-grid,.facts-card,.policy-card,.contact-panel,.info-card,.timeline article{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.site-header{z-index:10;background:#ffffffb8;border:1px solid #18213014;border-radius:24px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px;padding:16px 20px;display:flex;position:sticky;top:12px}.brand{align-items:center;gap:14px;display:inline-flex}.brand strong,.hero h1,.section-intro h2,.info-card h3,.timeline h3,.policy-card h3{font-family:Outfit,Noto Sans JP,sans-serif}.brand strong{font-size:.98rem;display:block}.brand small{color:#182130a3;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;display:block}.brand-mark{color:#fff8ef;background:linear-gradient(135deg,#16385f 0%,#4d759f 100%);border-radius:14px;place-items:center;width:44px;height:44px;font-family:Outfit,sans-serif;font-size:1.15rem;font-weight:700;display:grid}.site-nav{color:#182130d1;flex-wrap:wrap;gap:18px;font-size:.95rem;display:inline-flex}.site-nav a:hover,.site-footer a:hover{color:#16385f}main{gap:28px;display:grid}.hero,.section-grid{background:#ffffffb3;border:1px solid #18213014;border-radius:32px;box-shadow:0 24px 80px #1f2e4914}.hero{grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:24px;padding:56px;display:grid}.eyebrow{color:#7f4a2b;letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px;font-size:.8rem;font-weight:700}.hero h1{letter-spacing:-.04em;margin:0;font-size:clamp(2.5rem,7vw,4.8rem);line-height:.95}.hero-lead,.section-intro p,.info-card p,.timeline p,.policy-card p,.policy-card li,.facts-card dd,.contact-note{color:#182130c7}.hero-lead{max-width:34rem;margin:22px 0 0;font-size:1.05rem}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.button{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:0 18px;transition:transform .18s,background-color .18s,border-color .18s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button-primary{color:#fff8ef;background:#16385f}.button-secondary{background:#ffffffb3;border-color:#1821301f}.hero-panel,.facts-card,.policy-card,.contact-panel,.info-card,.timeline article{background:#fffc;border:1px solid #18213014;border-radius:24px}.hero-panel{color:#f4efe4;background:linear-gradient(#16385ff5 0%,#275585eb 100%);align-self:end;padding:24px}.panel-label{color:#fff8efb8;letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px;font-size:.8rem}.hero-points{gap:14px;margin:0;padding-left:18px;display:grid}.hero-points li{line-height:1.7}.section-grid{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:28px;padding:36px}.section-grid-alt{background:#f4efe4c2}.section-intro h2{letter-spacing:-.03em;margin:0;font-size:clamp(1.9rem,3vw,3rem);line-height:1}.section-intro p{margin:16px 0 0}.card-grid,.timeline{gap:16px;display:grid}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.info-card,.timeline article{padding:22px}.info-card h3,.timeline h3,.policy-card h3{margin:0 0 10px;font-size:1.15rem}.timeline{grid-template-columns:repeat(3,minmax(0,1fr))}.timeline span{color:#7f4a2b;margin-bottom:24px;font-family:Outfit,sans-serif;font-size:.9rem;font-weight:600;display:inline-block}.facts-card{margin:0;padding:8px 22px}.fact-row{border-bottom:1px solid #18213014;grid-template-columns:160px minmax(0,1fr);gap:16px;padding:18px 0;display:grid}.fact-row:last-child{border-bottom:0}.facts-card dt{color:#1821308f}.facts-card dd{margin:0}.company-body{gap:20px;display:grid}.ceo-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffc;border:1px solid #18213014;border-radius:24px;align-items:center;gap:16px;padding:18px 22px;display:flex}.ceo-photo{object-fit:cover;border-radius:50%;width:64px;height:64px}.ceo-role{color:#1821308f;margin:0;font-size:.82rem}.ceo-name{margin:2px 0 0;font-family:Outfit,Noto Sans JP,sans-serif;font-size:1.05rem;font-weight:600}.ceo-profile{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffc;border:1px solid #18213014;border-radius:24px;grid-template-columns:96px minmax(0,1fr);gap:24px;padding:26px;display:grid}.ceo-profile-photo{object-fit:cover;border-radius:50%;width:96px;height:96px}.ceo-profile-name{margin:0;font-family:Outfit,Noto Sans JP,sans-serif;font-size:1.3rem;font-weight:700}.ceo-profile-role{color:#1821308f;margin:4px 0 0;font-size:.85rem}.ceo-profile-bio{color:#182130c7;margin:16px 0 0;line-height:1.85}@media (width<=720px){.ceo-profile{text-align:center;grid-template-columns:1fr;justify-items:center}}.contact-panel{grid-template-columns:minmax(0,1fr) 240px;gap:18px;padding:22px;display:grid}.contact-form{gap:14px;display:grid}.contact-form label{color:#182130c7;gap:8px;font-size:.95rem;display:grid}.contact-form input,.contact-form textarea{background:#ffffffe6;border:1px solid #1821301f;border-radius:16px;width:100%;padding:14px 16px}.contact-form textarea{resize:vertical}.contact-aside{align-content:start;gap:12px;padding-top:4px;display:grid}.contact-aside a{color:#16385f;font-weight:600}.policy-card{padding:26px}.policy-card section+section{margin-top:18px}.policy-card ul{margin:0;padding-left:18px}.site-footer{color:#1821309e;justify-content:space-between;gap:16px;margin-top:28px;padding:0 4px;font-size:.92rem;display:flex}@media (width<=960px){.hero,.section-grid,.contact-panel,.card-grid,.timeline{grid-template-columns:1fr}}@media (width<=720px){.site-shell{width:min(100% - 20px,1200px);padding-top:12px}.site-header{flex-direction:column;align-items:flex-start;position:static}.hero,.section-grid{border-radius:24px;padding:24px}.fact-row{grid-template-columns:1fr;gap:6px}.site-footer{flex-direction:column}}
