/* FAQ only: native accordions, clear categories, and quiet support cards. */
body.faq-page{background:#f7f8fa;color:#303747;font-family:"Noto Sans JP","Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;line-height:1.8;letter-spacing:.05em}
.faq-page .page-head,.faq-page .faq-content>.inner{max-width:1040px;margin-left:auto;margin-right:auto}
.faq-page .page-head{padding:48px 24px 0}
.faq-page .page-head h1{font-family:inherit;font-size:32px;letter-spacing:.02em;margin:8px 0 16px;color:#2b3550}
.faq-page .page-head p{font-size:16px;margin:0;color:#657084}
.faq-eyebrow{font-size:12px;color:#707b8d;letter-spacing:.14em}
.faq-content{padding:32px 24px 64px}
.faq-support-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.faq-page .faq-support{display:flex;flex-direction:column;min-width:0;padding:24px;margin:0;border:1px solid #e0e5ed;border-radius:18px;background:#fff}
.faq-page .faq-support .ico{display:none}
.faq-page .faq-support h3{font-family:inherit;font-size:20px;line-height:1.6;letter-spacing:.02em;color:#2b3550;margin:0 0 16px}
.faq-page .faq-support p{font-size:15px;line-height:1.8;color:#606a7b;margin:0 0 24px}
.faq-page .faq-support .faq-support-action{margin:auto 0 0}
.faq-page .faq-support .btn{font-size:15px;line-height:1.8;text-align:left;min-height:48px;background:#eef2f7;color:#2b3550;border:1px solid #d7dfeb;border-radius:18px;padding:8px 48px 8px 16px}
.faq-page .faq-support .btn::before{border-color:currentColor}
.faq-page .faq-support .btn:hover{background:#dfe7f2}
.faq-intro{font-size:16px;line-height:1.8;color:#606a7b;margin:32px 0 24px}
.faq-categories{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 32px}
body.faq-page .faq-categories a[href]{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:8px 16px;border:1px solid #d9e0ea;border-radius:18px;background:#fff;color:#4f5d75;font-size:14px;line-height:1.8;text-decoration:none}
.faq-page .faq-categories a:hover{background:#e9eef6;border-color:#9faec5}
.faq-page .faq-category-heading{display:flex;align-items:center;gap:16px;font-family:inherit;font-size:20px;line-height:1.8;letter-spacing:.02em;color:#2b3550;margin:48px 0 16px;scroll-margin-top:24px}
.faq-category-heading::after{content:"";height:1px;flex:1;background:#dfe4ed}
.faq-page details.qa{padding:0;margin:0 0 16px;border:1px solid #dfe4ed;border-radius:18px;background:#fff;overflow:hidden}
.faq-page .qa summary.q{display:flex;align-items:flex-start;gap:16px;min-height:64px;padding:24px 16px;border:0;background:#fff;color:#303b54;font-size:16px;font-weight:600;line-height:1.8;list-style:none;cursor:pointer}
.faq-page .qa summary.q::-webkit-details-marker{display:none}
.faq-page .qa summary.q:hover{background:#f2f5f9}
.faq-q-label{display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;height:32px;border-radius:50%;background:#edf1f7;color:#66748e;font-size:14px;font-weight:600;letter-spacing:0}
.faq-toggle{position:relative;flex:0 0 24px;width:24px;height:32px;margin-left:auto;color:#718099}
.faq-toggle::before,.faq-toggle::after{content:"";position:absolute;background:currentColor;border-radius:2px}
.faq-toggle::before{width:16px;height:2px;left:4px;top:15px}
.faq-toggle::after{height:16px;width:2px;left:11px;top:8px}
.faq-page .qa[open]{border-color:#aebcd0}
.faq-page .qa[open] summary.q{background:#eef2f8}
.qa[open] .faq-toggle::after{display:none}
.faq-page .qa .a{padding:24px;border-top:1px solid #e1e6ef;color:#535e71}
.faq-page .qa .a p{font-size:16px;line-height:1.8;margin:0}
.faq-page .qa .a p+p{margin-top:16px}
.faq-page .qa summary.q:focus-visible{outline:3px solid #6b80a3;outline-offset:-4px}
.faq-tools{margin:0 0 16px}
.faq-search{display:block;margin:0 0 16px}
.faq-search input{width:100%;min-height:48px;padding:8px 16px;border:1px solid #d9e0ea;border-radius:18px;background:#fff;color:#303b54;font-family:inherit;font-size:16px;line-height:1.8}
.faq-search input::placeholder{color:#939db0}
.faq-search input:focus-visible{outline:3px solid #6b80a3;outline-offset:-2px}
body.faq-page .faq-categories button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:8px 16px;border:1px solid #d9e0ea;border-radius:18px;background:#fff;color:#4f5d75;font-family:inherit;font-size:14px;line-height:1.8;cursor:pointer}
.faq-page .faq-categories button:hover{background:#e9eef6;border-color:#9faec5}
.faq-page .faq-categories button[aria-pressed="true"]{background:#2b3550;border-color:#2b3550;color:#fff}
.faq-page .faq-categories button:focus-visible{outline:3px solid #6b80a3;outline-offset:2px}
.faq-count{font-size:14px;line-height:1.8;color:#707b8d;margin:0 0 16px}
.faq-page .faq-clear{display:inline-flex;align-items:center;min-height:48px;padding:0;border:0;background:none;color:#4f5d75;font-family:inherit;font-size:14px;line-height:1.8;text-decoration:underline;cursor:pointer}
.faq-empty{padding:24px;border:1px dashed #cdd6e3;border-radius:18px;background:#fff;color:#606a7b;font-size:15px;line-height:1.8}
.faq-page .faq-group[hidden],.faq-page details.qa[hidden],.faq-page [hidden]{display:none}
@media(min-width:768px){.faq-page .page-head{padding:48px 40px 0}.faq-page .page-head h1{font-size:40px}.faq-content{padding:32px 40px 64px}.faq-support-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.faq-page .qa summary.q{padding:24px}.faq-page .qa .a{padding:24px 32px 24px 72px}}
