.special {
  padding: 0 120px 150px 120px;
}

/* ========================================================================== */
/* special-1 */
/* ========================================================================== */

.special-1 {
  margin-top: 104px;
}

.special-1-text {
  color: #000;
  text-align: center;
  line-height: 30px;
  /* 187.5% */
  letter-spacing: 0.64px;
}

/* ========================================================================== */
/* special-2 */
/* ========================================================================== */

.special-2 {
  display: flex;
  padding: 8px;
  justify-content: space-between;
  align-items: center;
  margin-top: 40px;
}

.special-2-select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 1px solid #A7A7A7;
  border-radius: 8px;
  height: 40px;
  font-size: 16px;
  font-weight: 500;
  padding: 8px 40px 8px 12px;
  box-sizing: border-box;
}

/* ========================================================================== */
/* special-3 */
/* ========================================================================== */

.special-3 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  margin-top: 40px;
}

/* ========================================================================== */
/* special-item.twig */
/* ========================================================================== */

.special-3-item-parts {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  align-self: stretch;
}

.special-3-item-title-parts {
  display: flex;
  padding: 16px 40px;
  justify-content: space-between;
  align-items: center;
  align-self: stretch;
  border-radius: 8px;
  background: #EDF0F5;
}

.special-3-item-parts.is-open .special-3-item-title-parts {
  padding: 24px 40px 10px 40px;
  border-radius: 8px 8px 0 0;
}

.special-3-item-title-left-parts {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  flex: 1 0 0;
  margin-right: 8px;
}

.special-3-item-title-left-text-parts {
  color: var(--title-text-dark-blue);
  text-align: left;
  font-size: 18px;
  font-weight: 600;
  line-height: 32px;
  /* 177.778% */
  letter-spacing: 0.72px;
}

.special-3-item-content-parts {
  display: none;
  padding: 0 40px 24px 40px;
  align-items: flex-start;
  gap: 40px;
  align-self: stretch;
  border-radius: 0 0 8px 8px;
  background: #EDF0F5;
}

.special-3-item-parts.is-open .special-3-item-content-parts {
  display: flex;
}

.special-3-item-content-box-parts {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  flex: 1 0 0;
}

.special-3-item-content-text-parts {
  font-size: 14px;
  line-height: 24px;
  /* 171.429% */
  letter-spacing: 0.56px;
  flex: 1 0 0;
}

/* ========================================================================== */
/* @media：SP */
/* ========================================================================== */
@media (max-width: 1024px) {
  .special-3-item-title-parts {
    padding: 16px 24px;
    gap: 10px;
  }
}

@media (max-width: 767px) {
  .special {
    padding: 0 24px;
  }

  /* ==================================================== */
  /* special-1 */
  /* ==================================================== */

  .special-1 {
    margin-top: 66px;
  }

  .special-1-text {
    font-size: 14px;
    line-height: 24px;
    /* 171.429% */
    letter-spacing: 0.56px;
  }

  /* ==================================================== */
  /* special-2 */
  /* ==================================================== */

  .special-2 {
    justify-content: center;
  }

  /* ==================================================== */
  /* special-3 */
  /* ==================================================== */

  /* ==================================================== */
  /* special-item.twig */
  /* ==================================================== */

  .special-3-item-parts.is-open .special-3-item-title-parts {
    padding: 24px 24px 16px 24px;
  }

  .special-3-item-title-left-text-parts {
    line-height: 26px;
    /* 144.444% */
    letter-spacing: 0.72px;
  }

  .special-3-item-content-parts {
    padding: 0 24px 24px 24px;
    gap: 10px;
  }
}