:root{color-scheme:dark;--cream:#fff5df;--gold:#dcb578;--red:#8c182c;--ink:#4d2929;font-family:'Yu Mincho','Hiragino Mincho ProN','Noto Serif JP',serif;color:var(--cream);background:#231519;font-synthesis:none}*{box-sizing:border-box}body{margin:0}html{scroll-behavior:smooth;scroll-padding-top:24px}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ffe49c;outline-offset:5px}a:hover{color:#ffe2a5}button{cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;z-index:100;top:12px;left:12px;transform:translateY(-180%);padding:14px 20px;background:#fff6e8;color:#5e1e2b}.skip-link:focus{transform:none}.site-header{position:absolute;inset:0 0 auto;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:15px clamp(20px,2.8vw,50px);min-height:93px;background:linear-gradient(#130b13df,#201119a0,transparent);text-shadow:0 2px 8px #15090c}.brand{display:flex;gap:12px;align-items:center;flex-shrink:0;line-height:1.15;font-size:clamp(24px,2.2vw,37px);letter-spacing:.06em;font-weight:600}.brand img{width:52px;height:52px}.brand small{display:block;text-align:center;font-family:Georgia,serif;font-size:10px;letter-spacing:.46em;margin-top:8px}.main-nav{display:flex;align-items:stretch;gap:clamp(8px,1.2vw,24px)}.main-nav a{position:relative;min-width:65px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:13px;padding:6px 5px;white-space:nowrap;min-height:64px}.main-nav svg{height:23px;width:23px;color:#f8ddac}.main-nav small{font-family:system-ui,sans-serif;font-size:8px;color:#ffe4bd;letter-spacing:.08em}.main-nav a:hover:after{content:'';position:absolute;bottom:0;width:25px;height:1px;background:var(--gold)}.main-nav .nav-about{margin-left:10px;font-size:12px}.nav-about>span:first-child{font-size:25px;line-height:1;color:#f8ddac}.menu-toggle{display:none}.hero-world{position:relative;isolation:isolate;background:#30171c;padding-bottom:20px}.hero-picture{position:absolute;inset:0;z-index:-2;overflow:hidden}.hero-picture img{width:100%;height:100%;object-fit:cover;object-position:center top}.hero-world:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#1f10131a 0%,transparent 35%,#1d0c1638 65%,#231519 100%)}.hero{min-height:620px;height:calc(100svh - 192px);max-height:1000px;position:relative;display:flex;justify-content:center;align-items:center;padding-top:110px}.greeting{position:absolute;top:20%;left:12%;writing-mode:vertical-rl;letter-spacing:.18em;font-size:21px;line-height:1.9;text-shadow:0 2px 10px #20070c,0 2px 3px #20070c}.hero-copy{width:min(560px,48%);margin-left:8%;text-align:center;margin-top:55px;text-shadow:0 2px 16px #210f15,0 2px 3px #210f15}.hero-emblem{width:85px;height:85px;filter:drop-shadow(0 0 15px #d99b63a6)}h1{font-size:clamp(46px,4.7vw,77px);font-weight:500;letter-spacing:.1em;margin:12px -20px 0;white-space:nowrap;line-height:1.3}.roman-title{font-family:Georgia,serif;letter-spacing:.43em;font-size:16px;margin:4px 0 20px;padding-left:.43em}.tagline{font-size:20px;letter-spacing:.1em;margin:0 0 100px}.tagline span{white-space:nowrap}.primary-cta{position:relative;display:flex;justify-content:center;align-items:center;gap:20px;min-height:79px;width:100%;padding:15px 21px;border:4px double #f2cb86;outline:1px solid #b88648;outline-offset:3px;border-radius:44px 16px;background:linear-gradient(115deg,#81152a,#a91b36 46%,#751120);box-shadow:inset 0 0 0 2px #b88a55,inset 0 0 24px #d9aa4733,0 8px 30px #15080ac2;color:#fff5dc;font-size:25px;letter-spacing:.06em;transition:filter .2s,transform .2s;text-shadow:0 2px 3px #5a121f}.primary-cta:hover{filter:brightness(1.13);transform:translateY(-2px)}.primary-cta svg{width:31px;height:31px;color:#ffdc95;flex-shrink:0}.arrow{font-family:serif;font-size:35px;font-weight:400;margin-left:auto}.intro-link{display:inline-flex;align-items:center;gap:15px;min-height:48px;font-size:14px;letter-spacing:.08em;margin-top:6px}.fortune-section{width:min(1390px,calc(100% - 80px));margin:0 auto;position:relative}.service-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}.service-card{position:relative;min-width:0;min-height:144px;border:3px double #cfad71;border-radius:17px 5px;background:radial-gradient(ellipse at 50% -80%,#905855,#1f1a2fe8 80%);box-shadow:0 5px 16px #140b13a6;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:15px 5px 12px;color:#fff4df;text-align:center}.service-card:before,.service-card:after{content:'✦';font-size:10px;position:absolute;color:#e4c18a;top:3px;left:5px}.service-card:after{top:auto;left:auto;bottom:3px;right:5px}.service-card svg{width:30px;height:30px;color:#f3cc86;margin-bottom:6px}.service-card strong{font-size:22px;font-weight:500;letter-spacing:.06em;line-height:1.5}.service-description{font-size:12px;line-height:1.7;white-space:nowrap}.service-status{font-family:system-ui,sans-serif;font-size:9px;letter-spacing:.12em;color:#f6d5b2;margin-top:5px}.is-live{background:radial-gradient(ellipse at 50% -70%,#e09c6d,#6e2434d9 65%,#32151b);transition:transform .2s,filter .2s}.is-live:hover{transform:translateY(-4px);filter:brightness(1.15)}.service-tarot{background:linear-gradient(145deg,#65404b,#271b26)}.service-shichusuimei{background:radial-gradient(ellipse at top,#75613e,#241b20 75%)}.service-compatibility{background:linear-gradient(150deg,#a35a56,#44283e 40%,#1d1925)}.service-dream{background:radial-gradient(ellipse at top,#735273,#1a1b32 75%)}.service-note{text-align:center;font-size:11px;letter-spacing:.03em;color:#ecd9cc;margin:17px 0 0;line-height:1.7}.lower-content{max-width:1120px;width:calc(100% - 64px);margin:42px auto 0}.eyebrow{font-size:11px;letter-spacing:.17em;font-family:system-ui,sans-serif;font-weight:500}.season-panel{display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative;overflow:hidden;min-height:280px;padding:32px 50px;border:3px double #b68a54;border-radius:20px 5px;background:radial-gradient(ellipse at top right,#a45e65 0%,#6f2e3e 38%,#49202e 90%);box-shadow:0 15px 35px #130b1140}.season-panel .eyebrow{color:#f8d59a;margin:0 0 15px}.season-panel h2{font-size:30px;font-weight:500;line-height:1.65;letter-spacing:.12em;margin:0 0 12px}.season-panel p:not(.eyebrow){font-size:14px;line-height:1.9;color:#f1ded1;margin:0 0 17px}.text-link{display:inline-flex;gap:40px;align-items:center;border-bottom:1px solid #dcad7c;min-height:44px;font-size:15px;letter-spacing:.05em}.season-decoration{display:flex;align-items:center;gap:30px;padding-right:30px;color:#edbc9a}.season-decoration>span{font-size:150px;font-weight:400;opacity:.65;text-shadow:0 0 70px #f5c89260}.season-decoration i{writing-mode:vertical-rl;letter-spacing:.2em;font-size:16px;font-style:normal}.news-panel{color:var(--ink);background:#fff6ec;border:3px double #d6b37e;border-radius:17px 5px;padding:25px 32px;margin-top:28px;color-scheme:light}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:16px;border-bottom:1px solid #dec9b7}.panel-heading h2{font-size:23px;font-weight:500;letter-spacing:.08em;margin:0;color:#7d302e}.panel-heading h2>span{margin-right:9px}.panel-heading .eyebrow{font-size:10px;color:#94675b}.empty-news{margin:20px 0 2px;font-size:15px;line-height:1.9}.empty-news span{font-size:13px;color:#79635d}.about-section{text-align:center;padding:75px 20px 45px}.about-section>.eyebrow{color:#e1b98b;font-family:inherit;font-size:13px}.about-section h2{font-size:32px;letter-spacing:.12em;line-height:1.8;font-weight:500;margin:15px 0 22px}.about-section>p:not(.eyebrow){font-size:14px;line-height:2.3;color:#dfcbc5}.about-notes{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:850px;margin:35px auto 0;text-align:left}.about-notes>div{border-top:1px solid #795049;padding-top:20px}.about-notes h3{font-size:17px;font-weight:500;color:#f1d0a5;margin:0 0 12px}.about-notes p{font-size:13px;line-height:2;color:#dbc6c1;margin:0}.mobile-break{display:none}.site-footer{border-top:1px solid #65463f;text-align:center;padding:35px 24px 30px;background:#1b1115}.footer-brand{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:9px;font-size:21px;letter-spacing:.08em}.footer-brand span{font-family:Georgia,serif;font-size:9px;letter-spacing:.3em;padding-left:8px}.site-footer nav{display:flex;justify-content:center;gap:25px;flex-wrap:wrap;margin:18px 0;font-size:12px}.site-footer nav a{display:inline-flex;align-items:center;min-height:44px}.site-footer details{width:min(700px,100%);margin:15px auto 25px;text-align:left;font-size:12px;line-height:2;color:#d2bcb5;border:1px solid #67443f;border-radius:6px;padding:10px 15px}.site-footer summary{cursor:pointer;min-height:30px}.disclaimer{font-size:11px;line-height:2;color:#c5afa8;margin:20px auto;max-width:640px}.site-footer>small{font:10px system-ui,sans-serif;color:#c9afa7;letter-spacing:.1em}
@media(min-width:1700px){.hero-world{max-width:1920px;margin:auto}.hero{min-height:850px}}
@media(max-width:1200px) and (min-width:761px){.hero{min-height:620px}.hero-copy{margin-left:17%;width:49%}.greeting{left:6%}.tagline{font-size:17px;margin-bottom:90px}.service-grid{gap:10px}.service-card strong{font-size:19px}.service-card{min-height:140px}.fortune-section{width:calc(100% - 40px)}.primary-cta{font-size:22px}}
@media(max-width:1050px){.site-header{min-height:82px;padding:16px 24px}.brand{font-size:29px}.brand img{height:47px;width:47px}.main-nav{flex-wrap:wrap;justify-content:center;background:#25141cf5;border:1px solid #c4a473;padding:12px;border-radius:12px;position:absolute;top:85px;left:20px;right:20px;gap:6px}.main-nav a{width:calc(25% - 6px);padding:12px 4px;min-height:80px}.main-nav .nav-about{margin-left:0}.js .main-nav{display:none}.js .main-nav.is-open{display:flex}.menu-toggle:not([hidden]){display:flex;position:relative;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-width:48px;min-height:48px;color:var(--cream);border:0;background:transparent;padding:8px}.menu-lines{width:29px;height:19px;border-block:2px solid currentColor;position:relative}.menu-lines:after{content:'';position:absolute;inset:7px 0 auto;border-top:2px solid currentColor}.menu-label{font-size:9px;letter-spacing:.1em}.menu-toggle[aria-expanded=true] .menu-lines{border:0}.menu-toggle[aria-expanded=true] .menu-lines:before,.menu-toggle[aria-expanded=true] .menu-lines:after{content:'';position:absolute;inset:8px 0 auto;border-top:2px solid currentColor;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-lines:after{transform:rotate(-45deg)}html:not(.js) .site-header{position:relative;display:block;background:#25141c}html:not(.js) .main-nav{position:static;margin-top:20px}}
@media(max-width:760px){.site-header{padding:12px 17px;min-height:76px;gap:8px}.brand{gap:8px;font-size:27px}.brand img{height:43px;width:43px}.brand small{font-size:8px;letter-spacing:.36em;margin-top:6px}.main-nav{top:77px;left:12px;right:12px;max-height:calc(100svh - 90px);overflow:auto;box-shadow:0 12px 45px #000a}.main-nav a{width:calc(33.333% - 6px);font-size:12px;min-height:82px}.hero-world{padding-bottom:18px}.hero-picture{height:calc(100vw * 1.62 + 150px);max-height:1030px}.hero-picture img{object-position:center top;object-fit:cover}.hero-world:after{background:linear-gradient(180deg,transparent 5%,#25121b05 28%,#26151c70 54%,#231519 85%)}.hero{display:block;height:auto;max-height:none;min-height:0;padding-top:clamp(330px,91vw,615px);padding-bottom:3px}.greeting{writing-mode:horizontal-tb;left:auto;right:5%;top:18%;font-size:clamp(14px,4.2vw,24px);letter-spacing:.15em;line-height:1.85;text-align:left;margin:0;max-width:52%}.hero-copy{width:calc(100% - 40px);margin:0 auto;text-align:center}.hero-emblem{width:55px;height:55px}h1{font-size:clamp(37px,10vw,66px);margin:8px 0 0;letter-spacing:.1em}.roman-title{font-size:12px;letter-spacing:.42em;margin:2px 0 13px}.tagline{font-size:clamp(15px,4.1vw,23px);line-height:1.65;letter-spacing:.13em;margin:0 0 23px}.tagline span{display:block}.primary-cta{min-height:67px;border-radius:30px 12px;padding:12px 13px;font-size:clamp(17px,4.5vw,25px);gap:12px;letter-spacing:.015em;outline-offset:2px}.primary-cta svg{width:28px;height:28px}.primary-cta .arrow{font-size:28px}.intro-link{min-height:44px;font-size:12px;margin-top:6px}.fortune-section{width:calc(100% - 30px);margin-top:10px}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.service-card,.is-live,.service-tarot,.service-shichusuimei,.service-compatibility,.service-dream{background:radial-gradient(ellipse at 0 0,#fde2d3,transparent 60%),radial-gradient(ellipse at 100% 100%,#f6ddcc,transparent 65%),#fff8ed;border-color:#c09360;color:#3e2622;border-radius:14px 5px;box-shadow:0 3px 12px #10070c70;min-height:128px;padding:12px 3px 10px}.service-card svg{width:27px;height:27px;color:#813c2b;margin-bottom:4px}.service-card strong{font-size:clamp(16px,4.2vw,22px);font-weight:600;letter-spacing:.025em}.service-description{font-size:clamp(9px,2.5vw,13px);letter-spacing:0}.service-status{color:#87574c;font-size:8px;letter-spacing:.07em;margin-top:5px}.is-live .service-status{color:#8b182a;font-weight:700}.is-live{border-color:#e6b574;outline:1px solid #f6d7a1;outline-offset:1px}.service-note{font-size:10px;text-wrap:balance;padding:0 6px;margin-top:15px;line-height:1.8}.lower-content{width:calc(100% - 30px);margin:7px auto 0}.season-panel{padding:24px 20px;min-height:230px;gap:0;border-radius:15px 5px}.season-panel .eyebrow{font-size:9px;letter-spacing:.08em;white-space:nowrap}.season-panel h2{font-size:23px;letter-spacing:.07em;position:relative;z-index:1}.season-panel p:not(.eyebrow){font-size:12px;line-height:1.9;position:relative;z-index:1}.season-decoration{position:absolute;right:-20px;bottom:-25px;opacity:.3;padding:0}.season-decoration>span{font-size:180px}.season-decoration i{display:none}.text-link{font-size:13px;gap:24px;position:relative;z-index:1}.news-panel{margin-top:20px;padding:20px 18px}.panel-heading{gap:5px;padding-bottom:13px}.panel-heading h2{font-size:20px;letter-spacing:.04em}.panel-heading .eyebrow{font-size:8px;letter-spacing:.08em}.empty-news{font-size:13px;line-height:1.9;margin-top:16px}.empty-news span{font-size:11px}.about-section{padding:45px 5px 32px}.about-section h2{font-size:25px;letter-spacing:.06em;line-height:1.7}.about-section>.eyebrow{font-size:12px}.mobile-break{display:block}.about-section>p:not(.eyebrow){font-size:13px;line-height:2.2}.about-section>p br{display:none}.about-notes{gap:22px;grid-template-columns:1fr;margin-top:27px}.about-notes h3{font-size:16px}.about-notes p{font-size:12px}.site-footer{padding:28px 20px}.site-footer nav{gap:4px 19px;margin-block:12px;font-size:11px}.footer-brand{font-size:20px}.footer-brand span{font-size:8px}.disclaimer{font-size:10px}.site-footer details{font-size:11px}}
@media(max-width:359px){.site-header{padding-inline:12px}.brand{font-size:23px}.brand img{width:36px;height:36px}.brand small{font-size:7px}.menu-toggle:not([hidden]){padding:5px;min-width:44px}.hero-copy{width:calc(100% - 32px)}.hero{padding-top:300px}.greeting{font-size:13px;right:3%;top:20%}.hero-emblem{width:47px;height:47px}.primary-cta{font-size:16px;gap:7px}.primary-cta svg{width:24px;height:24px}.service-grid{gap:7px}.service-card{min-height:122px}.service-card strong{font-size:15px}.service-description{font-size:9px}.season-panel{padding:22px 16px}.season-panel .eyebrow{font-size:8px}.season-panel h2{font-size:21px}.panel-heading h2{font-size:18px}.panel-heading .eyebrow{font-size:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
