#faq.faq-reading .faq-scroll{height:calc(100svh + 2500px)}
#faq.faq-reading .faq-stage{height:100svh}
#faq.faq-reading .faq-item{padding:0;display:block;transform:none!important}
#faq.faq-reading .faq-item h3,#faq.faq-reading .faq-answer{position:absolute;left:0;right:0;top:30%;margin:0 auto;max-width:760px;transition:none;will-change:opacity,transform}
#faq.faq-reading .faq-answer{font-size:var(--type-reading-size,20px);line-height:var(--type-body-leading,1.8);text-align:center;padding:0 10px}
#faq.faq-reading .faq-item h3{line-height:1.6}
@media(max-width:600px){#faq.faq-reading .faq-scroll{height:calc(100svh + 2250px)}#faq.faq-reading .faq-answer{font-size:var(--type-reading-size,18px);line-height:var(--type-body-leading,1.8);padding:0 8px}#faq.faq-reading .faq-item h3{font-size:var(--type-subheading-size,22px)}}
#faq.faq-reading.fqr-static .faq-scroll{height:auto!important}
#faq.faq-reading.fqr-static .faq-stage{height:auto!important;min-height:0;position:relative;overflow:visible}
#faq.faq-reading.fqr-static .faq-list{height:auto}
#faq.faq-reading.fqr-static .faq-item{position:relative!important;padding:30px 0!important;opacity:1!important}
#faq.faq-reading.fqr-static .faq-item h3,#faq.faq-reading.fqr-static .faq-answer{position:relative;inset:auto;opacity:1!important;transform:none!important}
#faq.faq-reading.fqr-static .faq-answer{margin-top:20px}
/* v36: revisit all five after the motion has ended, in ordinary document flow. */
#faq .faq-review{position:relative;max-width:820px;margin:48px auto 0;padding:24px 0 40px;text-align:left;background:#fff}
#faq .faq-review>h3{font-size:var(--type-subheading-size,22px);margin-bottom:24px;text-align:center}
#faq .faq-review details{border-bottom:1px solid #dfe6eb}
#faq .faq-review summary{padding:20px 30px 20px 0;cursor:pointer;list-style:none;position:relative;font-size:var(--type-body-size,16px);font-weight:600;line-height:1.65}
#faq .faq-review summary:after{content:'＋';position:absolute;right:2px;top:21px;color:#80909b;font-weight:400}
#faq .faq-review details[open]>summary:after{content:'−'}
#faq .faq-review-answer{font-size:var(--type-body-size,16px);line-height:1.9;color:#536978;padding:0 24px 22px 0}
/* Reduced-motion readers retain access to all nine answers via the same opt-in list. */
#faq.fqr-static .faq-review{display:block}
@media(max-width:600px){#faq .faq-review{margin-top:30px}#faq .faq-review summary{font-size:var(--type-body-size,16px)}#faq .faq-review-answer{font-size:var(--type-body-size,16px)}}
#faq .faq-review{text-align:center}
#faq .faq-review-toggle{appearance:none;background:#fff;border:1px solid #ccd7df;border-radius:28px;padding:12px 24px;min-height:48px;color:#25445a;font-size:var(--type-body-size,16px);line-height:1.6}
#faq .faq-review-toggle:after{content:' ＋';padding-left:12px;color:#7e909d}
#faq .faq-review-toggle[aria-expanded=true]:after{content:' −'}
#faq .faq-review-panel{text-align:left;margin-top:24px}
#faq .faq-review-panel[hidden]{display:none!important}
#faq .faq-review-toggle:focus-visible{outline:2px solid #a97d43;outline-offset:4px}

/* v53 observed 390px: keep 保証 and the final verb together, without smaller type. */
@media(max-width:600px){#faq .faq-item .faq-readable-line{display:block;text-wrap:balance;word-break:normal;overflow-wrap:normal}}

/* Desktop read hold: avoid the isolated final ん。 without changing type scale. */
#faq .faq-item .faq-preserve-phrase{display:inline-block;white-space:nowrap}

/* v60: nine concise answers, weighted reading spans; no autoplay or global scroll changes. */
#faq.faq-reading .faq-scroll{height:calc(100svh + 4200px)}
#faq.faq-reading h2,#faq.faq-reading .faq-item h3,#faq .faq-review summary{color:var(--navy,#112c45)}
#faq .faq-item h3{padding:0 10px}
@media(max-width:600px){#faq.faq-reading .faq-scroll{height:calc(100svh + 3800px)}#faq .faq-item[data-faq-supplement] h3{font-size:var(--type-subheading-size,22px);line-height:1.6;text-wrap:balance}#faq .faq-item[data-faq-supplement] .faq-answer{font-size:var(--type-reading-size,18px);line-height:var(--type-body-leading,1.8);text-wrap:pretty}}

/* Shared typography roles: FAQ headings/questions=subheading, short answers=reading, review=body. */
#faq .faq-item h3{font-size:var(--type-subheading-size,30px);line-height:var(--type-subheading-leading,1.5);letter-spacing:var(--type-tracking,.025em)}
#faq .faq-answer{letter-spacing:var(--type-tracking,.025em)}

/* Atomic terms, never forced desktop line breaks; longest phrase remains < 200px at mobile body size. */
#faq .faq-item .faq-semantic-word{display:inline-block;white-space:nowrap}
/* Desktop final semantic group must not leave す。 / します。 alone. Mobile keeps its established three lines. */
@media(min-width:601px){#faq .faq-item:nth-child(2) .faq-answer .faq-readable-line:last-child,#faq .faq-item:nth-child(3) .faq-answer .faq-readable-line:last-child{display:inline-block;white-space:nowrap}}

/* v68 bounded repair: the optional FAQ list is a reading accordion, not
   the global pill-style disclosure control. Keep all nine pin scenes intact. */
#faq .faq-review-panel{position:relative;display:block;width:100%;max-width:100%;height:auto;overflow:visible}
#faq .faq-review-panel>details{position:relative;display:block;width:100%;min-width:0;height:auto;margin:0;padding:0;border:0;border-bottom:1px solid #dfe6eb;border-radius:0;background:transparent;overflow:visible;text-align:left}
#faq .faq-review-panel>details>summary{box-sizing:border-box;display:block;position:relative;inset:auto;width:100%;max-width:100%;min-width:0;min-height:56px;height:auto;margin:0;padding:20px 44px 20px 16px;border:0;border-radius:0;background:transparent;text-align:left;white-space:normal;word-break:normal;overflow-wrap:anywhere;text-wrap:pretty;line-height:1.75;letter-spacing:var(--type-tracking,.025em);font-size:var(--type-body-size,16px);font-weight:600;color:var(--navy,#112c45);list-style:none;transform:none}
#faq .faq-review-panel>details>summary::-webkit-details-marker{display:none}
#faq .faq-review-panel>details>summary::marker{content:''}
#faq .faq-review-panel>details>summary::after{content:'＋';position:absolute;inset:20px 14px auto auto;width:20px;margin:0;padding:0;font-size:18px;font-weight:400;line-height:1.6;text-align:center;color:#718591;transform:none}
#faq .faq-review-panel>details[open]>summary::after{content:'−'}
#faq .faq-review-panel>details>summary:hover{background:#f4f7f9;color:#112c45}
#faq .faq-review-panel>details>summary:focus-visible{outline:2px solid #a97d43;outline-offset:-3px;border-radius:4px}
#faq .faq-review-panel>details>.faq-review-answer{box-sizing:border-box;position:static;inset:auto;width:100%;max-width:none;min-width:0;height:auto;margin:0;padding:0 44px 24px 16px;font-size:var(--type-body-size,16px);line-height:1.9;letter-spacing:var(--type-tracking,.025em);text-align:left;white-space:normal;word-break:normal;overflow-wrap:anywhere;opacity:1;transform:none}
#faq .faq-review-answer :is(.faq-readable-line,.faq-preserve-phrase,.faq-semantic-word){display:inline;white-space:normal}
@media(max-width:600px){#faq .faq-review-panel>details>summary{padding-left:12px;padding-right:40px}#faq .faq-review-panel>details>.faq-review-answer{padding-left:12px;padding-right:20px}#faq .faq-review-panel>details>summary::after{right:10px}}

#faq .faq-review-panel>details>.faq-review-answer{text-wrap:pretty;overflow-wrap:normal}

/* Short responses: balance complete lines instead of leaving a two-character verb tail. */
#faq .faq-review-panel>details:nth-child(3)>.faq-review-answer,#faq .faq-review-panel>details:nth-child(5)>.faq-review-answer{text-wrap:balance}
