/* *******************************

          header画像

******************************* */
/* 各ページヘッダー画像 */
.page-header {
    height: 350px;
}

/* 
スマホ縦 (〜479px) 
*/
@media screen and (max-width: 479px) {

    /* 各ページヘッダー画像 */
    .page-header {
        height: 180px;
    }

    .container .col-md-12 {
        margin-top: 48px !important;
    }

    .page-header_pageTitle {
        font-size: 24px !important;
        padding-block: 1em !important;
    }
}

/* *******************************

          footer

******************************* */

.footer {
    padding-top: 72px;
    color: #3b4183;
    background-color: #fff;
}

.footer__wrapper {
    width: 1180px;
    max-width: 90%;
    margin-inline: auto;
    display: flex;
    justify-content: space-between;
    position: relative;
    top: 40px;
}

.footer__menuList {
    list-style: none;
    padding: 0;
}

.footer__menuItem {
    border-bottom: 1px solid #10c1cd;
    padding-bottom: 0.6em;
    padding-left: 0.5em;
}

.footer__address span {
    font-weight: 800;
}

.footer__animeSection {
    position: relative;
}

.footer__copyright {
    font-size: 14px;
}

.footer__box01,
.footer__box02,
.footer__box03 {
    display: flex;
    flex-direction: column;
}

.footer__box02,
.footer__box03 {
    gap: 32px;
}

.boteImg01 {
    position: absolute;
    bottom: 7%;
    left: -200px;
    animation: topdown 10s ease 0s infinite normal forwards;
}

.boteImg02 {
    position: absolute;
    bottom: 4%;
    animation: topdown 10s ease 0.5s infinite normal forwards;
    left: -400px;
}

.boteImg03 {
    position: absolute;
    bottom: 11%;
    animation: topdown 10s ease 0.5s infinite normal forwards;
    left: -600px;
}

.boteImg04 {
    position: absolute;
    bottom: 15%;
    animation: topdown 10s ease 0.5s infinite normal forwards;
    left: -800px;
}

.boteImg05 {
    position: absolute;
    bottom: 4%;
    animation: topdown 10s ease 0.5s infinite normal forwards;
    left: -1000px;
}

.boteImg06 {
    position: absolute;
    bottom: 5%;
    animation: topdown 10s ease 0.5s infinite normal forwards;
    left: -1200px;
}

.footer__copyright {
    margin: 0;
    padding: 1.2em;
    text-align: center;
    background: #10c1cd;
    color: #fff;
}

#sineCanvas {
    display: block;
}

@keyframes topdown {
    0% {
        transform: translateX(-300px);
        /* X軸方向に-50px */
    }

    100% {
        transform: translateX(200vw);
        /* X軸方向に0px */
    }
}

@keyframes topdown_sp {
    0% {
        transform: translateX(-300px);
        /* X軸方向に-50px */
    }

    100% {
        transform: translateX(400vw);
        /* X軸方向に0px */
    }
}



/* 
スマホ縦 (〜479px) 
*/
@media screen and (max-width: 479px) {

    .footer {
        padding-top: 16px;
    }

    .boteImg01 {
        position: absolute;
        bottom: 7%;
        left: -50px;
        animation: topdown_sp 5s ease 0s infinite normal forwards;
    }

    .boteImg02 {
        position: absolute;
        bottom: 4%;
        animation: topdown_sp 5s ease 0.5s infinite normal forwards;
        left: -200px;
    }

    .boteImg03 {
        position: absolute;
        bottom: 11%;
        animation: topdown_sp 5s ease 0.5s infinite normal forwards;
        left: -400px;
    }

    .boteImg04 {
        position: absolute;
        bottom: 15%;
        animation: topdown_sp 5s ease 0.5s infinite normal forwards;
        left: -600px;
    }

    .boteImg05 {
        position: absolute;
        bottom: 4%;
        animation: topdown_sp 5s ease 0.5s infinite normal forwards;
        left: -800px;
    }

    .boteImg06 {
        position: absolute;
        bottom: 5%;
        animation: topdown_sp 5s ease 0.5s infinite normal forwards;
        left: -1000x;
    }

    .footer {
        font-size: 15px;
    }

    .footer__address p {
        margin: 0;
    }

    .footer__wrapper {
        flex-direction: column;
        gap: 32px;
        top: 56px;
    }

    .footer__address {
        width: 100%;
    }

    .footer__box02,
    .footer__box03 {
        flex-direction: column;
    }

    .br {
        display: none;
    }
}

/*
    スマホ横〜小タブレット (480px〜767px) 
 */
@media screen and (min-width: 480px) and (max-width: 767px) {

    .footer {
        padding-top: 48px;
    }

    .boteImg01 {
        position: absolute;
        bottom: 7%;
        left: -50px;
        animation: topdown_sp 5s ease 0s infinite normal forwards;
    }

    .boteImg02 {
        position: absolute;
        bottom: 4%;
        animation: topdown_sp 5s ease 0.5s infinite normal forwards;
        left: -200px;
    }

    .boteImg03 {
        position: absolute;
        bottom: 11%;
        animation: topdown_sp 5s ease 0.5s infinite normal forwards;
        left: -400px;
    }

    .boteImg04 {
        position: absolute;
        bottom: 15%;
        animation: topdown_sp 5s ease 0.5s infinite normal forwards;
        left: -600px;
    }

    .boteImg05 {
        position: absolute;
        bottom: 4%;
        animation: topdown_sp 5s ease 0.5s infinite normal forwards;
        left: -800px;
    }

    .boteImg06 {
        position: absolute;
        bottom: 5%;
        animation: topdown_sp 5s ease 0.5s infinite normal forwards;
        left: -1000x;
    }

    .footer {
        font-size: 15px;
    }

    .footer__address p {
        margin: 0;
    }

    .footer__wrapper {
        flex-direction: column;
        gap: 48px;
        position: relative;
        top: 0%;
    }

    .footer__address {
        width: 50%;
    }

    .footer__box02,
    .footer__box03 {
        flex-direction: row;
    }

    .br {
        display: none;
    }
}

/* 
    タブレット (768px〜959px) 
*/
@media screen and (min-width: 768px) and (max-width: 959px) {

    .footer {
        padding-top: 72px;
    }

    .footer__address p {
        margin: 0;
    }

    .footer__wrapper {
        flex-direction: column;
        gap: 48px;
    }

    .footer__address {
        width: 50%;
    }

    .footer__box02,
    .footer__box03 {
        flex-direction: row;
    }

    .br {
        display: none;
    }
}

/* 
    ノートPC (960px〜1279px) 
*/
@media screen and (min-width: 960px) and (max-width: 1279px) {

    .footer {
        padding-top: 72px;
    }

    .footer__logo {
        width: 230px;
    }

    .footer__wrapper {
        font-size: 16px;
    }
}

/* 
    デスクトップ (1280px〜) 
*/
@media screen and (min-width: 1280px) {}