/* Opt-in component styles only. No generic details/summary or form selectors. */
.kvds-spoiler {
  --kvds-sp-title-current:var(--kvds-sp-title-size,19px);
  --kvds-sp-icon-current:var(--kvds-sp-icon-size,20px);
  box-sizing:border-box; display:block; width:100%; max-width:100%; min-width:0;
  margin:0 0 var(--kvds-sp-gap,12px); padding:0;
  border:var(--kvds-sp-border-width,1px) solid var(--kvds-sp-border-color,#DAE5DC);
  border-radius:var(--kvds-sp-radius,12px); background:var(--kvds-sp-answer-bg,#fff);
  overflow:hidden; box-shadow:none; text-align:left;
  color:var(--kvds-sp-body-color,#34453E); font-size:var(--kvds-sp-body-size,16px);
}
.kvds-spoiler > .kvds-spoiler__summary {
  box-sizing:border-box; display:flex; align-items:center; gap:12px; min-height:48px;
  margin:0; padding:var(--kvds-sp-pad-v,18px) var(--kvds-sp-pad-h,22px);
  border:0; background:var(--kvds-sp-header-bg,#EEF5F0); color:var(--kvds-sp-title-color,#244B3B);
  list-style:none; cursor:pointer; user-select:none; text-align:left;
  font-size:var(--kvds-sp-title-current); font-weight:var(--kvds-sp-title-weight,700); line-height:1.6;
}
.kvds-spoiler > summary::-webkit-details-marker {display:none;}
.kvds-spoiler > summary::marker {content:"";}
.kvds-spoiler > summary:focus-visible {outline:3px solid var(--kvds-sp-icon-color,#347A58);outline-offset:-3px;}
.kvds-spoiler__question {display:block; min-width:0; flex:1 1 auto; overflow-wrap:anywhere;}
.kvds-spoiler > .kvds-spoiler__summary > .kvds-spoiler__question,
.kvds-spoiler > .kvds-spoiler__summary > .kvds-spoiler__question > span {
  margin:0; padding:0; border:0; background:none; color:inherit;
  font-size:var(--kvds-sp-title-current); font-weight:var(--kvds-sp-title-weight,700); line-height:inherit;
}
.kvds-spoiler-font-sans > .kvds-spoiler__summary {font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;}
.kvds-spoiler-font-serif > .kvds-spoiler__summary {font-family:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;}
.kvds-spoiler-font-inherit > .kvds-spoiler__summary {font-family:inherit;}
.kvds-spoiler__summary > .kvds-spoiler__marker {
  position:relative; display:inline-flex; align-items:center; justify-content:center;
  box-sizing:content-box; width:var(--kvds-sp-icon-current); height:var(--kvds-sp-icon-current);
  min-width:var(--kvds-sp-icon-current); min-height:var(--kvds-sp-icon-current); flex:0 0 var(--kvds-sp-icon-current);
  margin:0; padding:4px; color:var(--kvds-sp-icon-color,#347A58); background:transparent;
  border:0; box-shadow:none; border-radius:50%; line-height:1; text-indent:0; overflow:visible;
}
.kvds-spoiler--right > .kvds-spoiler__summary > .kvds-spoiler__marker {order:3; margin-left:4px;}
.kvds-spoiler--circle > .kvds-spoiler__summary > .kvds-spoiler__marker {background:var(--kvds-sp-icon-bg,#E6EFE8);padding:8px;}
.kvds-spoiler__marker > .kvds-spoiler__mark {display:block;box-sizing:border-box;position:relative;margin:0;padding:0;border:0;width:70%;height:70%;background:none;pointer-events:none;font-size:0;line-height:0;}
.kvds-spoiler--triangle > .kvds-spoiler__summary .kvds-spoiler__mark {background:currentColor;clip-path:polygon(18% 0,100% 50%,18% 100%);transition:transform .16s ease;}
.kvds-spoiler--triangle[open] > .kvds-spoiler__summary .kvds-spoiler__mark,
.kvds-spoiler--triangle.is-editor-open > .kvds-spoiler__summary .kvds-spoiler__mark {transform:rotate(90deg);}
.kvds-spoiler--plus > .kvds-spoiler__summary .kvds-spoiler__mark::before,
.kvds-spoiler--plus > .kvds-spoiler__summary .kvds-spoiler__mark::after {content:"";position:absolute;background:currentColor;border-radius:2px;}
.kvds-spoiler--plus > .kvds-spoiler__summary .kvds-spoiler__mark::before {width:100%;height:2px;top:calc(50% - 1px);left:0;}
.kvds-spoiler--plus > .kvds-spoiler__summary .kvds-spoiler__mark::after {height:100%;width:2px;left:calc(50% - 1px);top:0;}
.kvds-spoiler--plus[open] > .kvds-spoiler__summary .kvds-spoiler__mark::after,
.kvds-spoiler--plus.is-editor-open > .kvds-spoiler__summary .kvds-spoiler__mark::after {display:none;}
.kvds-spoiler--chevron > .kvds-spoiler__summary .kvds-spoiler__mark {width:55%;height:55%;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-18%) rotate(45deg);transition:transform .16s ease;}
.kvds-spoiler--chevron[open] > .kvds-spoiler__summary .kvds-spoiler__mark,
.kvds-spoiler--chevron.is-editor-open > .kvds-spoiler__summary .kvds-spoiler__mark {transform:translateY(18%) rotate(225deg);}
.kvds-spoiler__summary > .kvds-spoiler__q,
.kvds-spoiler__answer-wrap > .kvds-spoiler__a {flex:0 0 auto;color:var(--kvds-sp-icon-color,#347A58);font-weight:700;font-family:Arial,sans-serif;font-size:1.12em;line-height:1.6;}
.kvds-spoiler > .kvds-spoiler__answer-wrap {
  box-sizing:border-box; display:flex; gap:12px; margin:0; padding:var(--kvds-sp-answer-pad,22px);
  border:0; border-top:var(--kvds-sp-border-width,1px) solid var(--kvds-sp-border-color,#DAE5DC);
  background:var(--kvds-sp-answer-bg,#fff);color:var(--kvds-sp-body-color,#34453E);
  font-size:var(--kvds-sp-body-size,16px);line-height:var(--kvds-sp-body-line,1.85);
}
.kvds-spoiler:not([open]):not(.is-editor-open) > .kvds-spoiler__answer-wrap {display:none;}
.kvds-spoiler__answer {min-width:0;flex:1 1 auto;overflow-wrap:anywhere;}
.kvds-spoiler__answer > :first-child {margin-top:0;}
.kvds-spoiler__answer > :last-child {margin-bottom:0;}
/* In TinyMCE only the icon opens/closes. Clicking question text never hides the answer. */
.kvds-spoiler--editor > .kvds-spoiler__summary {cursor:default;user-select:auto;}
.kvds-spoiler--editor .kvds-spoiler__editor-toggle {cursor:pointer;appearance:none;}
.kvds-spoiler--editor .kvds-spoiler__editor-toggle:focus-visible {outline:2px solid currentColor;outline-offset:2px;}
.kvds-spoiler--editor .kvds-spoiler__question > [contenteditable="true"] {display:block;min-height:1.6em;background:transparent!important;color:inherit!important;caret-color:currentColor;}
.kvds-spoiler--editor > .kvds-spoiler__answer-wrap > [data-kvds-rich-field] {min-height:2em;}
@media(max-width:1023px){.kvds-spoiler{--kvds-sp-title-current:var(--kvds-sp-title-tablet,18px);--kvds-sp-icon-current:var(--kvds-sp-icon-tablet,20px);}}
@media(max-width:600px){.kvds-spoiler{--kvds-sp-title-current:var(--kvds-sp-title-mobile,17px);--kvds-sp-icon-current:var(--kvds-sp-icon-mobile,18px);} .kvds-spoiler>.kvds-spoiler__summary{gap:9px;padding:var(--kvds-sp-pad-v,18px) min(var(--kvds-sp-pad-h,22px),16px);} .kvds-spoiler>.kvds-spoiler__answer-wrap{padding:min(var(--kvds-sp-answer-pad,22px),18px);}}
/* Studio device buttons simulate the target width without changing the window. */
.kvds-preview-device-tablet .kvds-spoiler,.kvds-preview--tablet .kvds-spoiler {--kvds-sp-title-current:var(--kvds-sp-title-tablet,18px);--kvds-sp-icon-current:var(--kvds-sp-icon-tablet,20px);}
.kvds-preview-device-mobile .kvds-spoiler,.kvds-preview--mobile .kvds-spoiler {--kvds-sp-title-current:var(--kvds-sp-title-mobile,17px);--kvds-sp-icon-current:var(--kvds-sp-icon-mobile,18px);}
@media(prefers-reduced-motion:reduce){.kvds-spoiler .kvds-spoiler__mark{transition:none!important;}}
@media print{.kvds-spoiler>.kvds-spoiler__answer-wrap{display:flex!important;}.kvds-spoiler{break-inside:avoid;}}
