*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:#f8f7f3;color:#243d38;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",sans-serif;line-height:1.75}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #c65231;outline-offset:4px}header,main,footer{max-width:1180px;margin:auto}header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 36px}.brand{display:flex;align-items:center;gap:9px;font-size:26px;font-weight:800;letter-spacing:-1px}.brandmark{color:#cf5638;font-size:38px}.kana{font-size:11px;font-weight:500;letter-spacing:2px;margin-left:7px}.header-link{font-size:13px;min-height:44px;display:flex;align-items:center;gap:12px}main{padding:0 36px}.hero{display:grid;grid-template-columns:1.35fr 1fr;align-items:center;gap:48px;padding:42px 0 48px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.1em;margin:0 0 12px;color:#526c64}h1{font-size:clamp(36px,4.7vw,56px);line-height:1.4;letter-spacing:.02em;margin:0 0 18px}.underline{background:linear-gradient(transparent 76%,#efc37f 0)}.intro{font-size:15px;color:#566b62;line-height:1.9;margin:0}.hero-link{position:relative;background:#e4efea;border:1px solid #cbded3;border-radius:24px;padding:30px;display:flex;flex-direction:column;gap:16px;transition:background .2s}.hero-link:hover{background:#d8e9df}.mini-label{font-size:11px;font-weight:750;letter-spacing:.09em;color:#3c6554}.hero-link strong{font-size:30px;line-height:1.5;letter-spacing:.04em}.hero-link>span:last-child{font-size:12px;display:flex;justify-content:space-between;align-items:center;gap:12px}.hero-link b{border-radius:50%;background:#295b48;color:#fff;width:40px;height:40px;display:grid;place-items:center;font-size:22px}.purpose{display:flex;gap:10px;align-items:center;flex-wrap:wrap;border-top:1px solid #dce1d9;border-bottom:1px solid #dce1d9;padding:18px 0}.purpose>span{font-size:12px;margin-right:auto;color:#526b60}.purpose a{font-size:12px;border:1px solid #d9e0d7;border-radius:30px;padding:10px 17px;background:#fff;min-height:44px;display:flex;align-items:center}.purpose a:hover{background:#e8efe8}#services{padding:42px 0 52px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}h2{font-size:27px;line-height:1.5;margin:0}.section-heading .eyebrow{margin-bottom:6px;font-size:10px;letter-spacing:.16em}.count{font-size:10px;letter-spacing:.12em;color:#607568}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card{background:#fff;border:1px solid #dfe5dc;border-radius:20px;overflow:hidden;display:flex;flex-direction:column;scroll-margin-top:20px;transition:box-shadow .2s}.card:hover{box-shadow:0 8px 25px #2547360d}.art{height:112px;position:relative;display:flex;justify-content:center;align-items:center;padding-bottom:12px;background:#e3eee7;color:#326354}.art svg{width:54px;height:54px}.art>span{position:absolute;bottom:7px;font-size:10px;letter-spacing:.02em}.quiz .art{background:#e9edf8;color:#536a9c}.letter .art{background:#faf0d7;color:#8c6823}.note .art{background:#eef0e5;color:#667344}.find .art{background:#f8ebe3;color:#955a40}.heart .art{background:#f9e8e2;color:#a9564a}.card-body{padding:23px;display:flex;flex-direction:column;flex:1}.card .eyebrow{font-size:10px;margin-bottom:7px}.card h3{font-size:21px;margin:0 0 8px;line-height:1.5;letter-spacing:-.025em}.card h3 a{display:inline-block;padding:3px 0}.catch{font-weight:700;font-size:14px;margin:0 0 8px}.description{font-size:13px;color:#53685e;margin:0 0 16px;line-height:1.85}.fine{font-size:11px;color:#596f64;margin:0 0 14px;line-height:1.8}.go{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e1e7df;padding:12px 0 0;font-size:13px;font-weight:700;margin-top:auto;min-height:48px;gap:12px}.go span{font-size:20px}.infection{grid-column:1/-1;display:grid;grid-template-columns: .7fr 1.3fr;border-color:#bed9ca;background:#fbfefb}.infection .art{height:auto;min-height:240px;background:#e0f0e9}.infection .art svg{width:120px;height:120px;padding:18px}.infection .art>span{bottom:24px;background:#fff;border-radius:20px;padding:5px 14px}.infection .card-body{padding:28px 32px}.infection h3{font-size:28px}.infection .go{background:#285d48;border:0;color:white;padding:12px 18px;border-radius:12px}.new{display:inline-block;font-size:9px;letter-spacing:.04em;background:#f8e7ba;color:#66501d;border-radius:5px;padding:2px 6px;margin-left:6px}.about{text-align:center;padding:44px 20px 50px;border-top:1px solid #dce1d9}.about h2{font-size:28px}.about>p:not(.eyebrow){font-size:13px;color:#5b7166;line-height:2;margin:20px 0}.about>a{font-size:13px;font-weight:bold;display:inline-flex;align-items:center;min-height:44px}footer{border-top:1px solid #dce1d9;padding:26px 36px;display:flex;gap:25px;align-items:center}footer .brand{font-size:20px}footer p{font-size:11px;color:#5b7166}footer small{font-size:10px;margin-left:auto}.skip{position:absolute;left:12px;top:-100px;background:#fff;padding:10px;z-index:10}.skip:focus{top:10px}
@media(max-width:900px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{gap:24px}.hero-link{padding:24px}.hero-link strong{font-size:26px}.purpose>span{width:100%}.kana{display:none}}
@media(max-width:560px){header{height:66px;padding:0 20px}.brand{font-size:23px;gap:6px}.brandmark{font-size:32px}.header-link{font-size:11px}main{padding:0 20px}.hero{padding:24px 0 26px;grid-template-columns:1fr;gap:20px}.hero .eyebrow{font-size:10px;margin-bottom:12px}h1{font-size:34px;line-height:1.45;margin-bottom:12px}.intro{font-size:13px}.hero-link{padding:16px 18px;border-radius:16px;gap:6px}.hero-link strong{font-size:20px;line-height:1.5}.hero-link strong br{display:none}.hero-link>span:last-child{font-size:11px}.hero-link b{height:32px;width:32px;font-size:18px}.mini-label{font-size:10px}.purpose{gap:8px;padding:14px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.purpose>span{grid-column:1/-1;font-size:11px;margin-bottom:1px}.purpose a{font-size:11px;justify-content:center;padding:8px 3px;border-radius:12px;white-space:nowrap}.section-heading{align-items:center;gap:8px;margin-bottom:16px}.section-heading h2{font-size:22px}.count{font-size:9px;letter-spacing:0;white-space:nowrap}#services{padding:28px 0 36px}.cards{grid-template-columns:1fr;gap:14px}.card{display:grid;grid-template-columns:64px minmax(0,1fr);border-radius:16px;padding:18px;gap:12px;align-items:start}.art{height:64px;padding:0;border-radius:16px}.art svg{width:36px;height:36px}.art>span{display:none}.card-body{padding:0;min-width:0}.card .eyebrow{font-size:9px;margin-bottom:3px}.card h3{font-size:18px;margin-bottom:6px;letter-spacing:-.035em}.catch{font-size:12px;margin-bottom:7px}.description{font-size:12px;line-height:1.8;margin-bottom:10px}.fine{font-size:10px}.go{font-size:12px;padding-top:8px;min-height:44px}.infection{grid-column:auto;grid-template-columns:1fr;gap:0;padding:0}.infection .art{display:none}.infection .card-body{padding:22px}.infection h3{font-size:25px}.infection .eyebrow{font-size:10px}.infection .catch{font-size:15px}.infection .description{font-size:13px}.infection .go{min-height:48px;margin-top:2px;font-size:14px}.about{padding:32px 0}.about h2{font-size:23px}.about>p:not(.eyebrow){font-size:12px}footer{padding:24px 20px;flex-wrap:wrap;gap:8px 20px}footer p{width:100%;order:3;margin:0}}
@media(max-width:360px){main{padding:0 16px}header{padding:0 16px}h1{font-size:30px}.card{grid-template-columns:48px minmax(0,1fr);gap:10px;padding:15px}.art{height:48px;border-radius:12px}.art svg{width:30px;height:30px}.infection{grid-template-columns:1fr;padding:0}.section-heading h2{font-size:20px}.purpose a{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
