/* ひよみ — 日めくりの紙に、墨と朱の二色で刷る。見出しと数字は明朝、本文はゴシック */
:root{
  --paper:#faf9f6;--sheet:#ffffff;
  --sumi:#000000;--ink:#262626;--ink-2:#5f5d59;--ink-3:#8e8c87;
  --line:#dcd9d3;--line-2:#ebe8e2;
  --shu:#cc3a2b;--shu-2:#fbe9e5;
  --ao:#2a5fa8;
  --serif:"Shippori Mincho B1","Noto Serif CJK JP","Noto Serif JP","Hiragino Mincho ProN","Yu Mincho","YuMincho",serif;
  --sans:"Zen Kaku Gothic New","Noto Sans CJK JP","Noto Sans JP","Hiragino Sans","Yu Gothic","YuGothic",system-ui,sans-serif;
  --w:920px;--wp:680px;
  --gx:max(16px,env(safe-area-inset-left,0px));--gxr:max(16px,env(safe-area-inset-right,0px));
}
*{box-sizing:border-box}
html{font-size:16px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.9;font-feature-settings:"palt";-webkit-font-smoothing:antialiased}
a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--shu);text-decoration-thickness:1px;text-underline-offset:.22em}
a:hover{color:var(--shu)}
a:focus-visible,summary:focus-visible{outline:2px solid var(--sumi);outline-offset:3px}
img,svg{max-width:100%}
h1,h2,h3{font-family:var(--serif);font-weight:700;color:var(--sumi);text-wrap:balance;letter-spacing:.02em}
h1{font-size:1.65rem;line-height:1.45;margin:.3em 0 .5em}
@media(min-width:640px){h1{font-size:2rem}}
h2{font-size:1.35rem;line-height:1.5;margin:3.2em 0 .9em;padding-top:1.1em;border-top:1px solid var(--line)}
h3{font-family:var(--sans);font-size:1rem;margin:2em 0 .5em;color:var(--sumi)}
p{margin:0 0 1.1em}
ul,ol{padding-left:1.4em;margin:0 0 1.1em}
li{margin:.3em 0}
small{font-size:.86em;color:var(--ink-2)}
strong{font-weight:700}
.wrap{max-width:var(--w);margin:0 auto;padding:0 var(--gxr) 64px var(--gx)}
.wrap p,.wrap ul,.wrap ol{max-width:var(--wp)}
.wrap td p,.wrap .legend,.wrap .rowlinks,.wrap .ics,.wrap .dates,.wrap .months,.wrap .crumbs{max-width:none}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* header */
.site-head{background:var(--sheet);border-bottom:1px solid var(--line)}
.site-head .in{max-width:var(--w);margin:0 auto;padding:14px var(--gxr) 0 var(--gx);display:flex;align-items:flex-end;flex-wrap:wrap;gap:4px 24px}
.brand{font-family:var(--serif);font-size:1.5rem;font-weight:700;color:var(--sumi);text-decoration:none;letter-spacing:.14em;display:inline-flex;align-items:center;gap:10px;padding-bottom:10px}
.brand:hover{color:var(--sumi)}
.brand .seal{width:24px;height:24px;flex:none;color:var(--shu)}
.brand small{display:none;font-family:var(--sans);font-weight:400;font-size:.8rem;letter-spacing:0;color:var(--ink-2);margin-left:6px}
@media(min-width:720px){.brand small{display:inline}}
.nav{margin-left:auto;display:flex;gap:0 20px;flex-wrap:nowrap;font-size:.92rem;overflow-x:auto;max-width:100%;scrollbar-width:none;-ms-overflow-style:none}
.nav::-webkit-scrollbar{display:none}
.nav a{color:var(--ink);text-decoration:none;padding:6px 0 10px;border-bottom:2px solid transparent;white-space:nowrap}
.nav a:hover{color:var(--shu)}
.nav a[aria-current]{border-bottom-color:var(--shu);color:var(--sumi)}
.subnav{border-bottom:1px solid var(--line-2);background:var(--sheet)}
.subnav .in{max-width:var(--w);margin:0 auto;padding:6px var(--gxr) 6px var(--gx);display:flex;gap:0 14px;flex-wrap:nowrap;overflow-x:auto;font-size:.88rem;scrollbar-width:none;-ms-overflow-style:none}
.subnav .in::-webkit-scrollbar{display:none}
.subnav a{text-decoration:none;color:var(--ink-2);white-space:nowrap;padding:2px 0}
.subnav a:hover{color:var(--shu)}
.subnav a[aria-current]{color:var(--sumi);font-weight:700;border-bottom:2px solid var(--shu)}
.subnav .sep{color:var(--line)}

/* crumbs / meta */
.crumbs{list-style:none;padding:0;margin:14px 0 0;display:flex;flex-wrap:wrap;gap:2px 6px;font-size:.8rem;color:var(--ink-3)}
.crumbs a{color:var(--ink-2);text-decoration:none}
.crumbs a:hover{color:var(--shu)}
.crumbs li+li:before{content:"／";margin-right:6px;color:var(--line)}
.meta{font-size:.8rem;color:var(--ink-3);margin:0 0 1.4em}
.meta time{font-variant-numeric:tabular-nums}
.meta a{color:var(--ink-2)}

/* 冒頭の要約 */
.lead{font-size:1.06rem;line-height:2;margin:0 0 1.6em;max-width:var(--wp)}
.lead strong{color:var(--shu)}
.lead .n{font-family:var(--serif);font-size:1.35em;line-height:1;margin:0 .06em;color:var(--sumi)}
.prose{max-width:var(--wp)}

/* 日めくり */
.sheet{position:relative;background:var(--sheet);border:1px solid var(--line);width:min(100%,380px);margin:0 auto;
  box-shadow:0 2px 0 -1px var(--sheet),0 3px 0 var(--line),0 5px 0 -1px var(--sheet),0 6px 0 var(--line)}
.sheet .bind{height:22px;background:#2b2b2b;display:flex;justify-content:center;gap:120px;align-items:center}
.sheet .bind i{width:9px;height:9px;border-radius:50%;background:var(--sheet)}
.sheet .in{padding:14px 20px 18px;text-align:center;border-top:1px dashed var(--line)}
.sh-top{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--serif);font-size:.95rem;color:var(--ink-2)}
.sh-top .m{font-size:1.3rem;color:var(--sumi);font-weight:700;letter-spacing:.1em}
.sh-top .hol{color:var(--shu)}
.sh-num{font-family:var(--serif);font-weight:800;font-size:clamp(104px,34vw,150px);line-height:1;color:var(--sumi);letter-spacing:-.03em;margin:2px 0 0;font-variant-numeric:lining-nums tabular-nums}
.sheet.sun .sh-num,.sheet.hol .sh-num{color:var(--shu)}
.sheet.sat .sh-num{color:var(--ao)}
.sh-w{font-family:var(--serif);font-size:1.25rem;letter-spacing:.25em;margin:2px 0 0;color:var(--sumi)}
.sh-stamps{display:flex;justify-content:center;align-items:center;gap:12px;min-height:4.4rem;margin:8px 0 8px}
.sh-stamps .none{font-size:.84rem;color:var(--ink-3)}
.stamp{writing-mode:vertical-rl;font-family:var(--serif);font-weight:700;color:var(--shu);border:2px solid var(--shu);border-radius:50%;padding:.42em .2em;font-size:.84rem;line-height:1;letter-spacing:.1em;transform:rotate(-5deg);opacity:.92;text-decoration:none;white-space:nowrap}
.stamp:hover{opacity:1;color:var(--shu)}
.stamp.sq{writing-mode:horizontal-tb;border-radius:3px;font-size:1.1rem;padding:.18em .32em;letter-spacing:.12em;transform:rotate(4deg);border-width:2.5px}
.stamp.kyo{color:var(--ink-3);border-color:var(--ink-3);opacity:.8}
.sh-meta{width:100%;border-collapse:collapse;font-size:.9rem;text-align:left;border-top:1px solid var(--line)}
.sh-meta th{font-weight:400;color:var(--ink-3);padding:7px 0 6px;width:4.2em;border-bottom:1px solid var(--line-2);vertical-align:middle}
.sh-meta td{padding:7px 0 6px;border-bottom:1px solid var(--line-2);font-family:var(--serif);font-size:1rem;color:var(--sumi);vertical-align:middle}
.sh-meta tr:last-child th,.sh-meta tr:last-child td{border-bottom:0}
.sh-meta small{font-family:var(--sans);margin-left:6px}
.sh-meta .moon{vertical-align:-4px;margin-right:8px;width:20px;height:20px}
.hero{display:flex;flex-wrap:wrap;gap:22px 48px;align-items:center;margin:26px 0 12px}
.hero .sheet{flex:0 1 380px}
.hero .aside{flex:1 1 280px;min-width:0}
.hero .aside p{margin:0 0 .9em}
.hero .aside h3{margin:1.6em 0 .2em;font-size:.9rem;color:var(--ink-2);font-weight:500}
.hero .aside .upcoming li{padding:6px 0}
.hero .aside .sum{font-family:var(--serif);font-size:1.25rem;line-height:1.7;color:var(--sumi)}
.hero .aside .next b{font-family:var(--serif);color:var(--sumi);font-weight:700}
.hero .aside .next .n{font-family:var(--serif);font-size:1.6em;line-height:1;color:var(--shu);margin:0 .05em}

/* 升目の印 */
.mk{font-style:normal;font-weight:700;font-size:.8rem;line-height:1;margin-right:3px;font-family:var(--serif);display:inline-block}
.mk-tensha,.mk-ichiryu{color:var(--shu)}
.mk-tora,.mk-mi{font-size:.66rem;color:var(--sumi);border:1px solid var(--sumi);border-radius:50%;width:1.55em;height:1.55em;line-height:1.45em;text-align:center;font-weight:500;vertical-align:1px}
.mk-mi{letter-spacing:-.05em}
.mk-fujoju{color:var(--ink-3)}
.mk-taian{color:var(--sumi)}
.badges{display:flex;flex-wrap:wrap;gap:4px 14px;font-family:var(--serif);font-weight:700;margin:0 0 .6em}
.badges a{text-decoration:none}

/* カレンダー */
.calwrap{margin:12px 0 8px}
.cal{width:100%;border-collapse:collapse;table-layout:fixed;background:var(--sheet);border:1px solid var(--line)}
.cal caption{text-align:left;font-family:var(--serif);font-weight:700;font-size:1.1rem;padding:0 0 8px;color:var(--sumi)}
.cal th{font-family:var(--serif);font-weight:400;font-size:.82rem;padding:8px 0 6px;border-bottom:1px solid var(--line);color:var(--ink-2)}
.cal th.sun{color:var(--shu)}.cal th.sat{color:var(--ao)}
.cal td{vertical-align:top;height:86px;padding:0;border-bottom:1px solid var(--line-2);border-right:1px solid var(--line-2);font-size:.7rem;line-height:1.3}
.cal tr:last-child td{border-bottom:0}.cal td:last-child{border-right:0}
.cal td.empty{background:var(--paper)}
.cal td a{display:block;height:100%;padding:5px 5px 4px;color:inherit;text-decoration:none}
.cal td a:hover{background:var(--shu-2)}
.cal .n{display:block;font-family:var(--serif);font-size:1.08rem;font-weight:700;line-height:1.15;color:var(--sumi);font-variant-numeric:tabular-nums}
.cal td.sun .n,.cal td.hol .n{color:var(--shu)}
.cal td.sat .n{color:var(--ao)}
.cal .hn{display:block;color:var(--shu);font-size:.62rem;line-height:1.2}
.cal .mks{display:block;min-height:1.25em;margin:2px 0 1px}
.cal .ro{display:block;color:var(--ink-2)}
.cal .ex{display:block;color:var(--ink-3);font-size:.64rem}
.cal .moon{width:11px;height:11px;vertical-align:-1px;margin-right:2px}
.cal td.dai{box-shadow:inset 0 0 0 2px var(--shu)}
.cal td.today{box-shadow:inset 0 0 0 2px var(--sumi)}
.cal td.dai.today{box-shadow:inset 0 0 0 2px var(--shu),inset 0 0 0 4px var(--sumi)}
@media(max-width:480px){.cal td{height:76px;font-size:.64rem}.cal .n{font-size:.98rem}.mk{font-size:.72rem}.mk-tora,.mk-mi{font-size:.6rem}}
.legend{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-wrap:wrap;gap:4px 16px;font-size:.8rem;color:var(--ink-2)}
.legend li{display:inline-flex;align-items:center;gap:5px}
.legend .sw{display:inline-block;width:13px;height:13px}
.legend .sw.dai{box-shadow:inset 0 0 0 2px var(--shu)}
.legend .sw.today{box-shadow:inset 0 0 0 2px var(--sumi)}
.legend .sw.dot{width:9px;height:9px;border-radius:50%;background:var(--shu)}
.legend .sw.ring{width:10px;height:10px;border-radius:50%;border:2px solid var(--shu)}
.legend .sw.sq{background:var(--shu)}
.legend .sw.x{color:#b5b2ab;width:auto;height:auto;font-weight:700}

/* 年の帯 */
.stripwrap{margin:6px 0 4px}
.strip{width:100%;max-width:520px;height:auto;display:block;margin:0 auto}
.st-d{font-size:8.5px;fill:var(--ink-3);text-anchor:end;font-family:var(--sans)}
.st-m{font-size:10px;fill:var(--ink-2);text-anchor:middle;font-family:var(--serif)}
.st-l{stroke:var(--line-2);stroke-width:1}
.st-dai{fill:var(--shu)}
.st-ten{fill:var(--shu)}
.st-ich{fill:none;stroke:var(--shu);stroke-width:2}
.st-fu{stroke:#b5b2ab;stroke-width:1.4;fill:none}
.st-dot{fill:var(--sumi)}
.st-rank{fill:var(--shu)}
.st-rk{fill:#fff;font-size:8.5px;text-anchor:middle;font-weight:700;font-family:var(--sans)}
.st-today{fill:none;stroke:var(--sumi);stroke-width:1.5}
.strip a:hover circle,.strip a:hover rect,.strip a:hover path{opacity:.6}

/* 環の図 */
.figure{margin:1.4em 0 1.8em}
.figure figcaption{font-size:.84rem;color:var(--ink-2);text-align:center;margin-top:4px}
.ring{max-width:360px;width:100%;height:auto;display:block;margin:0 auto}
.rg-seg{fill:var(--sheet);stroke:var(--line);stroke-width:1}
.rg-seg.hi{fill:var(--shu-2);stroke:var(--shu);stroke-width:1.5}
.rg-seg.shade{fill:#eeece7}
.rg-l{font-family:var(--serif);font-size:14.5px;text-anchor:middle;fill:var(--sumi);font-weight:700}
.rg-l.sm{font-size:11px}
.rg-l.hi{fill:var(--shu)}
.rg-s{font-size:10.5px;text-anchor:middle;fill:var(--ink-2);font-family:var(--sans)}
.rg-c{font-family:var(--serif);font-size:19px;text-anchor:middle;fill:var(--sumi);font-weight:700}
.rg-cs{font-size:11px;text-anchor:middle;fill:var(--ink-2);font-family:var(--sans)}

/* 表 */
.tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 1.4em}
table.list{width:100%;border-collapse:collapse;font-size:.95rem;background:var(--sheet)}
table.list caption{text-align:left;font-family:var(--serif);font-weight:700;color:var(--sumi);font-size:1.02rem;padding:0 0 6px}
table.list th{text-align:left;font-weight:500;color:var(--ink-2);font-size:.8rem;padding:8px 10px;border-top:1px solid var(--sumi);border-bottom:1px solid var(--line);white-space:nowrap}
table.list td{padding:9px 10px;border-bottom:1px solid var(--line-2);vertical-align:top}
table.list td:first-child{white-space:nowrap;font-family:var(--serif);font-weight:700}
table.list td:nth-child(2){white-space:nowrap}
table.list td a{text-decoration:none}
table.list td a:hover{color:var(--shu)}
table.list tr.top td:first-child{color:var(--shu)}
table.list tr.past td,table.list tr.past td a{color:var(--ink-3)}
table.list td.kyo,table.list .kyo{color:var(--ink-3)}
table.list td.rk{font-family:var(--serif);font-size:1.1rem;color:var(--shu);text-align:center;width:2.4em}
@media(max-width:480px){table.list{font-size:.86rem}table.list th,table.list td{padding:8px 6px}}
.mtable{margin:0 0 1.4em}

/* 日付の並び（年の天赦日など） */
.dates{list-style:none;padding:0;margin:0 0 1em;display:flex;flex-wrap:wrap;gap:0 28px;border-top:1px solid var(--line)}
.dates li{flex:1 1 150px;max-width:220px;padding:12px 0 10px;border-bottom:1px solid var(--line-2)}
.dates a{text-decoration:none}
.dates .d{display:block;font-family:var(--serif);font-size:1.45rem;font-weight:700;color:var(--sumi);line-height:1.2}
.dates li.kyo .d{color:var(--ink-3)}
.dates .w{display:block;font-size:.8rem;color:var(--ink-2)}
.dates .o{display:block;font-size:.8rem;color:var(--ink-2);line-height:1.5;margin-top:4px}
.dates .o .stamp{font-size:.7rem;padding:.3em .15em;transform:none;margin-right:4px}

/* 月の並び */
.months{list-style:none;padding:0;margin:0 0 1em;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
@media(min-width:640px){.months{grid-template-columns:repeat(4,1fr)}}
.months li{margin:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.months a{display:block;height:100%;padding:12px 12px 10px;text-decoration:none;color:var(--ink);background:var(--sheet)}
.months a:hover{background:var(--shu-2)}
.months .m{display:block;font-family:var(--serif);font-size:1.3rem;font-weight:700;color:var(--sumi)}
.months .c{display:block;font-size:.76rem;color:var(--ink-2);line-height:1.5}
.months .best{display:block;font-size:.78rem;color:var(--shu)}

/* 年×種類の目次 */
table.grid{border-collapse:collapse;font-size:.92rem;margin:0 0 1.4em;width:100%;max-width:var(--wp)}
table.grid th{font-family:var(--serif);font-weight:700;text-align:left;padding:8px 10px 8px 0;border-bottom:1px solid var(--line-2);white-space:nowrap;color:var(--sumi)}
table.grid td{padding:8px 6px;border-bottom:1px solid var(--line-2)}
table.grid td a{text-decoration:none}
table.grid td a:hover{color:var(--shu)}
@media(max-width:480px){table.grid{font-size:.84rem}table.grid td{padding:8px 4px}}

/* リンクの並び */
.links{list-style:none;padding:0;margin:0 0 1.2em;columns:2;column-gap:36px;max-width:var(--wp)}
.links li{margin:0;padding:7px 0;border-bottom:1px solid var(--line-2);break-inside:avoid}
.links a{text-decoration:none}
.links a:hover{color:var(--shu)}
.links small{display:block;font-size:.8rem}
@media(max-width:480px){.links{columns:1}}
.rowlinks{display:flex;flex-wrap:wrap;gap:2px 22px;margin:0 0 1.2em;padding:0;list-style:none}
.rowlinks li{margin:0}
.rowlinks a[aria-current]{color:var(--shu);text-decoration:none;font-weight:700}
.pager{display:flex;justify-content:space-between;gap:12px;margin:8px 0 18px;font-size:.92rem}
.pager a{text-decoration:none}
.pager .up{color:var(--ink-2)}
.two{display:flex;flex-wrap:wrap;gap:0 44px}
.two>*{flex:1 1 300px;min-width:0}
.dl{list-style:none;padding:0;margin:0 0 1em}
.dl li{display:flex;flex-wrap:wrap;gap:2px 12px;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--line-2);margin:0}
.dl li a{text-decoration:none;font-family:var(--serif);font-weight:700}
.dl li a:hover{color:var(--shu)}
.dl li small{color:var(--ink-2)}
.dl li.kyo a{color:var(--ink-3)}
.dl .m{font-family:var(--serif);font-weight:700;color:var(--sumi);min-width:3em}
.none{color:var(--ink-3)}
.ics{list-style:none;padding:0;margin:0 0 .6em;display:flex;flex-wrap:wrap;gap:6px 22px}
.ics li{margin:0}
.ics a{display:inline-flex;align-items:center;gap:6px;text-decoration:none;border-bottom:1px solid var(--line);padding:4px 0}
.ics a:hover{border-bottom-color:var(--shu)}
.ics .ico{width:17px;height:17px;color:var(--shu)}
.steps{padding-left:1.6em;margin:0 0 1em}
.steps li{padding-left:.3em;margin:0 0 .5em}
.steps li::marker{font-family:var(--serif);font-weight:700;color:var(--shu)}
.good,.bad{padding-left:1.3em}
.good li::marker{color:var(--shu)}
.bad li::marker{color:var(--ink-3)}

/* 日のページ */
.dayhero{display:flex;flex-wrap:wrap;gap:22px 48px;align-items:flex-start;margin:8px 0 16px}
.dayhero .sheet{flex:0 1 360px}
.dayhero .aside{flex:1 1 280px;min-width:0}
.dayhero .aside h2{margin-top:0;padding-top:0;border-top:0;font-size:1.15rem}
.dayhero .aside h2+ul{margin-top:0}
.daynav{display:flex;justify-content:space-between;gap:8px;font-size:.9rem;margin:0 0 14px}
.daynav a{text-decoration:none;white-space:nowrap}
.minical{margin:1em 0}
.minical .cal td{height:58px;font-size:.62rem}
.minical .cal .n{font-size:.88rem}
.minical .cal .ro,.minical .cal .ex,.minical .cal .hn{display:none}
.voids{font-size:.86rem;color:var(--ink-2)}

/* 六曜の時間帯の帯 */
.rbar{width:100%;max-width:360px;height:auto;display:block}
.rb-bg{fill:#eeece7}
.rb-kichi{fill:var(--shu)}
.rb-kyo{fill:#c9c6bf}
.rb-hei{fill:#eeece7}
.rb-t{stroke:var(--ink-3);stroke-width:1}
.rb-l{font-size:10px;fill:var(--ink-2);text-anchor:middle;font-family:var(--sans)}
.dayhero .aside .rk{font-size:.92rem;margin:4px 0 0}
.rbars{display:grid;grid-template-columns:1fr;gap:0 32px;max-width:var(--wp)}
@media(min-width:720px){.rbars{grid-template-columns:1fr 1fr}}
.rbrow h3{margin:1.2em 0 .2em}
.rbrow h3 small{font-weight:400;margin-left:8px}
.rbrow p{font-size:.9rem;margin:2px 0 .6em}

/* 月の並び */
.moons{list-style:none;padding:0;margin:.6em 0 1.2em;display:flex;flex-wrap:wrap;gap:14px 18px;justify-content:center}
.moons li{margin:0;text-align:center;flex:0 0 auto;width:72px}
.moons .moon{display:block;margin:0 auto 4px}
.moons .n{display:block;font-family:var(--serif);font-weight:700;font-size:.92rem;color:var(--sumi)}
.moons small{display:block;font-size:.72rem;line-height:1.4}

/* 日ページの季節の表・次の吉日 */
table.season th{font-weight:400;color:var(--ink-2);white-space:nowrap;font-size:.84rem;border-top:0;vertical-align:top;padding-top:11px}
table.season th a{text-decoration:none}
table.season td b{font-family:var(--serif);font-size:1.05rem;color:var(--sumi);font-weight:700}
table.season td small{margin-left:6px}
table.season td .moon{vertical-align:-8px;margin-right:8px}
table.season td:nth-child(2){white-space:normal}
table.season td .desc{display:block;color:var(--ink-2);font-size:.9rem;margin-top:2px}
.nexts .m{min-width:5.5em}
.nexts .m a{font-weight:400;text-decoration:none;color:var(--ink-2)}

/* 日めくりの読み方 */
.howto{display:flex;flex-wrap:wrap;gap:22px 44px;align-items:flex-start;margin:0 0 1.6em}
.howto .sheet{flex:0 1 360px}
.callouts{flex:1 1 280px;list-style:none;padding:0;margin:0;max-width:var(--wp)}
.callouts li{position:relative;padding:10px 0 10px 38px;border-bottom:1px solid var(--line-2);margin:0}
.callouts li a{font-family:var(--serif);font-weight:700;text-decoration:none;font-size:1.05rem;color:var(--sumi)}
.callouts li a:hover{color:var(--shu)}
.callouts li span{display:block;font-size:.9rem;color:var(--ink-2)}
.no{position:absolute;left:0;top:12px;width:24px;height:24px;border-radius:50%;background:var(--shu);color:#fff;font-family:var(--sans);font-size:.78rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;font-style:normal}
.sheet.annotated .sh-meta th{position:relative;padding-left:30px}
.sheet.annotated .sh-meta th .no{top:50%;transform:translateY(-50%);width:20px;height:20px;font-size:.7rem}
.sheet.annotated .sh-stamps{position:relative;padding-left:28px}
.sheet.annotated .sh-stamps .no{top:50%;transform:translateY(-50%);width:20px;height:20px;font-size:.7rem}
.stampsheet{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:flex-end;margin:0 0 1.4em;padding:18px 16px 14px;background:var(--sheet);border:1px solid var(--line)}
.stampsheet a{text-decoration:none;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}
.stampsheet small{font-size:.74rem}
dl.defs dt .mk{margin-right:8px;font-size:1rem}

/* よくある質問 */
.faq details{border-bottom:1px solid var(--line-2);padding:2px 0}
.faq summary{cursor:pointer;font-weight:700;padding:11px 30px 11px 0;list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"＋";position:absolute;right:2px;top:9px;color:var(--shu);font-weight:400}
.faq details[open] summary:after{content:"－"}
.faq details p{margin:0 0 14px;max-width:var(--wp)}
dl.defs{margin:0 0 1.2em;max-width:var(--wp)}
dl.defs dt{font-family:var(--serif);font-weight:700;color:var(--sumi);margin-top:1em;font-size:1.05rem}
dl.defs dt a{text-decoration:none}
dl.defs dt a:hover{color:var(--shu)}
dl.defs dd{margin:0 0 .4em}

/* 注記・アプリ */
.note{font-size:.88rem;color:var(--ink-2);border-top:1px solid var(--line);padding-top:10px;margin:1.4em 0;max-width:var(--wp)}
.apptext{margin:3.4em 0 0;padding-top:16px;border-top:1px solid var(--line);font-size:.9rem;color:var(--ink-2);display:flex;gap:12px;align-items:flex-start;max-width:var(--wp)}
.apptext .seal{width:22px;height:22px;flex:none;color:var(--shu);margin-top:4px}

/* footer */
.site-foot{border-top:1px solid var(--line);margin-top:56px;font-size:.86rem;color:var(--ink-2);background:var(--sheet)}
.site-foot .in{max-width:var(--w);margin:0 auto;padding:28px var(--gxr) 44px var(--gx)}
.site-foot .cols{display:flex;flex-wrap:wrap;gap:16px 40px;margin:0 0 24px}
.site-foot .cols div{flex:1 1 160px;min-width:0}
.site-foot h2{font-size:.95rem;border:0;margin:0 0 .4em;padding:0}
.site-foot ul{list-style:none;padding:0;margin:0}
.site-foot li{margin:.15em 0}
.site-foot a{color:var(--ink-2);text-decoration:none}
.site-foot a:hover{color:var(--shu)}
.site-foot .about{border-top:1px solid var(--line-2);padding-top:14px;font-size:.8rem;color:var(--ink-3);max-width:var(--wp)}
@media (prefers-reduced-motion: reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{.site-head,.subnav,.site-foot,.apptext{display:none}.sheet{box-shadow:none}}