/* ##############################################################################

    COVER

############################################################################## */

#topCoverWrap {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    background: #fff;
    height: 100%;
    min-height: 480px;
}

#topCover {
    position: relative;
    background-image: url(/sp/img/cover.jpg);
    background-position: 50% 0;
    background-repeat: no-repeat;
    background-size: cover;
    background-color: #fff;
}
#topCover::before{
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 98vw;
    height: 100vh;
    background-image: url(/sp/img/cover_title.png);
    background-position: 50%;
    background-size: 100% auto;
    background-repeat: no-repeat;
    transform: translate(-50%, -50%);
}

.campaign{
    position: relative;
}

.campaign a{
    display: block;
    border: 4px solid #ee509b;
}

.campaign a img{
    width: 100%;
}


.top-shadow {
    position: absolute;
    height: 30%;
    width: 100%;
    overflow: hidden;
    top: 0;
    left: 0;
    background: rgb(255, 255, 255);
    background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
}

.foot-shadow {
    position: absolute;
    height: 300px;
    width: 100%;
    overflow: hidden;
    bottom: 0;
    left: 0;
    background: rgb(255, 255, 255);
    background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
}

#top-wrap {
    position: relative;
    width: 100%;
    height: 100%;
    position: relative;
    background-color: #fff;
    background-image: url(/img/top_container_bg.jpg);
    background-position: 50% 0;
    background-size: auto;
    background-repeat: repeat;
    margin: 100vh auto 0 auto;
    z-index: 101;
}

#top-wrap::before {
    content: "";
    transform: skewY(-4deg);
    transform-origin: top left;
    background: #fff;
    height: 200px;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    /* clip-path: polygon(100% 0, 100% 0%, 100% 100%, 0% 100%); */
}

#top-contents {
    position: relative;
    overflow: hidden;
    z-index: 5001;
}

#top {
    position: relative;
    max-width: 1000px;
    width: 96%;
    margin: 0 auto 0 auto;
    background-repeat: repeat;
    /* background: rgba(0, 0, 0, 1); */
    padding: 50px 10px 150px 10px;
}

.top-inner {
    position: relative;
    padding: 20px 0 20px 0;
    width: 100%;
    margin: 0 auto;
}

.notice {
    position: relative;
    text-align: left;
}

.notice dd {
    font-family: "Noto Serif JP", serif;
    line-height: 180%;
}

.notice dd b.nb {
    display: inline-block;
    line-height: 180%;
    font-size: 13px;
}

.notice dd span.ns {
    display: inline-block;
    font-size: 20px;
    line-height: 140%;
    font-family: "Noto Serif JP", serif;
    background: #ee509b;
    color: #fff;
    padding: 0 5px 3px 5px;
    margin: 1px 2px;
    letter-spacing: 0;
    font-weight: 500;
    font-style: italic;
}

.notice dd span.ns2 {
    display: inline-block;
    line-height: 26px;
    background-color: #ffe200;
    color: #000;
    border-radius: 13px;
    padding: 0 10px;
}

.notice dd img{
    display: inline-block;
    width: 100%;
    text-align: right;
}
.pointWrap {
    position: relative;
}

.pointWrap .point {
    margin: 0 auto 0 0;
    text-align: left;
    padding: 0 1% 20px 1%;
}

.pointWrap .point:nth-child(1){
    animation-delay: 0.3s;
}
.pointWrap .point:nth-child(2){
    animation-delay: 0.5s;
}
.pointWrap .point:nth-child(3){
    animation-delay: 0.7s;
}
.pointWrap .point:nth-child(4){
    animation-delay: 0.9s;
}
.pointWrap .point:nth-child(5){
    animation-delay: 1.1s;
}
.pointWrap .point:nth-child(6){
    animation-delay: 1.3s;
}
.pointWrap .point span {
    display: block;
    height: 60px;
}

.pointWrap .point span img {
    height: 100%;
}

.pointWrap .point b {
    display: block;
    padding: 20px 10px 0 0;
}

.pointWrap .point b small {
    display: inline-block;
    line-height: 160%;
}

.counterWrap {
    position: relative;
    text-align: left;
    padding: 10px 0;
}

.counterWrap h2.ot b {
    font-family: "Noto Serif JP", serif;
    font-size: 20px;
    line-height: 1;
    padding: 3px 80px 5px 80px;
    display: inline-block;
    color: #000;
    background: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0) 100%);
    background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba255, 255, 255, 1) 50%, rgba(255, 255, 255, 0) 100%);
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#00000000', GradientType=1);
}

.counterWrap h2.od b {
    font-family: "Noto Serif JP", serif;
    font-size: 20px;
    line-height: 1;
    padding: 3px 80px 5px 80px;
    display: inline-block;
    color: #000;
    background: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0) 100%);
    background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba255, 255, 255, 1) 50%, rgba(255, 255, 255, 0) 100%);
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#00000000', GradientType=1);
}

.unit {
    font-family: "Noto Serif JP", serif;
    /* transform: skewX(-11deg) scaleY(1.1); */
    /* font-size: 8vmax; */
    font-size: 70px;
    font-weight: 700;
    display: inline-block;
    letter-spacing: -3px;
    margin: -6px -10px 0 -10px;
    line-height: 1;
    /* padding: 3px 0 10px 0;
    color: rgba(226, 185, 153, 0);
    background: linear-gradient(rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
    padding: 3px 0 10px 0; */

}

.counter {
    /*    font-family: 'Oswald', sans-serif;*/
    font-family: "Noto Serif JP", serif;
    font-size: 70px;
    font-weight: 700;
    display: inline-block;
    letter-spacing: -3px;
    line-height: 1;
    margin: -6px 0 0 0;
    /* color: rgba(226, 185, 153, 0);
    background: linear-gradient(rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
    padding: 3px 3px 10px 3px; */
}

@media all and (-ms-high-contrast: none) {
    .unit {
        color: #a18861;
        background: none;
    }

    .counter {
        color: #a18861;
        background: none;
    }
}

.sml {
    position: relative;
    text-align: center;
    animation-duration: 1s;
    animation-timing-function: cubic-bezier(0.250, 0.460, 0.450, 0.940);
    width: 100%;
    max-width: 680px;
    margin: 0 auto;
}

.sml dt.sml_img {
    position: relative;
    text-align: center;
    width: 100%;
}

.sml dt.sml_img span {
    display: block;
    position: relative;
}


.sml dt.sml_img img {
    width: 100%;
}

.sml dd {
    position: relative;
    width: 90%;
    transform: translate(0, -10%);
    line-height: 200%;
    text-align: left;
    margin: 0 auto;
}

.sml dd span {
    line-height: 200%;
    text-align: left;
    padding: 10px 20px 0 20px;
    display: block;
    font-size: 14px;

}

.sml dd b {
    display: inline-block;
    font-size: 28px;
    font-family: "Roboto", sans-serif;
    line-height: 1;
    font-weight: 900;
    background-color: #fff;
    color: #000;
    padding: 5px 10px;
}

.blink {
    animation: blinkAnime 1s infinite alternate;
}

@keyframes blinkAnime {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes title_in {
    from {
        transform: translate3d(0, 10%, 0);
        visibility: hidden;
        opacity: 0;
    }

    to {
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

.title_in {
    animation-name: title_in;
    animation-delay: 0.3s;
    animation-duration: 0.6s;
    animation-timing-function: cubic-bezier(0.770, 0.000, 0.175, 1.000);
    animation-fill-mode: both;
}

@keyframes title_in2 {
    from {
        transform: scale(2);
        visibility: hidden;
        opacity: 0;
    }

    to {
        transform: scale(1);
        opacity: 1;
    }
}

.title_in2 {
    animation-name: title_in2;
    animation-timing-function: cubic-bezier(0.190, 1.000, 0.220, 1.000);
    animation-duration: 0.3s;
    animation-fill-mode: both;
}

@keyframes myBounce {

    from,
    20%,
    53%,
    80%,
    to {
        animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
        transform: translate3d(0, 0, 0);
    }

    40%,
    43% {
        animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
        transform: translate3d(0, -30px, 0);
    }

    70% {
        animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
        transform: translate3d(0, -15px, 0);
    }

    90% {
        transform: translate3d(0, -4px, 0);
    }
}

.myBounce {
    animation-name: myBounce;
    transform-origin: center bottom;
    animation-fill-mode: both;
}
