/* -----------------------------
	初めての方へ
  ----------------------------- */
:root {
    --intro-w: 80%;
    --intro-div-w: 70%;
    --reverse-mar: 50px;
    --intro-btm-mar: 120px;
    --intro-num-size: 170pt;
    --intro-num-top: -200px;
    --intro-num-left: -40px;

    --intro-pad: 40px;
    --intro-div-pad: 50px;
}

@media screen and (max-width: 1024px) {
    :root {
        --intro-div-w: 100%;
        --reverse-mar: 0px;
        --intro-btm-mar: 40px;

    }
}

@media screen and (max-width: 768px) {
    :root {}
}

@media screen and (max-width: 480px) {
    :root {
        --intro-w: 100%;
        --intro-num-size: 140pt;
        --intro-num-top: -150px;
        --intro-num-left: -30px;
        --intro-pad: 40px 0px 0px 0px;
        --intro-div-pad: 40px 40px 20px 40px;

    }
}

@media screen and (max-width: 320px) {
    :root {}
}


.introduction {
    display: var(--res-flex-input);
    		justify-content: center;
		/* 水平方向の中央寄せ */
		align-items: center;
		/* 垂直方向の中央寄せ */
		margin-left: auto;
		margin-right: auto;
    padding: var(--intro-pad);
    width: var(--intro-w);
    margin-bottom: var(--intro-btm-mar);
    align-items: center;
    gap: 30px;
}

/* 1,3番目は動画が右なので通常順 */
.introduction:nth-of-type(odd) {
    flex-direction: row-reverse;
}

/* 2番目だけ動画が左 */
.introduction:nth-of-type(2) {
    flex-direction: row;
}

.reverse {
    margin-left: var(--reverse-mar);
}


.introduction div {
    padding: var(--intro-div-pad);
    width: var(--intro-div-w);
}

.introduction h2 {
    text-align: left;
    font-weight: 500;
    white-space: nowrap;
}

.introduction p {
    text-align: left;
    line-height: 2;
    font-size: var(--res-p);
}

.introduction .introNum {
    color: #cac5e4;
    font-weight: 600;
    position: absolute;
    opacity: 0.3;
    font-size: var(--intro-num-size);
    margin-top: var(--intro-num-top);
    margin-left: var(--intro-num-left);
    z-index: -1;
}

.introduction video {
    display: block;
    /* inline要素の余白を除去 */
    border: none;
    outline: none;
    background: transparent;
    object-fit: cover;
    /* 親領域にきれいに収まる */
    width: 100%;
    height: auto;
    transform: translateZ(0);
    /* サブピクセル対策 */
    filter: drop-shadow(0px 0px #000);
}

.fade-up {
    opacity: 0;
    transform: translateY(24px);
    transition: transform 600ms cubic-bezier(.2, .9, .2, 1), opacity 600ms ease;
    will-change: transform, opacity;
}

/* visible */
.fade-up.is-visible {
    opacity: 1;
    transform: translateY(0);
}