.custom-container {
  transition: color var(--t-color), border-color var(--t-color),
    background-color var(--t-color);

	position: relative;

  .custom-container-title {
    font-weight: 600;
    &:not(:only-child) {
      margin-bottom: -0.4rem;
    }
  }

  &.tip,
  &.warning,
  &.danger {
    padding: 0.1rem 1.5rem;
    border-left-width: 0.5rem;
    border-left-style: solid;
    margin: 1rem 0;
  }

  &.tip {
    border-color: var(--c-tip);
    background-color: var(--c-tip-bg);
    color: var(--c-tip-text);

    .custom-container-title {
      color: var(--c-tip-title);
    }

    a {
      color: var(--c-tip-text-accent);
    }
  }

  &.warning {
    border-color: var(--c-warning);
    background-color: var(--c-warning-bg);
    color: var(--c-warning-text);

    .custom-container-title {
      color: var(--c-warning-title);
    }

    a {
      color: var(--c-warning-text-accent);
    }
  }

  &.danger {
    border-color: var(--c-danger);
    background-color: var(--c-danger-bg);
    color: var(--c-danger-text);

    .custom-container-title {
      color: var(--c-danger-title);
    }

    a {
      color: var(--c-danger-text-accent);
    }
  }

  &.details {
    display: block;
    position: relative;
    border-radius: 2px;
    margin: 1.6em 0;
    padding: 1.6em;
    background-color: var(--c-details-bg);

    h4 {
      margin-top: 0;
    }

    figure,
    p {
      &:last-child {
        margin-bottom: 0;
        padding-bottom: 0;
      }
    }

    summary {
      outline: none;
      cursor: pointer;
    }
  }

	> i {
		position: absolute;
		top: 1rem;
		left: -19px;
		width: 30px;
		height: 30px;
		line-height: 30px;
		border-radius: 100%;
		text-align: center;
		font-size: 14px;
		color: var(--c-bg);
	}

	> p {
		// vuepressデフォルトテーマのミスで、details内に入れたcustom-containerのマージンが無くなってしまうため
		margin-block-end: 1em !important;
	}

	&.tip {
		> i {
			background: var(--c-tip);
		}
	}

	&.warning {
		> i {
			background: var(--c-warning);
		}
	}

	&.danger {
		> i {
			background: var(--c-danger);
		}
	}
}
