/* 基本的なリセット */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

img {
    display: grid;
    width: 100%;
    height: 100%;
}
a {
    transition: .3s;
    -webkit-transition: .3s;
    -moz-transition: .3s;
    -ms-transition: .3s;
    -o-transition: .3s;
}
a:hover {
    opacity: 0.7;
}
p {
    padding: 0;
    margin: 0;
}


.cta
,.cta2
,.cta3 {
    position: relative;
}
.cta_btn {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 36vw;
    height: auto;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
}
.cta_btn2 {
    position: absolute;
    bottom: 4.5vw;
    left: 50%;
    width: 36vw;
    height: auto;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
}
.cta_btn3 {
    position: absolute;
    bottom: 1.5vw;
    left: 50%;
    width: 36vw;
    height: auto;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
}

footer {
    padding-top: 50px;
    padding-bottom: 50px;
    text-align: center;
}
.footer_link_box {
    margin-bottom: 30px;
}
.footer_link {
    display: block;
    color: #000;
}
.footer_link:last-child {
    margin-top: 10px;
}

@media only screen and (max-width: 750px) {
    .cta_btn
    ,.cta_btn2
    ,.cta_btn3 {
        width: 90vw;
    }

    .cta_btn2 {
        bottom: 11vw;
    }
    .cta_btn3 {
        bottom: 4vw;
    }
}