:root{--night:#14152b;--night-2:#1b1d38;--aubergine:#241f3d;--gold:#c9a24c;--gold-soft:#e4cd8f;--parchment:#f3ecdd;--seal:#a63d40;--seal-hover:#bf4a4d;--jade:#5c7a6b;--ink:#201c2e;--ink-muted:rgba(32,28,46,.68);--ink-faint:rgba(32,28,46,.48);--line:rgba(201,162,76,0.28);--line-soft:rgba(201,162,76,0.14);--muted:rgba(243,236,221,0.62);--faint:rgba(243,236,221,0.38);--arch-sm:64px;--arch-md:110px;--arch-lg:180px;--arch-foot:8px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;--ad-h:300px}@media (min-width:768px){:root{--ad-h:280px}}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--night);color:var(--parchment);font-family:var(--font-zen-kaku),"Hiragino Sans","Yu Gothic",system-ui,sans-serif;line-height:1.8;-webkit-font-smoothing:antialiased}.serif{font-family:var(--font-shippori-mincho),"Hiragino Mincho ProN","Yu Mincho",serif}img{max-width:100%;height:auto}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.container{max-width:720px;margin:0 auto;padding:0 var(--s6)}@media (min-width:640px){.container{padding:0 var(--s7)}}.page{padding-block:var(--s8) var(--s9)}.stack-2{gap:var(--s2)}.stack-2,.stack-3{display:flex;flex-direction:column}.stack-3{gap:var(--s3)}.stack-4{gap:var(--s4)}.stack-4,.stack-5{display:flex;flex-direction:column}.stack-5{gap:var(--s5)}.stack-6{display:flex;flex-direction:column;gap:var(--s6)}.center{text-align:center}.h1-app{font-family:var(--font-shippori-mincho),serif;font-size:28px;font-weight:700;letter-spacing:.06em;line-height:1.4;text-wrap:balance}.h2-app{font-size:20px;text-wrap:balance}.h2-app,.h3-app{font-family:var(--font-shippori-mincho),serif;font-weight:700;letter-spacing:.04em;line-height:1.5}.h3-app{font-size:16px}.body-app{font-size:14px;line-height:1.8}.reading-text{font-size:14px;line-height:1.9;white-space:pre-wrap}.small{font-size:12px;color:var(--muted);line-height:1.7}.tiny{font-size:11px;letter-spacing:.16em;color:var(--faint)}.arch--paper .small{color:var(--ink-muted)}.arch--paper .tiny{color:var(--ink-faint)}.label-gold{font-size:11px;letter-spacing:.2em;color:var(--gold)}.romaji{display:block;font-size:12px;letter-spacing:.32em;color:var(--gold);margin-top:var(--s3)}@media (min-width:768px){.h1-app{font-size:34px}}.arch{border:1px solid var(--gold);border-radius:var(--arch-sm) var(--arch-sm) var(--arch-foot) var(--arch-foot);position:relative}.arch--md{border-radius:var(--arch-md) var(--arch-md) var(--arch-foot) var(--arch-foot)}.arch--lg{border-radius:var(--arch-lg) var(--arch-lg) var(--arch-foot) var(--arch-foot)}.arch--paper{background:var(--parchment);color:var(--ink)}.arch--panel{background:var(--aubergine);color:var(--parchment)}.arch--ghost{background:transparent;border-color:var(--line)}.arch.is-selected{outline:2px solid var(--seal);outline-offset:3px}.arch-body{padding:34px var(--s5) var(--s6)}.arch--md>.arch-body{padding:40px var(--s6) var(--s6)}.arch--lg>.arch-body{padding:54px var(--s6) var(--s6)}@media (max-width:480px){:root{--arch-md:84px;--arch-lg:130px}}.cta{display:inline-block;padding:13px 34px;border:1px solid var(--gold);color:var(--gold);background:transparent;font-family:inherit;font-size:14px;letter-spacing:.08em;border-radius:2px;cursor:pointer;text-decoration:none;transition:background .15s ease,color .15s ease}.cta:focus-visible,.cta:hover{background:var(--gold);color:var(--ink)}.cta--primary{background:var(--seal);border-color:var(--seal);color:var(--parchment)}.cta--primary:focus-visible,.cta--primary:hover{background:var(--seal-hover);border-color:var(--seal-hover);color:var(--parchment)}.cta--text{background:none;border:none;padding:0;color:var(--muted);font-family:inherit;font-size:13px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.cta--text:hover{color:var(--parchment)}.cta:disabled,.cta[aria-disabled=true]{opacity:.35;cursor:not-allowed}.cta:disabled:hover{background:transparent;color:var(--gold)}.cta--primary:disabled:hover{background:var(--seal);color:var(--parchment)}.tag{display:inline-block;font-size:12px;letter-spacing:.06em;color:var(--jade);border:1px solid var(--jade);padding:4px 12px}.tag-row{display:flex;flex-wrap:wrap;gap:var(--s2);justify-content:center}.evidence-badge{display:inline-block;font-size:11px;letter-spacing:.16em;color:var(--gold);border:1px solid var(--line);padding:2px 9px}.evidence-row{display:flex;flex-wrap:wrap;gap:6px}.teller-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--s4);gap:var(--s4);max-width:720px;margin:0 auto}@media (min-width:481px){.teller-grid{grid-template-columns:repeat(3,1fr)}}.teller-card{display:block;width:100%;background:var(--parchment);color:var(--ink);border:1px solid var(--gold);border-radius:var(--arch-sm) var(--arch-sm) var(--arch-foot) var(--arch-foot);padding:20px 12px 18px;text-align:center;font-family:inherit;cursor:default}.teller-card[role=button],button.teller-card{cursor:pointer}.teller-card.is-selected{outline:2px solid var(--seal);outline-offset:3px}.teller-card .avatar{width:60px;height:60px;margin:0 auto var(--s3);border-radius:50%;background:var(--aubergine);border:1px solid var(--gold);overflow:hidden;display:grid;place-items:center}.teller-card .teller-name{display:block;font-family:var(--font-shippori-mincho),serif;font-size:15px;font-weight:700}.teller-card .teller-type{display:flex;align-items:center;justify-content:center;gap:5px;font-size:11px;color:#5a5368;letter-spacing:.08em;margin-top:4px}.type-pictogram{flex:none}.teller-avatar-image{width:100%;height:100%;object-fit:cover;display:block}.teller-card .teller-desc{display:block;font-size:11px;line-height:1.6;color:#4a4458;margin-top:var(--s2)}.teller-badge{display:flex;flex-direction:column;align-items:center;gap:var(--s2)}.teller-badge .avatar{width:44px;height:44px;border-radius:50%;background:var(--aubergine);border:1px solid var(--gold);display:grid;place-items:center;overflow:hidden}.tile-grid{display:flex;flex-direction:column;gap:var(--s2)}.tile{background:var(--aubergine);color:var(--parchment);border:1px solid var(--line);border-radius:var(--arch-foot);padding:14px 18px;cursor:pointer;transition:border-color .15s ease}.tile:focus-within,.tile:hover{border-color:var(--gold)}.tile-head{display:flex;align-items:center;gap:var(--s3);width:100%;text-align:left}.tile-icon{flex:none;width:36px;height:36px;border-radius:50%;background:var(--aubergine);border:1px solid var(--gold);color:var(--gold);display:grid;place-items:center}.tile.is-open .tile-icon{color:var(--gold-soft);border-color:var(--gold-soft)}.tile-text{flex:1 1 auto;min-width:0}.tile-name{font-family:var(--font-shippori-mincho),serif;font-size:14px;font-weight:700;letter-spacing:.02em}.tile-conclusion{font-size:13px;color:var(--gold-soft);margin-left:var(--s3)}@media (max-width:430px){.tile-conclusion{display:block;margin-left:0;margin-top:2px}}.tile-chevron{flex:none;font-size:10px;color:var(--faint);white-space:nowrap}.tile-chevron__hover-only{display:none}.tile-chevron__touch-only{display:inline}@media (hover:hover) and (pointer:fine){.tile-chevron__hover-only{display:inline}.tile-chevron__touch-only{display:none}}.tile-expand{max-height:0;overflow:hidden;transition:max-height .3s ease}.tile.is-open .tile-expand{max-height:2400px}.tile-detail{font-size:11px;line-height:1.75;color:var(--muted)}.tile-categories,.tile-detail{padding-top:var(--s2);text-align:left}.tile-categories{display:flex;flex-direction:column;gap:var(--s3)}.tile-category__label{font-family:var(--font-shippori-mincho),serif;font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--gold-soft)}.tile-category__text{font-size:12px;line-height:1.8;color:var(--muted);margin-top:4px}.tile-category__text+.tile-category__text{margin-top:var(--s2)}.period-select{display:flex;flex-wrap:wrap;gap:var(--s2);justify-content:center}.period-select__btn{font-size:12px;letter-spacing:.04em;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;transition:border-color .15s ease,color .15s ease,background-color .15s ease}.period-select__btn:hover{border-color:var(--gold);color:var(--parchment)}.period-select__btn.is-active{border-color:var(--gold);background:var(--gold);color:var(--aubergine);font-weight:700}.period-select--lg{gap:var(--s3)}.period-select--lg .period-select__btn{font-size:14px;padding:14px 20px}.ad-slot{min-height:var(--ad-h);display:grid;place-items:center;position:relative;background:var(--night-2);border:1px solid var(--line);border-radius:2px;padding:var(--s5)}.ad-slot:before{content:"広告";position:absolute;top:8px;left:12px;font-size:11px;letter-spacing:.16em;color:var(--faint)}.ad-slot .ad-placeholder{font-size:12px;color:var(--faint)}.step-indicator{display:flex;gap:6px;justify-content:center}.step-indicator span{display:block;width:30px;height:1px;background:var(--line)}.step-indicator span.is-on{background:var(--gold);height:2px}.field label{display:block;font-size:11px;letter-spacing:.16em;color:var(--gold);margin-bottom:6px}.field input[type=date],.field input[type=text],.field input[type=time],.field textarea{width:100%;padding:11px 13px;background:var(--night-2);border:1px solid var(--line);color:var(--parchment);font-family:inherit;font-size:15px;border-radius:2px}.field textarea{line-height:1.8;resize:vertical}.field input:focus-visible,.field textarea:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.two-col{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--s3);gap:var(--s3)}@media (max-width:400px){.two-col{grid-template-columns:1fr}}.field-error{color:var(--seal);font-size:12px;margin-top:6px}.field-error--center{text-align:center}.checkline{display:flex;gap:var(--s2);align-items:center;font-size:13px;cursor:pointer;min-height:44px}.checkline input[type=checkbox]{width:20px;height:20px;flex:none;accent-color:var(--seal);cursor:pointer}.disclaimer{border-top:1px solid var(--line-soft);padding-top:var(--s3)}.disclaimer p{font-size:11px;line-height:1.7;color:var(--faint)}.disclaimer p+p{margin-top:var(--s2)}.disclaimer__notice{color:var(--muted)}.celtic{display:flex;flex-direction:column;align-items:center;gap:var(--s4)}.celtic-board{display:grid;grid-template-areas:".    top    .     staff1" "left center right staff2" ".    bottom .     staff3" ".    .      .     staff4";grid-template-columns:repeat(4,40px);grid-auto-rows:60px;grid-gap:8px;gap:8px;justify-content:center}@media (min-width:480px){.celtic-board{grid-template-columns:repeat(4,48px);grid-auto-rows:72px;gap:10px}}.celtic-card{position:relative;display:grid;place-items:center;background:var(--aubergine);border:1px solid var(--line);border-radius:18px 18px 3px 3px;opacity:0;transform:translateY(10px) scale(.94);transition:opacity .18s ease,transform .18s ease,border-color .18s ease}.celtic-card.is-placed{opacity:1;transform:translateY(0) scale(1);border-color:var(--gold)}.celtic-card-mark{width:10px;height:10px;background:var(--gold);transform:rotate(45deg);opacity:.55}.celtic-card--center{grid-area:center}.celtic-card--top{grid-area:top}.celtic-card--bottom{grid-area:bottom}.celtic-card--left{grid-area:left}.celtic-card--right{grid-area:right}.celtic-card--staff1{grid-area:staff1}.celtic-card--staff2{grid-area:staff2}.celtic-card--staff3{grid-area:staff3}.celtic-card--staff4{grid-area:staff4}.celtic-card--cross{transform:translateY(10px) rotate(90deg) scale(.78);background:var(--night-2);border-color:var(--gold-soft)}.celtic-card--cross.is-placed{transform:rotate(90deg) scale(.84)}.celtic-status{font-size:12px;letter-spacing:.08em;color:var(--muted);min-height:1.6em;text-align:center}@media (prefers-reduced-motion:reduce){.celtic-card{transition:none}}.site-footer{border-top:1px solid var(--line-soft);margin-top:var(--s8);padding:var(--s6) var(--s5) var(--s7);text-align:center}.site-footer nav{display:flex;flex-wrap:wrap;gap:var(--s4);justify-content:center;margin-bottom:var(--s4)}.site-footer a{color:var(--muted);font-size:12px;text-decoration:none}.site-footer a:hover{color:var(--parchment);text-decoration:underline;text-underline-offset:3px}.site-footer p{font-size:11px;letter-spacing:.16em;color:var(--faint)}.upload{border:1px dashed var(--line);border-radius:var(--arch-md) var(--arch-md) var(--arch-foot) var(--arch-foot);padding:36px var(--s4) var(--s5);text-align:center}.upload-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--s2);gap:var(--s2);margin-top:var(--s4)}.upload-actions .cta{padding:11px 6px;font-size:12px;letter-spacing:.04em}.upload-preview{max-width:180px;margin:var(--s4) auto 0;border:1px solid var(--line)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.prose{max-width:62ch;margin:0 auto}.prose>*+*{margin-top:var(--s4)}.prose h1{font-size:24px;line-height:1.5;text-wrap:balance}.prose h1,.prose h2{font-family:var(--font-shippori-mincho),serif;font-weight:700;letter-spacing:.04em}.prose h2{font-size:17px;line-height:1.6;margin-top:var(--s7);padding-top:var(--s4);border-top:1px solid var(--line-soft)}.prose h3{font-family:var(--font-shippori-mincho),serif;font-size:14px;font-weight:700;letter-spacing:.04em;margin-top:var(--s5)}.prose p{font-size:14px;line-height:1.9}.prose ol,.prose ul{padding-left:1.4em}.prose li{font-size:14px;line-height:1.9}.prose li+li{margin-top:var(--s1)}.prose a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}.prose a:hover,.prose strong{color:var(--gold-soft)}.prose strong{font-weight:500}.prose .lead{color:var(--muted)}.prose .updated{font-size:12px;letter-spacing:.08em;color:var(--faint)}.prose dl{display:grid;grid-template-columns:max-content 1fr;grid-gap:var(--s2) var(--s5);gap:var(--s2) var(--s5);font-size:14px;line-height:1.8}.prose dt{color:var(--gold);white-space:nowrap}.prose dd{color:var(--parchment)}@media (max-width:480px){.prose dl{grid-template-columns:1fr;gap:2px}.prose dt{margin-top:var(--s3)}}.prose .note{border-left:2px solid var(--seal);padding:var(--s2) 0 var(--s2) var(--s4);font-size:13px;line-height:1.8;color:var(--muted)}.prose .placeholder{color:var(--seal);border-bottom:1px dashed var(--seal)}.consent-box{border:1px solid var(--seal);border-radius:var(--arch-md) var(--arch-md) var(--arch-foot) var(--arch-foot);background:rgba(166,61,64,.08);padding:40px var(--s4) var(--s5)}.consent-row{display:flex;gap:var(--s3);align-items:flex-start;cursor:pointer;min-height:44px}.consent-row input[type=checkbox]{width:20px;height:20px;flex:none;margin-top:3px;accent-color:var(--seal);cursor:pointer}.consent-row span{font-size:13px;line-height:1.7}.consent-row a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}.breadcrumbs{font-size:12px;letter-spacing:.04em;margin-bottom:var(--s5)}.breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 var(--s2);list-style:none;padding:0;margin:0}.breadcrumbs li+li:before{content:"›";color:var(--faint);margin-right:var(--s2)}.breadcrumbs a{color:var(--muted);text-decoration:none}.breadcrumbs a:hover{color:var(--gold);text-decoration:underline;text-underline-offset:3px}.breadcrumbs [aria-current=page]{color:var(--faint);display:inline-block;max-width:24ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.column-list{list-style:none;padding:0;margin:var(--s6) auto 0;max-width:62ch;display:grid;grid-gap:var(--s4);gap:var(--s4)}.column-card{display:block;text-decoration:none;transition:border-color .2s ease,background-color .2s ease}.column-card:hover{border-color:var(--gold);background:rgba(201,162,76,.06)}.column-card .arch-body{display:flex;flex-direction:column;gap:var(--s2)}.column-card__title{font-size:15px;font-weight:700;line-height:1.6;color:var(--parchment);letter-spacing:.03em}.column-card__desc{font-size:13px;line-height:1.8;color:var(--muted)}.column-card__meta{font-size:11px;letter-spacing:.08em;color:var(--faint)}.column-cta{max-width:62ch;margin:var(--s7) auto 0}.column-cta__lead{font-size:13px;line-height:1.8;color:var(--muted)}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;-webkit-mask-image:linear-gradient(90deg,transparent,black 12px,black calc(100% - 12px),transparent);mask-image:linear-gradient(90deg,transparent,black 12px,black calc(100% - 12px),transparent)}.prose table{border-collapse:collapse;width:100%;min-width:32rem;font-size:13px;line-height:1.7}.prose td,.prose th{border-bottom:1px solid var(--line-soft);padding:var(--s2) var(--s3);text-align:left;vertical-align:top;overflow-wrap:normal;word-break:keep-all}.prose th{color:var(--gold);font-weight:500;white-space:nowrap;border-bottom-color:var(--line)}.prose td{color:var(--parchment)}.prose dl.faq{display:block}.prose dl.faq>div+div{margin-top:var(--s4)}.prose dl.faq dt{color:var(--gold);white-space:normal;font-size:14px;line-height:1.7}.prose dl.faq dd{margin:var(--s2) 0 0;font-size:14px;line-height:1.9;color:var(--muted)}