/* ============================================================
   追加セクション用スタイル(動画・プラン・導入の流れ・FAQ・ポリシー)
   ============================================================ */

/* ---------- movie ---------- */
.movie{background:var(--coffee)}
.movie .sec-head h2,.movie .sec-head p{color:var(--cream)}
.movie-wrap{max-width:640px;margin:0 auto;border-radius:var(--radius);overflow:hidden;box-shadow:0 16px 40px rgba(0,0,0,.35)}
.movie-wrap video{width:100%;display:block}
.movie-note{text-align:center;margin-top:18px;font-size:.78rem;color:#c9bca7}

/* ---------- plan (購入・レンタル・サポート) ---------- */
.plan{background:var(--white)}
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.plan-card{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:36px 28px}
.plan-card .icon{font-family:var(--font-serif);font-size:1.6rem;color:var(--gold);font-weight:700}
.plan-card h3{font-family:var(--font-serif);font-size:1.15rem;letter-spacing:.08em;margin:10px 0 12px}
.plan-card p{font-size:.87rem;color:var(--coffee-light)}
.plan-card ul{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:8px}
.plan-card li{font-size:.84rem;color:var(--coffee-light);padding-left:1.2em;position:relative}
.plan-card li::before{content:"◆";color:var(--gold);font-size:.65rem;position:absolute;left:0;top:.35em}

/* ---------- flow (導入までの流れ) ---------- */
.flow{background:var(--cream-2)}
.flow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:flow}
.flow-step{background:#fff;border-radius:var(--radius);padding:30px 22px;text-align:center;box-shadow:var(--shadow);position:relative}
.flow-step .n{display:inline-block;width:44px;height:44px;line-height:44px;border-radius:50%;background:var(--gold);color:#fff;font-family:var(--font-serif);font-size:1.2rem;font-weight:700;margin-bottom:14px}
.flow-step h3{font-size:.98rem;letter-spacing:.06em;margin-bottom:8px;font-family:var(--font-serif)}
.flow-step p{font-size:.82rem;color:var(--coffee-light);text-align:left}
.flow-step::after{content:"→";position:absolute;right:-16px;top:50%;transform:translateY(-50%);color:var(--gold);font-size:1.2rem;z-index:1}
.flow-step:last-child::after{display:none}

/* ---------- faq ---------- */
.faq{background:var(--white)}
.faq-list{max-width:800px;margin:0 auto;display:grid;gap:14px}
.faq-list details{background:var(--cream);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.faq-list summary{cursor:pointer;padding:18px 48px 18px 22px;font-size:.95rem;font-weight:600;letter-spacing:.04em;position:relative;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::before{content:"Q.";color:var(--gold);font-family:var(--font-serif);font-weight:700;margin-right:10px}
.faq-list summary::after{content:"＋";position:absolute;right:20px;top:50%;transform:translateY(-50%);color:var(--gold);font-size:1.1rem}
.faq-list details[open] summary::after{content:"−"}
.faq-list .a{padding:0 22px 20px;font-size:.88rem;color:var(--coffee-light)}
.faq-list .a::before{content:"A.";color:var(--gold);font-family:var(--font-serif);font-weight:700;margin-right:10px}

/* ---------- policy page ---------- */
.policy-body{max-width:800px;margin:0 auto;padding:140px 24px 90px}
.policy-body h1{font-family:var(--font-serif);font-size:1.7rem;letter-spacing:.12em;margin-bottom:10px}
.policy-body .date{font-size:.8rem;color:var(--coffee-light);margin-bottom:40px}
.policy-body h2{font-family:var(--font-serif);font-size:1.15rem;letter-spacing:.08em;margin:38px 0 12px;padding-left:14px;border-left:4px solid var(--gold)}
.policy-body p,.policy-body li{font-size:.92rem;color:var(--coffee-light)}
.policy-body ul{padding-left:1.4em;margin-top:8px}
.policy-body .back{display:inline-block;margin-top:50px}

/* ---------- responsive ---------- */
@media(max-width:900px){
  .plan-grid{grid-template-columns:1fr}
  .flow-grid{grid-template-columns:1fr}
  .flow-step::after{content:"↓";right:auto;left:50%;top:auto;bottom:-24px;transform:translateX(-50%)}
}
