body {
    color: #333333;
    font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, Verdana, sans-serif;
    line-height: 1.25;
    letter-spacing: 5%;
}
a {
    color: #333333;
    text-decoration: none;
}

/*----------------------------------------------------------
▼ ヘッダー / フッター
----------------------------------------------------------*/
header .logoHeader {
	max-width: 990px;
    width: auto;
    margin: 0 auto;
    padding: 18px 15px 7px;
    z-index: 4;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    justify-content: space-between;
}
header .logoHeader img {
    width: 217px;
}
header .headBorder {
    background: url(/vivr/assets/img/common/lin_rainbow.jpg) no-repeat;
    background-size: cover;
    padding: 5px 0 0;
    width: 100%;
    position: relative;
}
header .headBorder::after {
    content: "";
    background: url(/vivr/assets/img/common/bg_ft.jpg) no-repeat;
    background-size: cover;
    height: 8px;
    width: 100%;
    position: absolute;
}
@media (max-width: 767px){
    header .headBorder {
        background: url(/vivr/assets/img/common/sp/lin_rainbow.jpg) no-repeat;
        background-size: cover;
    }
    header .headBorder::after {
        background: url(/vivr/assets/img/common/sp/bg_navcommon.jpg) no-repeat;
        background-size: cover;
    }
}

footer {
    position: relative;
}
footer .copyRight {
    text-align: center;
    font-size: 0.81rem;
    letter-spacing: 0.03em;
    background: url("/vivr/assets/img/common/bg_ft.jpg") no-repeat center;
    background-size: cover;
    position: relative;
    padding: 21px 0;
    line-height: 1.5;
    margin-top: 43px;
}
footer .copyRight:before {
    position: absolute;
    content: "";
    background: url("/vivr/assets/img/common/lin_rainbow.jpg") no-repeat;
    background-size: cover;
    width: 100%;
    height: 4px;
    left: 0;
    bottom: 0;
}
footer .toTop {
    position: fixed;
    left: 50%;
    margin-left: 455px;
    bottom: 42px;
    cursor: pointer;
    z-index: 10;
}
footer .toTop img {
  display: block;
}
/* TAB */
@media screen and (max-width: 990px) and (min-width: 768px) {
    footer .toTop {
        left: auto;
        margin-left: 0;
        right: 20px;
        bottom: 75px;
        background: #fff;
        border-radius: 40px;
    }
}

/* SP */
@media (max-width: 767px){
    header .logoHeader {
        padding: 7px 19px 7px;
    }
    header .logoHeader img {
        width: auto;
        height: 38px;
    }
    footer .copyRight {
        font-size: 0.69rem;
        background: url("/vivr/assets/img/common/sp/bg_ft.jpg") no-repeat center;
        padding: 19px 15px;
        margin-top: 53px;
    }
    footer .copyRight::before {
        background: url("/vivr/assets/img/common/sp/lin_rainbow.jpg") no-repeat;
        background-size: cover;
    }
    footer .toTop {
        left: auto;
        margin-left: 0;
        right: 10px;
        bottom: 65px;
        background: #fff;
        border-radius: 40px;
    }
}

/*----------------------------------------------------------
▼ ボタン
----------------------------------------------------------*/
.btn-red {
    background: #FFFFFF;
    border: 2px solid #FF4433;
    border-radius: 500px;
    font-weight: bold;
    font-size: 16px;
    text-align: center;
    position: relative;
    box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.15);
}
.btn-red a {
    width: 100%;
    height: 100%;
    display: block;
    text-align: center;
    padding: 15px 0;
    color: inherit;
}
.btn-red.two-lines a {
    padding: 10px 0;
}
.btn-red::after {
    position: absolute;
    content: "";
    display: inline-block;
    background: url(/vivr/assets/img/common/ico_arrow_red.svg) no-repeat;
    background-size: contain;
    width: 28px;
    height: 28px;
    top: 13px;
    right: 20px;
}
.btn-red.two-lines::after {
    top: 20px;
}
.btn-red.external::after {
    background: url(/vivr/assets/img/common/ico_other_tab.svg) no-repeat;
    width: 25px;
    height: 25px;
}
.btn-red:hover {
    background: #FF4433;
    color: #ffffff;
    position: relative;
    cursor: pointer;
}
.btn-red a:hover {
    color: #ffffff;
}
.btn-red:hover::after {
    position: absolute;
    content: "";
    display: inline-block;
    background: url(/vivr/assets/img/common/ico_arrow_white.svg) no-repeat;
    background-size: contain;
    width: 28px;
    height: 28px;
    top: 13px;
    right: 20px;
}
.btn-red.two-lines:hover::after {
    top: 20px;
}
.btn-red.external:hover::after {
    background: url(/vivr/assets/img/common/ico_other_tab_white.svg) no-repeat;
    right: 17px;
}
@media (max-width: 767px){
    .btn-red::after {
        width: 25px;
        height: 25px;
        top: 28%;
        right: 5%;
    }
    .btn-red:hover::after {
        position: absolute;
        content: "";
        display: inline-block;
        background: url(/vivr/assets/img/common/ico_arrow_white.svg) no-repeat;
        background-size: contain;
        width: 25px;
        height: 25px;
        top: 28%;
        right: 5%;
    }
    .btn-red-sp {
        font-size: 12px;
        width: 280px;
        line-height: 15px;
        margin: auto;
    }
    .btn-red-sp a {
        padding: 15px 60px 15px 55px;
    }
}
