@charset "UTF-8";
/* 共通FAQ・お問い合わせ案内のみ。既存ページの文字組みは変更しない。 */
.support-page .support-main { padding-bottom:72px; font-size:1.125rem; line-height:1.75; color:#303c37; }
.support-page .support-breadcrumb { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0 36px; font-size:1rem; }
.support-page .support-intro { max-width:54rem; margin-bottom:32px; }
.support-page h1 { font-size:2.25rem; line-height:1.45; margin:0 0 20px; color:#345d48; letter-spacing:normal; }
.support-page h2 { font-size:1.875rem; line-height:1.45; margin:0 0 18px; color:#345d48; letter-spacing:normal; }
.support-page h3 { font-size:1.375rem; line-height:1.45; margin:24px 0 12px; color:#345d48; }
.support-page h1>span,.support-page h2>span { display:inline-block; max-width:100%; }
.support-page .support-main p { margin:0 0 16px; }
.support-page .support-entries { display:grid; grid-template-columns:1.15fr 1fr 1fr; gap:20px; align-items:stretch; }
.support-page .support-entry { padding:26px; border:1px solid #d9e2d9; border-radius:4px; background:#fff; }
.support-page .support-entry:first-child { background:#f3f6f3; }
.support-page .support-entry h2 { font-size:1.375rem; }
.support-page .support-entry-links { display:flex; flex-direction:column; align-items:flex-start; gap:6px; }
.support-page .support-link { display:inline-flex; align-items:center; min-height:44px; max-width:100%; padding:7px 0; color:#345d48; font-weight:600; text-decoration:underline; text-underline-offset:5px; overflow-wrap:anywhere; }
.support-page .support-entry .home-button { gap:8px; padding:12px 16px; max-width:100%; }
.support-page a:focus-visible,.support-page summary:focus-visible { outline:3px solid #345d48; outline-offset:4px; }
.support-page .support-section:focus-visible { outline:2px solid #345d48; outline-offset:6px; }
.support-page .support-section { margin-top:56px; padding-top:40px; border-top:1px solid #d9e2d9; scroll-margin-top:24px; }
.support-page .support-faq { margin-top:28px; border-top:1px solid #d9e2d9; }
.support-page .support-faq details { border-bottom:1px solid #d9e2d9; }
.support-page .support-faq summary { display:flex; justify-content:space-between; gap:16px; padding:22px 0; list-style:none; font-size:1.25rem; line-height:1.5; font-weight:600; color:#345d48; cursor:pointer; }
.support-page .support-faq summary::-webkit-details-marker { display:none; }
.support-page .support-faq summary::after { content:'＋'; flex-shrink:0; }
.support-page .support-faq details[open]>summary::after { content:'−'; }
.support-page .support-answer { padding:0 24px 20px; }
.support-page .support-answer-links { display:flex; flex-wrap:wrap; gap:4px 24px; }
.support-page .support-fallback { margin-top:24px; }
.support-page .support-contact { padding:32px; background:#f5f7f3; border:1px solid #d9e2d9; border-radius:4px; }
.support-page .support-contact ul { padding-left:1.4em; margin:0 0 12px; }
.support-page .support-contact li { margin-bottom:4px; }
.support-page .support-contact-route { margin:20px 0; }
.support-page .support-main .support-external-note { margin:4px 0 0; font-size:1rem; color:#526158; }
@media(max-width:1000px) {
  .support-page .support-entries { grid-template-columns:1fr; gap:16px; }
  .support-page .support-entry { padding:24px; }
  .support-page .support-entry-links { flex-direction:row; flex-wrap:wrap; gap:6px 24px; }
}
@media(max-width:700px) {
  .support-page h1 { font-size:1.75rem; }
  .support-page h2 { font-size:1.625rem; }
  .support-page .support-breadcrumb { margin-bottom:28px; }
  .support-page .support-entry,.support-page .support-contact { padding:20px; }
  .support-page .support-section { margin-top:40px; }
  .support-page .support-answer { padding:0 0 20px; }
  .support-page .support-faq summary { font-size:1.125rem; padding-block:20px; }
}
