
:root{--teal:#30302e;--teal2:#646464;--mint:#e5e4dd;--dark:#141414;--ink:#30302e;--muted:#646464;--pink:#8a8a86;--page:#fff;--line:#eaeaea;--shadow:0 22px 65px rgba(73,73,73,.10);--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:#fff;color:var(--ink);font:16px/1.75 system-ui,-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Hiragino Sans','Noto Sans JP','Yu Gothic',Meiryo,sans-serif;letter-spacing:.005em;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}button{cursor:pointer;font:inherit}p,h1,h2,h3{margin-top:0}h1,h2,h3{letter-spacing:-.037em;line-height:1.38}.container{max-width:1200px;margin:0 auto;padding:0 36px}header.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(221,221,221,.65)}.header-inner{height:82px;display:flex;gap:24px;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:13px;white-space:nowrap}.brand-icon{width:37px;height:37px;background:linear-gradient(145deg,#a1a1a1,#656565);border-radius:13px 4px 13px 4px;transform:rotate(-5deg);display:block;position:relative;box-shadow:0 8px 20px rgba(119,119,119,.18)}.brand-icon:after{content:'';position:absolute;top:5px;right:2px;width:18px;height:19px;border-radius:13px 2px 13px 5px;background:#bbbbbb;transform:rotate(13deg)}.brand-label{font-size:14px;font-weight:850;letter-spacing:.06em;line-height:1.1;color:var(--dark)}.brand-label span{display:block;font-size:10px;font-weight:650;letter-spacing:.15em;color:#9a9a9a;margin-top:7px}.nav-links{display:flex;align-items:center;gap:29px;color:#5f5f5f;font-size:13px;font-weight:750}.nav-links a:hover,.footer-links a:hover{color:var(--teal)}.nav-cta{font-size:13px!important;padding:12px 18px!important}.mobile-toggle{display:none;background:none;border:0;padding:8px;color:var(--dark);font-size:24px}
.button{display:inline-flex;align-items:center;gap:11px;justify-content:center;padding:16px 25px;font-size:14px;font-weight:820;border:1px solid transparent;border-radius:12px;transition:transform .2s,background .2s,box-shadow .2s;line-height:1.35}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--teal);color:#fff;box-shadow:0 8px 20px rgba(116,116,116,.20)}.button-primary:hover{background:#666666}.button-outline{border-color:#d2d2d2;background:#fff;color:#505050}.button-outline:hover{background:#f8f8f8}.button-light{background:#fff;color:#575757}.button-ghost{border-color:rgba(255,255,255,.45);color:#fff;background:rgba(255,255,255,.08)}.inline-arrow{font-size:18px;line-height:1}
.hero{position:relative;overflow:hidden;background:linear-gradient(125deg,#fefefe 0%,#f9f9f9 68%,#fcfcfc 100%);padding:93px 0 93px}.hero:before{content:'';width:680px;height:680px;border-radius:50%;position:absolute;right:-250px;top:-260px;background:radial-gradient(circle,#eaeaea 0%,rgba(255,255,255,0) 68%);pointer-events:none}.hero:after{content:'';width:380px;height:380px;border-radius:50%;position:absolute;right:23%;bottom:-300px;background:radial-gradient(circle,rgba(201,201,201,.30),transparent 68%)}.hero-inner{display:grid;grid-template-columns:1fr 1.07fr;align-items:center;gap:52px;position:relative;z-index:1}.eyebrow{display:inline-flex;align-items:center;gap:9px;color:#6f6f6f;text-transform:uppercase;font-size:12px;font-weight:850;letter-spacing:.15em}.eyebrow::before{content:'';width:21px;height:2px;background:var(--pink)}.hero h1{margin:20px 0 23px;font-size:clamp(37px,3.5vw,51px);font-weight:870;line-height:1.39;color:#353535}.hero h1 em{color:var(--teal);font-style:normal}.hero p{color:#6c6c6c;font-size:16px;max-width:500px;line-height:2}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:31px 0 18px}.note{font-size:11px!important;line-height:1.7;color:#898989!important}.hero-tags{display:flex;gap:15px;flex-wrap:wrap;margin:36px 0 0}.hero-tags span{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:730;color:#6e6e6e}.hero-tags i{width:7px;height:7px;border-radius:50%;background:var(--pink);display:inline-block}
.mock-frame{background:white;border:1px solid #ebebeb;border-radius:18px;box-shadow:0 35px 80px rgba(60,60,60,.14);overflow:hidden;transform:rotate(.6deg);position:relative}.mock-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eeeeee;padding:14px 19px;color:#656565;font-weight:800;font-size:12px}.mock-top span:last-child{font-size:10px;font-weight:800;color:#7c7c7c;background:#efefef;padding:3px 9px;border-radius:30px}.mock-nav{background:#f9f9f9;padding:11px 20px;color:#a4a4a4;font-size:11px;font-weight:740;letter-spacing:.03em}.mock-nav b{color:#6e6e6e}.mock-pad{padding:19px 21px 21px}.mock-welcome{display:flex;justify-content:space-between;gap:12px;align-items:start}.mock-welcome b{font-size:16px;color:var(--dark)}.mock-welcome small{display:block;color:#8e8e8e;margin-top:4px;font-size:10px}.demo-flag{background:#f4f4f4;padding:4px 9px;border-radius:6px;font-weight:800;color:#626262;font-size:9px}.mock-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:17px 0}.mock-kpi{background:#fafafa;border:1px solid #f0f0f0;padding:13px;border-radius:10px}.mock-kpi small{font-size:9px;color:#838383;display:block;line-height:1.4}.mock-kpi b{display:block;color:#585858;margin-top:7px;font-size:22px;line-height:1.15}.mock-kpi em{display:block;font-size:9px;color:#727272;font-style:normal;margin-top:6px}.mock-chart-row{display:grid;grid-template-columns:1.4fr .85fr;gap:10px}.mock-chart,.mock-progress{border:1px solid #ececec;border-radius:10px;padding:15px}.mock-caption{font-size:10px;font-weight:850;color:#5d5d5d;margin-bottom:11px}.bars{height:117px;display:flex;gap:10px;align-items:end;padding:0 9px 0 1px;border-bottom:1px solid #e8e8e8}.bar-group{flex:1;display:flex;align-items:end;justify-content:center;gap:3px;height:100%}.bar{border-radius:3px 3px 0 0;width:39%;background:#646464}.bar.alt{background:#b4b4b4}.mock-xlabels{display:flex;justify-content:space-between;font-size:9px;color:#a0a0a0;margin-top:7px}.progress-mini{display:flex;align-items:center;gap:9px;margin:11px 0;font-size:10px;color:#5f5f5f}.progress-mini span:first-child{min-width:39px}.progress-mini div{flex:1;height:7px;border-radius:9px;background:#efefef;overflow:hidden}.progress-mini i{display:block;height:7px;border-radius:9px;background:#acacac}.mini-warning{background:#f7f7f7;border:1px solid #e8e8e8;border-radius:8px;margin-top:12px;padding:8px;font-size:9px;color:#7e7e7e}
.section{padding:105px 0}.section-muted{background:#f9f9f9}.section-heading{max-width:790px;margin:0 auto 49px;text-align:center}.section-label{color:var(--teal);font-weight:850;font-size:12px;letter-spacing:.15em}.section-heading h2{font-size:clamp(28px,3vw,38px);font-weight:860;color:#333333;margin:13px 0 19px}.section-heading p{color:#787878;line-height:1.9;font-size:15px}.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.problem-card{background:#fff;border:1px solid #ececec;border-radius:16px;padding:30px;box-shadow:0 7px 32px rgba(75,75,75,.035)}.problem-icon{width:48px;height:48px;border-radius:14px;background:#f3f3f3;color:#747474;display:grid;place-items:center;font-size:23px}.problem-card:nth-child(2) .problem-icon{background:#f4f4f4;color:#808080}.problem-card h3{font-size:18px;margin:22px 0 8px}.problem-card p{color:#828282;font-size:13px;margin:0}
.lifecycle-grid{display:grid;grid-template-columns:1.18fr 1fr 1fr;gap:15px;align-items:stretch}.life-group{border:1px solid #e8e8e8;border-radius:17px;background:#fff;padding:25px 20px 21px;position:relative;overflow:hidden;box-shadow:0 15px 35px rgba(69,69,69,.035)}.life-group:before{content:'';height:5px;position:absolute;left:0;right:0;top:0;background:#9b9b9b}.life-group.post:before{background:#828282}.life-group.on:before{background:#919191}.life-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.life-top h3{font-size:19px;margin:0;color:#333333}.life-top small{color:#a6a6a6;font-weight:850;font-size:11px;white-space:nowrap}.life-desc{font-size:12px;color:#828282;margin:7px 0 17px}.stage-wrap{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.stage-label{font-size:12px;font-weight:800;border-radius:9px;padding:10px 11px;display:flex;gap:9px;align-items:center;background:#f3f3f3;color:#686868}.stage-label b{font-size:9px;opacity:.57}.on .stage-label{background:#f2f2f2;color:#696969}.post .stage-label{background:#eeeeee;color:#6c6c6c}.life-bottom{border-top:1px solid #eeeeee;margin-top:18px;padding-top:12px;color:#a0a0a0;font-size:10px}.life-hint{display:flex;align-items:center;gap:10px;border:1px solid #e7e7e7;background:#fbfbfb;border-radius:12px;margin-top:23px;padding:15px 20px;color:#6f6f6f;font-size:12px}.life-hint strong{color:#6e6e6e}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.feature-card{border:1px solid #ececec;border-radius:16px;padding:30px;background:#fff;min-height:244px;transition:transform .2s,box-shadow .2s}.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.feature-number{display:flex;align-items:center;gap:11px;font-size:11px;font-weight:850;letter-spacing:.1em;color:#b7b7b7}.feature-glyph{height:49px;width:49px;background:#f4f4f4;border-radius:14px;display:grid;place-items:center;color:#7d7d7d;font-size:23px}.feature-card:nth-child(3n+2) .feature-glyph{background:#f4f4f4;color:#7f7f7f}.feature-card h3{font-size:17px;margin:17px 0 10px}.feature-card p{font-size:13px;color:#777777;margin:0}.feature-strip{margin-top:25px;border-radius:14px;background:#343434;padding:21px 26px;color:#ebebeb;font-size:13px;display:flex;justify-content:space-between;gap:15px;align-items:center}.feature-strip strong{color:#fff}
.showcase{background:linear-gradient(135deg,#363636,#515151);padding:88px 0;color:#fff}.showcase-grid{display:grid;grid-template-columns:.93fr 1.07fr;gap:52px;align-items:center}.showcase .section-label{color:#c2c2c2}.showcase h2{font-size:35px;margin:13px 0 20px}.showcase p{font-size:14px;color:#dedede}.status-panel{border:1px solid rgba(255,255,255,.21);border-radius:16px;background:#fff;box-shadow:0 20px 40px rgba(0,0,0,.14);padding:24px;color:var(--ink)}.status-title{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:850}.status-badge{background:#fff0e5;color:#b16e2a;border-radius:7px;font-size:11px;padding:3px 9px}.status-row{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #ececec;font-size:12px;font-weight:700}.status-row:last-child{border-bottom:none}.status-row span:last-child{color:#b07c3f;font-size:10px;font-weight:850}.status-row i{background:#fff0df;display:inline-block;border-radius:50%;width:6px;height:6px;margin-right:6px;vertical-align:2px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.step{background:#fff;border-radius:14px;border:1px solid #e9e9e9;padding:26px 22px}.step b{display:block;font-size:34px;line-height:1;color:#dfdfdf;margin-bottom:20px}.step:nth-child(even) b{color:#d4d4d4}.step h3{font-size:17px;margin-bottom:8px}.step p{font-size:12px;color:#7b7b7b;margin:0}.security-box{margin-top:30px;border:1px solid #e6e6e6;background:#fbfbfb;border-radius:16px;padding:24px 29px;display:flex;align-items:start;gap:17px}.security-box strong{color:#555555}.security-box p{margin:5px 0 0;color:#7b7b7b;font-size:12px}
.faq-list{max-width:860px;margin:auto;border-top:1px solid #e8e8e8}.faq-list details{border-bottom:1px solid #e8e8e8;padding:21px 4px}.faq-list summary{font-weight:790;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:15px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';font-size:23px;color:#757575;font-weight:400}.faq-list details[open] summary:after{content:'−'}.faq-list details p{color:#787878;font-size:13px;margin:13px 0 0;max-width:780px}
.bottom-cta{padding:87px 0;background:linear-gradient(135deg,#f2f2f2 2%,#fafafa 63%,#f5f5f5)}.bottom-cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.bottom-cta h2{font-size:35px;max-width:750px;color:#3e3e3e;margin:14px 0}.bottom-cta p{font-size:13px;color:#797979;max-width:700px;margin:0}.bottom-actions{display:flex;flex-direction:column;gap:10px;min-width:210px}footer.site-footer{padding:42px 0 24px;background:#343434;color:#d8d8d8}.footer-inner{display:flex;justify-content:space-between;gap:34px;flex-wrap:wrap}.footer-inner .brand-label{color:#fff}.footer-inner .brand-label span{color:#bfbfbf}.footer-links{display:flex;gap:22px;font-size:12px;flex-wrap:wrap}.footer-small{color:#afafaf;font-size:11px;border-top:1px solid #5a5a5a;padding-top:25px;margin-top:28px;display:flex;gap:15px;justify-content:space-between;flex-wrap:wrap}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #818181;outline-offset:3px}
@media(max-width:1020px){.nav-links{gap:14px}.hero-inner{gap:22px}.mock-pad{padding:16px}.feature-grid{grid-template-columns:repeat(2,1fr)}.lifecycle-grid{grid-template-columns:1fr 1fr}.life-group:first-child{grid-column:span 2}.stage-wrap{grid-template-columns:repeat(3,1fr)}.on .stage-wrap,.post .stage-wrap{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.container{padding:0 20px}.header-inner{height:70px}.brand-label{font-size:12px}.brand-icon{width:30px;height:30px}.mobile-toggle{display:block}.nav-links{display:none;position:absolute;top:70px;left:0;right:0;background:white;padding:18px 25px 25px;box-shadow:0 25px 25px rgba(65,65,65,.08);align-items:stretch;flex-direction:column;gap:13px}.nav-links.is-open{display:flex}.nav-links .button{width:100%}.hero{padding:65px 0 68px}.hero-inner{grid-template-columns:1fr}.hero h1{font-size:clamp(32px,9vw,46px);margin:15px 0}.hero p{font-size:14px}.hero-tags{margin-top:20px}.mock-frame{margin-top:15px;transform:none}.section{padding:70px 0}.section-heading{margin-bottom:31px}.section-heading h2{font-size:29px}.problem-grid,.feature-grid,.steps,.lifecycle-grid,.showcase-grid{grid-template-columns:1fr}.life-group:first-child{grid-column:auto}.life-group .stage-wrap,.on .stage-wrap,.post .stage-wrap{grid-template-columns:repeat(2,1fr)}.feature-card{min-height:auto}.feature-strip{flex-direction:column;align-items:flex-start}.showcase{padding:74px 0}.showcase h2{font-size:30px}.bottom-cta{padding:66px 0}.bottom-cta-inner{display:block}.bottom-cta h2{font-size:28px}.bottom-actions{margin-top:27px;max-width:390px;min-width:0}.footer-links{gap:15px}.hero-actions .button{flex:1 1 185px}}
@media(max-width:390px){.container{padding:0 15px}.mock-chart-row{grid-template-columns:1fr}.hero-actions{display:block}.hero-actions .button{width:100%;margin-top:10px}.mock-welcome b{font-size:13px}.mock-kpis{gap:5px}.mock-kpi{padding:10px 8px}.mock-kpi b{font-size:17px}.mock-kpi small{font-size:8px}.stage-label{padding:8px;font-size:11px}.section-heading h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.purpose-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:30px}.purpose-card{background:#fff;border:1px solid #e7e7e7;border-radius:16px;padding:24px;overflow-wrap:anywhere}.purpose-card.current{border:2px solid #30302e;background:#f7f7f7}.purpose-card h3{font-size:24px;margin:20px 0 10px;color:#595959}.purpose-card p{font-size:13px;color:#686868}.purpose-card b{font-size:14px}.scope-tag{font-size:11px;font-weight:700;color:#707070}.current .scope-tag{color:#595959}.purpose-card a{font-weight:700;font-size:13px}.philosophy-statement{font-size:clamp(19px,2.2vw,27px);max-width:850px;font-weight:700;color:#595959}.reflection{margin-top:26px;border:1px solid #e7e7e7;border-radius:15px;background:#fff;padding:24px}.reflection summary{cursor:pointer;font-weight:700}.reflection p,.reflection li{font-size:14px;line-height:1.9}.reflection li{margin:9px 0}.hero-inner>*{min-width:0}.brand-label{letter-spacing:0}.mock-top{gap:12px}.mock-top span{overflow-wrap:anywhere}.hero .eyebrow{line-height:1.7}.life-hint{align-items:flex-start}.life-hint strong{flex-shrink:0}@media(max-width:1100px){.purpose-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.purpose-grid{grid-template-columns:1fr}.hero h1{font-size:clamp(30px,8.5vw,46px)}.status-title,.mock-welcome{gap:10px;flex-wrap:wrap}.mock-kpi{min-width:0}.mock-kpi small{overflow-wrap:anywhere}.life-hint{flex-direction:column}}

/* Medical blue: bright white surfaces, blue actions and sky accents. */
:root{--teal:#1769d2;--teal2:#3995ed;--mint:#eaf5ff;--dark:#123660;--ink:#203b59;--muted:#5e748d;--pink:#24a9dc;--line:#dfebf6;--shadow:0 18px 55px rgba(26,98,170,.09)}
.brand-icon{background:linear-gradient(145deg,#39b8ed,#1769d2);box-shadow:0 8px 20px rgba(23,105,210,.16)}
.brand-icon:after{background:#b8efff}.brand-label span{color:#6485a6}.nav-links{color:#45617e}
.button-primary{background:#1769d2;box-shadow:0 8px 22px rgba(23,105,210,.2)}.button-primary:hover{background:#0e54b2}
.button-outline{border-color:#b8d6f4;color:#1760ad;background:white}.button-outline:hover{background:#eff7ff}.button-light{color:#1760ad}
.hero{background:linear-gradient(120deg,#fff 8%,#f2f9ff 55%,#e9f6ff 100%)}
.hero:before{background:radial-gradient(circle,#bceaff 0%,rgba(220,243,255,0) 68%)}
.hero:after{background:radial-gradient(circle,rgba(115,173,255,.22),transparent 68%)}
.hero h1{color:#123660}.hero h1 em{color:#1769d2}.eyebrow{color:#1760ad}.hero p{color:#536e89}
.hero-tags span{color:#4d6f92}.note{color:#6a8199!important}
.mock-frame{border-color:#dcebf8;box-shadow:0 30px 70px rgba(35,100,164,.14)}.mock-top{color:#385e85;border-color:#e5eff8}
.mock-top span:last-child{color:#1760ad;background:#eaf5ff}.mock-nav{background:#f3f9ff;color:#6886a3}.mock-nav b{color:#1769d2}
.mock-kpi{background:#f5faff;border-color:#e3effa}.mock-kpi b{color:#155ba5}.mock-kpi em{color:#397da9}.demo-flag{background:#eaf5ff;color:#1760ad}
.bar{background:#2686df}.bar.alt{background:#83d5f4}.progress-mini i{background:#30a6df}.progress-mini div{background:#e9f3fb}
.mini-warning{background:#f0f7ff;border-color:#dceafa;color:#53789b}
.section-muted{background:#f6faff}.section-heading h2{color:#123660}.section-heading p{color:#5e748d}
.problem-icon,.feature-glyph{background:#eaf4ff;color:#1769d2}
.problem-card:nth-child(2) .problem-icon,.feature-card:nth-child(3n+2) .feature-glyph{background:#e8f8ff;color:#147eaa}
.life-group:before{background:#2686df}.life-group.on:before{background:#38b5df}.life-group.post:before{background:#6c83d9}
.stage-label{background:#eaf4ff;color:#195fa8}.on .stage-label{background:#eafaff;color:#176a8c}.post .stage-label{background:#f0f2ff;color:#4c60a2}
.life-top h3{color:#203b59}.life-hint,.security-box{background:#f4f9ff;border-color:#dcebf8;color:#456786}.life-hint strong,.security-box strong{color:#1760ad}
.feature-strip{background:#155ba5;color:#e0efff}.showcase{background:linear-gradient(120deg,#153f75,#1769b5 65%,#1888bc)}
.showcase .section-label{color:#a8e9ff}.showcase p{color:#d6ecff}
.step b{color:#7db9ef}.step:nth-child(even) b{color:#6dcced}
.faq-list summary:after{color:#1769d2}.bottom-cta{background:linear-gradient(120deg,#edf7ff,#f7fbff 60%,#e7f8ff)}.bottom-cta h2{color:#123660}
footer.site-footer{background:#13395e;color:#d2e6f8}.footer-inner .brand-label span{color:#9ec6e9}.footer-small{color:#a5c1db;border-color:#365a7e}
.purpose-card.current{border-color:#2686df;background:#f0f8ff}.purpose-card h3,.current .scope-tag,.philosophy-statement{color:#1760ad}
a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:#2686df}
