/* page-faq.css — FAQ（よくあるご質問）ページ専用。共通(リセット/変数/nav/footer/breadcrumb/eyebrow)はstyle.css。 */

/* ── リード ── */
.faqp-lead{padding:96px 64px 8px;}
.fl-inner{max-width:760px;margin:0 auto;}
.fl-text{font-size:14px;line-height:2.3;color:var(--soft);}

/* ── グループ ── */
.faqp{padding:60px 64px 96px;}
.faqp-inner{max-width:860px;margin:0 auto;}
.faqp-group{margin-bottom:64px;}
.faqp-group:last-child{margin-bottom:0;}
.faqp-gtitle{font-family:'Playfair Display',serif;font-style:italic;font-weight:400;font-size:clamp(22px,2.8vw,32px);color:var(--ink);margin:6px 0 22px;letter-spacing:0.01em;}
.faqp-list{border-top:1px solid var(--line-i);}

/* ── 項目（アコーディオン） ── */
.faqp-item{border-bottom:1px solid var(--line-i);}
.faqp-q{list-style:none;cursor:pointer;display:flex;gap:14px;align-items:baseline;padding:22px 40px 22px 0;position:relative;
  font-family:'Noto Serif JP',serif;font-weight:400;font-size:15px;color:var(--ink);transition:color .3s;}
.faqp-q::-webkit-details-marker{display:none;}
.faqp-q::before{content:'Q.';font-family:'Playfair Display',serif;font-style:italic;font-size:15px;color:var(--gold-dk);flex-shrink:0;}
.faqp-q::after{content:'';position:absolute;right:6px;top:27px;width:9px;height:9px;
  border-right:1.5px solid var(--faint);border-bottom:1.5px solid var(--faint);
  transform:rotate(45deg);transition:transform .3s,border-color .3s;}
.faqp-q:hover{color:var(--gold-dk);}
.faqp-item[open] .faqp-q{color:var(--gold-dk);}
.faqp-item[open] .faqp-q::after{transform:rotate(-135deg);border-color:var(--gold-dk);}
.faqp-qtext{flex:1;}
.faqp-a{padding:0 40px 26px 30px;}
.faqp-a p{font-size:13.5px;line-height:2.15;color:var(--soft);}
.faqp-link{display:inline-block;margin-top:14px;font-family:'Cormorant Garamond',serif;font-size:13px;letter-spacing:0.08em;
  color:var(--gold-dk);text-decoration:none;border-bottom:1px solid var(--gold-lt);padding-bottom:2px;transition:color .3s,border-color .3s;}
.faqp-link:hover{color:var(--ink);border-color:var(--gold);}

/* ── レスポンシブ ── */
@media (max-width:900px){
  .faqp-lead{padding:72px 22px 4px;}
  .faqp{padding:44px 22px 64px;}
  .faqp-group{margin-bottom:48px;}
  .faqp-a{padding:0 0 24px 30px;}
  .faqp-q{padding-right:34px;}
}

/* ════════════════════════════════════════════════
   共通ヒーロー / CTA（他ページCSSと同一定義。
   style.css ではなく各ページCSSに置かれているため取り込む）
   ════════════════════════════════════════════════ */
.page-hero{height:72vh;min-height:480px;position:relative;overflow:hidden;padding-top:60px;}
.page-hero img{width:100%;height:100%;object-fit:cover;filter:saturate(0.85) brightness(0.74);}
.page-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(28,22,16,0.74) 0%,rgba(28,22,16,0.12) 55%,transparent 100%);}
.page-hero-inner{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:52px 64px;}
.ph-code{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:0.28em;color:rgba(255,255,255,0.6);text-transform:uppercase;display:block;margin-bottom:14px;}
.ph-title{font-family:'Playfair Display',serif;font-style:italic;font-weight:400;font-size:clamp(48px,8vw,104px);line-height:0.88;color:#fff;display:block;margin-bottom:14px;}
.ph-sub{font-family:'Noto Serif JP',serif;font-size:clamp(14px,1.6vw,18px);font-weight:200;color:rgba(255,255,255,0.78);letter-spacing:0.05em;}
.ph-vert{position:absolute;right:44px;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;font-family:'Space Mono',monospace;font-size:9px;letter-spacing:0.22em;color:rgba(255,255,255,0.3);text-transform:uppercase;z-index:3;}
.cta-bar{padding:90px 64px;text-align:center;position:relative;overflow:hidden;border-top:1px solid var(--line-i);}
.cta-bar::before{content:attr(data-word);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:'Playfair Display',serif;font-style:italic;font-size:clamp(80px,14vw,200px);line-height:1;color:rgba(176,161,126,0.05);white-space:nowrap;pointer-events:none;}
.cb-inner{position:relative;z-index:1;}
.cb-title{font-family:'Playfair Display',serif;font-style:italic;font-weight:400;font-size:clamp(26px,3.6vw,42px);color:var(--ink);margin-bottom:20px;}
.cb-price{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:0.16em;color:var(--gold-dk);margin-bottom:30px;display:block;}
.cb-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.btn-fill{padding:14px 34px;background:var(--ink);color:var(--w);font-family:'Cormorant Garamond',serif;font-size:12px;letter-spacing:0.2em;text-decoration:none;text-transform:uppercase;}
.btn-outline{padding:13px 33px;border:1px solid var(--gold);color:var(--gold-dk);font-family:'Cormorant Garamond',serif;font-size:12px;letter-spacing:0.2em;text-decoration:none;text-transform:uppercase;}
@media (max-width:900px){
  .page-hero{height:62vh;min-height:380px;}
  .page-hero-inner{padding:36px 22px;}
  .ph-vert{display:none;}
  .cta-bar{padding:68px 22px;}
}
