@charset "UTF-8";

/* =========================================================
   共通FAQ（details/summary版）
   - クラス：.kk-faq-block / .kk-faq-title / .kk-faq
            .kk-faq-item / .kk-faq-q / .kk-faq-a
   ========================================================= */

.kk-faq-block{
  margin: 0 0 18px;
}

.kk-faq-title{
  margin: 0 0 10px;
  font-size: 20px;
  line-height: 1.4;
}

.kk-faq{
  border-top: 1px solid #ccc;
}

/* 1アイテム */
.kk-faq-item{
  border-bottom: 1px solid #ccc;
  background: #fff;
}

/* 質問（summary） */
.kk-faq-q{
  list-style: none;
  cursor: pointer;
  padding: 12px 16px;
  font-weight: 700;
  background: #f8f8f8;
  position: relative;
}

/* マーカー消し（Chrome/Safari + Firefox） */
.kk-faq-q::-webkit-details-marker{ display:none; }
.kk-faq-q::marker{ content:""; }

/* ＋／－ */
.kk-faq-q::after{
  content: "＋";
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  font-weight: 700;
}
.kk-faq-item[open] > .kk-faq-q::after{
  content: "－";
}

/* 回答 */
.kk-faq-a{
  padding: 12px 16px;
  line-height: 1.7;
}
.kk-faq-a p{
  margin: 0;
}

/* =========================================================
   フォールバック（旧HTML：.faq-container / .faq-item / .faq-question / .faq-answer）
   - 既存ページで旧マークアップが残っていても最低限崩れないようにする
   ========================================================= */

.faq-container{
  border-top: 1px solid #ccc;
}

.faq-container .faq-item,
.faq-container details{
  display: block !important;
}

/* 旧「横並び」や固定幅を無効化 */
.faq-container .faq-question{
  width: auto !important;
  flex: none !important;
}

/* details/summary の場合だけ、見た目を共通に寄せる */
.faq-container summary.faq-question{
  list-style: none;
  cursor: pointer;
  padding: 12px 16px;
  font-weight: 700;
  background: #f8f8f8;
  position: relative;
  display: block;
}
.faq-container summary.faq-question::-webkit-details-marker{ display:none; }
.faq-container summary.faq-question::marker{ content:""; }

.faq-container summary.faq-question::after{
  content: "＋";
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  font-weight: 700;
}
.faq-container details[open] > summary.faq-question::after{
  content: "－";
}

.faq-container .faq-answer{
  padding: 12px 16px;
  line-height: 1.7;
}

/* detailsで閉じている時だけ非表示（div方式はJSに任せる） */
.faq-container details:not([open]) > .faq-answer{
  display: none;
}

.faq-container details{
  border-bottom: 1px solid #ccc;
  background: #fff;
}