/* Same paper, type, woodland and floating CTA as the existing LP. No FAQ route. */
.join:has(+.faq){padding-bottom:48px}
.faq{max-width:540px;margin:0 auto;position:relative;isolation:isolate;container-type:inline-size;background:var(--paper);color:var(--green);padding:30px 20px calc(76px + var(--dock) + var(--safe));overflow:hidden}
.faq-lead{position:relative;text-align:center;padding-bottom:24px;z-index:1}
.faq-eyebrow{display:flex;align-items:center;justify-content:center;gap:13px;margin:0 0 16px;color:#b0832e;font:800 clamp(11px,2.9cqw,16px) Arial,sans-serif;letter-spacing:.22em}
.faq-eyebrow::before,.faq-eyebrow::after{content:"";width:28px;height:3px;border-radius:3px;background:var(--yellow)}
.faq-lead h2{margin:0;font-size:clamp(27px,8.5cqw,46px);line-height:1.22;letter-spacing:-.055em;font-weight:900}
.faq-intro{margin:18px 0 0;font-size:clamp(12px,3.15cqw,17px);font-weight:800;line-height:1.8;letter-spacing:-.03em;text-wrap:balance}
.faq-hint{position:relative;display:table;margin:22px auto 0;padding:10px 15px;background:#eaf1d6;border-radius:22px 25px 20px 23px;font-size:clamp(11px,3cqw,16px);line-height:1.65;letter-spacing:-.025em;font-weight:800}
.faq-tree{pointer-events:none;width:85px;position:absolute;z-index:0}
.faq-tree-lead{left:-39px;top:102px;opacity:.72;width:56px}
.faq-tree-bottom{bottom:calc(var(--dock) + var(--safe) + 13px);right:-9px;width:104px}
.faq-list{position:relative;z-index:1;display:grid;gap:10px}
.faq-intro,.faq-hint,.faq-item{font-family:"Hiragino Maru Gothic ProN","Hiragino Sans","Noto Sans JP",Meiryo,sans-serif}
.faq-item{min-width:0;border:1.5px solid #d9e2d4;border-radius:18px;background:var(--paper);transition:border-color .22s ease,background-color .22s ease}
.faq-item summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:31px minmax(0,1fr) 28px;align-items:center;gap:11px;padding:12px;min-height:62px;border-radius:16px;color:var(--green);font-size:clamp(13px,3.6cqw,19px);font-weight:900;line-height:1.55;letter-spacing:-.035em;-webkit-tap-highlight-color:transparent}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::marker{content:""}
.faq-item summary:focus-visible{outline:3px solid #d1871e;outline-offset:3px}
.faq-question{overflow-wrap:anywhere}
.faq-q{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;font:800 19px Arial,sans-serif;background:var(--green);color:var(--paper);transition:background-color .22s ease}
.faq-toggle{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e4ecdd;transition:background-color .22s ease,transform .36s cubic-bezier(.2,.75,.25,1.25)}
.faq-toggle img{width:18px;height:18px;display:block}
.faq-toggle .faq-icon-minus{display:none}
.faq-item[open] .faq-icon-plus{display:none}
.faq-item[open] .faq-icon-minus{display:block}
.faq-item.is-closing .faq-icon-plus{display:block}
.faq-item.is-closing .faq-icon-minus{display:none}
.faq-answer{overflow:hidden}
.faq-answer-inner{padding:0 12px 12px;transform-origin:50% 0}
.faq-answer-inner p{margin:0;border-radius:14px;background:#fcf5e2;padding:14px 15px;color:var(--green);font-size:clamp(12px,3.3cqw,17px);font-weight:800;line-height:1.9;letter-spacing:.005em;overflow-wrap:anywhere}
.faq-item[open],.faq-item.is-open{border-color:#e9ac2d}
.faq-item[open] .faq-q,.faq-item.is-open .faq-q{background:var(--yellow)}
.faq-item[open] .faq-toggle,.faq-item.is-open .faq-toggle{background:var(--green);transform:rotate(180deg)}
.faq-item[open] .faq-toggle img,.faq-item.is-open .faq-toggle img{filter:brightness(0) invert(1)}
.faq-item.is-closing{border-color:#d9e2d4}
.faq-item.is-closing .faq-q{background:var(--green)}
.faq-item.is-closing .faq-toggle{background:#e4ecdd;transform:rotate(0)}
.faq-item.is-closing .faq-toggle img{filter:none}
.faq-motion .faq-lead h2,.faq-motion .faq-intro,.faq-motion .faq-hint,.faq-motion .faq-item{opacity:0;transform:translateY(12px) scale(.9)}
.faq-motion .faq-lead.is-seen h2{animation:faq-pop .5s cubic-bezier(.2,.75,.25,1) both}
.faq-motion .faq-lead.is-seen .faq-intro{animation:faq-pop .45s .16s cubic-bezier(.2,.75,.25,1) both}
.faq-motion .faq-lead.is-seen .faq-hint{animation:faq-pop .45s .27s cubic-bezier(.2,.75,.25,1) both}
.faq-motion .faq-item.is-seen{animation:faq-pop .46s var(--faq-delay,0ms) cubic-bezier(.2,.75,.25,1) both}
@keyframes faq-pop{0%{opacity:0;transform:translateY(12px) scale(.9)}70%{opacity:1;transform:translateY(0) scale(1.025)}100%{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:359px){.faq{padding-inline:14px}.faq-item summary{gap:8px;padding:11px;grid-template-columns:28px minmax(0,1fr) 25px}.faq-q{width:28px;height:28px;font-size:18px}.faq-toggle{width:25px;height:25px}.faq-hint{padding-inline:11px}.faq-answer-inner{padding:0 10px 10px}.faq-answer-inner p{padding:12px}}
@media(min-width:541px){.faq{box-shadow:0 0 48px #073f3018}}
@media(prefers-reduced-motion:reduce){.faq-item,.faq-q,.faq-toggle{transition:none}.faq-motion .faq-lead h2,.faq-motion .faq-intro,.faq-motion .faq-hint,.faq-motion .faq-item{opacity:1;transform:none;animation:none!important}}
