:root{--bg:#fbfaf7;--surface:#ffffff;--surface-soft:#f4f0f7;--text:#2f2a33;--muted:#716a75;--line:#e7e0e9;--accent:#755b86;--accent-dark:#5f496e;--shadow:0 16px 40px rgba(74,56,82,.09);--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;line-height:1.75}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}.container{width:min(1080px,calc(100% - 32px));margin:0 auto}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:rgba(251,250,247,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(231,224,233,.8)}.header-inner{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.03em}.brand-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--surface-soft);color:var(--accent)}.nav{display:flex;gap:22px;font-size:.94rem}.hero{padding:76px 0 54px;text-align:center}.hero h1{font-size:clamp(2.2rem,7vw,4.4rem);line-height:1.12;margin:12px auto 18px;letter-spacing:-.035em}.hero p{max-width:680px;margin:0 auto;color:var(--muted);font-size:1.08rem}.eyebrow{color:var(--accent);font-size:.82rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.tool-shell{max-width:820px;margin:0 auto 64px}.card,.fortune-form,.result-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.fortune-form{padding:28px}.fortune-form label{display:block;font-weight:700}.form-row{display:grid;grid-template-columns:1fr auto;grid-gap:12px;gap:12px;margin-top:10px}input[type=date]{width:100%;padding:0 14px;border:1px solid var(--line);background:#fff;color:var(--text);font:inherit}.button,input[type=date]{min-height:50px;border-radius:14px}.button{display:inline-flex;align-items:center;justify-content:center;padding:0 22px;border:1px solid transparent;font-weight:800;font:inherit;cursor:pointer}.button.primary{background:var(--accent);color:#fff}.button.primary:hover{background:var(--accent-dark);color:#fff}.button.secondary{border-color:var(--line);background:#fff;margin-top:20px}.button.wide{width:100%;margin-top:18px}.disclaimer,.privacy-note{margin:12px 0 0;color:var(--muted);font-size:.84rem}.error{color:#a33a45;font-weight:700}.result-card{margin-top:24px;padding:34px;text-align:center}.number-orb{width:112px;height:112px;margin:10px auto 18px;display:grid;place-items:center;border-radius:50%;background:var(--surface-soft);color:var(--accent);font-size:3rem;font-weight:900;box-shadow:inset 0 0 0 1px var(--line)}.result-card h2{font-size:clamp(1.6rem,5vw,2.4rem);margin:6px 0 10px}.lead{color:var(--muted);max-width:680px;margin:0 auto}.result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px;margin-top:26px;text-align:left}.result-grid>div{padding:20px;border-radius:16px;background:#fcfbfd;border:1px solid var(--line)}.result-grid h3{margin:0 0 8px;font-size:1rem}.result-grid p{margin:0;color:#514a55}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.two-col input{margin-top:8px}.pair-numbers{display:flex;justify-content:center;align-items:center;gap:16px;margin:12px 0}.pair-numbers span{width:86px;height:86px;border-radius:50%;background:var(--surface-soft);display:grid;place-items:center;color:var(--accent);font-size:2.3rem;font-weight:900}.pair-numbers b{color:var(--muted)}.stars{font-size:1.4rem;letter-spacing:.15em;color:var(--accent)}.section{padding:58px 0}.section.alt{background:#f5f2f6;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-heading{max-width:720px;margin-bottom:28px}.section-heading h2{margin:6px 0 10px;font-size:clamp(1.7rem,4vw,2.5rem)}.section-heading p{color:var(--muted);margin:0}.number-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.number-card{min-height:180px;padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:18px;transition:transform .18s ease,box-shadow .18s ease}.number-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.number-card .num{font-size:2.2rem;font-weight:900;color:var(--accent)}.number-card h3{margin:6px 0 8px;font-size:1.03rem}.number-card p{margin:0;color:var(--muted);font-size:.92rem}.article{max-width:800px;margin:0 auto;padding:42px 0 72px}.article h1{font-size:clamp(2rem,6vw,3.4rem);line-height:1.2;margin:16px 0 14px}.article .intro{font-size:1.08rem;color:var(--muted)}.article-section{padding:24px 0;border-top:1px solid var(--line)}.article-section h2{margin:0 0 10px;font-size:1.45rem}.article-section p{margin:0}.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:.86rem}.breadcrumbs span{display:inline-flex;gap:8px}.notice{padding:18px 20px;background:var(--surface-soft);border:1px solid var(--line);border-radius:16px;color:#514a55}.link-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.link-card{padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.link-card h3{margin-top:0}.site-footer{border-top:1px solid var(--line);background:#f5f2f6;padding:42px 0 22px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr;grid-gap:40px;gap:40px}.footer-brand{font-weight:900;margin:0 0 8px}.muted{color:var(--muted)}.footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px 20px;gap:8px 20px}.footer-bottom{margin-top:30px;padding-top:18px;color:var(--muted);font-size:.82rem}.ad-slot,.footer-bottom{border-top:1px solid var(--line)}.ad-slot{margin:30px 0;min-height:120px;border-bottom:1px solid var(--line)}.ad-label{display:block;text-align:center;color:var(--muted);font-size:.72rem;padding-top:6px}@media (max-width:760px){.container{width:min(100% - 24px,1080px)}.header-inner{min-height:62px}.nav{gap:12px;font-size:.82rem}.nav a:nth-child(3){display:none}.hero{padding:52px 0 38px}.footer-grid,.form-row,.link-cards,.result-grid,.two-col{grid-template-columns:1fr}.number-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fortune-form,.result-card{padding:22px}}