/* デフォルト（閉じているとき）はプラスを表示 */
.icon-plus {
  display: inline;
}
.icon-minus {
  display: none;
}

/* 開いたとき（open属性があるとき）は表示を切り替える */
details[open] .icon-plus {
  display: none;
}
details[open] .icon-minus {
  display: inline;
}

.accordion-area {
  border-top: 2px solid #5930a4;
  border-bottom: 2px solid #5930a4;
}
.accordion-detail {
  margin-top: 40px;
}
.accordion-detail:first-child {
  margin-top: 0px;
}
.accordion-detail .accordion-detail__title,
.setting-steps-title {
  font-size: 18px;
  font-weight: 500;
  color: #434343;
  padding-bottom: 8px;
  border-bottom: 2px solid #434343;
}
.accordion-detail .accordion-detail__title.fix-title,
.setting-steps-title {
  font-size: 18px;
  font-weight: 500;
  color: #5930a4;
  background-color: #ddcbff;
  border: none;
  padding: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
}
.accordion-detail .accordion-detail__title.fix-title::before,
.setting-steps-title::before {
  content: "";
  display: inline-block;
  width: 2px;
  height: 32px;
  background-color: #fff;
  margin-right: 10px;
  margin-left: 10px;
}
.accordion-detail__title img {
  display: inline-block;
  vertical-align: bottom;
  padding-right: 10px;
  width: 34px;
  height: auto;
}
.accordion-detail .accordion-detail__content {
  font-size: 14px;
  font-weight: 400;
  color: #434343;
  line-height: 150%;
  padding-top: 18px;
}
.accordion-detail .accordion-detail__list {
  padding-top: 18px;
}
.accordion-detail .accordion-detail__list li {
  font-size: 13px;
  font-weight: normal;
  color: #434343;
  padding-top: 4px;
  line-height: 140%;
}
.accordion-detail-table {
  background-color: #ffe2dc;
}
.accordion-detail-table-apply {
  background-color: #e1f4ef;
}
.accordion-detail-table .accordion-detail-table-block-num {
  top: -20px;
  left: -20px;
}

.fix-table td:first-child {
  width: 26%;
}
.fix-table td:last-child {
  width: auto;
}
.fix-table-row {
  border-bottom: 1px solid #ddcbff;
}
.fix-table-row:first-child {
  border-top: 1px solid #ddcbff;
}

.plan-area {
  background-color: #e1d9ff;
}
.head-ribbon {
  position: relative;
  height: 56px;
  box-sizing: border-box;
  transform: translateY(-28px);
  background-image: url("/src/images/head-ribbon-bg.png");
  background-size: contain;
  display: grid;
  place-items: center;
}
.head-ribbon h2 {
  margin: 0;
  line-height: 44px;
}
.coupon-area-icon,
.setting-area-icon,
.fix-area-icon {
  position: absolute;
  top: -36px;
  left: 50%;
  transform: translateX(-50%);
}
.fix-table-row {
  border-bottom: 1px solid #ddcbff;
}

.top-cta {
  animation: pop-bounce 5s cubic-bezier(0.6, 0, 0.4, 1) infinite;
}
.top-cta::before {
  content: "";
  border-radius: 3rem;
  /*絶対配置でキラッと光るの位置を決める*/
  position: absolute;
  top: 0;
  left: 0%;
  /*キラッと光る形状*/
  width: 30%;
  height: 100%;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 100%);
  opacity: 0;
  /* transform: skewX(-25deg); */
  animation: shine 3s infinite linear;
}
@keyframes shine {
  0% {
    left: 0%;
    opacity: 0;
  }
  10% {
    left: 48%;
    opacity: 1;
  }
  20% {
    left: 70%;
    opacity: 0;
  }
  100% {
    left: 70%;
    opacity: 0; /* ポーズ（静止）状態を維持） */
  }
}

@keyframes pop-bounce {
  0% {
    transform: scale(1) translateY(0);
    filter: brightness(1);
  }
  10% {
    transform: scale(1.02) translateY(-4px);
    filter: brightness(1.02);
  }
  25% {
    transform: scale(0.9) translateY(3px);
  }
  40% {
    transform: scale(1.02) translateY(-2px);
  }
  60% {
    transform: scale(1) translateY(0);
  }
  75% {
    filter: brightness(1.01); /* きらっと強調 */
  }
  100% {
    transform: scale(1) translateY(0);
    filter: brightness(1);
  }
}
.qa-nav {
  display: flex;
  flex-direction: row;
  justify-content: center;
  column-gap: 20px;
}
.qa-nav-item {
  flex: 0 0 calc(16.6% - 20px);
}
@media screen and (max-width: 768px) {
  .head-ribbon {
    height: 40px;
    line-height: 40px;
    padding: 2px 0;
    background-size: 100% 40px;
  }
  .head-ribbon h2 {
    line-height: 32px;
  }
  .head-ribbon:before {
    left: -1px;
    border-width: 20px 0 20px 12px;
  }
  .head-ribbon:after {
    right: -1px;
    border-width: 20px 12px 20px 0;
  }
  .accordion-detail .accordion-detail__content {
    font-size: 13px;
  }
  .qa-nav {
    justify-content: space-between;
    column-gap: 8px;
    row-gap: 8px;
  }
  .qa-nav-item {
    flex: 0 0 calc(33.33% - 8px);
  }
  .accordion-detail__list li {
    font-size: 13px;
  }
}

/* tailwinds 更新 */
@media (min-width: 768px) {
  .md\:w-\[90\%\] {
    width: 90%;
  }
}
.bg-top-base {
  --tw-bg-opacity: 1;
  background-color: rgb(240 232 255 / var(--tw-bg-opacity));
}
.bg-top-btn {
  background-image: linear-gradient(90deg, #b807e9, #1eb0ee);
}
.border-border-pink {
  --tw-border-opacity: 1;
  border-color: rgb(255 106 106 / var(--tw-text-opacity));
}
.border-border-purple {
  --tw-border-opacity: 1;
  border-color: rgb(89 48 164 / var(--tw-text-opacity));
}
.pt-12 {
  padding-top: 3rem;
}
.mt-18 {
  margin-top: 4.5em;
}
.md\:text-left {
  text-align: left;
}
.md\:text-center {
  text-align: center;
}
.text-text-pink {
  --tw-text-opacity: 1;
  color: rgb(255 106 106 / var(--tw-text-opacity));
}
.text-text-purple {
  --tw-text-opacity: 1;
  color: rgb(89 48 164 / var(--tw-text-opacity));
}
.text-text-coupon {
  --tw-text-opacity: 1;
  color: rgb(252 167 19 / var(--tw-text-opacity));
}
.text-text-setting {
  --tw-text-opacity: 1;
  color: rgb(255 106 106 / var(--tw-text-opacity));
}
.text-text-fix {
  --tw-text-opacity: 1;
  color: rgb(75 198 195 / var(--tw-text-opacity));
}
.bg-fix {
  --tw-text-opacity: 1;
  background-color: rgb(75 198 195 / var(--tw-text-opacity));
}
.bg-apply {
  background-color: #5930a4;
}
.text-text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.flex-wrap {
  flex-wrap: wrap;
}
