@charset "UTF-8";

* {
    margin: 0;
    padding: 0
}

@media screen and (min-width:751px) {
    html {
        font-size: 62.5%
    }
}

body {
    color: #222;
    font-family: 游ゴシック体, YuGothic, 游ゴシック, yu gothic, sans-serif;
    width: 100%;
    max-width: 750px;
    margin: 0 auto
}

p {
    margin-bottom: 10px;
    line-height: 1.45
}

video {
    width: 100%;
    max-width: 750px
}

a:hover, a img:hover, a video:hover {
    opacity: .8
}

main img {
    width: 100%;
    max-width: 750px;
    vertical-align: top
}

.wrapper {
    margin: 0 auto;
    padding-bottom: 4rem;
    max-width: 750px;
    font-size: 2rem;
    line-height: 1.4
}

.inner {
    margin: auto;
    max-width: 670px
}

.pc_only {
    display: inline-block
}

.sp_only {
    display: none
}

.c-white {
    color: #fff
}

.c-red {
    color: red
}

.c-blue {
    color: #006cbe
}

.bg-red {
    background-color: #d20f0d
}

.bg-yellow {
    background-color: #ff0
}

.lg-text {
    font-size: 4rem;
    font-weight: 700;
    background: linear-gradient(#ffffff 60%, #fff002 0, #fff002 100%)
}

.lg-text02 {
    font-weight: 700;
    background: #fff002
}

.lg-text03 {
    font-weight: 700;
    background: linear-gradient(#ffffff 40%, #fff002 0, #fff002 100%)
}

.text-center {
    text-align: center
}

.text-bold {
    font-weight: 700
}

.arrow {
    max-width: 750px
}

.orange-horizon {
    margin-bottom: 25px;
    width: 95%;
    height: 10px;
    background-color: #fac090;
    margin: auto
}

.cvbtn01 {
    margin-top: 5%;
    margin-bottom: 9%;
    width: calc(640/670*100%);
    text-align: right
}

.cvbtn01 a {
    position: relative;
    width: calc(410/670*100%);
    display: inline-block
}

.cvbtn01>a>video {
    max-width: 525px
}

.cvbtn02 {
    margin: auto;
    margin-top: 6%
}

.cvbtn02>a>video {
    max-width: 750px
}

header {
    margin-bottom: 5px
}

.fv {
    margin: 0 auto 25px;
    max-width: 672px
}

.fv_m01_i01 {
    display: flex;
    margin: auto;
    margin-bottom: 40px
}

.fv_m01_i01 .movie01 {
    width: 50%
}

.fv_m01_i01 .img01 {
    width: 50%
}

.zoom_animation02 {
    animation: crescendo02 .9s cubic-bezier(.67, .25, .58, 1) alternate infinite
}

.zoom_animation {
    animation: crescendo01 .9s cubic-bezier(.67, .25, .58, 1) alternate infinite
}

@keyframes crescendo01 {
    0% {
        transform: scale(.8)
    }

    60%, 100% {
        transform: scale(.95)
    }
}

@keyframes crescendo02 {
    0% {
        transform: scale(.89)
    }

    60%, 100% {
        transform: scale(1)
    }
}

.arrow-down {
    position: relative;
    margin: 0 auto;
    text-align: center;
    width: calc(320/670*100%);
    animation: jump 1.1s infinite;
    margin-top: 50px;
    margin-bottom: 85px
}

.roow_right {
    position: absolute;
    width: calc(120/410*100%);
    animation: jumpRight .9s ease-in-out alternate infinite;
    top: 2.8%
}

@keyframes jump {
    0% {
        top: 0
    }

    50%, 80% {
        top: 25px
    }

    100% {
        top: 0
    }
}

@keyframes jumpRight {
    0% {
        left: -23%
    }

    50% {
        left: -17.9%
    }

    100% {
        left: -23%
    }
}

.sec01 {
    margin: 0 auto 10px
}

.sec01 .sec01__text-area1 {
    margin-bottom: 40px
}

.sec01 .font18 {
    margin-bottom: 5%
}

.sec01 .img02 {
    margin-bottom: 20px
}

.sec01 .sec01__text-area2 {
    margin-bottom: 5.333%
}

.sec02 {
    margin-bottom: 15px
}

.sec02 .sec02__text-area1 {
    margin-bottom: 5px
}

.sec02 .movie02 {
    margin-bottom: 2%
}

.sec03 {
    margin-bottom: 2%
}

.sec03 .sec03__text-area1 {
    margin-bottom: 4%
}

.sec03 .img03 {
    margin-bottom: 3.333%
}

.sec03 .sec03__text-area2 {
    margin-bottom: 5%
}

.sec03__text-area4 {
    margin-top: 2%;
    margin-bottom: 4%
}

.sec03__text-area6 {
    margin-bottom: 6%;
    margin-top: 9%
}

.sec03__text-area8 {
    margin-bottom: 2%
}

.sec03__text-area7 {
    margin-top: 2.667%;
    margin-bottom: 4%
}

.sec03__text-area9 {
    margin-top: 4%;
    margin-bottom: 4%
}

.sec03 .img04 {
    margin-bottom: 4.667%
}

.sec03 .sec03__text-area3 {
    margin-bottom: 3.333%
}

.sec03 .img05 {
    margin-bottom: 2%
}

.sec03 .img06 {
    margin-bottom: 5px
}

.sec04 {
    margin-bottom: 1.333%
}

.sec04 .sec04__text-area1 {
    margin-top: 9%;
    margin-bottom: 6%
}

.sec04 .sec04__text-area1>p:nth-of-type(1) {
    letter-spacing: -1.6px
}

.sec04 .img07 {
    margin-bottom: 2.667%
}

.sec04 .sec04__text-area2 {
    margin-bottom: 5px
}

.sec05__text-area2 {
    margin-top: 7%;
    margin-bottom: 4%
}

.sec05 {
    margin-top: 10%;
    margin-bottom: 3.333%
}

.sec05 .sec05__text-area1 {
    margin-bottom: 3.333%
}

.sec06 {
    margin-bottom: 3.333%
}

.sec06__text-area1 {
    margin-top: 3%
}

.sec07 {
    margin-bottom: 3.333%
}

.sec07__text-area2 {
    margin-bottom: 5%;
    letter-spacing: -.1px
}

.sec07__text-area3 {
    margin-top: 6%;
    margin-bottom: 5%;
    padding-left: 4%;
    padding-right: 4%
}

.sec08 {
    margin-bottom: 3.333%
}

.sec08 .sec08__text-area1 {
    margin-bottom: 3.333%
}

.sec08 .sec08__text-area2 {
    margin-bottom: 3.333%;
    margin-top: 5%
}

.sec09 {
    margin-bottom: 3.333%
}

.sec09 .sec09__text-area1 {
    margin-bottom: 5%;
    margin-top: 5%;
    letter-spacing: -1.6px
}

.sec09 .sec09__text-area2 {
    margin-bottom: 3.333%
}

.sec09 .sec09__text-area3 {
    margin-bottom: 4%
}

.sec10 {
    margin-bottom: 3.333%
}

.sec10 .sec10__text-area1 {
    margin-bottom: 3.333%
}

.sec10 .sec10__text-area2 {
    margin-top: 6%;
    margin-bottom: 3%
}

.sec10__text-area3 {
    padding: 15px 5px 12px;
    margin-top: 6%;
    margin-bottom: 6%
}

.sec10__text-area3 p:last-child {
    margin-bottom: 0
}

.sec10__text-area4 {
    margin-bottom: 3%;
    margin-top: 3%
}

.sec10__text-area4>p>.font45:nth-of-type(1) {
    margin-bottom: 4.5%
}

.sec11 {
    margin-bottom: 3.333%
}

.sec11 .sec11__text-area1 {
    margin-bottom: 3.333%;
    margin-top: 5%
}

.sec11__text-area2 {
    margin-top: 7%
}

.sec11__text-area4 {
    margin-bottom: 5%;
    letter-spacing: -.3px
}

.sec11__text-area4 .font45 {
    margin-bottom: 8px
}

.sec11__text-area5 {
    margin-top: 3%
}

@media screen and (max-width:750px) {
    .wrapper {
        max-width: 100%;
        padding-bottom: 5.2vw;
        font-size: 2.4vw
    }

    .inner {
        max-width: 89.3%
    }

    .arrow-down {
        margin-bottom: 16%;
        margin-top: 4.97%
    }

    .pc_only {
        display: none
    }

    .sp_only {
        display: inline-block
    }

    .lg-text {
        font-size: 5.333vw
    }

    .arrow {
        width: 87vw
    }

    .orange-horizon {
        margin-bottom: 3.2vw;
        height: 1.3vw
    }

    .cvbtn01 {
        margin-bottom: 2.6vw;
        margin-left: auto;
        margin-right: auto
    }

    .cvbtn01>a>video {
        max-width: 68.2vw
    }

    .cvbtn02 {
        margin: auto
    }

    .cvbtn02>a>video {
        max-width: 100vw
    }

    header {
        margin-bottom: .7vw
    }

    .fv {
        margin: 0 auto 3.2vw;
        max-width: 87.4vw
    }

    .fv_m01_i01 {
        margin-bottom: 5.2vw
    }

    .sec01 {
        margin: 0 auto 1.3vw
    }

    .sec01 .sec01__text-area1 {
        margin-bottom: 5.2vw
    }

    .sec01 .img02 {
        margin-bottom: 1.9vw
    }

    .sec01 .sec01__text-area2 {
        margin-bottom: 1.3vw
    }

    .sec02 {
        margin-bottom: 1.9vw
    }

    .sec02 .sec02__text-area1 {
        margin-bottom: .7vw
    }

    .sec02 .movie02 {
        margin-bottom: 1.9vw
    }

    .sec03 {
        margin-bottom: 3.2vw
    }

    .sec03 .sec03__text-area1 {
        margin-bottom: 1.9vw
    }

    .sec03 .img03 {
        margin-bottom: 4.5vw
    }

    .sec03 .sec03__text-area2 {
        margin-bottom: 2.3vw
    }

    .sec03 .img04 {
        margin-bottom: 4.5vw
    }

    .sec03 .sec03__text-area3 {
        margin-bottom: 3.2vw
    }

    .sec03 .img05 {
        margin-bottom: 1.9vw
    }

    .sec03 .img06 {
        margin-bottom: 1.9vw
    }

    .sec04 {
        margin-bottom: 1.3vw
    }

    .sec04 .sec04__text-area1 {
        margin-bottom: 3.2vw
    }

    .sec04 .img07 {
        margin-bottom: 2.6vw
    }

    .sec04 .sec04__text-area2 {
        margin-bottom: 1.9vw
    }

    .sec05 {
        margin-bottom: 3.2vw
    }

    .sec05 .sec05__text-area1 {
        margin-bottom: 3.2vw
    }

    .sec06 {
        margin-bottom: 3.2vw
    }

    .sec07 {
        margin-bottom: 3.2vw
    }

    .sec07 .sec07__text-area1 {
        margin-bottom: .7vw
    }

    .sec08 {
        margin-bottom: 3.2vw
    }

    .sec08 .sec08__text-area1 {
        margin-bottom: 3.2vw
    }

    .sec08 .sec08__text-area2 {
        margin-bottom: 3.2vw
    }

    .sec09 {
        margin-bottom: 3.2vw
    }

    .sec09 .sec09__text-area1 {
        margin-bottom: .7vw;
        margin-top: 7%
    }

    .sec09 .sec09__text-area2 {
        margin-bottom: 3.2vw
    }

    .sec09 .sec09__text-area3 {
        margin-bottom: 3.2vw
    }

    .sec10 {
        margin-bottom: 3.2vw
    }

    .sec10 .sec10__text-area1 {
        margin-bottom: 3.2vw
    }

    .sec10 .sec10__text-area2 {
        margin-bottom: 3.2vw
    }

    .sec11 {
        margin-bottom: 3.2vw
    }

    .sec11 .sec11__text-area1 {
        margin-bottom: 3.2vw
    }
}

.font18 {
    font-size: 1.6rem;
    color: #777474
}

.font18 p {
    font-size: 1.6rem;
    color: #777474
}

.font26 {
    font-size: 2.6rem
}

.font28 {
    font-size: 2.8rem
}

.font32 {
    font-size: 3.2rem
}

.font34 {
    font-size: 3.4rem
}

.font30 {
    font-size: 3rem
}

.font40 {
    font-size: 4rem
}

.font38 {
    font-size: 3.8rem;
    line-height: 1.3
}

.font45 {
    font-size: 4.5rem;
    margin-bottom: 20px;
    display: inline-block
}

.font36 {
    font-size: 3.6rem
}

.c-pink {
    color: #e8337b
}

.text-right {
    text-align: right
}

.sec07__text-area3 .font26 {
    font-weight: 400
}

.boxPink {
    background-color: #e8337b;
    padding: 13px 5px 16px;
    margin-bottom: 5%
}

.boxPink p {
    color: #fff
}

.boxPink p:last-child {
    margin-bottom: 0
}

.textline {
    border-bottom: 1px solid #fff
}

@media screen and (max-width:750px) {
    .font18 {
        font-size: 2.7vw
    }

    .font18 p {
        font-size: 2.7vw
    }

    .font26 {
        font-size: 3.467vw
    }

    .font28 {
        font-size: 3.733vw
    }

    .font32 {
        font-size: 4.267vw
    }

    .font34 {
        font-size: 4.6vw
    }

    .font30 {
        font-size: 4vw
    }

    .font36 {
        font-size: 4.85vw
    }

    .font38 {
        font-size: 5vw
    }

    .font40 {
        font-size: 5.333vw
    }

    .font45 {
        font-size: 6vw;
        margin-bottom: 10px
    }

    .sec11__text-area4 .font45 {
        margin-bottom: 5px;
        font-size: 7.6vw
    }

    @keyframes crescendo01 {
        0% {
            transform: scale(.8)
        }

        60%, 100% {
            transform: scale(1)
        }
    }

    .cvbtn01 a {
        width: calc(485/670*100%)
    }

    .roow_right {
        width: calc(123/410*100%);
        top: 1.8%
    }

    .boxPink {
        padding: 13px 5px 14px
    }
}