:root { --ink:#3d3440; --muted:#766b75; --rose:#d8788c; --rose-dark:#b7526c; --peach:#fdf1ed; --cream:#fffcf8; --line:#eadbd8; --lavender:#eee9f4; --shadow:0 18px 50px rgba(89,48,61,.08); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",sans-serif; font-size:16px; line-height:1.8; }
a { color:inherit; }
.skip-link { position:absolute; left:-9999px; }.skip-link:focus { left:1rem; top:1rem; z-index:10; padding:.5rem 1rem; background:#fff; }
.site-header { width:min(1160px,calc(100% - 40px)); height:78px; margin:auto; display:flex; align-items:center; justify-content:space-between; }
.brand { text-decoration:none; font-weight:750; letter-spacing:.02em; }.brand small { margin-left:.35rem;color:#a78997;font-size:.66rem;font-weight:700; }.brand-mark { color:var(--rose); font-size:1.2em; margin-right:.3rem; }.header-link { color:var(--rose-dark); font-size:.9rem; font-weight:700; text-underline-offset:4px; }
.section { width:min(1080px,calc(100% - 40px)); margin:0 auto; padding:96px 0; }.hero { min-height:570px; display:grid; grid-template-columns:1.1fr .9fr; gap:64px; align-items:center; padding-top:58px; }
.eyebrow { margin:0 0 12px; color:var(--rose-dark); font-weight:800; font-size:.82rem; letter-spacing:.12em; }.hero h1,.section h2 { margin:0; font-family:"Hiragino Mincho ProN","Yu Mincho",serif; line-height:1.38; letter-spacing:.02em; }.hero h1 { font-size:clamp(2.15rem,4vw,3.75rem); }.section h2 { font-size:clamp(1.75rem,3.2vw,2.65rem); }.lead { max-width:600px; margin:22px 0 0; font-size:1.06rem; color:var(--muted); }.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }.button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:0 21px; border-radius:99px; text-decoration:none; font-weight:750; transition:transform .18s,box-shadow .18s; }.button:hover { transform:translateY(-2px); }.primary { color:white; background:var(--rose-dark); box-shadow:0 10px 22px rgba(183,82,108,.22); }.secondary { color:var(--rose-dark); border:1px solid #e7b8c1; background:#fffaf9; }
.hero-art { position:relative; min-height:410px; overflow:hidden; border-radius:48% 52% 46% 54% / 48% 38% 62% 52%; background:linear-gradient(145deg,#f8d8d7,#fdf1e3); }.sun { position:absolute; width:170px;height:170px; border-radius:50%; top:55px;right:48px;background:#f6bf9c; }.leaf { position:absolute; width:160px;height:64px; background:#b8cfae; border-radius:100% 0 100% 0; }.leaf-one { left:57px;top:94px; transform:rotate(-32deg); }.leaf-two { right:38px;bottom:58px; transform:rotate(148deg); background:#afc8ba; }.path { position:absolute; height:82px; width:170px; border:2px solid rgba(255,255,255,.72); border-left:0;border-bottom:0; border-radius:0 100% 0 0; }.path-one { left:95px;bottom:102px;transform:rotate(-17deg); }.path-two { right:112px;top:135px;transform:rotate(145deg); }.art-card { position:absolute; left:50%;top:54%;transform:translate(-50%,-50%) rotate(-4deg); width:240px; padding:28px; background:#fffdf9; border-radius:18px; box-shadow:var(--shadow); text-align:center; }.art-card span,.art-card small { display:block; color:var(--muted);font-size:.75rem; }.art-card strong { display:block; margin:6px 0; color:var(--rose-dark); font-family:"Hiragino Mincho ProN","Yu Mincho",serif; font-size:1.55rem; }
.quick-nav { position:sticky;top:0;z-index:4; display:flex; justify-content:center; gap:8px; padding:12px 20px; background:rgba(255,252,248,.9); backdrop-filter:blur(10px); border-block:1px solid rgba(234,219,216,.75); overflow:auto; }.quick-nav a { white-space:nowrap; padding:5px 12px; text-decoration:none; color:var(--muted); font-size:.84rem; font-weight:700; }.quick-nav a:hover { color:var(--rose-dark); }
.section-heading { max-width:760px; }.section-heading.centered { text-align:center; margin:auto; }.section-heading > p:not(.eyebrow) { margin:14px 0 0; color:var(--muted); }.reassurance-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:42px; }.message-card { min-height:260px; padding:30px; border:1px solid var(--line); border-radius:22px; background:#fff; }.message-card.highlight { background:linear-gradient(150deg,#f9dfe0,#fff9f4); border:0; }.card-icon { display:grid;place-items:center; width:46px;height:46px; border-radius:50%; background:#fff; color:var(--rose-dark); font-size:1.7rem; }.message-card h3 { margin:20px 0 8px; line-height:1.55; font-size:1.05rem; }.message-card p { margin:0;color:var(--muted);font-size:.9rem;line-height:1.75; }.statistic { background:#f5f0fa; }.stat-number { display:block;color:#8a6eae;font-size:2.25rem;font-weight:850;line-height:1; }.stat-number span { margin-left:4px;font-size:.84rem; }
.question-title { position:relative; display:inline-block; margin:0; padding-bottom:14px; font-size:clamp(2.1rem,4.4vw,3.65rem)!important; line-height:1.18!important; }.question-title::after { content:""; position:absolute; left:0; bottom:0; width:58px; height:5px; border-radius:999px; background:var(--rose); }.question-lead { margin:24px 0 8px; color:#5f4652; font-family:"Hiragino Mincho ProN","Yu Mincho",serif; font-size:1.28rem; line-height:1.7; }.question-section { padding-block:110px; }.question-layout { display:grid; grid-template-columns:1.1fr .9fr; gap:70px; align-items:center; }.question-copy > p:not(.question-lead) { color:var(--muted); }.about-visual { position:relative; min-height:300px; overflow:hidden; border-radius:42% 58% 56% 44% / 46% 42% 58% 54%; background:#f7e4e2; }.about-ring { position:absolute; display:block; border:1.5px solid rgba(205,116,137,.45); border-radius:50%; }.ring-one { width:220px;height:220px;left:50%;top:42px;transform:translateX(-50%); }.ring-two { width:145px;height:145px;left:50%;top:80px;transform:translateX(-50%);border-style:dashed; }.about-dot { position:absolute;display:block;border-radius:50%;background:#cf7489;box-shadow:0 0 0 9px rgba(255,255,255,.38); }.dot-one { width:22px;height:22px;left:35%;top:80px; }.dot-two { width:13px;height:13px;right:30%;top:130px; }.dot-three { width:17px;height:17px;left:43%;bottom:63px; }.about-note { position:absolute;left:50%;bottom:23px;transform:translateX(-50%) rotate(-3deg);width:225px;padding:14px;background:#fffdf9;border-radius:12px;box-shadow:var(--shadow);text-align:center;color:var(--muted);font-size:.78rem;line-height:1.65; }.about-note strong { color:var(--rose-dark); }.common-section { display:grid;grid-template-columns:.72fr 1.28fr;gap:50px;align-items:center;padding:70px;max-width:1080px;border-radius:28px;background:#f3eef8; }.common-stat { display:flex;flex-direction:column;justify-content:center;min-height:210px;padding:34px;border-radius:22px;background:#fff;box-shadow:0 12px 28px rgba(85,63,104,.09); }.common-stat .stat-number { font-size:4.4rem;color:#82689d; }.common-stat .stat-number span { font-size:1rem; }.stat-caption { margin-top:14px;color:var(--muted);font-size:.78rem;line-height:1.55; }.common-copy p { margin:22px 0 0;color:var(--muted); }.stage-explain { margin:20px 0 0;color:var(--muted);font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:1.18rem; }
.soft-section { width:100%; padding-inline:max(20px,calc((100% - 1080px)/2)); background:#fff8f5; }.journey { position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:56px; }.journey-step { position:relative; z-index:1; text-align:center; }.step-number { display:grid;place-items:center; width:29px;height:29px; margin:0 auto 12px; color:#fff;background:var(--rose-dark);border-radius:50%;font-size:.78rem;font-weight:800; }.step-illustration { display:grid;place-items:center; width:106px;height:106px;margin:auto;background:white;border-radius:50%; box-shadow:0 7px 18px rgba(137,84,85,.08); color:#b66b80; }.discovery { position:relative; }.discovery i { display:block;width:42px;height:42px;border:4px solid #d98296;border-radius:50%; }.discovery b { position:absolute;width:24px;height:4px;border-radius:99px;background:#d98296;transform:translate(27px,27px) rotate(45deg); }.scan { gap:5px; }.scan i { width:48px;height:4px;border-radius:99px;background:#e3a2ad; }.talk { gap:7px; }.talk i { display:block;width:38px;height:30px;border-radius:17px 17px 3px 17px;background:#f4d7db; }.talk i+ i { width:31px;background:#d8879a; }.care { font-size:2.8rem; }.journey-step h3 { margin:17px 0 4px;font-size:1rem; }.journey-step p { margin:0;color:var(--muted);font-size:.84rem;line-height:1.7; }.journey-line { position:absolute; top:80px;left:12%;right:12%;height:1px;background:#e6c6c9; }
.stage-track { display:grid;grid-template-columns:repeat(3,1fr); gap:14px; margin-top:40px; }.stage-card { min-height:210px; padding:24px; border-radius:22px; background:#fff;border:1px solid var(--line); }.stage-card span { color:var(--rose-dark);font-weight:800;font-size:.84rem; }.stage-dot { width:32px;height:32px;margin:30px 0 17px;border-radius:50%;background:#f1b1ba;box-shadow:0 0 0 13px #fff2f2; }.stage-dot.medium { width:47px;height:47px;background:#dc899b;box-shadow:0 0 0 13px #fce9ec; }.stage-dot.wide { width:62px;height:62px;background:#c9627a;box-shadow:0 0 0 13px #f8dee4; }.stage-card h3 { margin:0;font-size:.94rem;line-height:1.75;font-weight:600; }.note-box { display:flex;gap:13px;max-width:750px;margin:30px auto 0;padding:17px 22px;border-radius:13px;background:#f3f0f8;color:#5b5363; }.note-box span { display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%;background:#9b89b0;color:white;font-weight:bold;font-family:serif; }.note-box p { margin:0;font-size:.9rem;line-height:1.7; }
.transfer-section { display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center;padding-block:95px; }.transfer-copy > p { color:var(--muted); }.transfer-copy strong { color:#a6586a; }.transfer-flow { display:flex;align-items:center;justify-content:center;gap:12px;padding:30px 18px;border-radius:24px;background:#fff7f4; }.flow-place { display:grid;justify-items:center;gap:5px;text-align:center;min-width:88px;color:#584c55;font-size:.86rem;line-height:1.35; }.flow-place small { color:var(--muted);font-size:.68rem; }.flow-icon { display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#de8a9b;color:white;font-size:1.5rem; }.flow-icon.route { background:#b5a5c5; }.flow-icon.distant { background:#d69e75; }.flow-arrow { color:#c99ba4;font-size:1.5rem; }.answer-title { margin:24px 0 0!important;color:#5f4652!important;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:1.25rem;line-height:1.7; }
.two-column { display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center; }.treatment-stack { display:grid;gap:12px; }.treatment-card { display:flex;gap:18px;align-items:flex-start;padding:21px;border:1px solid var(--line);background:#fff;border-radius:17px; }.treatment-icon { display:grid;place-items:center;flex:none;width:43px;height:43px;border-radius:14px;color:white;font-size:1.3rem; }.surgery { background:#d88695; }.radiation { background:#e3a35f; }.medicine { background:#9790bc; }.treatment-card h3 { margin:0;font-size:1rem; }.treatment-card p { margin:3px 0 0;color:var(--muted);font-size:.86rem;line-height:1.7; }
.progress-section { display:grid;grid-template-columns:.8fr 1.2fr; gap:58px;align-items:center; }.progress-art { position:relative; min-height:270px; border-radius:28px;background:#f3edf7; }.progress-node { position:absolute;display:grid;place-items:center;width:92px;height:92px;border-radius:50%;background:#fff;color:#806b9b;font-weight:800;box-shadow:0 10px 20px rgba(91,66,117,.11); }.node-one { left:13%;top:40px; }.node-two { right:14%;top:92px; }.node-three { left:34%;bottom:28px;width:115px;height:115px;background:#d77d90;color:#fff; }.progress-line { position:absolute;border-top:2px dashed #c6b5d4;transform-origin:left; }.line-a { left:35%;top:86px;width:104px;transform:rotate(24deg); }.line-b { left:35%;top:132px;width:90px;transform:rotate(111deg); }.progress-copy p:not(.eyebrow) { color:var(--muted); }.progress-copy .emphasis { padding-left:16px;border-left:3px solid #c9879b;color:var(--ink);font-weight:700; }
.wait-section { text-align:center; }.waiting-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px;text-align:left; }.waiting-grid article { padding:26px;border-radius:19px;background:#fff; }.waiting-grid span { color:var(--rose-dark);font-size:1.7rem; }.waiting-grid h3 { margin:10px 0 6px;font-size:1rem; }.waiting-grid p { margin:0;color:var(--muted);font-size:.87rem;line-height:1.75; }.urgent { display:inline-block;margin:32px 0 0;padding:12px 18px;border-radius:12px;background:#fff1eb;color:#755b5e;text-align:left;font-size:.86rem; }
.checklist-section { display:grid;grid-template-columns:.75fr 1.25fr;gap:55px;align-items:start; }.checklist-intro { position:sticky;top:74px; }.checklist-intro p:not(.eyebrow) { color:var(--muted); }.reset-button { padding:0;border:0;border-bottom:1px solid #ba7381;color:#a65a6c;background:none;cursor:pointer;font:inherit;font-size:.85rem; }.checklist { display:grid;gap:16px; }.checklist fieldset { margin:0;padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff; }.checklist legend { padding:0 6px;color:var(--rose-dark);font-weight:800;font-size:.9rem; }.checklist label { display:flex;gap:12px;align-items:flex-start;padding:11px 0;cursor:pointer;line-height:1.65;font-size:.92rem; }.checklist label+label { border-top:1px solid #f2e9e7; }.checklist input { appearance:none;flex:none;width:22px;height:22px;margin:2px 0 0;border:1.5px solid #cfb5b9;border-radius:6px;background:#fff;cursor:pointer; }.checklist input:checked { border-color:var(--rose-dark);background:var(--rose-dark) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='white' stroke-width='2.5' d='m4 10 4 4 8-8'/%3E%3C/svg%3E") center/16px no-repeat; }.checklist input:checked+span { color:#90616d;text-decoration:line-through; }.closing { padding-bottom:110px;text-align:center; }.closing-mark { display:grid;place-items:center;width:60px;height:60px;margin:0 auto 18px;border-radius:50%;background:#f7dbdf;color:var(--rose-dark);font-size:1.8rem; }.closing p { color:var(--muted); }.closing .button { margin-top:12px; } footer { padding:32px max(20px,calc((100% - 1080px)/2));background:#3f3741;color:#efe9ec;font-size:.78rem;line-height:1.7; } footer p { margin:0; }.sources { display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:14px;color:#cfc3ca; }.sources a { color:#fff;text-underline-offset:3px; }
@media (max-width:760px) { body{font-size:15px}.site-header{height:66px;width:calc(100% - 32px)}.brand{font-size:.88rem}.section{width:calc(100% - 32px);padding:65px 0}.hero{grid-template-columns:1fr;gap:25px;min-height:0;padding-top:35px;padding-bottom:65px}.hero-art{min-height:300px;order:-1;border-radius:38% 62% 43% 57% / 47% 36% 64% 53%}.sun{width:130px;height:130px;top:32px;right:30px}.art-card{width:210px;padding:20px}.quick-nav{justify-content:flex-start}.reassurance-grid,.stage-track,.waiting-grid{grid-template-columns:1fr}.message-card{min-height:0}.journey{grid-template-columns:1fr 1fr;row-gap:36px;margin-top:36px}.journey-line{display:none}.journey-step:nth-of-type(3){grid-column:1}.two-column,.progress-section,.checklist-section,.question-layout,.common-section,.transfer-section{grid-template-columns:1fr;gap:32px}.question-section{padding-block:75px}.question-title{font-size:clamp(2rem,10vw,3rem)!important}.about-visual{min-height:255px}.common-section{width:calc(100% - 32px);padding:28px}.common-stat{min-height:160px}.common-stat .stat-number{font-size:3.6rem}.transfer-flow{gap:5px;padding:22px 7px}.flow-place{min-width:72px;font-size:.72rem}.flow-place small{font-size:.6rem}.flow-icon{width:43px;height:43px}.flow-arrow{font-size:1.1rem}.progress-art{min-height:230px}.checklist-intro{position:static}.soft-section{padding-inline:16px}.stage-card{min-height:0}.stage-dot{margin:17px 0}.section-heading.centered{text-align:left}.wait-section{text-align:left}.urgent{margin-top:20px}.closing{padding-bottom:80px}.hero-actions .button{width:100%} }
@media print { .site-header,.quick-nav,.hero-actions,.reset-button{display:none}.section{padding:38px 0}.soft-section{background:white}.checklist-intro{position:static}.hero{display:block;min-height:0}.hero-art{display:none} }
