@font-face{font-family:'Kuretake Meiseki';src:url('assets/AP-OTF-KuretakeMeisekiStdN-B.otf') format('opentype');font-style:normal;font-weight:700;font-display:swap}
:root{--fortune-red:#bc1629;--fortune-red-deep:#8f0f22;--fortune-gold:#f5b83a;--fortune-cream:#fff9e9;--fortune-ink:#31263e}
.fortune-page{background:#f7efdb;color:var(--fortune-ink)}
.fortune-page #main{overflow:hidden}
.fortune-shell{max-width:1160px;margin:0 auto;padding:0 20px 72px}
.fortune-hero{position:relative;overflow:hidden;min-height:510px;padding:44px 5% 0;text-align:center;color:#fff;background:#c92334 url('assets/fortune-landscape-v1.png') center/100% 100% no-repeat;border-radius:0 0 42px 42px;box-shadow:0 15px 30px #8d102545}
.fortune-hero:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,#840d2540 0%,#bf172c0d 43%,transparent 70%)}.fortune-hero:after,.fortune-hero-scenery{display:none}
.fortune-hero-copy{position:relative;z-index:3}.fortune-hero .eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;font-weight:800;letter-spacing:.06em}.fortune-hero .eyebrow:before,.fortune-hero .eyebrow:after{content:"✦";color:var(--fortune-gold)}
.fortune-hero h1{margin:7px 0 4px;color:#ffe744;font-family:'Kuretake Meiseki',serif;font-size:clamp(2.35rem,4vw,3.35rem);font-weight:700;line-height:1.05;letter-spacing:.04em;text-shadow:0 3px 0 #a41428}.fortune-hero h1 span{display:block;margin-top:.28em;font-size:.52em;color:#fff;letter-spacing:.08em}.fortune-hero p{margin:12px auto 0;max-width:28em;font-family:serif;font-size:.98rem;line-height:1.65}.fortune-hero-characters{position:absolute;z-index:3;left:50%;bottom:-7px;display:flex;align-items:end;justify-content:center;width:min(97%,1020px);transform:translateX(-50%);filter:drop-shadow(0 11px 6px #6e0c1d80)}.fortune-hero-characters img{width:13.5%;max-width:138px;object-fit:contain;transform:translateY(5px)}.fortune-hero-characters img:nth-child(1),.fortune-hero-characters img:nth-child(7){width:10.5%;opacity:.98}.fortune-hero-characters img:nth-child(2),.fortune-hero-characters img:nth-child(6){width:13.5%}.fortune-hero-characters img:nth-child(3),.fortune-hero-characters img:nth-child(5){width:15%;z-index:1}.fortune-hero-characters img:nth-child(4){width:21.5%;max-width:205px;z-index:2}
.fortune-crumbs{display:none}.fortune-diagnosis{position:relative;z-index:2;width:100vw;max-width:none;margin:-26px calc(50% - 50vw) 0;padding:38px max(46px,calc((100vw - 1760px)/2)) 44px;border:1px solid #e7c989;border-radius:0;background:linear-gradient(135deg,#fffdf7 0%,#fff7e6 100%);box-shadow:0 13px 30px #7d3b2226}.fortune-diagnosis:before{content:"";position:absolute;inset:10px;border:1px solid #eddbad;pointer-events:none}.fortune-diagnosis>*{position:relative;z-index:1}.fortune-section-kicker{margin:0;text-align:center;font-size:.72rem;font-weight:800;letter-spacing:.18em;color:#b68532}.fortune-diagnosis h2{margin:8px 0 26px;text-align:center;font-size:clamp(1.35rem,3vw,2rem);letter-spacing:.04em}.fortune-step{margin-top:22px}.fortune-step h3{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:1rem}.fortune-step h3 span{display:inline-flex;align-items:center;justify-content:center;min-width:70px;height:27px;border-radius:999px;background:#d9233b;color:#fff;font-size:.7rem;letter-spacing:.04em}.fortune-month-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:9px}.fortune-option{border:1px solid #e3d2bd;border-radius:9px;background:#fff;color:#31263e;font:inherit;font-weight:800;cursor:pointer;transition:.18s ease}.fortune-month-grid .fortune-option{min-height:44px}.fortune-option:hover,.fortune-option:focus-visible{border-color:#d9233b;transform:translateY(-1px)}.fortune-option.is-selected{border-color:#c81d35;background:#d9233b;color:#fff;box-shadow:0 5px 13px #bd243842}.fortune-zodiac-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:8px}.fortune-zodiac{min-height:80px;padding:5px 3px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.8rem}.fortune-zodiac img{width:45px;height:45px;object-fit:contain;transition:transform .18s ease}.fortune-zodiac.is-selected img{transform:scale(1.07)}.fortune-zodiac small{font-size:.66rem;line-height:1.1}.fortune-submit{display:flex;align-items:center;justify-content:center;gap:11px;min-width:280px;margin:30px auto 0;padding:15px 28px;border:0;border-radius:999px;background:linear-gradient(135deg,#dc2c43,#b60f29);color:#fff;font:inherit;font-size:1.03rem;font-weight:800;box-shadow:0 8px 15px #b719303d;cursor:pointer;transition:transform .18s ease}.fortune-submit:hover{transform:translateY(-2px)}.fortune-submit span{font-size:1.3em}.fortune-hint{margin:12px 0 0;text-align:center;color:#b8162d;font-weight:700}
.fortune-result{width:100vw;max-width:none;margin:28px calc(50% - 50vw) 0;padding:36px max(46px,calc((100vw - 1760px)/2));border:2px solid #f2c76c;border-radius:0;background:radial-gradient(circle at 76% 15%,#fff0d2 0 4%,transparent 21%),linear-gradient(135deg,#fffdf7,#ffeed0);box-shadow:0 12px 28px #7d3b2222}.fortune-result[hidden]{display:none}.fortune-result-kicker{margin:0 0 10px;color:#bc1629;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-align:center}.fortune-result-inner{display:grid;grid-template-columns:minmax(160px,300px) 1fr;gap:28px;align-items:center}.fortune-result-inner>img{width:100%;max-height:300px;object-fit:contain;filter:drop-shadow(0 12px 9px #7d3b2233)}.fortune-series{display:inline-block;color:#bc1629;font-size:.76rem;font-weight:900;letter-spacing:.12em}.fortune-result h2{margin:5px 0 5px;font-size:clamp(1.6rem,3vw,2.5rem)}.fortune-label{display:inline-block;margin:0 0 13px;padding:6px 15px;border-radius:999px;background:#f6d27b;color:#71311c;font-weight:900}.fortune-result p:not(.fortune-label){line-height:1.8}.fortune-result a{display:inline-flex;margin-top:6px;padding:10px 18px;border:1px solid #b71a2f;border-radius:999px;color:#b71a2f;font-weight:800;text-decoration:none}.fortune-result a:hover{background:#b71a2f;color:#fff}
.fortune-partners{position:relative;overflow:hidden;width:100vw;max-width:none;margin:42px calc(50% - 50vw) 0;padding:35px max(42px,calc((100vw - 1760px)/2));border-radius:0;color:#fff;background:linear-gradient(115deg,#9d1128,#e13342 65%,#f46f4d);box-shadow:0 12px 24px #9a173338}.fortune-partners:after{content:"";position:absolute;right:-38px;bottom:-65px;width:230px;height:230px;border:30px solid #f7c65d55;border-radius:50%;transform:rotate(-24deg)}.fortune-partners>*{position:relative;z-index:1}.fortune-partners small{font-weight:800;letter-spacing:.12em;color:#ffe366}.fortune-partners h2{margin:8px 0;font-size:clamp(1.4rem,3vw,2.2rem)}.fortune-partners p{max-width:36em;line-height:1.7}.fortune-partners a{display:inline-flex;margin-top:6px;padding:10px 18px;border:1px solid #fff;border-radius:999px;color:#fff;font-weight:800;text-decoration:none}.fortune-partners a:hover{background:#fff;color:#b71930}
.fortune-library-link{display:grid;grid-template-columns:130px 1fr auto;gap:20px;align-items:center;margin:24px 0;padding:18px 24px;border:1px solid #e6c879;border-radius:22px;background:linear-gradient(105deg,#fff3d4,#fffdfa);box-shadow:0 8px 18px #a86a2020;text-decoration:none;color:inherit}.fortune-library-link img{width:115px;height:92px;object-fit:contain}.fortune-library-link small{display:block;color:#bd1a31;font-weight:800;letter-spacing:.1em}.fortune-library-link h2{margin:5px 0;font-size:1.32rem}.fortune-library-link p{margin:0;color:#65586a;font-size:.9rem}.fortune-library-link strong{color:#bd1a31;white-space:nowrap}
@media(max-width:700px){.fortune-shell{padding:0 9px 48px}.fortune-hero{min-height:370px;padding-top:32px;border-radius:0 0 28px 28px;background-size:cover}.fortune-hero h1{font-size:2.25rem}.fortune-hero p{font-size:.83rem}.fortune-hero-characters{width:108%;bottom:1px}.fortune-mountain{bottom:61px;height:135px}.fortune-temple{bottom:110px;transform:scale(.58)}.temple-left{left:7%}.temple-right{right:6%;transform:scale(.52)}.fortune-diagnosis{margin-top:-15px;padding:27px 15px 30px;border-radius:20px}.fortune-diagnosis:before{inset:6px;border-radius:15px}.fortune-diagnosis h2{margin-bottom:19px;font-size:1.2rem}.fortune-step{margin-top:17px}.fortune-step h3{font-size:.88rem}.fortune-step h3 span{min-width:58px;height:24px;font-size:.62rem}.fortune-month-grid{gap:6px}.fortune-month-grid .fortune-option{min-height:38px;font-size:.8rem}.fortune-zodiac-grid{grid-template-columns:repeat(6,1fr);gap:6px}.fortune-zodiac{min-height:67px;font-size:.73rem}.fortune-zodiac img{width:36px;height:36px}.fortune-submit{min-width:240px;padding:13px 22px;font-size:.9rem}.fortune-result{margin-top:17px;padding:25px 18px;border-radius:20px}.fortune-result-inner{grid-template-columns:120px 1fr;gap:13px}.fortune-result-inner>img{max-height:210px}.fortune-result h2{font-size:1.45rem}.fortune-result p:not(.fortune-label){font-size:.86rem;line-height:1.65}.fortune-partners{margin-top:25px;padding:28px 21px;border-radius:20px}.fortune-library-link{grid-template-columns:82px 1fr;gap:11px;margin:18px 0;padding:14px}.fortune-library-link img{width:76px;height:70px}.fortune-library-link p{display:none}.fortune-library-link strong{grid-column:2;font-size:.86rem}}
.fortune-hero .eyebrow{gap:6px;color:#fff;font-size:.94rem;letter-spacing:.03em}.fortune-hero .eyebrow:before,.fortune-hero .eyebrow:after{display:none}.fortune-hero .eyebrow span{margin-left:3px;color:#fff0b8;font-size:1.55em;line-height:0}.fortune-hero h1{color:#fff;font-family:'Kuretake Meiseki',serif;text-shadow:0 2px 1px #8d1425}.fortune-hero h1 em,.fortune-hero h1 strong,.fortune-hero h1>span,.fortune-hero h1 i{display:block;font-style:normal}.fortune-hero h1 em{color:#ffe744;font-size:clamp(2.25rem,3.65vw,3.15rem);line-height:1;letter-spacing:.06em}.fortune-hero h1 strong{margin-top:.06em;color:#fff;font-size:clamp(2.45rem,4.35vw,3.8rem);line-height:1.08;letter-spacing:.025em}.fortune-hero h1 i{display:flex;align-items:center;justify-content:center;gap:12px;margin:.28em auto .44em;color:#ffe744;font-size:.42em;line-height:1}.fortune-hero h1 i:before,.fortune-hero h1 i:after{content:"";display:block;width:clamp(86px,12vw,180px);border-top:1px solid #ffd36f}.fortune-hero h1>span{margin:0;color:#fff;font-family:'Kuretake Meiseki',serif;font-size:.39em;line-height:1.5;letter-spacing:.07em}
