:root { font-family: -apple-system, BlinkMacSystemFont, "Yu Gothic", "Meiryo", sans-serif; font-size: 18px; color: #513e32; background: #fff9f3; line-height: 1.85; }
* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { margin: 0; overflow-wrap: anywhere; }
a { color: #87433d; text-underline-offset: .22em; }
button, input { font: inherit; }
button, .primary { cursor: pointer; min-height: 48px; padding: .6rem 1rem; border: 1px solid #cbb5a5; border-radius: 12px; background: #fffdfa; color: #513e32; line-height: 1.5; }
button:hover, summary:hover { background: #fff0e6; }
:focus-visible { outline: 3px solid #365e90; outline-offset: 4px; }
.primary { display: inline-flex; justify-content: center; align-items: center; background: #914941; color: #fff; border-color: #914941; font-weight: 700; text-decoration: none; }
.primary:hover { background: #773c35; }
.site-header { max-width: 1100px; margin: auto; padding: 1rem 1.4rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid #e5d7cb; }
.site-header a { display: inline-flex; align-items: center; min-height: 48px; }
.brand { max-width: 100%; text-decoration: none; }
.brand img { display: block; width: 270px; max-width: 100%; height: auto; }
main { max-width: 880px; margin: auto; padding: 0 1.25rem; }
.intro { text-align: center; padding: 2.6rem 0 1.8rem; }
.eyebrow { color: #72594b; font-size: .9rem; font-weight: 700; letter-spacing: .08em; margin: 0; }
h1 { margin: .4rem 0; font-size: clamp(2rem, 6vw, 2.65rem); line-height: 1.4; }
.intro p:not(.eyebrow) { margin: .7rem 0 1rem; }
h2 { font-size: 1.45rem; line-height: 1.5; }
h3 { font-size: 1.1rem; }
.search-panel { padding: 1.5rem; background: #f2eadf; border: 1px solid #dfcdbd; border-radius: 20px; }
label, .filter-label { font-weight: 700; font-size: 1.1rem; }
.hint { font-size: .9rem; color: #72594b; margin: .25rem 0 .65rem; }
.search-row { display: flex; gap: .6rem; }
input { width: 100%; min-width: 0; min-height: 56px; background: #fff; color: #513e32; border: 1px solid #987e6c; border-radius: 12px; padding: .7rem .9rem; }
input::placeholder { color: #766358; opacity: 1; }
.search-row button { flex-shrink: 0; }
.popular { display: flex; flex-wrap: wrap; column-gap: 1rem; margin-top: .8rem; align-items: center; font-size: .9rem; }
.popular span { width: 100%; font-weight: 700; }
.popular a { display: inline-flex; align-items: center; min-height: 48px; }
.filter-label { margin: 1rem 0 .55rem; }
.chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.chips button { font-size: .9rem; border-radius: 30px; }
.chips [aria-pressed="true"] { background: #914941; border-color: #914941; color: white; }
.results-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem; margin-top: 2rem; }
.results-heading h2 { margin-bottom: .2rem; }
#reset { font-size: .9rem; }
#result-count { margin: .5rem 0 1rem; color: #72594b; font-size: .9rem; }
.question-group { margin-bottom: 1.8rem; }
.question-group h3 { margin: 1.4rem 0 .65rem; border-left: 4px solid #80956b; padding-left: .7rem; }
details { background: #fffefd; border: 1px solid #dfcfc2; border-radius: 14px; margin: .65rem 0; scroll-margin-top: 1rem; }
summary { display: flex; align-items: baseline; gap: .7rem; cursor: pointer; padding: 1rem; min-height: 64px; font-weight: 700; border-radius: 14px; list-style: none; line-height: 1.65; }
summary::-webkit-details-marker { display: none; }
summary::after { content: '＋'; margin-left: auto; flex-shrink: 0; font-weight: 400; color: #87433d; }
details[open] summary::after { content: '−'; }
details:target { border-color: #914941; box-shadow: 0 0 0 2px #914941; }
.q { color: #914941; font-family: Georgia, serif; font-size: 1.2rem; }
.answer { border-top: 1px solid #eaded3; padding: .4rem 1.4rem 1rem; }
.answer p { margin: .9rem 0; }
ol { padding-left: 1.5rem; }
li { margin: .65rem 0; padding-left: .3rem; }
li::marker { font-weight: 700; color: #87433d; }
.note { background: #f4efe7; border-radius: 10px; padding: .8rem 1rem; }
.permalink { display: inline-flex; align-items: center; min-height: 48px; font-size: .85rem; }
.notice { background: #f4efe7; padding: 1rem 1.4rem; border-radius: 14px; }
.contact { text-align: center; margin-top: 2.5rem; padding: 2rem 1.4rem; background: #f0e9df; border-radius: 20px; }
.contact h2 { margin-top: .4rem; }
.contact .primary { min-height: 56px; min-width: min(100%, 280px); }
.email { margin-bottom: .2rem; }
.contact > a:last-child { display: inline-flex; align-items: center; min-height: 48px; }
.back-top { display: block; width: fit-content; margin: 1.5rem auto; padding: .5rem; }
footer { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .5rem 1.5rem; padding: 1.5rem; border-top: 1px solid #e5d7cb; font-size: .85rem; }
footer a { display: inline-flex; align-items: center; min-height: 48px; }
footer small { width: 100%; text-align: center; }
.skip { position: absolute; top: -100px; padding: .6rem 1rem; background: #fff; z-index: 2; }
.skip:focus { top: 0; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.large-text { font-size: 22px; }
@media (max-width: 560px) {
  .site-header { padding: .6rem 1rem; flex-wrap: wrap; gap: 0 .5rem; }
  .brand img { width: 220px; }
  main { padding: 0 .85rem; }
  .intro { padding-top: 1.6rem; }
  .search-panel { padding: 1rem; }
  .search-row { flex-wrap: wrap; }
  .search-row button { width: 100%; }
  summary { padding: .85rem; gap: .5rem; }
  .answer { padding: .3rem 1rem .7rem; }
  .contact { padding: 1.5rem 1rem; }
}
@media print {
  .search-panel, #text-size, #reset, .permalink, .back-top { display: none !important; }
  main { max-width: none; }
  details { break-inside: avoid; }
}

/* Match the public website while keeping the larger help-page text. */
:root{background:#fffaf5;color:#695246}
.intro{position:relative;padding:2.6rem 150px 1.8rem 0;text-align:left;border-bottom:1px solid #eadbd2;margin-bottom:1.8rem}
.intro h1,h2{font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;font-weight:600}
.faq-hero-art{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:110px;height:120px;object-fit:contain}
.search-panel,.contact{background:#f8eee6;border-color:#eadbd2}
.question-group h3{border-color:#ce7b73}
[id]{scroll-margin-top:110px}
@media(max-width:560px){.intro{padding:1.6rem 0;text-align:center}.faq-hero-art{position:static;transform:none;display:block;width:80px;height:88px;margin:0 auto 12px}[id]{scroll-margin-top:92px}}
