@charset "UTF-8";
.qa-1 {
    /* max-width: 500px; */
    margin-bottom: 7px;
    border: 1px solid #d6dde3;
    border-radius: 5px;
}

.qa-1 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em 1em 3em;
    color: #333333;
    font-weight: 600;
    cursor: pointer;
}

.qa-1 summary::before,
.qa-1 p::before {
    position: absolute;
    left: 1em;
    font-weight: 600;
    font-size: 1.3em;
}

.qa-1 summary::before {
    color: #2961b6;
    content: "Q";
}

.qa-1 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #333333b3;
    border-right: 3px solid #333333b3;
    content: '';
    transition: transform .5s;
}

.qa-1[open] summary::after {
    transform: rotate(225deg);
}

.qa-1 p {
    position: relative;
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 3em 1.5em;
    color: #333;
    transition: transform .5s, opacity .5s;
}

.qa-1[open] p {
    transform: none;
    opacity: 1;
}

.qa-1 p::before {
    color: #e62b2b;
    line-height: 1.2;
    content: "A";
}

.qa-1 summary { user-select: none; }
.qa-1 summary::-webkit-details-marker { display: none; }

/* 旧アニメを無効化（瞬間表示になるのを止める） */
.qa-1 p {
  transform: none !important;
  opacity: 1 !important;
  transition: none !important;
}

.qa-1 .answer {
  display: grid;
  grid-template-rows: 0fr;       /* 閉じている時は高さゼロ */
  transition: grid-template-rows .45s ease;  /* 速度はここで調整（遅く→.6s など） */
}
.qa-1[open] .answer {
  grid-template-rows: 1fr;
}
.qa-1 .answer > div {
  overflow: hidden;
    padding:00em 1em 0em 1em;
}

/* 上からふわっと出す演出（任意：開く時だけ） */
@keyframes qaFadeDown {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: translateY(0); }
}
.qa-1[open] .answer > div {
  animation: qaFadeDown .45s ease both;
}
