/* Native HTML details: no plugin, jQuery or custom JavaScript is required. */
.aslt-site .aslt-content .wp-block-details,
.editor-styles-wrapper .wp-block-details {
  padding: 0; margin: 0; border: 0; border-bottom: 1px solid #e4dfe5;
  background: #fff; color: #302c32;
}
.aslt-site .aslt-content .wp-block-details:first-of-type,
.editor-styles-wrapper .wp-block-details:first-of-type { border-top: 1px solid #e4dfe5; }
.aslt-site .aslt-content .wp-block-details > summary,
.editor-styles-wrapper .wp-block-details > summary {
  position: relative; padding: 26px 60px 26px 24px; list-style: none;
  font-family: "Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  color: #593956; font-size: 18px; font-weight: 600; line-height: 1.9; cursor: pointer;
}
.aslt-site .aslt-content .wp-block-details > summary::-webkit-details-marker { display: none; }
.aslt-site .aslt-content .wp-block-details > summary::marker { content: ""; }
.aslt-site .aslt-content .wp-block-details > summary::before,
.aslt-site .aslt-content .wp-block-details > summary::after {
  content: ""; position: absolute; right: 26px; top: 50%;
  width: 16px; height: 1px; background: #775176;
}
.aslt-site .aslt-content .wp-block-details > summary::after { transform: rotate(90deg); }
.aslt-site .aslt-content .wp-block-details[open] > summary::after { transform: rotate(0); }
.aslt-site .aslt-content .wp-block-details > summary:hover,
.aslt-site .aslt-content .wp-block-details[open] > summary { background: #f6f2f6; }
.aslt-site .aslt-content .wp-block-details > summary:focus-visible { outline: 2px solid #775176; outline-offset: -3px; }
.aslt-site .aslt-content .wp-block-details > :not(summary) { margin-left: 24px; margin-right: 24px; }
.aslt-site .aslt-content .wp-block-details > summary + * { margin-top: 28px; }
.aslt-site .aslt-content .wp-block-details > :last-child { margin-bottom: 32px; }
.aslt-site .aslt-content .wp-block-details p { font-size: 17px; line-height: 2.05; }
.aslt-site .aslt-content .wp-block-details :is(h4,h5) { font-family: var(--aslt-serif); color: #593956; font-size: 22px; line-height: 1.8; margin-block: 32px 20px; }
@media (max-width: 600px) {
  .aslt-site .aslt-content .wp-block-details > summary { padding: 22px 46px 22px 16px; font-size: 16px; }
  .aslt-site .aslt-content .wp-block-details > summary::before,
  .aslt-site .aslt-content .wp-block-details > summary::after { right: 18px; width: 14px; }
  .aslt-site .aslt-content .wp-block-details > :not(summary) { margin-inline: 16px; }
  .aslt-site .aslt-content .wp-block-details p { font-size: 16px; }
}
.aslt-site .aslt-content .wp-block-details[open] > summary { margin-bottom: 0; }

/* Problem-solving program FAQ: make the native details interaction obvious. */
.aslt-site .aslt-faq-list { margin: 34px 0 72px; counter-reset: aslt-faq; }
.aslt-site .aslt-faq-list__heading { margin: 0 0 16px; padding: 14px 18px; color: #593956; background: #f6f1f6; border-left: 4px solid #775176; font-size: 18px; }
.aslt-site .aslt-faq { counter-increment: aslt-faq; margin: 0 0 12px; border: 1px solid #e2d9e4; border-radius: 6px; background: #fff; box-shadow: 0 5px 18px rgba(48,44,50,.06); overflow: hidden; }
.aslt-site .aslt-faq > summary { position: relative; display: flex; align-items: center; min-height: 64px; padding: 17px 68px 17px 58px; list-style: none; cursor: pointer; color: #49364b; font-size: 17px; font-weight: 600; line-height: 1.7; }
.aslt-site .aslt-faq > summary::-webkit-details-marker { display: none; }
.aslt-site .aslt-faq > summary::before { content: "Q" counter(aslt-faq); position: absolute; left: 18px; top: 50%; transform: translateY(-50%); display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; color: #fff; background: #775176; font-size: 12px; font-weight: 700; letter-spacing: 0; }
.aslt-site .aslt-faq > summary::after { content: "+"; position: absolute; right: 22px; top: 50%; transform: translateY(-52%); color: #775176; font-size: 28px; font-weight: 300; line-height: 1; }
.aslt-site .aslt-faq[open] > summary { background: #faf7fa; border-bottom: 1px solid #e2d9e4; }
.aslt-site .aslt-faq[open] > summary::after { content: "−"; }
.aslt-site .aslt-faq > summary:hover { background: #f8f3f8; }
.aslt-site .aslt-faq > summary:focus-visible { outline: 3px solid #b89ab7; outline-offset: -3px; }
.aslt-site .aslt-faq__answer { padding: 24px 28px 28px; color: #413b43; background: #fff; }
.aslt-site .aslt-faq__answer p { margin: 0 0 16px; line-height: 2.05; }
.aslt-site .aslt-faq__answer > :last-child { margin-bottom: 0; }
@media (max-width: 600px) {
  .aslt-site .aslt-faq > summary { min-height: 58px; padding: 15px 52px 15px 50px; font-size: 16px; }
  .aslt-site .aslt-faq > summary::before { left: 14px; width: 26px; height: 26px; }
  .aslt-site .aslt-faq > summary::after { right: 16px; }
  .aslt-site .aslt-faq__answer { padding: 20px 18px 22px; }
}
