:root{--color-gold: #D4AF37;--color-gold-dark: #A88420;--color-gold-light: #F1E4C4;--color-navy: #0F2742;--color-washi: #F8F5EC;--color-vermilion: #B33B2E;--color-vermilion-dark: #913026;--color-ink: #1F2937;--color-muted: #6B7280;--color-green: #2E5D50;--color-white: #FFFFFF;--color-black: #111827;--color-wood: #2E5D50;--color-fire: #B33B2E;--color-earth: #B58A45;--color-metal: #D4AF37;--color-water: #264C73;--category-eto: #B33B2E;--category-gogyo: #2E5D50;--category-kyusei: #0F2742;--category-koyomi: #A9792B;--category-western: #62558A;--category-indian: #9A4B3F;--surface-page: #F8F5EC;--surface-card: #FFFFFF;--surface-soft: #F5F1E6;--surface-gold: #F1E4C4;--surface-ad: #F3F1E9;--border-color: rgba(31,41,55,0.12);--border-gold: rgba(212,175,55,0.55);--font-serif: "Noto Serif JP",serif;--font-sans: "Noto Sans JP",sans-serif;--text-xs: 0.75rem;--text-sm: 0.8125rem;--text-base-sm: 0.875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-4xl: 2.5rem;--text-5xl: 3rem;--leading-heading: 1.35;--leading-ui: 1.5;--leading-body: 1.85;--leading-article: 1.9;--space-1: 0.25rem;--space-2: 0.5rem;--space-3: 0.75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-round: 9999px;--shadow-sm: 0 1px 3px rgba(15,39,66,0.08);--shadow-md: 0 6px 20px rgba(15,39,66,0.09);--shadow-lg: 0 12px 36px rgba(15,39,66,0.12);--container: 1200px;--content: 760px;--sidebar: 300px;--header-height: 72px;--mobile-header-height: 56px;--bottom-nav-height: 68px;--transition-fast: 150ms ease;--transition: 220ms ease}@media not all{:root{--surface-page: #121A22;--surface-card: #19232D;--surface-soft: #202B35;--surface-gold: #403A29;--surface-ad: #1B252E;--color-washi: #121A22;--color-ink: #EDF0F2;--color-muted: #AEB7BF;--color-gold: #DDBD58;--color-gold-light: #4A412A;--border-color: rgba(255,255,255,0.12);--border-gold: rgba(221,189,88,0.45)}}*,*::before,*::after{box-sizing: border-box}html{scroll-behavior: smooth;-webkit-text-size-adjust: 100%}body{margin: 0;background: var(--surface-page);color: var(--color-ink);font-family: var(--font-sans);font-size: var(--text-base);line-height: var(--leading-body);overflow-wrap: break-word}img{display: block;max-width: 100%;height: auto}a{color: var(--color-navy);text-decoration-thickness: 1px;text-underline-offset: 3px}button,input,select,textarea{font: inherit}button,select{min-height: 48px}.container{width: min(calc(100% - 32px),var(--container));margin-inline: auto}.content-container{width: min(calc(100% - 32px),var(--content));margin-inline: auto}.section{padding-block: var(--space-16)}.section--compact{padding-block: var(--space-12)}.site-header{position: sticky;top: 0;z-index: 1000;height: var(--header-height);background: color-mix(in srgb,var(--surface-page) 94%,transparent);border-bottom: 1px solid var(--border-gold);backdrop-filter: blur(12px)}.header-inner{width: min(calc(100% - 32px),var(--container));height: 100%;margin-inline: auto;display: flex;align-items: center;gap: var(--space-8)}.site-logo{flex: 0 0 auto;font-family: var(--font-serif);font-size: 1.45rem;font-weight: 700;color: var(--color-navy);text-decoration: none}.desktop-nav{flex: 1;display: flex;align-items: center;justify-content: center;gap: clamp(14px,1.8vw,28px)}.desktop-nav a{color: var(--color-ink);font-size: var(--text-base-sm);font-weight: 500;text-decoration: none;transition: color var(--transition-fast),border-color var(--transition-fast)}.desktop-nav a:hover{color: var(--color-vermilion)}.header-actions{display: flex;align-items: center;gap: var(--space-2)}.mobile-menu-button{display: none;width: 48px;height: 48px;border: 0;background: transparent;color: var(--color-navy);cursor: pointer}.mobile-bottom-nav{display: none}.btn{display: inline-flex;align-items: center;justify-content: center;gap: var(--space-2);min-height: 48px;padding: 11px 22px;border-radius: var(--radius-md);border: 1px solid transparent;font-weight: 700;line-height: 1.4;text-decoration: none;cursor: pointer;transition: background var(--transition),border-color var(--transition),color var(--transition),transform var(--transition-fast),box-shadow var(--transition)}.btn:active{transform: translateY(1px)}.btn-primary{background: var(--color-vermilion);color: var(--color-white);border-color: var(--color-gold);box-shadow: var(--shadow-sm)}.btn-primary:hover{background: var(--color-vermilion-dark);box-shadow: var(--shadow-md)}.btn-secondary{background: transparent;color: var(--color-navy);border-color: var(--color-navy)}.btn-secondary:hover{background: var(--color-navy);color: var(--color-white)}.btn-text{min-height: auto;padding: 6px 0;border: 0;background: transparent;color: var(--color-navy)}.btn-text:hover{color: var(--color-vermilion)}.today-strip{background: var(--color-navy);color: var(--color-white);font-size: var(--text-base-sm)}.today-strip-inner{width: min(calc(100% - 32px),var(--container));margin-inline: auto;min-height: 44px;display: flex;align-items: center;justify-content: center;gap: var(--space-3);text-align: center}.today-strip strong,.today-strip time{color: var(--color-gold)}.hero{position: relative;isolation: isolate;min-height: 620px;display: grid;place-items: center;padding: var(--space-16) var(--space-4);background-color: var(--color-gold-light);background-position: center;background-size: cover;overflow: hidden}.hero::before{content: "";position: absolute;inset: 0;z-index: -1;background: linear-gradient( 90deg,rgba(248,245,236,0.08),rgba(248,245,236,0.2) 45%,rgba(248,245,236,0.08) )}.hero-content{width: min(100%,620px);text-align: center}.hero-eyebrow{margin-bottom: var(--space-3);color: var(--color-navy);font-size: var(--text-sm);font-weight: 700;letter-spacing: 0.18em}.hero-title{margin: 0;font-family: var(--font-serif);font-size: clamp(2.25rem,5vw,4rem);line-height: 1.35;letter-spacing: 0.06em;color: var(--color-navy);text-shadow: 0 1px 0 rgba(255,255,255,0.65)}.hero-description{max-width: 520px;margin: var(--space-4) auto var(--space-6);font-weight: 500}.birth-form{width: min(100%,560px);margin-inline: auto;padding: var(--space-6);background: rgba(248,245,236,0.96);border: 1px solid var(--border-gold);border-radius: var(--radius-lg);box-shadow: var(--shadow-lg)}.birth-form-fields{display: grid;grid-template-columns: 1.4fr 1fr 1fr;gap: var(--space-2)}.birth-form label{display: block;margin-bottom: var(--space-2);color: var(--color-ink);font-size: var(--text-sm);font-weight: 700}.birth-form select{width: 100%;padding-inline: 12px;background: var(--color-white);color: #1F2937;border: 1px solid rgba(31,41,55,0.22);border-radius: var(--radius-md)}.birth-form .btn{width: 100%;margin-top: var(--space-4)}.form-note{margin: var(--space-2) 0 0;color: var(--color-muted);font-size: var(--text-xs);text-align: center}.section-heading{max-width: 760px;margin: 0 auto var(--space-8);text-align: center}.section-heading-kicker{color: var(--color-gold-dark);font-size: var(--text-sm);font-weight: 700;letter-spacing: 0.14em}.section-heading h2{margin: var(--space-2) 0 0;font-family: var(--font-serif);font-size: clamp(1.65rem,3vw,2.25rem);line-height: var(--leading-heading);color: var(--color-navy)}.section-heading h2::after{content: "";display: block;width: 42px;height: 2px;margin: var(--space-4) auto 0;background: var(--color-gold)}.section-heading p{margin: var(--space-4) 0 0;color: var(--color-muted)}.zodiac-grid{display: grid;grid-template-columns: repeat(6,minmax(0,1fr));gap: var(--space-6)}.zodiac-item{text-align: center}.zodiac-link{display: block;color: inherit;text-decoration: none}.zodiac-image{position: relative;width: 100%;aspect-ratio: 1;border-radius: var(--radius-round);overflow: hidden;border: 2px solid transparent;transition: transform var(--transition),border-color var(--transition),box-shadow var(--transition)}.zodiac-image img{width: 100%;height: 100%;object-fit: cover;transition: transform var(--transition)}.zodiac-link:hover .zodiac-image{border-color: var(--color-gold);box-shadow: var(--shadow-md);transform: translateY(-2px)}.zodiac-link:hover .zodiac-image img{transform: scale(1.035)}.zodiac-kanji{display: block;margin-top: var(--space-3);font-family: var(--font-serif);font-size: var(--text-xl);font-weight: 700;color: var(--color-navy)}.zodiac-reading{display: block;color: var(--color-muted);font-size: var(--text-sm)}.fortune-grid{display: grid;grid-template-columns: repeat(3,1fr);gap: var(--space-6)}.fortune-card{display: flex;flex-direction: column;min-height: 100%;padding: var(--space-6);background: var(--surface-card);border: 1px solid var(--border-color);border-top: 3px solid var(--color-gold);border-radius: var(--radius-lg);box-shadow: var(--shadow-sm);transition: transform var(--transition),box-shadow var(--transition)}.fortune-card:hover{transform: translateY(-3px);box-shadow: var(--shadow-md)}.fortune-card-title{margin: 0 0 var(--space-2);font-family: var(--font-serif);font-size: var(--text-xl);color: var(--color-navy)}.fortune-card-description{flex: 1;margin: 0 0 var(--space-4);color: var(--color-muted)}.article-grid{display: grid;grid-template-columns: repeat(3,1fr);gap: var(--space-6)}.article-card{min-width: 0;background: var(--surface-card);border: 1px solid var(--border-color);border-radius: var(--radius-lg);overflow: hidden;box-shadow: var(--shadow-sm);transition: transform var(--transition),box-shadow var(--transition)}.article-card:hover{transform: translateY(-3px);box-shadow: var(--shadow-md)}.article-card-image{aspect-ratio: 16 / 9;overflow: hidden}.article-card-image img{width: 100%;height: 100%;object-fit: cover;transition: transform var(--transition)}.article-card:hover img{transform: scale(1.025)}.article-card-body{padding: var(--space-4)}.category-tag{display: inline-flex;padding: 4px 9px;border-radius: var(--radius-round);color: var(--color-white);font-size: var(--text-xs);font-weight: 700;line-height: 1.4}.category-tag--eto{background: var(--category-eto)}.category-tag--gogyo{background: var(--category-gogyo)}.category-tag--kyusei{background: var(--category-kyusei)}.category-tag--koyomi{background: var(--category-koyomi)}.category-tag--western{background: var(--category-western)}.category-tag--indian{background: var(--category-indian)}.article-card-title{margin: var(--space-3) 0 var(--space-2);font-family: var(--font-serif);font-size: var(--text-lg);line-height: 1.55;color: var(--color-navy)}.article-card-description{margin: 0;color: var(--color-muted);font-size: var(--text-base-sm)}.article-card-meta{margin-top: var(--space-3);color: var(--color-muted);font-size: var(--text-xs)}.breadcrumb{padding-block: var(--space-4);color: var(--color-muted);font-size: var(--text-sm)}.breadcrumb ol{display: flex;flex-wrap: wrap;gap: 6px;margin: 0;padding: 0;list-style: none}.breadcrumb li:not(:last-child)::after{content: "›";margin-left: 6px;color: var(--color-gold-dark)}.breadcrumb a{color: inherit}.toc{margin-block: var(--space-8);padding: var(--space-6);background: var(--surface-gold);border-left: 3px solid var(--color-gold);border-radius: var(--radius-md)}.toc-title{margin: 0 0 var(--space-3);font-family: var(--font-serif);font-size: var(--text-lg);font-weight: 700;color: var(--color-navy)}.toc ol,.toc ul{margin: 0;padding-left: 1.4rem}.toc li + li{margin-top: 6px}.toc a{color: var(--color-ink)}.result-summary{position: relative;padding: clamp(24px,4vw,40px);background: var(--surface-card);border: 1px solid var(--border-gold);border-top: 4px solid var(--color-gold);border-radius: var(--radius-lg);box-shadow: var(--shadow-md)}.result-summary-label{color: var(--color-muted);font-size: var(--text-sm);font-weight: 700}.result-summary-main{margin: var(--space-2) 0 var(--space-4);font-family: var(--font-serif);font-size: clamp(2.2rem,7vw,4rem);line-height: 1.2;color: var(--color-navy)}.result-summary-meta{display: flex;flex-wrap: wrap;gap: var(--space-2)}.result-pill{padding: 6px 12px;background: var(--surface-gold);border-radius: var(--radius-round);font-size: var(--text-sm);font-weight: 700}.result-summary-description{margin: var(--space-6) 0 0;font-size: var(--text-lg)}.meishiki-wrap{overflow-x: auto;margin-block: var(--space-8);border: 1px solid var(--border-color);border-radius: var(--radius-md);background: var(--surface-card)}.meishiki-table{width: 100%;min-width: 440px;border-collapse: collapse;text-align: center}.meishiki-table th,.meishiki-table td{padding: 14px 12px;border-bottom: 1px solid var(--border-color);border-right: 1px solid var(--border-color)}.meishiki-table th:last-child,.meishiki-table td:last-child{border-right: 0}.meishiki-table tr:last-child td,.meishiki-table tr:last-child th{border-bottom: 0}.meishiki-table thead th{background: var(--surface-gold);font-family: var(--font-serif);color: var(--color-navy)}.meishiki-table thead th:nth-child(2){background: color-mix( in srgb,var(--color-gold-light) 72%,var(--color-gold) 28% )}.meishiki-table tbody th{background: var(--surface-soft);text-align: left}.table-wrap{width: 100%;margin-block: var(--space-6);overflow-x: auto;border: 1px solid var(--border-color);border-radius: var(--radius-md)}.data-table{width: 100%;border-collapse: collapse}.data-table th,.data-table td{padding: 13px 14px;border-bottom: 1px solid var(--border-color)}.data-table th{background: var(--surface-gold);color: var(--color-navy);font-weight: 700;text-align: left}.data-table tbody tr:nth-child(even){background: color-mix( in srgb,var(--surface-soft) 55%,transparent )}.article-content{font-size: var(--text-base);line-height: var(--leading-article)}.article-content h1,.article-content h2,.article-content h3,.article-content h4{font-family: var(--font-serif);line-height: var(--leading-heading);color: var(--color-navy)}.article-content h1{margin: 0 0 var(--space-6);font-size: clamp(2rem,4vw,2.75rem)}.article-content h2{margin: var(--space-16) 0 var(--space-6);padding-bottom: var(--space-3);border-bottom: 1px solid var(--border-gold);font-size: clamp(1.55rem,3vw,2rem)}.article-content h3{margin: var(--space-8) 0 var(--space-4);padding-left: var(--space-3);border-left: 3px solid var(--color-gold);font-size: var(--text-xl)}.article-content p{margin: 0 0 1.5em}.article-content a{color: var(--color-navy)}.article-content blockquote{margin: var(--space-8) 0;padding: var(--space-4) var(--space-6);background: var(--surface-soft);border-left: 3px solid var(--color-gold)}.article-layout{display: grid;grid-template-columns: minmax(0,var(--content)) var(--sidebar);justify-content: center;align-items: start;gap: 48px}.article-sidebar{position: sticky;top: calc(var(--header-height) + 24px)}.ad-slot{width: 100%;margin-block: var(--space-8);padding: var(--space-3);background: var(--surface-ad);border: 1px solid var(--border-color);border-radius: var(--radius-sm);text-align: center}.ad-label{display: block;margin-bottom: 6px;color: var(--color-muted);font-size: 10px;letter-spacing: 0.08em}.ad-slot--banner{min-height: 110px}.ad-slot--rectangle{min-height: 280px}.ad-slot--large{min-height: 270px}.pagination{display: flex;justify-content: center;flex-wrap: wrap;gap: var(--space-2);margin-top: var(--space-12)}.pagination a,.pagination span{min-width: 44px;height: 44px;display: grid;place-items: center;border: 1px solid var(--border-color);border-radius: var(--radius-sm);color: var(--color-navy);text-decoration: none}.pagination .is-current{background: var(--color-navy);color: var(--color-white);border-color: var(--color-navy)}.zodiac-nav{display: flex;flex-wrap: wrap;justify-content: center;gap: var(--space-2);margin-block: var(--space-8)}.zodiac-nav a{width: 44px;height: 44px;display: grid;place-items: center;background: var(--surface-card);border: 1px solid var(--border-color);border-radius: var(--radius-round);font-family: var(--font-serif);font-weight: 700;text-decoration: none}.zodiac-nav a:hover,.zodiac-nav a[aria-current="page"]{background: var(--color-navy);color: var(--color-white);border-color: var(--color-gold)}.site-footer{margin-top: var(--space-16);padding: var(--space-16) 0 var(--space-8);background: var(--color-navy);color: rgba(255,255,255,0.82);border-top: 3px solid var(--color-gold)}.footer-grid{width: min(calc(100% - 32px),var(--container));margin-inline: auto;display: grid;grid-template-columns: 1.4fr repeat(3,1fr);gap: var(--space-8)}.footer-title{margin: 0 0 var(--space-3);font-family: var(--font-serif);font-size: var(--text-lg);color: var(--color-white)}.site-footer ul{margin: 0;padding: 0;list-style: none}.site-footer li + li{margin-top: 8px}.site-footer a{color: rgba(255,255,255,0.78);text-decoration: none}.site-footer a:hover{color: var(--color-gold)}.footer-bottom{width: min(calc(100% - 32px),var(--container));margin: var(--space-12) auto 0;padding-top: var(--space-6);border-top: 1px solid rgba(255,255,255,0.15);color: rgba(255,255,255,0.6);font-size: var(--text-xs)}:focus-visible{outline: 3px solid var(--color-gold);outline-offset: 3px}.skip-link{position: fixed;left: 12px;top: -100px;z-index: 9999;padding: 10px 14px;background: var(--color-navy);color: var(--color-white)}.skip-link:focus{top: 12px}@media (max-width: 1023px){.desktop-nav{display: none}.header-actions .btn-primary{display: none}.mobile-menu-button{display: grid;place-items: center}.header-inner{justify-content: space-between}.zodiac-grid{grid-template-columns: repeat(4,1fr)}.fortune-grid{grid-template-columns: repeat(2,1fr)}.article-grid{grid-template-columns: repeat(2,1fr)}.article-layout{grid-template-columns: minmax(0,var(--content))}.article-sidebar{position: static}.footer-grid{grid-template-columns: repeat(2,1fr)}}@media (max-width: 767px){body{padding-bottom: calc( var(--bottom-nav-height) + env(safe-area-inset-bottom) )}.site-header{height: var(--mobile-header-height)}.site-logo{font-size: 1.25rem}.today-strip-inner{min-height: 52px;flex-wrap: wrap;gap: 2px 8px;padding-block: 7px;line-height: 1.45}.hero{min-height: 590px;padding: var(--space-12) var(--space-4)}.hero-title{font-size: clamp(2rem,10vw,2.8rem)}.hero-description{font-size: var(--text-base-sm)}.birth-form{padding: var(--space-4)}.birth-form-fields{grid-template-columns: 1.4fr 0.9fr 0.9fr;gap: 6px}.birth-form label{font-size: var(--text-xs)}.birth-form select{padding-inline: 7px}.section{padding-block: var(--space-12)}.section-heading{margin-bottom: var(--space-6)}.zodiac-grid{grid-template-columns: repeat(3,1fr);gap: var(--space-4) var(--space-3)}.zodiac-kanji{margin-top: var(--space-2);font-size: var(--text-lg)}.fortune-grid,.article-grid{grid-template-columns: 1fr}.fortune-card{padding: var(--space-4)}.result-summary{padding: var(--space-6)}.result-summary-main{font-size: 2.5rem}.toc{padding: var(--space-4)}.article-content h2{margin-top: var(--space-12)}.footer-grid{grid-template-columns: 1fr;gap: var(--space-8)}.site-footer{margin-top: var(--space-12);padding-top: var(--space-12)}.mobile-bottom-nav{position: fixed;left: 0;right: 0;bottom: 0;z-index: 1100;min-height: calc( var(--bottom-nav-height) + env(safe-area-inset-bottom) );padding: 6px 8px env(safe-area-inset-bottom);display: grid;grid-template-columns: repeat(5,1fr);background: rgba(255,255,255,0.97);border-top: 1px solid var(--border-color);box-shadow: 0 -4px 16px rgba(15,39,66,0.08);backdrop-filter: blur(12px)}.mobile-bottom-nav a{min-width: 0;display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 2px;color: #4B5563;font-size: 10px;line-height: 1.2;text-decoration: none}.mobile-bottom-nav .nav-icon{font-size: 20px;line-height: 1}.mobile-bottom-nav .nav-main{color: var(--color-vermilion);font-weight: 700}.mobile-bottom-nav .nav-main .nav-icon{width: 42px;height: 42px;display: grid;place-items: center;margin-top: -14px;border-radius: 50%;background: var(--color-vermilion);color: var(--color-white);border: 2px solid var(--color-gold);box-shadow: var(--shadow-md)}.ad-slot{margin-block: var(--space-6)}}@media (max-width: 399px){.container,.content-container{width: min(calc(100% - 24px),var(--container))}.hero{padding-inline: 12px}.birth-form-fields{grid-template-columns: 1.3fr 0.85fr 0.85fr}.zodiac-grid{gap: 14px 8px}}@media (min-width: 1280px){.hero{min-height: 670px}.section{padding-block: var(--space-20)}}@media (prefers-reduced-motion: reduce){*,*::before,*::after{scroll-behavior: auto !important;transition-duration: 0.01ms !important;animation-duration: 0.01ms !important;animation-iteration-count: 1 !important}}