/* ============================================================
   Q&A PAGE
   ============================================================ */
.qa-section { max-width: 860px; margin: 0 auto; padding: 0 40px; }

.qa-item {
  border-bottom: 1px solid #dce6f0;
}
.qa-question {
  display: flex; justify-content: space-between; align-items: center;
  padding: 22px 0;
  cursor: pointer;
  font-family: var(--font-serif);
  font-size: 16px; font-weight: 500;
  color: var(--ocean-dark);
  gap: 16px;
}
.qa-question span { flex: 1; }
.qa-question::after {
  content: '+';
  font-size: 22px; color: #5b9dbf;
  flex-shrink: 0; line-height: 1;
  transition: transform .3s ease;
}
.qa-item.is-open .qa-question::after { transform: rotate(45deg); }

.qa-answer {
  max-height: 0; overflow: hidden;
  transition: max-height .35s ease;
}
.qa-answer__inner {
  padding: 0 0 24px;
  font-size: 15px; line-height: 2.1; color: #555;
}
.qa-answer__inner img {
  margin-top: 16px;
  border-radius: 8px;
  max-width: 100%; height: auto;
}
.qa-item.is-open .qa-answer { max-height: 600px; }

/* Q label */
.qa-label {
  display: inline-block;
  width: 28px; height: 28px; line-height: 28px;
  text-align: center;
  background-color: var(--ocean-primary); color: #fff;
  border-radius: 50%;
  font-family: var(--font-sans);
  font-size: 13px; font-weight: 700;
  flex-shrink: 0;
}

@media (max-width: 768px) {
  .qa-section { padding: 0 20px; }
  .qa-question { font-size: 15px; }
}

/* === extracted from page-qa.php === */
/* QA hero - post-spec */
.qa-hero{position:relative;height:500px;overflow:hidden;background:#1a2220}
.qa-hero__bg{position:absolute;inset:0;background:center/cover no-repeat;filter:saturate(.95)}
.qa-hero__veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,34,32,.55) 0%,rgba(26,34,32,.3) 45%,rgba(26,34,32,.55) 100%)}
.qa-hero__inner{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 24px}
.qa-hero__label{font-family:"Playfair Display",serif;font-size:14px;letter-spacing:.6em;color:#fff;margin:0 0 22px;padding-left:.6em;text-shadow:0 2px 12px rgba(0,0,0,.5);opacity:.95}
.qa-hero__title{font-family:"Noto Serif JP",serif;font-size:56px;font-weight:500;letter-spacing:.16em;color:#fff;margin:0;text-align:center;text-shadow:0 4px 20px rgba(0,0,0,.55)}
.qa-hero__wave{position:absolute;left:0;right:0;bottom:-1px;line-height:0;z-index:3}
.qa-hero__wave svg{width:100%;height:90px;display:block;transform:scaleY(-1)}
@media(max-width:640px){.qa-hero{height:340px}.qa-hero__title{font-size:28px}}

/* QA body - simple refined */
.qa-intro{background:#fff;padding:100px 24px 40px;text-align:center}
.qa-intro__label{font-family:"Playfair Display",serif;font-size:13px;letter-spacing:.5em;color:#2d4a4f;margin:0 0 18px}
.qa-intro__h{font-family:"Noto Serif JP",serif;font-size:30px;font-weight:500;color:#1a2e32;letter-spacing:.14em;margin:0 0 28px}
.qa-intro__p{max-width:700px;margin:0 auto;font-size:14px;line-height:2.1;color:#3a4252}

/* Category tabs */
.qa-tabs{background:#fff;padding:20px 24px 40px;text-align:center}
.qa-tabs__inner{max-width:800px;margin:0 auto;display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.qa-tab{font-family:"Playfair Display",serif;font-size:11px;letter-spacing:.25em;padding:10px 22px;border:1px solid #dfd8c4;border-radius:999px;background:#fff;color:#546069;cursor:pointer;transition:all .3s}
.qa-tab.is-active,.qa-tab:hover{background:#2d4a4f;color:#fff;border-color:#2d4a4f}

/* FAQ container */
.qa-list-wrap{background:#f7f4eb;padding:60px 24px 100px}
.qa-list{max-width:880px;margin:0 auto}
.qa-cat{margin-bottom:40px}
.qa-cat__head{display:flex;align-items:center;gap:18px;margin:0 0 20px;padding-left:4px}
.qa-cat__num{font-family:"Playfair Display",serif;font-style:italic;font-size:20px;color:#b8a57a}
.qa-cat__name{font-family:"Playfair Display",serif;font-size:13px;letter-spacing:.35em;color:#2d4a4f;margin:0}
.qa-cat__line{flex:1;height:1px;background:#dfd8c4}

.qa2-item{background:#fff;border:1px solid #dfd8c4;border-radius:6px;margin-bottom:12px;overflow:hidden;transition:box-shadow .3s}
.qa2-item.is-open{box-shadow:0 8px 20px rgba(0,0,0,.06)}
.qa2-q{padding:22px 60px 22px 28px;cursor:pointer;position:relative;display:flex;align-items:flex-start;gap:20px;transition:background .2s}
.qa2-q:hover{background:#fafaf5}
.qa2-q__mark{width:34px;height:34px;border-radius:50%;background:#2d4a4f;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-family:"Playfair Display",serif;font-size:14px;font-weight:500;letter-spacing:.02em;flex-shrink:0;margin-top:-3px}
.qa2-q__text{font-family:"Noto Serif JP",serif;font-size:15px;color:#1a2e32;font-weight:500;letter-spacing:.04em;line-height:1.6;flex:1}
.qa2-q::after{content:"+";position:absolute;right:24px;top:50%;transform:translateY(-50%);font-family:"Playfair Display",serif;font-size:24px;font-weight:300;color:#2d4a4f;transition:transform .3s}
.qa2-item.is-open .qa2-q::after{transform:translateY(-50%) rotate(45deg)}

.qa2-a{max-height:0;overflow:hidden;transition:max-height .4s ease}
.qa2-item.is-open .qa2-a{max-height:500px}
.qa2-a__inner{padding:0 28px 24px 66px;border-top:1px solid #f0ebd9;font-size:13px;line-height:2;color:#3a4252}
.qa2-item.is-open .qa2-a__inner{padding-top:22px}
.qa2-a__inner img{width:100%;max-width:360px;margin-top:14px;border-radius:6px;display:block}

/* Still-have-question contact banner */
.qa-contact{background:#fff;padding:80px 24px;text-align:center;border-top:1px solid #ececec}
.qa-contact__label{font-family:"Playfair Display",serif;font-size:13px;letter-spacing:.5em;color:#2d4a4f;margin:0 0 14px}
.qa-contact__h{font-family:"Noto Serif JP",serif;font-size:26px;font-weight:500;color:#1a2e32;letter-spacing:.1em;margin:0 0 16px}
.qa-contact__p{font-size:13px;line-height:1.9;color:#3a4252;margin:0 0 32px}
.qa-contact__btns{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.qa-contact__btn{display:inline-flex;align-items:center;gap:12px;padding:14px 32px;border-radius:999px;text-decoration:none;font-size:13px;letter-spacing:.18em;font-family:"Noto Serif JP",serif;transition:all .3s}
.qa-contact__btn--dark{background:#2d4a4f;color:#fff}
.qa-contact__btn--dark:hover{background:#1a3034}
.qa-contact__btn--outline{border:1px solid #2d4a4f;color:#2d4a4f}
.qa-contact__btn--outline:hover{background:#2d4a4f;color:#fff}

@media(max-width:640px){
  .qa-intro__h{font-size:22px}
  .qa2-q{padding:18px 50px 18px 18px;gap:14px}
  .qa2-q__text{font-size:13px}
  .qa2-a__inner{padding:0 18px 18px 44px}
  .qa-contact__btns{flex-direction:column;align-items:center}
  .qa-contact__btn{width:90%;max-width:300px;justify-content:center}
}

