@media only screen and (max-width: 640px) {
    .pc{
        display: none;
    }
    .sp{
        display: block;
    }
    .pc-flex{
        display: none !important;
    }
    .sp-flex{
        display: flex !important;
    }
    .revealssp{
        opacity: 0;
        transition: 1s all;
    }
    .showupsp{
        opacity: 1;
    }
    .bg1{
        background-image: url("img/bg1_sp.png");
        width: 100vw;
        height: 402.66666666666663vw;
        background-size: cover;
        background-position: center top;
    }
    .bg1 div {
        margin-top: 189.33333333333334vw;
        gap: 9.333333333333334vw;
        display: flex;
        align-items: center;
        flex-direction: column;
    }
    .bg1 p {
        font-family: "Noto Serif JP", serif;
        font-weight: 600;
        font-style: normal;
        width: 83.73333333333333vw;
        font-size: 3.4666666666666663vw;
        line-height: 6.4vw;
    }
    .bg1 p > span {
        font-weight: 900;
        font-size: 5.066666666666666vw;
        line-height: 7.466666666666668vw;
        letter-spacing: 0.02em;
    }
    .bg1 img {
        width: 72.8vw;
        height: 102.93333333333334vw;
        margin-top: 0;
    }


    .bg2{
        background-image: url("img/bg2_sp.png");
        width: 100vw;
        height: 366.8vw;
        background-size: cover;
        background-position: center top;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .ribbon {
        width: 83.73333333333333vw;
        height: 10.666666666666668vw;
        line-height: 10.666666666666668vw;
        font-size: 5.066666666666666vw;
        text-align: center;
        font-family: "Noto Serif JP", serif;
        font-weight: 900;
        font-style: normal;
        color: white;
    }
    .celebrate {
        display: flex;
        justify-content: center;
        gap: 6.666666666666667vw;
        margin-top: 8vw;
        flex-direction: column-reverse;
        align-items: center;
    }
    .director {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 4vw;
        width: 83.73333333333333vw;
    }
    .director img {
        width: 38.666666666666664vw;
        height: 47.733333333333334vw;
    }
    .director p {
        font-family: "Noto Sans JP", sans-serif;
        font-optical-sizing: auto;
        font-weight: 500;
        font-style: normal;
        text-align: center;
        font-size: 3.4666666666666663vw;
        line-height: 7.733333333333333vw;
        margin-top: 0;
        letter-spacing: 0.07em;
        width: auto;
    }
    .director p span {
        font-size: 6.666666666666667vw;
        letter-spacing: -0.01em;
    }
    .celebrate p {
        font-family: "Noto Sans JP", sans-serif;
        font-optical-sizing: auto;
        font-weight: 500;
        font-style: normal;
        font-size: 3.4666666666666663vw;
        line-height: 6.133333333333333vw;
        width: 83.73333333333333vw;
        text-align: justify;
    }


    .bg3{
        background-image: url("img/bg3_sp.png");
        width: 100vw;
        height: 1621.8666666666668vw;
        background-size: cover;
        background-position: center top;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .red {
        background-color: #D73A33;
        height: 18.666666666666668vw;
        line-height: 6.666666666666667vw;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .future {
        margin-top: 6.666666666666667vw;
        margin-bottom: 14.133333333333335vw;
        line-height: 6.4vw;
        font-size: 3.4666666666666663vw;
        font-family: "Noto Serif JP", serif;
        font-weight: 600;
        font-style: normal;
        text-align: center;
    }
    .future-list {
        display: flex;
        width: 83.73333333333333vw;
        flex-direction: column;
        align-items: center;
    }
    .future-image img {
        width: 83.73333333333333vw;
    }
    .future-image p {
        font-family: "Noto Sans JP", sans-serif;
        font-optical-sizing: auto;
        font-weight: bold;
        font-style: normal;
        font-size: 4.533333333333333vw;
        line-height: 6.4vw;
        margin-top: 1.3333333333333335vw;
        text-align: center;
    }
    .future-image p > span {
        font-family: "Noto Sans JP", sans-serif;
        font-optical-sizing: auto;
        font-weight: 400;
        font-style: normal;
        font-size: 3.2vw;
    }
    .future-text {
        width: 83.73333333333333vw;
    }
    .future-text p:nth-of-type(1) {
        font-family: "Noto Sans JP", sans-serif;
        font-optical-sizing: auto;
        font-weight: bold;
        font-style: normal;
        font-size: 4.533333333333333vw;
        line-height: 6.4vw;
        margin-top: 5.333333333333334vw;
        padding-bottom: 5.333333333333334vw;
        border-bottom: 0.26666666666666666vw solid #D73A33;
        color: #D73A33;
    }
    .future-text p:nth-of-type(2) {
        font-family: "Noto Sans JP", sans-serif;
        font-optical-sizing: auto;
        font-weight: 500;
        font-style: normal;
        margin-top: 5.333333333333334vw;
        font-size: 3.4666666666666663vw;
        line-height: 5.866666666666666vw;
    }

    .future-list:nth-of-type(3){
        margin-top: 20vw;
    }
    .future-list:nth-of-type(3) .future-text{
        margin-top: 0;
    }
    .future-list:nth-of-type(4){
        margin-top: 20vw;
    }
    .future-list:nth-of-type(4) .future-text{
        margin-top: 0;
    }
    .future-list:nth-of-type(5){
        margin-top: 20vw;
    }
    .future-list:nth-of-type(5) .future-text{
        margin-top: 0;
    }
    .future-list:nth-of-type(6){
        margin-top: 20vw;
    }
    .future-list:nth-of-type(6) .future-text{
        margin-top: 0;
    }
    .future-list:nth-of-type(7){
        margin-top: 20vw;
    }
    .future-list:nth-of-type(7) .future-text{
        margin-top: 0;
    }
    .future-list:nth-of-type(8){
        margin-top: 20vw;
    }
    .future-list:nth-of-type(8) .future-text{
        margin-top: 0;
    }
    .future-list:nth-of-type(9){
        margin-top: 20vw;
    }
    .future-list:nth-of-type(9) .future-text{
        margin-top: 0;
    }


    .bg4{
        background-image: url("img/bg4_sp.png");
        width: 100vw;
        height: 936.8000000000001vw;
        background-size: cover;
        background-position: center top;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .founder {
        display: flex;
        flex-direction: row;
        align-items: center;
        position: absolute;
        right: 0;
        left: 29.333333333333332vw;
        margin-top: 66.66666666666666vw;
    }
    .founder img {
        width: 27.419093333333333vw;
        height: 29.600373333333334vw;
    }
    .founder p {
        margin-top: 0;
        margin-left: 4vw;
        line-height: 4.8vw;
        font-size: 3.733333333333334vw;
        letter-spacing: 0.06em;
        text-align: start;
        font-family: "Noto Serif JP", serif;
        font-weight: 600;
        font-style: normal;
    }
    .founder p > span {
        font-size: 4.533333333333333vw;
    }
    .flow-container {
        margin-top: 8.799999999999999vw;
        display: flex;
        justify-content: center;
    }
    .flow-image {
        width: 22.400000000000002vw;
        height: 897.3333333333333vw;
    }
    .left {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        margin-right: 0;
        margin-left: 17.866666666666667vw;
        position: absolute;
    }
    .left p {
        font-family: "Noto Sans JP", sans-serif;
        font-optical-sizing: auto;
        font-weight: 500;
        font-style: normal;
        font-size: 3.733333333333334vw;
        line-height: 5.333333333333334vw;
    }    
    .left p:nth-of-type(1) {
        margin-top: 6.133333333333333vw;
    }
    .left p:nth-of-type(2) {
        margin-top: 2.1333333333333333vw;
    }
    .left p:nth-of-type(3) {
        margin-top: 85.86666666666667vw;
    }
    .left p:nth-of-type(4) {
        margin-top: 56.266666666666666vw;
    }
    .left p:nth-of-type(5) {
        margin-top: 5.066666666666666vw;
    }
    .left p:nth-of-type(6) {
        margin-top: 58.4vw;
    }
    .left p:nth-of-type(7) {
        margin-top: 18.666666666666668vw;
    }
    .left p:nth-of-type(8) {
        margin-top: 33.6vw;
    }
    .left p:nth-of-type(9) {
        margin-top: 42.4vw;
    }
    .left p:nth-of-type(10) {
        margin-top: 13.066666666666665vw;
    }
    .left p:nth-of-type(11) {
        margin-top: 16.53333333333333vw;
    }
    .left p:nth-of-type(12) {
        margin-top: 38.4vw;
    }
    .left p:nth-of-type(13) {
        margin-top: 5.333333333333334vw;
    }
    .left p:nth-of-type(14) {
        margin-top: 70.39999999999999vw;
    }
    .left p:nth-of-type(15) {
        margin-top: 22.666666666666664vw;
    }
    .left p:nth-of-type(16) {
        margin-top: 61.6vw;
    }
    .left p:nth-of-type(17) {
        margin-top: 2.1333333333333333vw;
    }
    .left p:nth-of-type(18) {
        margin-top: 13.866666666666665vw;
    }
    .left p:nth-of-type(19) {
        margin-top: 43.46666666666666vw;
    }
    .left p:nth-of-type(20) {
        margin-top: 1.866666666666667vw;
    }
    .left p:nth-of-type(21) {
        margin-top: 52vw;
    }

    .right {
        margin-left: 1.3333333333333335vw;
    }
    .right p {
        line-height: 6.4vw;
        font-size: 4.533333333333333vw;
        letter-spacing: 0.04em;
        font-family: "Noto Serif JP", serif;
        font-weight: 600;
        font-style: normal;
    }
    .right p:nth-of-type(1) {
        margin-top: 23.200000000000003vw;
    }
    .right p:nth-of-type(2) {
        margin-top: 71.46666666666667vw;
    }
    .right p:nth-of-type(3) {
        margin-top: 40vw;
    }
    .right p:nth-of-type(4) {
        margin-top: 21.866666666666667vw;
    }
    .right p:nth-of-type(5) {
        margin-top: 13.866666666666665vw;
    }
    .right p:nth-of-type(6) {
        margin-top: 13.866666666666665vw;
    }
    .right p:nth-of-type(7) {
        margin-top: 46.666666666666664vw;
    }
    .right p:nth-of-type(8) {
        margin-top: 10.933333333333334vw;
    }
    .right p:nth-of-type(9) {
        margin-top: 26.400000000000002vw;
    }
    .right p:nth-of-type(10) {
        margin-top: 73.06666666666666vw;
    }
    .right p:nth-of-type(11) {
        margin-top: 14.133333333333335vw;
    }
    .right p:nth-of-type(12) {
        margin-top: 13.333333333333334vw;
    }
    .right p:nth-of-type(13) {
        margin-top: 52.53333333333333vw;
    }
    .right p:nth-of-type(14) {
        margin-top: 28.26666666666667vw;
    }
    .right p:nth-of-type(15) {
        margin-top: 18.933333333333334vw;
    }
    .right p:nth-of-type(16) {
        margin-top: 2.933333333333333vw;
    }


    .last {
        line-height: 7.199999999999999vw;
        font-size: 4.533333333333333vw;
        margin-top: 0;
        font-family: "Noto Serif JP", serif;
        font-weight: 600;
        font-style: normal;
        text-align: center;
        width: 100vw;
        height: 22.133333333333333vw;
        background: linear-gradient(180deg, rgba(249, 252, 255, 1) 0%, rgba(255, 255, 255, 1) 100%);
    }
    footer {
        margin-top: 13.333333333333334vw;
        height: 33.86666666666667vw;
        width: 100%;
        background-color: #EBEBEB;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    footer a:nth-of-type(1) {
        width: 73.04746666666666vw;
        height: 9.851173333333332vw;
        border-radius: 4.9101333333333335vw;
        font-size: 4.533333333333333vw;
        line-height: 9.851173333333332vw;
        font-family: "Noto Sans JP", sans-serif;
        font-optical-sizing: auto;
        font-weight: bold;
        text-align: center;
        font-style: normal;
        text-decoration: none;
        color: white;
        background-color: #62B47D;
        opacity: 1;
    }
    footer a:nth-of-type(2) {
        width: 12vw;
        height: 12vw;
        background-image: url(img/gotop.svg);
        position: fixed;
        right: 8.266666666666666vw;
        bottom: 8.266666666666666vw;
        opacity: 1;
    }
    .copyright {
        width: 100%;
        height: 9.333333333333334vw;
        font-size: 2.933333333333333vw;
        line-height: 9.333333333333334vw;
        font-family: "Noto Sans JP", sans-serif;
        font-optical-sizing: auto;
        font-weight: 400;
        text-align: center;
        font-style: normal;
        text-decoration: none;
        color: white;
        background-color: #0070C0;
    }
}