.main {
    margin: 0;
    width: 100%;
    position: relative;
}

.main * {
    box-sizing: border-box;
}

.main .pc-show {
    display: block;
}

.main .mob-show {
    display: none;
}

.main p,
.main h2,
.main h3,
.main ul {
    margin: 0;
}

.main a {
    color: black;
    text-decoration: none;
    display: block;
    width: fit-content;
}

.main img {
    width: 100%;
    display: block;
}

.main .red {
    color: rgb(199, 0, 11);
}

.main .underline {
    text-decoration: underline;
}


/* pc */
.main .kv {
    position: relative;
}

.main .kv .kv-img {
    position: relative;
}

.main .kv .text-content {
    position: absolute;
    top: 25%;
    left: 10%;
}

.main .kv .text-content img {
    width: 13.020833vw;
    margin-left: .520833vw;
}

.main .kv .text-content h2 {
    font-size: 3.333333vw;
    margin-top: .833333vw;
    line-height: 1.25;
}

.main .kv .text-content p {
    font-size: 1.666667vw;
    margin-top: .833333vw;
}

/* sec2 */
.main .sec2 {
    position: relative;
    padding: 6.25vw 0;
    text-align: center;
}

.main .sec2 .sec2-first {
    width: 75vw;
    margin: 0 auto;
}

.main .sec2 p {
    font-size: 1.666667vw;
    line-height: 1.6;
}

.main .sec2 p span {
    color: #2987c2;
}

.main .sec2 a div::before {
    content: '';
    position: absolute;
    width: 0.9375vw;
    height: 0.9375vw;
    border-radius: 50%;
    background-color: #fff;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    vertical-align: middle;
}

.main .sec2-first p:nth-child(2) {
    margin-top: 2.604167vw;
}

.main .sec2-first p:nth-child(3) {
    margin-top: 2.604167vw;
}

.main .sec2-shadow {
    /* background: linear-gradient(to top, #b2d6ee, #ffffff); */
    width: 100%;
    height: 45.885417vw;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1;
}

.main .sec2 .kv-button {
    margin-top: 2.604167vw;
}

.main .sec2 a {
    padding: .833333vw 1.5625vw .833333vw 1.354167vw;
    /* background: linear-gradient(110deg, #86bddb, #0f72b5); */
    background: linear-gradient(109deg, #d0e2f6, #a6c7ea);
    border-radius: 4.010417vw;
    color: #fff;
    font-size: 1.041667vw;
    line-height: 1;
    margin: 0 auto;
}

.main .sec2 a div {
    width: 1.510417vw;
    height: 1.510417vw;
    border-radius: 50%;
    position: relative;
    background-color: rgba(255, 255, 255, .1);
    display: inline-block;
    vertical-align: middle;
    margin-left: 1.197917vw;
}

.main .sec2 a div::before {
    content: '';
    position: absolute;
    width: .520833vw;
    height: .520833vw;
    border-radius: 50%;
    background-color: #fff;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    vertical-align: middle;
}

/* sec3 */
.main .sec3 {
    position: relative;

}

.main .sec3 h2 {
    position: absolute;
    left: 8.177083vw;
    top: 50%;
    transform: translatey(-50%);
    font-size: 4.166667vw;
    line-height: 1.25;
    color: #fff;
    text-shadow: 3px 6px 7px #2d2c2c;
}

/* mob */
@media (max-aspect-ratio: 11/10) {

    .main .pc-show {
        display: none;
    }

    .main .mob-show {
        display: block;
    }

    /* kv */
    .main .kv {
        display: flex;
        justify-content: center;
    }

    .main .kv .text-content {
        position: absolute;
        width: 81.4806vw;
        top: 19.7778vw;
        left: auto;
        /* text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center; */
    }

    .main .kv .text-content img {
        width: 27.7778vw;
        margin-left: 0;
    }

    .main .kv .text-content h2 {
        font-size: 7.33333vw;
        margin-top: 4.166667vw;
    }

    .main .kv .text-content p {
        font-size: 3.33333vw;
        margin-top: 2.222222vw;
    }




    /* sec2 */
    .main .sec2-first {
        width: 83.333333vw;
    }

    .main .sec2-last {
        width: 83.333333vw;
    }

    .main .sec2 p {
        font-size: 4.444444vw;
    }

    .main .sec2-first p:nth-child(2) {
        margin-top: 7.083333vw;
    }

    .main .sec2-first p:nth-child(3) {
        margin-top: 7.083333vw;
    }

    .main .sec2-last p:nth-child(2) {
        margin-top: 7.083333vw;
    }

    .main .sec2 a {
        margin: 0 auto;
        /* background: linear-gradient(to right, #ffc84b, #e8a55f); */
        font-size: 4.444444vw;
        padding: 5.138889vw 5.555556vw 5.138889vw 6.944444vw;
        border-radius: 10vw;
    }

    .main .sec2-shadow {
        height: 120.777778vw;
    }

    .main .sec2 {
        padding: 0;
        padding-bottom: 16.666667vw;
        padding-top: 11.11111vw;
    }

    .main .sec2 .kv-button {
        margin-top: 7.083333vw;
    }

    .main .sec2 a {
        padding: 3.611111vw 4.166667vw 3.611111vw 4.166667vw;
        border-radius: 10.694444vw;
        color: #fff;
        font-size: 3.055556vw;
        line-height: 1;
    }

    .main .sec2 a div {
        width: 3.888889vw;
        height: 3.888889vw;
        margin-left: 1.944444vw;
    }

    .main .sec2 a div::before {
        content: '';
        width: 1.388889vw;
        height: 1.388889vw;
    }


    /* sec3 */
    .main .sec3 h2 {
        width: 100%;
        text-align: center;
        left: auto;
        top: 15.416667vw;
        font-size: 8.888889vw;
    }
}