@charset "UTF-8";

/* main ↓↓ */
.self-introduction_inside_box {
    display: flex;
    padding: 170px 4% 100px 4%; 
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 100px;
    align-self: stretch;

    background-image: url(../images/self_introduction/back_img.png);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
.section_1 {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex: 1 0 0;
    align-self: stretch;
}
.img_box1 {
    display: flex;
    width: 48%;
    padding: 10px;
    justify-content: center;
    align-items: center;
    background: #F5F5F5;

    opacity: 0;               /* 初期状態では見えない */
    transform: translateY(100px); /* 初期位置を下に100pxずらす */
    transition: opacity 1s ease, transform 1s ease; /* アニメーションの時間を指定 */
}
.img_box1.visible {
    opacity: 1;               /* アニメーション後に見えるようにする */
    transform: translateY(0);  /* 元の位置に戻す */
}
.img1 {
    flex: 1 0 0;
    align-self: stretch;
}
.section_2_pc {
    display: flex;
    align-items: center;
    flex: 1 0 0;
    align-self: stretch;
}
.img_box2_pc {
    display: flex;
    width: 54%;
    padding: 10px;
    justify-content: center;
    align-items: center;
    background: #F5F5F5;

    opacity: 0;               /* 初期状態では見えない */
    transform: translateY(100px); /* 初期位置を下に100pxずらす */
    transition: opacity 1s ease, transform 1s ease; /* アニメーションの時間を指定 */
}
.img_box2_pc.visible {
    opacity: 1;               /* アニメーション後に見えるようにする */
    transform: translateY(0);  /* 元の位置に戻す */
}
.img2 {
    flex: 1 0 0;
    align-self: stretch;
}
.section_3 {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 50px;
    align-self: stretch;
}
.txt_box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    align-self: stretch;
    justify-content: space-evenly;
    gap: 50px;
}
.self_introduction_txt_box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 50px;
}
.chica {
    color: #3D3D3D;
    text-align: center;
    -webkit-text-stroke-width: 1;
    -webkit-text-stroke-color: #3D3D3D;
    font-family: Suranna;
    font-size: 3rem;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 6px;

    opacity: 0;               /* 初期状態では見えない */
    transform: translateY(100px); /* 初期位置を下に100pxずらす */
    transition: opacity 1s ease, transform 1s ease; /* アニメーションの時間を指定 */
}
.chica.visible {
    opacity: 1;               /* アニメーション後に見えるようにする */
    transform: translateY(0);  /* 元の位置に戻す */
}
.txt_box1 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 50px;

    opacity: 0;               /* 初期状態では見えない */
    transform: translateY(100px); /* 初期位置を下に100pxずらす */
    transition: opacity 1s ease, transform 1s ease; /* アニメーションの時間を指定 */
}
.txt_box1.visible {
    opacity: 1;               /* アニメーション後に見えるようにする */
    transform: translateY(0);  /* 元の位置に戻す */
}
.p1_pc {
    color: #3D3D3D;
    font-family: "Zen Old Mincho";
    font-size: 1.8rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 3.6px;
    text-align: left;
}
.p1_sp {
    display: none;
}
.p2 {
    color: #3D3D3D;
    font-family: "Zen Old Mincho";
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 3.6px;
    text-align: left;
}
.txt_box2 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    align-self: stretch;

    opacity: 0;               /* 初期状態では見えない */
    transform: translateY(100px); /* 初期位置を下に100pxずらす */
    transition: opacity 1s ease, transform 1s ease; /* アニメーションの時間を指定 */
}
.txt_box2.visible {
    opacity: 1;               /* アニメーション後に見えるようにする */
    transform: translateY(0);  /* 元の位置に戻す */
}
.txt_box2_2 {
    align-items: center;
    list-style: inside;
}
.li {
    color: #3D3D3D;
    font-family: "Zen Old Mincho";
    font-size: 1.8rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 3.6px;
}
.img_box3 {
    display: flex;
    width: 54%;
    padding: 10px;
    justify-content: center;
    align-items: center;
    background: #F5F5F5;

    opacity: 0;               /* 初期状態では見えない */
    transform: translateY(100px); /* 初期位置を下に100pxずらす */
    transition: opacity 1s ease, transform 1s ease; /* アニメーションの時間を指定 */
}
.img_box3.visible {
    opacity: 1;               /* アニメーション後に見えるようにする */
    transform: translateY(0);  /* 元の位置に戻す */
}
.img3 {
    flex: 1 0 0;
    align-self: stretch;
}
.section_2_sp {
   display: none;
}
.img_box2_sp {
    display: none;
}

/* TB→SP */
@media screen and (max-width: 768px) {
    .self-introduction_inside_box {
        padding: 100px 2% 50px 2%;
        gap: 50px;
    }
    .section_1 {
        justify-content: center;
    }
    .img_box1 {
        width: 53%;
        padding: 5px;
    }
    .img1 {
        flex: 1 0 0;
        align-self: stretch;
    }
    
    .section_2_pc {
        display: none;
    }
    .img_box2_pc {
        display: none;
    }
    .img2_pc {
        display: none;
    }
    
    .section_3 {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 50px;
        align-self: stretch;
    }
    .txt_box {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        align-self: stretch;
        justify-content: space-evenly;
        gap: 50px;
    }
    .self_introduction_txt_box {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 50px;
    }
    .chica {
        text-shadow: 0px 5px 5px rgba(255, 255, 255, 0.16);
        font-size: 2rem;
        letter-spacing: 2px;
    }
    .txt_box1 {
        gap: 50px;
        align-self: stretch;
        text-align: left;
    }
    .p1_pc {
        display: none;
    }
    .p1_sp {
        display: inline;
        font-size: 1.5rem;
        font-weight: 500;
        text-align: left;
        letter-spacing: 1.1px;

        opacity: 0;               /* 初期状態では見えない */
        transform: translateY(100px); /* 初期位置を下に100pxずらす */
        transition: opacity 1s ease, transform 1s ease; /* アニメーションの時間を指定 */
    }

    .p1_sp.visible {
        opacity: 1;               /* アニメーション後に見えるようにする */
        transform: translateY(0);  /* 元の位置に戻す */
    }

    .p2 {
        font-size: 1.5rem;
        font-weight: 500;
        text-align: left;
    }
    .txt_box2_2 {
        align-items: center;
    }
    .li {   
        font-size: 1.6rem;
        font-weight: 500;
        letter-spacing: 1.6px;
    }
    .img_box3 {
        display: none;
    }
    .img3 {
        display: none;
    }
    .section_2_sp {
        display: inline;
        display: flex;
        justify-content: center;
        align-items: center;
        align-self: stretch;
    }
    .img_box2_sp {
        display: inline;
        width: 53%;
        background: #F5F5F5;
        padding: 5px;

        opacity: 0;               /* 初期状態では見えない */
        transform: translateY(100px); /* 初期位置を下に100pxずらす */
        transition: opacity 1s ease, transform 1s ease; /* アニメーションの時間を指定 */
    }


    .img_box2_sp.visible {
    opacity: 1;               /* アニメーション後に見えるようにする */
    transform: translateY(0);  /* 元の位置に戻す */
    }

    .img2_pc {
        display: inline;
        flex: 1 0 0;
        align-self: stretch;
    }
}
/* main ↑↑ */
