/* Standalone FAQ page, aligned with the company introduction visual system. */
body:has(.sg-faq-page) .page-header { display: none; }
.sg-faq-page { --faq-blue:#05244c; --faq-red:#b71932; --faq-gold:#b8862c; --faq-line:#dfe4e8; background:#fff; color:#1f272c; }
.sg-faq-page__body { width:min(1120px,calc(100% - 48px)); margin:0 auto; padding:clamp(44px,6vw,88px) 0 clamp(64px,8vw,112px); }
.sg-faq-page--ja, .sg-faq-page--ja h1, .sg-faq-page--ja h2, .sg-faq-page--ja p, .sg-faq-page--ja summary { font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Noto Serif JP",serif; }
.sg-faq-page--zh, .sg-faq-page--zh h1, .sg-faq-page--zh h2, .sg-faq-page--zh p, .sg-faq-page--zh summary { font-family:"Source Han Sans SC","Noto Sans SC","Microsoft YaHei",sans-serif; }
.sg-faq-page__masthead { margin-bottom:clamp(44px,6vw,72px); text-align:center; }
.sg-faq-page__eyebrow { color:var(--faq-red); font:13px Georgia,serif!important; letter-spacing:.12em; margin:0 0 12px; }
.sg-faq-page__masthead h1 { color:#111; font-size:clamp(32px,4vw,52px); font-weight:500; letter-spacing:.12em; line-height:1.35; margin:0; }
.sg-faq-page__lead { color:#536069; font-size:clamp(15px,1.2vw,17px); line-height:2; margin:24px auto 0; max-width:850px; }
.sg-faq-page__section, .sg-faq-page__notice { border-top:1px solid var(--faq-line); padding:clamp(34px,4.7vw,60px) 0; }
.sg-faq-page__section h2, .sg-faq-page__notice h2 { border-left:4px solid var(--faq-red); border-top:0!important; border-bottom:0!important; color:#151515; font-size:clamp(23px,2.4vw,32px); font-weight:500; letter-spacing:.08em; line-height:1.35; margin:0 0 24px; padding-left:16px; }
.sg-faq-page__items { border-top:1px solid var(--faq-line); }
.sg-faq-page__item { border-bottom:1px solid var(--faq-line); }
.sg-faq-page__item summary { align-items:center; color:var(--faq-blue); cursor:pointer; display:flex; font-size:clamp(16px,1.45vw,20px); font-weight:500; gap:16px; list-style:none; min-height:68px; padding:16px 20px 16px 0; }
.sg-faq-page__item summary::-webkit-details-marker { display:none; }
.sg-faq-page__item summary::before { color:var(--faq-red); content:"Q"; flex:0 0 32px; font:600 16px Georgia,serif; letter-spacing:0; }
.sg-faq-page__item summary::after { color:var(--faq-gold); content:"+"; font:28px/1 Arial,sans-serif; margin-left:auto; }
.sg-faq-page__item[open] summary::after { content:"−"; }
.sg-faq-page__answer { padding:0 52px 22px 48px; }
.sg-faq-page__answer p, .sg-faq-page__notice p { color:#536069; font-size:clamp(15px,1.2vw,17px); line-height:1.95; margin:0; }
.sg-faq-page__answer a { color:var(--faq-blue); text-decoration:underline; text-underline-offset:3px; }
.sg-faq-page__notice { background:#faf7f7; border:1px solid var(--faq-line); margin-top:24px; padding:clamp(28px,4vw,48px); }
.sg-faq-page__notice h2 { font-size:clamp(21px,2vw,28px); margin-bottom:16px; }
@media (max-width:767px) {
 .sg-faq-page__body { width:calc(100% - 32px); padding-top:40px; }
 .sg-faq-page__masthead h1 { font-size:31px; letter-spacing:.06em; }
 .sg-faq-page__lead { font-size:15px; line-height:1.85; text-align:left; }
 .sg-faq-page__section, .sg-faq-page__notice { padding:34px 0; }
 .sg-faq-page__section h2, .sg-faq-page__notice h2 { font-size:23px; margin-bottom:18px; }
 .sg-faq-page__item summary { font-size:16px; min-height:64px; padding:14px 0; }
 .sg-faq-page__item summary::before { flex-basis:28px; }
 .sg-faq-page__answer { padding:0 8px 20px 44px; }
 .sg-faq-page__answer p, .sg-faq-page__notice p { font-size:15px; line-height:1.85; }
}
