* {
    box-sizing: border-box;
}

.is-pc {
    display: block;
}
.is-sp {
    display: none;
}

body {
    margin: 0;
    padding: 0;
    text-align: center;
    background: #fff;
    font-family: "fot-tsukuardgothic-std", sans-serif;
    font-weight: 400;
    font-style: normal;
    background: #341007;
}
.background-texture {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('../img/pc_bg.png');
    background-size: 100%;
    background-repeat: repeat;
    background-color: #341007;
    background-size: cover;
    z-index: -1;
}
.white {
    background-color: #fff;
}

.inner {
    max-width: 1000px;
    margin: 0 auto;
}
.mv {
    width: 100%;
    margin-top: -0.5px;
}

img {
    width: 100%;
    display: block;
}

.contents {
    position: relative;
    width: 100%;
    margin-top: -0.5px;
}

.contents .image-wrapper {
    position: relative;
    width: 100%;
    height: auto;
}

.contents img {
    width: 100%;
    display: block;
}

.contents .image-wrapper img:last-child {
    position: absolute;
    top: 0;
    left: 0;
}

.cta {
    text-align: center;
}

.cta .btn img {
    width: 49%;
    margin: 0 auto;
    top: 0;
    left: 50% !important;
    transform: translateX(-50%);
    transition: 0.3s;
}

.cta .btn img:hover {
    width: 50%;
    opacity: 0.8;
    transition: 0.3s;
}

.line {
    text-align: center;
    margin-top: -3px;
}

.line .btn img {
    width: 80%;
    margin: 0 auto;
    top: 0;
    left: 50% !important;
    transform: translateX(-50%);
    transition: 0.3s;
}

.line .btn img:hover {
    width: 81%;
    opacity: 0.8;
    transition: 0.3s;
}

.footer-texture-pc {
    position: absolute;
    /* フッター内に限定 */
    top: 0;
    left: 0;
    width: 100%;
    height: 437px;
    /* 高さを調整 */
    background: url("../img/sp_テクスチャ.png") no-repeat center/cover;
    pointer-events: none;
    /* 下のリンクをクリック可能にする */
    z-index: 10;
    /* フッターより上に */
}
.footer-texture-sp {
    position: absolute;
    /* フッター内に限定 */
    top: -0px;
    left: 0;
    width: 100%;
    height: 300px;
    /* 高さを調整 */
    background: url("../img/sp_テクスチャ.png") no-repeat center/cover;
    pointer-events: none;
    /* 下のリンクをクリック可能にする */
    z-index: 10;
    /* フッターより上に */
}

footer {
    background: #fff;
    position: relative;
    /* フッターを基準にする */
    text-align: center;
    padding-top: 0px;
    padding-bottom: 70px;
    z-index: 5;
    /* `.footer-texture` の下に */
}
footer a {
    display: inline-block;
}

footer img {
    width: 230px;
    margin: 0 auto 30px;
}

.company {
    font-size: 22px;
    text-align: center;
    line-height: 1.4;
}

.company a {
    border-bottom: 1px solid #000;
}

.fade {
    opacity: 0;
    transform: translateY(50px);
    transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}


@media (max-width: 768px) {
    .is-sp {
        display: block;
    }
    .is-pc {
        display: none;
    }
    .cta .btn img {
        width: 80%;
        margin: 0 auto;
        top: 0;
        left: 50% !important;
        transform: translateX(-50%);
        transition: 0.3s;
    }
    
    .cta .btn img:hover {
        width: 81%;
        opacity: 0.8;
        transition: 0.3s;
    }
    footer {
        position: relative;
        /* フッターを基準にする */
        text-align: center;
        padding: 0px;
        z-index: 5;
        /* `.footer-texture` の下に */
        margin-top: -1px;
        height: 300px;
        
    }
    footer img {
        width: 40%;
    }
    .company {
        font-size: 15px;
        text-align: center;
        line-height: 1.4;
    }
    .insta {
        width: 40%;
        margin: 0 auto;
    }
    .mv {
        margin-top: -1.5px;
    }
    .contents {
        margin-top: -1.5px;
    }
    .mt-05 {
        margin-top: -0.5px;
    }
    .mt-0 {
        margin-top: 0px;
    }
}