/* テーマ「空と暦」— こよみ堂。淡い空色の地に白いカード、空色の大きな数字、琥珀色の差し色。角は丸い。 */
:root{
  --bg:#F3F8FD;--surface:#FFFFFF;--ink:#142F4A;--text:#3D5873;--muted:#5C7891;
  --rule:#E6EFF7;--line:#D6E4F0;--header-line:#D6E4F0;--header-bg:#FFFFFF;--footer-bg:#FFFFFF;--promise-line:transparent;
  --accent:#2E7BBE;--accent-text:#256AA8;--accent-soft:#E6F0F9;--accent-dim:#B7D3EA;--second:#D08A2A;--accent-ink:#FFFFFF;
  --link:#256AA8;--link-hover:#1B507F;--nav-ink:#5C7891;
  --radius:12px;--radius-lg:20px;--radius-sm:10px;--search-gap:10px;
  --btn-bg:#FFFFFF;--btn-line:#D6E4F0;--btn-hover-bg:#F3F8FD;--btn-primary-bg:#2E7BBE;--btn-primary-ink:#FFFFFF;
  --input-border:1px solid #D6E4F0;--input-bg:#F3F8FD;
  --seg-line:#D6E4F0;--seg-on-bg:#2E7BBE;--seg-on-ink:#FFFFFF;
  --notice-bg:transparent;--error:#B42318;
  --big-size:64px;--big-weight:900;--big-color:#2E7BBE;
  --font-display:'Zen Kaku Gothic New','Hiragino Sans','Yu Gothic UI',Meiryo,system-ui,sans-serif;
  --font-body:'Noto Sans JP','Hiragino Sans','Yu Gothic UI',Meiryo,system-ui,sans-serif;
  --font-num:'Zen Kaku Gothic New','Hiragino Sans',system-ui,sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
.brand{align-items:center}
.brand-name{font-size:24px;font-weight:900;letter-spacing:.06em}
.brand-tag{font-size:13px;letter-spacing:0}
.nav{font-weight:500}
.eyebrow{letter-spacing:.1em;font-weight:500}
.index-col h3,.side-block h2{letter-spacing:.04em;font-size:14px;color:var(--ink)}
input[type=number],input[type=text],input[type=date],select{font-family:var(--font-num);font-weight:500}
.result .big{letter-spacing:-.02em}
.result .big .unit{font-size:20px;font-weight:700;font-family:var(--font-display)}
.result table{font-size:14px}
.result td:last-child{font-family:var(--font-num);font-size:16px}
.promises{margin-top:56px;padding:0;gap:24px}
.promise-title{font-size:18px}
.promises p+p{color:var(--text)}
.hero{align-items:center;gap:40px}
.hero-main{display:flex;flex-direction:column;gap:20px}
.hero h1{font-family:var(--font-display);font-size:38px;line-height:1.3}
.hero .lead{font-size:16px}
.today{display:flex;flex-direction:column;gap:6px}
.today-full{font-size:14px;font-weight:500;color:var(--muted);letter-spacing:.1em}
.today-big{font-family:var(--font-display);font-size:120px;font-weight:900;line-height:.95;letter-spacing:-.03em;color:var(--accent);font-variant-numeric:tabular-nums}
.today-big .dot{color:var(--second)}
.today-era{margin-top:10px;font-family:var(--font-display);font-size:22px;font-weight:700}
.today-next{font-size:14px;color:var(--muted)}
.groups{margin-top:64px;gap:24px}
.group-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:26px 28px;display:flex;flex-direction:column;gap:10px}
.group-card>.index-head h2{font-family:var(--font-display);font-size:22px;font-weight:700}
.group-card>.index-head a{font-size:13px;text-decoration:none;font-weight:500}
.side{display:flex;flex-direction:column;gap:24px}
.callout{background:var(--accent);color:#fff;border-radius:20px;padding:24px 28px;display:flex;flex-direction:column;gap:8px}
.callout .eyebrow{color:#D5E7F6;letter-spacing:.04em;font-size:13px}
.callout .season-title{font-family:var(--font-display);font-size:22px;font-weight:700}
.callout .season-text{font-size:14px;color:#E6F0F9}
.callout a{color:#fff;font-size:14px;font-weight:500}
.callout .season-list{list-style:none;display:flex;flex-direction:column;gap:4px;font-size:14px}
.callout .season-list .small{display:none}
.tile-row:first-of-type{border-top:1px solid var(--rule)}
.related li{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:11px 16px;display:flex;justify-content:space-between;gap:12px}
.related a{color:var(--ink);font-weight:500}
.side-block.boxed{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px 20px}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin-bottom:8px}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{font-weight:700}
.notice{color:var(--muted);border-left-color:var(--accent-dim)}
.category-head{margin-top:20px}
.category-head h1{font-family:var(--font-display);font-size:34px}
.category-list{margin-top:24px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:10px 28px 18px}
@media (max-width:900px){.today-big{font-size:88px}.hero h1{font-size:30px}}
