@charset "UTF-8";

body {
    margin: 0;
    padding: 0;
}

.lp_wrap {
    width: 750px;
    margin: 0 auto;
    padding: 0;
    text-align: center;
}

.lp_wrap img {
    vertical-align: bottom;
}

.cv_01 {
    position: relative;
    margin: 0 auto;
}

.cv_01 .btn {
    position: absolute;
    left: 10px;
    right: 0;
    margin: auto;
    bottom: 14px;
}

.btn_hover:hover img {
    opacity: 0.6;
    transition-duration: 0.3s;
}

.yureru-s {
    animation: yureru-s 3s infinite;
}

@keyframes yureru-s {
    0% {
        transform: translate(6px, 0px);
    }

    5% {
        transform: translate(-6px, 0px);
    }

    10% {
        transform: translate(6px, 0px);
    }

    15% {
        transform: translate(-6px, 0px);
    }

    20% {
        transform: translate(6px, 0px);
    }

    25% {
        transform: translate(-6px, 0px);
    }

    30% {
        transform: translate(0px, 0px);
    }
}

/*CV_accordion*/

.cv_accordion_area {
    background-size: 100%;
    width: 99.9%;
    /*背景の幅設定*/
}

.cv_accordion_box {
    background: url(http://vippy-jpn.net/assets/images/cv_accordion_bg.jpg);
    background-size: inherit;
    width: 99.9%;
}

.accordion-container {
    position: relative;
    width: 100%;
    border-top: none;
    outline: 0;
    padding: 20px 0px 50px 0px;
    cursor: pointer
}

.accordion-title {
    position: relative;
}

.accordion-container .accordion-title {
    display: block;
    position: relative;
    margin: 0;
    cursor: pointer;
}

.accordion-content {
    display: none;
}

.accordion-content.open {
    display: block;
}

.accordion-title:after {
    content: "";
    display: block;
    width: 17px;
    height: 16px;
    border-top: #fff 2px solid;
    border-right: #fff 2px solid;
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
    position: absolute;
    right: 33%;
    top: 0;
    bottom: 15%;
    margin: auto;
}

.accordion-title.open:after {
    content: "";
    display: block;
    width: 17px;
    height: 16px;
    border-top: #fff 2px solid;
    border-right: #fff 2px solid;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    position: absolute;
    right: 33%;
    top: 0;
    bottom: -17%;
    margin: auto;
}

.magazine {
    position: relative;
    margin: 0 auto;
}

.magazine .yt_btn {
    position: absolute;
    bottom: 42%;
    width: 51%;
    left: 42%;
}

.img21 .serum_btn {
    position: absolute;
    top: 91%;
    right: 11%;
}

.gif {
    position: relative;
}

.gif .gif_area01 {
    position: absolute;
    top: 20.5%;
    right: 7.5%;
}

.gif .gif_area02 {
    position: absolute;
    top: 22.5%;
    right: 7.5%;
}

.gif .gif_area03 {
    position: absolute;
    top: 23.3%;
    right: 7.5%;
}

footer {
    margin-top: 80px;
    padding: 10px 0 30px 0;
    background-color: #fff;
    text-align: center;
    font-size: 20px;
}

.footer_link {
    display: flex;
    justify-content: center;
    margin: 0;
    padding: 15px;
}

.footer_link li {
    list-style: none;
    margin-right: 25px;
}

.footer_link li a {
    color: #000;
    text-decoration: none;
}

.footer_link li a:visited {
    color: #000;
    text-decoration: none;
}

.footer_link li a:hover {
    color: #646464;
    text-decoration: underline;
}

.copy {
    margin: 0%;
    padding: 10px 0;
    background-color: #000000;
    font-size: 17px;
    color: #fff;
}

/*==================================
SCROLLの動き
==================================*/

/*----------------------------
scroll_down ｜下から上へ出現
----------------------------*/
.fadeDown {
    animation-name: fadeDownAnime;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
    opacity: 0;
}


@keyframes fadeDownAnime {
    from {
        opacity: 0;
        transform: translateY(-100px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/*----------------------------
  scroll_up ｜下から上へ出現
  ----------------------------*/
.scroll_up {
    transition: 0.8s ease-in-out;
    transform: translateY(30px);
    opacity: 0;
}

.scroll_up.on {
    transform: translateY(0);
    opacity: 1.0;
}

/*----------------------------
  scroll_left ｜左から出現
  ----------------------------*/
.scroll_left {
    -webkit-transition: 0.8s ease-in-out;
    -moz-transition: 0.8s ease-in-out;
    -o-transition: 0.8s ease-in-out;
    transition: 0.8s ease-in-out;
    transform: translateX(-30px);
    opacity: 0;
    filter: alpha(opacity=0);
    -moz-opacity: 0;
}

.scroll_left.on {
    opacity: 1.0;
    filter: alpha(opacity=100);
    -moz-opacity: 1.0;
    transform: translateX(0);
}

/*----------------------------
  scroll_right ｜右から出現
  ----------------------------*/
.scroll_right {
    -webkit-transition: 0.8s ease-in-out;
    -moz-transition: 0.8s ease-in-out;
    -o-transition: 0.8s ease-in-out;
    transition: 0.8s ease-in-out;
    transform: translateX(30px);
    opacity: 0;
    filter: alpha(opacity=0);
    -moz-opacity: 0;
}

.scroll_right.on {
    opacity: 1.0;
    filter: alpha(opacity=100);
    -moz-opacity: 1.0;
    transform: translateX(0);
}

/*----------------------------
  /* ぼかしから出現
  ----------------------------*/
.blur {
    animation-name: blurAnime;
    animation-duration: 2s;
    animation-fill-mode: forwards;
    position: absolute;
}

@keyframes blurAnime {
    from {
        filter: blur(10px);
        transform: scale(1.02);
        opacity: 0;
    }

    to {
        filter: blur(0);
        transform: scale(1);
        opacity: 1;
    }
}

/*----------------------------
  /* スクロールしたらふわっ（上から）
  ----------------------------*/
.fadeDown {
    animation-name: fadeDownAnime;
    animation-duration: 2s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes fadeDownAnime {
    from {
        opacity: 0;
        transform: translateY(-100px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/*----------------------------
  /* スクロールしたらぱたっ下へ
  ----------------------------*/
.flipDown {
    animation-name: flipDownAnime;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes flipDownAnime {
    from {
        transform: perspective(2500px) rotateX(100deg);
        opacity: 0;
    }

    to {
        transform: perspective(2500px) rotateX(0);
        opacity: 1;
    }
}

/*----------------------------
  /* スクロールしたらボンッ(拡大)
  ----------------------------*/

.zoomIn {
    animation-name: zoomInAnime;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
}

@keyframes zoomInAnime {
    from {
        transform: scale(0.6);
        opacity: 0;
    }

    to {
        transform: scale(1);
        opacity: 1;
    }
}


/*----------------------------
    ぱたっ（下へ）ふわっ（上から）共通
    ----------------------------*/
.fadeDownTrigger,
.flipDownTrigger,
.blurTrigger,
.zoomInTrigger {
    opacity: 0;
}

/*==================================
アニメーションのタイミング調整
==================================*/
.delay-time05 {
    animation-delay: 0.5s;
}

.delay-time1 {
    animation-delay: 1s;
}

.delay-time15 {
    animation-delay: 1.5s;
}

.delay-time2 {
    animation-delay: 2s;
}

.delay-time25 {
    animation-delay: 2.5s;
}

.delay-time3 {
    animation-delay: 3s;
}

.delay-time35 {
    animation-delay: 3.5s;
}

/*==================================
SCROLLの画像
==================================*/
.fv,
.graph01,
.graph02,
.img01,
.img03,
.img04,
.img05,
.img06,
.img07,
.img09,
.img10,
.img11,
.img12,
.img14,
.img16,
.img17,
.img18,
.img19,
.img20,
.img21,
.img22,
.img23,
.img24,
.img27 {
    position: relative;
}

.posi_fv01 {
    position: absolute;
    right: 54%;
    top: 2%;
}

.posi_img01_01 {
    position: absolute;
    top: 6%;
    right: 16%;
}

.posi_img01_02 {
    position: absolute;
    right: 8%;
    top: 35%;
}

.posi_graph01 {
    position: absolute;
    top: 43%;
    right: 7%;
}

.posi_graph02_01 {
    position: absolute;
    top: 40%;
    right: 0;
    left: 0;
}

.posi_graph02_02 {
    position: absolute;
    top: 41%;
    right: 65%;
}

.posi_graph02_03 {
    position: absolute;
    top: 40%;
    right: 7%;
}

.posi_graph02_04 {
    position: absolute;
    top: 61%;
    right: 69%;
}

.posi_graph02_05 {
    position: absolute;
    top: 60%;
    right: 2%;
}

.posi_img03_01 {
    position: absolute;
    top: 30%;
}

.posi_img03_02 {
    position: absolute;
    top: 44%;
    right: 27%;
}

.posi_img04_01 {
    position: absolute;
    top: 20%;
    left: 60%;
}

.posi_img04_02 {
    position: absolute;
    top: 38%;
    left: 21%;
}

.posi_img05 {
    position: absolute;
    top: 41%;
    left: 4.5%;
}

.posi_img06_01 {
    position: absolute;
    top: 5%;
    left: 14%;
}

.posi_img06_02 {
    position: absolute;
    top: 76%;
    left: 32%;
}

.posi_img07_01 {
    position: absolute;
    top: -1%;
}

.posi_img07_02 {
    position: absolute;
    top: 30%;
}

.posi_img07_03 {
    position: absolute;
    top: 63%;
}

.posi_img09_01 {
    position: absolute;
    top: 3%;
    left: 7%;
}

.posi_img09_02 {
    position: absolute;
    top: 55%;
    left: 71%;
}

.posi_img11_01 {
    position: absolute;
    top: 25%;
    left: 68%;
}

.posi_img11_02 {
    top: 41%;
    left: 45%;
    width: 31%;
}

.posi_img11_03 {
    position: absolute;
    top: 57%;
    left: 68%;
}

.posi_img12_01 {
    position: absolute;
    top: 18%;
    left: 18%;
}

.posi_img12_02 {
    position: absolute;
    top: 25%;
    left: 72%;
}

.posi_img12_03 {
    position: absolute;
    top: 73%;
    left: 54%;
}

.posi_img12_04 {
    position: absolute;
    top: 67%;
    left: 5%;
}

.posi_img16_01 {
    position: absolute;
    top: 14.5%;
    left: 0%;
}

.posi_img16_02 {
    position: absolute;
    top: 14.5%;
    left: 45.5%;
}

.posi_img16_03 {
    position: absolute;
    top: 40%;
    left: 22%;
}

.posi_img16_04 {
    position: absolute;
    top: 53%;
    left: 10%;
}

.posi_img17 {
    position: absolute;
    top: 11%;
    right: 9%;
}

.posi_img18 {
    position: absolute;
    top: 21%;
}

.posi_img19_01 {
    position: absolute;
    top: 33%;
    right: 14%;
}

.posi_img19_02 {
    position: absolute;
    top: 48%;
    right: 60%;
}

.posi_img19_03 {
    position: absolute;
    top: 60.5%;
    right: 8%;
}

.posi_img20 {
    position: absolute;
    top: 860px;
    left: 17px;
}

.posi_img21_01 {
    position: absolute;
    top: 3%;
}

.posi_img21_02 {
    position: absolute;
    top: 31%;
    right: 0;
}

.posi_img21_03 {
    position: absolute;
    top: 61%;
    left: 0;
}

.posi_img22 {
    position: absolute;
    top: 15%;
    left: 0;
    right: 0;
}

.posi_img23_01 {
    position: absolute;
    top: 35%;
    left: 4%;
}

.posi_img23_02 {
    position: absolute;
    top: 54%;
    right: 2%;
}

.posi_img23_03 {
    position: absolute;
    top: 73%;
    left: 4%;
}

.posi_img24_01 {
    position: absolute;
    top: 0;
    left: 77%;
}

.posi_img24_02 {
    position: absolute;
    top: 60%;
    left: 0;
}

.posi_img27 {
    position: absolute;
    top: 775px;
    left: 54px;
}

/*アコーディオン*/
.accordion_area {
    background: url(../images/ac_bk.jpg);
    background-size: 100%;
    padding: 0% 0 2.6%;
    width: 100%;
    /*背景の幅設定*/
}

.accordionon_area .h2 {
    text-align: center;
}

.accordion_box {
    width: 100%;
    max-width: 750;
    /*PC版でのアコーディオン幅の設定*/
}

.ac_item {
    margin-bottom: 3%;
}

.ac_answer {
    display: none;
}

.active {
    border-radius: 0;
    overflow: hidden;
}

.ac_question {
    display: block;
    position: relative;
    cursor: pointer;
}

.ac_question::before {
    content: '';
    position: absolute;
    width: 7%;
    /*+、-の大きさ設定*/
    height: 1px;
    border-bottom: solid #FFFFFF;
    /*+、-の色設定*/
    border-bottom-width: 0.3vw;
    /*+、-の太さ設定*/
    margin: auto;
    top: 0;
    bottom: 0;
    right: 3.6%;
    /*+、-の位置設定*/
    transform: rotate(0deg);
    transition: all .4s;
    z-index: 5;
}

.ac_question::after {
    content: '';
    position: absolute;
    width: 6.8%;
    /*+、-の大きさ設定*/
    height: 1px;
    border-bottom: solid #FFFFFF;
    /*+、-の色設定*/
    border-bottom-width: 0.3vw;
    /*+、-の太さ設定*/
    margin: auto;
    top: 0;
    bottom: 0;
    right: 3.6%;
    /*+、-の位置設定*/
    transform: rotate(90deg);
    transition: all .4s;
    z-index: 5;
}

.active::before {
    transform: rotate(360deg);
    transition: all .4s;
}

.active::after {
    transform: rotate(360deg);
    transition: all .4s;
}

@media screen and (max-width: 640px) {
    body {
        margin: 0;
        padding: 0;
    }

    .lp_wrap {
        width: 100%;
        margin: 0;
        padding: 0;
        overflow: hidden;
    }

    .lp_wrap img {
        width: 100%;
    }

    .cv_01 .btn {
        position: absolute;
        left: 3%;
        right: 3%;
        margin: auto;
        bottom: 0%;
    }

    .accordion-container {
        width: 95%;
        left: 2.5%;
        padding: 2% 0 9% 0;
    }

    .accordion-title:after {
        width: 9px;
        height: 9px;
        right: 31%;
    }

    .accordion-title.open:after {
        width: 9px;
        height: 9px;
        right: 31%;
    }

    .magazine .yt_btn {
        position: absolute;
        bottom: 42%;
        left: 42%;
    }

    .img21 .serum_btn {
        top: 89%;
        width: 81%;
    }

    .gif .gif_area01 {
        width: 87%;
    }

    .gif .gif_area02 {
        width: 87%;
    }

    .gif .gif_area03 {
        width: 87%;
    }

    .posi_fv01 {
        right: 55%;
        left: 6%;
    }

    .posi_img01_01 {
        top: 6%;
        right: 15%;
        left: 11%;
    }

    .posi_img01_02 {
        top: 38%;
        right: 5%;
        left: 5%;
    }

    .posi_graph01 {
        top: 41%;
        width: 90%;
        left: 6%;
    }

    .posi_graph02_01 {
        top: 36%;
        left: 12%;
        width: 80%;
    }

    .posi_graph02_02 {
        top: 37%;
        left: 2%;
    }

    .posi_graph02_03 {
        top: 37%;
        width: 32%;
        right: 1%;
    }

    .posi_graph02_04 {
        top: 59%;
        right: 70%;
    }

    .posi_graph02_05 {
        top: 66%;
        right: 2%;
        width: 30%;
    }

    .posi_img03_01 {
        top: 29%;
        width: 40%;
        left: 0%;
    }

    .posi_img03_02 {
        top: 44%;
        right: 27%;
    }

    .posi_img04_01 {
        top: 20%;
        left: 60%;
    }

    .posi_img04_02 {
        top: 38%;
        right: -2%;
    }

    .posi_img05 {
        top: 41%;
        left: 4.5%;
        right: 4.5%;
    }

    .posi_img06_01 {
        right: 30%;
        width: 70%;
    }

    .posi_img06_02 {
        right: 20%;
        width: 36%;
    }

    .posi_img07_01 {
        position: absolute;
        top: -1%;
    }

    .posi_img07_02 {
        position: absolute;
        top: 30%;
    }

    .posi_img07_03 {
        position: absolute;
        top: 63%;
    }

    .posi_img09_01 {
        width: 22%;
    }

    .posi_img09_02 {
        width: 22%;
    }

    .posi_img11_01 {
        position: absolute;
        top: 25%;
        left: 68%;
    }

    .posi_img11_02 {
        position: absolute;
        top: 41%;
        left: 45%;
    }

    .posi_img11_03 {
        position: absolute;
        top: 57%;
        left: 68%;
    }

    .posi_img12_01 {
        top: 15%;
        left: 11%;
        width: 28%;
    }

    .posi_img12_02 {
        top: 25%;
        left: 72%;
    }

    .posi_img12_03 {
        top: 68%;
        left: 62%;
        width: 30%;
    }

    .posi_img12_04 {
        position: absolute;
        top: 65%;
        left: 1%;
        width: 29%;
    }

    .posi_img16_01 {
        top: 14.5%;
        left: 0%;
        width: 55%;
    }

    .posi_img16_02 {
        top: 14.5%;
        left: 45.5%;
    }

    .posi_img16_03 {
        top: 40%;
        left: 22%;
        width: 60%;
    }

    .posi_img16_04 {
        top: 54%;
        left: 10%;
        width: 83%;
    }

    .posi_img17 {
        top: 7%;
        right: 7%;
        width: 87%;
    }

    .posi_img18 {
        top: 20%;
        width: 65%;
    }

    .posi_img19_01 {
        top: 33%;
        right: 10%;
        width: 40%;
    }

    .posi_img19_02 {
        top: 48%;
        right: 60%;
        width: 31%;
    }

    .posi_img19_03 {
        top: 60.5%;
        right: 8%;
        width: 36%;
    }

    .posi_img21_01 {
        width: 53%;
    }

    .posi_img21_02 {
        width: 53%;
    }

    .posi_img21_03 {
        width: 53%;
    }

    .posi_img22 {
        position: absolute;
        top: 15%;
        left: 0;
        right: 0;
    }

    .posi_img23_01 {
        position: absolute;
        top: 35%;
        left: 4%;
    }

    .posi_img23_02 {
        position: absolute;
        top: 54%;
        right: 2%;
    }

    .posi_img23_03 {
        position: absolute;
        top: 73%;
        left: 4%;
    }

    .posi_img24_01 {
        top: 0;
        left: 77%;
        width: 14%;
    }

    .posi_img24_02 {
        top: 60%;
        width: 75%;
        left: 0;
    }

    .posi_img27 {
        position: absolute;
        top: 775px;
        left: 54px;
    }

    .footer {
        margin-top: 170px;
        padding: 10px 0 30px 0;
        background-color: #fff;
        text-align: center;
        font-size: 20px;
    }

    .footer_link {
        flex-direction: column;
    }

    .footer_link li {
        margin: 0 0 15px 0;
    }

    .copy {
        margin: 0%;
        padding: 10px 0;
        background-color: #000000;
        font-size: 17px;
        color: #fff;
    }

}
