.faq-page {padding:0 0 14rem;}
.sub-visual-contact .faq-visual-subtitle {margin:.05rem 0 0; font-size:2.2rem; font-weight:400; line-height:1.45; letter-spacing:.03em; color:#8a97a8;}
.faq-hero-image {display:block; width:100%; max-width:1920px; margin:0 auto 9rem;}
.faq-content {max-width:1920px; margin:0 auto; padding:0 4rem;}
.faq-intro {margin-bottom:3rem;}
.faq-intro strong {display:block; font-size:1.5rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:#d62486;}
.faq-intro h3 {margin-top:1rem; font-size:3.2rem; font-weight:600; line-height:1.25; color:#222;}
.faq-columns {display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:10rem; align-items:start;}
.faq-care {padding:0;}
.faq-questions {width:100%; max-width:none; margin:0;}
.faq-column-heading {margin-bottom:3rem;}
.faq-column-heading strong {display:block; font-size:1.5rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:#d62486;}
.faq-column-heading h3 {margin-top:1rem; font-size:3.2rem; font-weight:600; line-height:1.25; color:#222;}
.faq-notice-image {display:block; width:100%; max-width:42rem; margin:0 auto; border:1px solid #eee;}
.faq-care-cards {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); border-top:1px solid #222;}
.faq-care-cards li {min-height:20rem; padding:2.6rem 1.8rem; border-bottom:1px solid #ddd; list-style:none; text-align:center;}
.faq-care-cards li:not(:nth-child(3n)) {border-right:1px solid #ddd;}
.faq-care-icon {display:block; width:12rem; height:12rem; margin:0 auto 1.4rem; object-fit:contain;}
.faq-care-cards strong {display:block; font-size:1.55rem; font-weight:500; line-height:1.45; color:#222; word-break:keep-all;}
.faq-care-cards span {display:block; margin-top:.6rem; color:#777; font-size:1.25rem; line-height:1.5;}
.faq-list {border-top:1px solid #222;}
.faq-item {border-bottom:1px solid #ddd;}
.faq-question {display:flex; align-items:center; justify-content:space-between; width:100%; padding:2.6rem 1.6rem; border:0; background:#fff; color:#222; font-family:inherit; font-size:2rem; font-weight:500; text-align:left; cursor:pointer;}
.faq-question span:first-child {padding-right:2rem;}
.faq-question .faq-toggle {position:relative; flex:0 0 2rem; width:2rem; height:2rem;}
.faq-question .faq-toggle:before, .faq-question .faq-toggle:after {position:absolute; top:50%; left:0; width:100%; height:1px; background:#222; content:""; transition:transform .2s ease;}
.faq-question .faq-toggle:after {transform:rotate(90deg);}
.faq-question[aria-expanded="true"] .faq-toggle:after {transform:rotate(0);}
.faq-answer {display:none; padding:0 8rem 3.2rem 1.6rem; color:#666; font-size:1.65rem; line-height:1.9;}
.faq-answer p + p {margin-top:1.2rem;}
.faq-answer.is-open {display:block;}
.faq-question:focus-visible {outline:2px solid #d62486; outline-offset:-2px;}
.faq-contact {margin-top:9rem; padding:7rem 4rem; background:#f7f7f7; text-align:center;}
.faq-contact strong {display:block; font-size:1.5rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:#d62486;}
.faq-contact h3 {margin-top:1rem; font-size:3.2rem; font-weight:600; line-height:1.25; color:#222;}
.faq-contact p {margin-top:1.2rem; color:#777; font-size:1.7rem;}
.faq-contact-link {display:inline-block; min-width:20rem; margin-top:3rem; padding:1.6rem 3rem; background:#222; color:#fff; font-size:1.6rem; font-weight:500; text-decoration:none; transition:background .2s ease;}
.faq-contact-link:hover {background:#d62486; color:#fff;}

@media all and (max-width:800px) {
  .faq-page {padding-bottom:8rem;}
  .sub-visual-contact .faq-visual-subtitle {font-size:1.5rem;}
  .faq-hero-image {margin-bottom:5rem;}
  .faq-content {padding:0 2rem;}
  .faq-intro {margin-bottom:2rem;}
  .faq-intro strong {font-size:1.2rem;}
  .faq-intro h3 {font-size:2.4rem;}
  .faq-columns {grid-template-columns:1fr; gap:5rem;}
  .faq-care {margin:0; padding:0;}
  .faq-column-heading {margin-bottom:2rem;}
  .faq-column-heading strong {font-size:1.2rem;}
  .faq-column-heading h3 {font-size:2.4rem;}
  .faq-care-cards {grid-template-columns:repeat(2, minmax(0, 1fr));}
  .faq-care-cards li {min-height:13rem; padding:1.8rem 1.1rem;}
  .faq-care-cards li:not(:nth-child(3n)) {border-right:0;}
  .faq-care-cards li:nth-child(odd) {border-right:1px solid #ddd;}
  .faq-care-icon {width:6.2rem; height:6.2rem; margin-bottom:.8rem;}
  .faq-care-cards strong {font-size:1.3rem;}
  .faq-care-cards span {font-size:1.2rem;}
  .faq-question {padding:2rem .8rem; font-size:1.7rem; line-height:1.45;}
  .faq-answer {padding:0 .8rem 2.4rem; font-size:1.45rem; line-height:1.8;}
  .faq-contact {margin-top:5rem; padding:5rem 2rem;}
  .faq-contact strong {font-size:1.2rem;}
  .faq-contact h3 {font-size:2.4rem;}
  .faq-contact p {font-size:1.5rem;}
}